mavlink.h 677 B

12345678910111213141516171819202122232425262728
  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. void update_receive(void);
  20. void update_send(void);
  21. void process_packet(mavlink_status_t &status, mavlink_message_t &msg);
  22. void mav_printf(uint8_t severity, const char *fmt, ...);
  23. void arm_status_send(void);
  24. };