2016-06-08 01:49:10 -03:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <GCS_MAVLink/GCS.h>
|
|
|
|
|
2017-02-03 17:33:27 -04:00
|
|
|
class GCS_MAVLINK_Sub : public GCS_MAVLINK {
|
2016-06-08 01:49:10 -03:00
|
|
|
|
|
|
|
public:
|
|
|
|
|
2019-06-19 07:32:27 -03:00
|
|
|
using GCS_MAVLINK::GCS_MAVLINK;
|
|
|
|
|
2023-06-01 20:15:06 -03:00
|
|
|
uint8_t sysid_my_gcs() const override;
|
2016-06-08 01:49:10 -03:00
|
|
|
protected:
|
|
|
|
|
2017-02-03 17:33:27 -04:00
|
|
|
uint32_t telem_delay() const override {
|
|
|
|
return 0;
|
|
|
|
};
|
2016-06-08 01:49:10 -03:00
|
|
|
|
2023-09-26 03:25:02 -03:00
|
|
|
MAV_RESULT handle_flight_termination(const mavlink_command_int_t &packet) override;
|
2017-07-12 21:48:56 -03:00
|
|
|
|
2018-08-26 08:57:07 -03:00
|
|
|
MAV_RESULT handle_command_do_set_roi(const Location &roi_loc) override;
|
2022-12-08 02:47:13 -04:00
|
|
|
MAV_RESULT _handle_command_preflight_calibration_baro(const mavlink_message_t &msg) override;
|
2023-09-07 07:13:30 -03:00
|
|
|
MAV_RESULT _handle_command_preflight_calibration(const mavlink_command_int_t &packet, const mavlink_message_t &msg) override;
|
2018-03-17 08:35:01 -03:00
|
|
|
|
2023-09-20 21:17:08 -03:00
|
|
|
MAV_RESULT handle_command_int_packet(const mavlink_command_int_t &packet, const mavlink_message_t &msg) override;
|
|
|
|
|
2018-05-02 23:06:53 -03:00
|
|
|
// override sending of scaled_pressure3 to send on-board temperature:
|
|
|
|
void send_scaled_pressure3() override;
|
|
|
|
|
2018-05-01 09:05:41 -03:00
|
|
|
int32_t global_position_int_alt() const override;
|
|
|
|
int32_t global_position_int_relative_alt() const override;
|
|
|
|
|
2018-05-29 21:47:13 -03:00
|
|
|
bool set_home_to_current_location(bool lock) override WARN_IF_UNUSED;
|
|
|
|
bool set_home(const Location& loc, bool lock) override WARN_IF_UNUSED;
|
2018-07-06 00:30:54 -03:00
|
|
|
|
2021-02-08 21:36:19 -04:00
|
|
|
void send_banner() override;
|
|
|
|
|
2018-05-04 21:09:13 -03:00
|
|
|
void send_nav_controller_output() const override;
|
2019-02-28 19:33:10 -04:00
|
|
|
void send_pid_tuning() override;
|
|
|
|
|
2018-03-28 22:04:11 -03:00
|
|
|
uint64_t capabilities() const override;
|
2018-05-04 21:09:13 -03:00
|
|
|
|
2016-06-08 01:49:10 -03:00
|
|
|
private:
|
|
|
|
|
2024-01-23 02:41:49 -04:00
|
|
|
void handle_message(const mavlink_message_t &msg) override;
|
2016-06-08 01:49:10 -03:00
|
|
|
bool handle_guided_request(AP_Mission::Mission_Command &cmd) override;
|
|
|
|
bool try_send_message(enum ap_message id) override;
|
|
|
|
|
2018-05-16 03:49:23 -03:00
|
|
|
bool send_info(void);
|
|
|
|
|
2018-03-22 06:38:37 -03:00
|
|
|
MAV_MODE base_mode() const override;
|
2019-11-25 22:46:33 -04:00
|
|
|
MAV_STATE vehicle_system_status() const override;
|
2018-01-30 22:59:06 -04:00
|
|
|
|
|
|
|
int16_t vfr_hud_throttle() const override;
|
|
|
|
|
2023-10-04 09:49:34 -03:00
|
|
|
MAV_RESULT handle_MAV_CMD_CONDITION_YAW(const mavlink_command_int_t &packet);
|
2023-09-27 19:35:59 -03:00
|
|
|
MAV_RESULT handle_MAV_CMD_MISSION_START(const mavlink_command_int_t &packet);
|
2023-10-03 19:32:50 -03:00
|
|
|
MAV_RESULT handle_MAV_CMD_DO_CHANGE_SPEED(const mavlink_command_int_t &packet);
|
2023-09-26 03:44:13 -03:00
|
|
|
MAV_RESULT handle_MAV_CMD_DO_MOTOR_TEST(const mavlink_command_int_t &packet);
|
2023-09-20 21:17:08 -03:00
|
|
|
MAV_RESULT handle_MAV_CMD_NAV_LOITER_UNLIM(const mavlink_command_int_t &packet);
|
|
|
|
MAV_RESULT handle_MAV_CMD_NAV_LAND(const mavlink_command_int_t &packet);
|
|
|
|
|
2021-07-06 07:31:04 -03:00
|
|
|
#if HAL_HIGH_LATENCY2_ENABLED
|
|
|
|
int16_t high_latency_target_altitude() const override;
|
|
|
|
uint8_t high_latency_tgt_heading() const override;
|
|
|
|
uint16_t high_latency_tgt_dist() const override;
|
|
|
|
uint8_t high_latency_tgt_airspeed() const override;
|
|
|
|
#endif // HAL_HIGH_LATENCY2_ENABLED
|
2016-06-08 01:49:10 -03:00
|
|
|
};
|