Line data Source code
1 : #pragma once 2 : 3 : #include <AP_Rally/AP_Rally.h> 4 : 5 : #if HAL_RALLY_ENABLED 6 : 7 : #include "MissionItemProtocol.h" 8 : 9 : class MissionItemProtocol_Rally : public MissionItemProtocol { 10 : public: 11 2061 : MissionItemProtocol_Rally(class AP_Rally &_rally) : 12 2061 : rally(_rally) {} 13 : void truncate(const mavlink_mission_count_t &packet) override; 14 1793 : MAV_MISSION_TYPE mission_type() const override { return MAV_MISSION_TYPE_RALLY; } 15 : 16 : MAV_MISSION_RESULT complete(const GCS_MAVLINK &_link) override; 17 : void timeout() override; 18 : 19 : /* 20 : static function to get rally item as mavlink_mission_item_int_t 21 : */ 22 : static bool get_item_as_mission_item(uint16_t seq, mavlink_mission_item_int_t &ret_packet); 23 : 24 : static MAV_MISSION_RESULT convert_MISSION_ITEM_INT_to_RallyLocation(const mavlink_mission_item_int_t &cmd, class RallyLocation &ret) WARN_IF_UNUSED; 25 : 26 : protected: 27 : 28 6 : ap_message next_item_ap_message_id() const override { 29 6 : return MSG_NEXT_MISSION_REQUEST_RALLY; 30 : } 31 : bool clear_all_items() override WARN_IF_UNUSED; 32 : 33 : private: 34 : AP_Rally &rally; 35 : 36 : uint16_t item_count() const override; 37 : uint16_t max_items() const override; 38 : 39 : MAV_MISSION_RESULT replace_item(const mavlink_mission_item_int_t&) override WARN_IF_UNUSED; 40 : MAV_MISSION_RESULT append_item(const mavlink_mission_item_int_t&) override WARN_IF_UNUSED; 41 : 42 : MAV_MISSION_RESULT get_item(uint16_t seq, mavlink_mission_item_int_t &ret_packet) override WARN_IF_UNUSED; 43 : 44 : }; 45 : 46 : #endif // HAL_RALLY_ENABLED