2016-05-27 10:14:08 -03:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <GCS_MAVLink/GCS.h>
|
|
|
|
|
|
|
|
class GCS_MAVLINK_Tracker : public GCS_MAVLINK
|
|
|
|
{
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
2019-06-19 08:13:57 -03:00
|
|
|
using GCS_MAVLINK::GCS_MAVLINK;
|
|
|
|
|
2023-06-01 20:13:30 -03:00
|
|
|
uint8_t sysid_my_gcs() const override;
|
|
|
|
|
2016-05-27 10:14:08 -03:00
|
|
|
protected:
|
|
|
|
|
2016-05-29 21:17:24 -03:00
|
|
|
// telem_delay is not used by Tracker but is pure virtual, thus
|
2023-10-11 04:41:53 -03:00
|
|
|
// this implementation. it probably *should* be used by Tracker,
|
2016-05-29 21:17:24 -03:00
|
|
|
// as currently Tracker may brick XBees
|
2016-07-01 02:34:44 -03:00
|
|
|
uint32_t telem_delay() const override { return 0; }
|
2016-05-29 21:17:24 -03:00
|
|
|
|
2017-07-08 00:49:17 -03:00
|
|
|
|
2023-05-02 09:22:25 -03:00
|
|
|
MAV_RESULT handle_command_component_arm_disarm(const mavlink_command_int_t &packet) override;
|
2022-12-08 02:47:13 -04:00
|
|
|
MAV_RESULT _handle_command_preflight_calibration_baro(const mavlink_message_t &msg) override;
|
2023-08-25 05:00:36 -03:00
|
|
|
MAV_RESULT handle_command_int_packet(const mavlink_command_int_t &packet, const mavlink_message_t &msg) override;
|
2018-03-17 08:40:57 -03:00
|
|
|
|
2018-11-07 07:10:19 -04:00
|
|
|
int32_t global_position_int_relative_alt() const override {
|
2018-05-01 09:04:54 -03:00
|
|
|
return 0; // what if we have been picked up and carried somewhere?
|
|
|
|
}
|
|
|
|
|
2019-02-17 20:24:23 -04:00
|
|
|
void send_nav_controller_output() const override;
|
2019-02-28 19:32:16 -04:00
|
|
|
void send_pid_tuning() override;
|
2019-02-17 20:24:23 -04:00
|
|
|
|
2024-11-09 08:27:36 -04:00
|
|
|
// Send the mode with the given index (not mode number!) return the total number of modes
|
|
|
|
// Index starts at 1
|
|
|
|
uint8_t send_available_mode(uint8_t index) const override;
|
|
|
|
|
2016-05-27 10:14:08 -03:00
|
|
|
private:
|
|
|
|
|
2019-04-30 07:22:50 -03:00
|
|
|
void packetReceived(const mavlink_status_t &status, const mavlink_message_t &msg) override;
|
2018-03-17 03:38:43 -03:00
|
|
|
void mavlink_check_target(const mavlink_message_t &msg);
|
2024-01-23 02:41:48 -04:00
|
|
|
void handle_message(const mavlink_message_t &msg) override;
|
2024-01-29 21:32:18 -04:00
|
|
|
void handle_message_mission_write_partial_list(const mavlink_message_t &msg);
|
|
|
|
void handle_message_mission_item(const mavlink_message_t &msg);
|
|
|
|
void handle_message_manual_control(const mavlink_message_t &msg);
|
|
|
|
void handle_message_global_position_int(const mavlink_message_t &msg);
|
|
|
|
void handle_message_scaled_pressure(const mavlink_message_t &msg);
|
2019-09-25 06:55:59 -03:00
|
|
|
void handle_set_attitude_target(const mavlink_message_t &msg);
|
|
|
|
|
2019-02-28 17:38:28 -04:00
|
|
|
void send_global_position_int() override;
|
2016-05-27 10:14:08 -03:00
|
|
|
|
2018-03-22 06:30:44 -03:00
|
|
|
MAV_MODE base_mode() const override;
|
2019-11-25 22:46:14 -04:00
|
|
|
MAV_STATE vehicle_system_status() const override;
|
2019-01-22 23:22:04 -04:00
|
|
|
|
2019-02-01 01:01:03 -04:00
|
|
|
bool waypoint_receiving;
|
2016-05-27 10:14:08 -03:00
|
|
|
};
|