Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Path: blob/master/Blimp/GCS_MAVLink_Blimp.h
Views: 1798
#pragma once12#include <GCS_MAVLink/GCS.h>34#include "defines.h"56class GCS_MAVLINK_Blimp : public GCS_MAVLINK7{89public:1011using GCS_MAVLINK::GCS_MAVLINK;1213protected:1415uint32_t telem_delay() const override;1617MAV_RESULT handle_flight_termination(const mavlink_command_int_t &packet) override;1819uint8_t sysid_my_gcs() const override;20bool sysid_enforce() const override;2122bool params_ready() const override;23void send_banner() override;2425MAV_RESULT _handle_command_preflight_calibration(const mavlink_command_int_t &packet, const mavlink_message_t &msg) override;2627void send_position_target_global_int() override;2829MAV_RESULT handle_command_do_set_roi(const Location &roi_loc) override;30MAV_RESULT handle_command_int_packet(const mavlink_command_int_t &packet, const mavlink_message_t &msg) override;31MAV_RESULT handle_command_int_do_reposition(const mavlink_command_int_t &packet);3233#if AP_MAVLINK_COMMAND_LONG_ENABLED34bool mav_frame_for_command_long(MAV_FRAME &frame, MAV_CMD packet_command) const override;35#endif3637void send_nav_controller_output() const override; //TODO Apparently can't remove this or the build fails.38uint64_t capabilities() const override;3940virtual MAV_VTOL_STATE vtol_state() const override41{42return MAV_VTOL_STATE_MC;43};44virtual MAV_LANDED_STATE landed_state() const override;4546#if HAL_LOGGING_ENABLED47uint32_t log_radio_bit() const override { return MASK_LOG_PM; }48#endif4950// Send the mode with the given index (not mode number!) return the total number of modes51// Index starts at 152uint8_t send_available_mode(uint8_t index) const override;5354private:5556void handle_message(const mavlink_message_t &msg) override;57bool try_send_message(enum ap_message id) override;5859void packetReceived(const mavlink_status_t &status,60const mavlink_message_t &msg) override;6162MAV_MODE base_mode() const override;63MAV_STATE vehicle_system_status() const override;6465float vfr_hud_airspeed() const override;66int16_t vfr_hud_throttle() const override;67float vfr_hud_alt() const override;6869void send_pid_tuning() override;7071void send_wind() const;7273//This is 1-indexed, unlike most enums for consistency with the mavlink PID_TUNING enums.74enum PID_SEND : uint8_t {75VELX = 1,76VELY = 2,77VELZ = 3,78VELYAW = 4,79POSX = 5,80POSY = 6,81POSZ = 7,82POSYAW = 8,83};8485#if HAL_HIGH_LATENCY2_ENABLED86uint8_t high_latency_wind_speed() const override;87uint8_t high_latency_wind_direction() const override;88#endif // HAL_HIGH_LATENCY2_ENABLED89};909192