mavlink.h 707 B

1234567891011121314151617181920212223242526272829
  1. /*
  2. mavlink class for handling OpenDroneID messages
  3. */
  4. #pragma once
  5. #include "transport.h"
  6. /*
  7. abstraction for MAVLink on a serial port
  8. */
  9. class MAVLinkSerial : public Transport {
  10. public:
  11. using Transport::Transport;
  12. MAVLinkSerial(HardwareSerial &serial, mavlink_channel_t chan);
  13. void init(void) override;
  14. void update(void) override;
  15. private:
  16. HardwareSerial &serial;
  17. mavlink_channel_t chan;
  18. uint32_t last_hb_ms;
  19. uint32_t last_hb_warn_ms;
  20. void update_receive(void);
  21. void update_send(void);
  22. void process_packet(mavlink_status_t &status, mavlink_message_t &msg);
  23. void mav_printf(uint8_t severity, const char *fmt, ...);
  24. void arm_status_send(void);
  25. };