Line data Source code
1 : #pragma once 2 : 3 : #include <GCS_MAVLink/GCS.h> 4 : #include "GCS_MAVLink_Copter.h" 5 : 6 : class GCS_Copter : public GCS 7 : { 8 : friend class Copter; // for access to _chan in parameter declarations 9 : 10 : public: 11 : 12 : // the following define expands to a pair of methods to retrieve a 13 : // pointer to an object of the correct subclass for the link at 14 : // offset ofs. These are of the form: 15 : // GCS_MAVLINK_XXXX *chan(const uint8_t ofs) override; 16 : // const GCS_MAVLINK_XXXX *chan(const uint8_t ofs) override const; 17 572953477 : GCS_MAVLINK_CHAN_METHOD_DEFINITIONS(GCS_MAVLINK_Copter); 18 : 19 : void update_vehicle_sensor_status_flags(void) override; 20 : 21 : uint32_t custom_mode() const override; 22 : MAV_TYPE frame_type() const override; 23 : 24 : const char* frame_string() const override; 25 : 26 : bool vehicle_initialised() const override; 27 : 28 : bool simple_input_active() const override; 29 : bool supersimple_input_active() const override; 30 : 31 : protected: 32 : 33 : 34 : // minimum amount of time (in microseconds) that must remain in 35 : // the main scheduler loop before we are allowed to send any 36 : // mavlink messages. We want to prioritise the main flight 37 : // control loop over communications 38 112085409 : uint16_t min_loop_time_remaining_for_message_send_us() const override { 39 112085409 : return 250; 40 : } 41 : 42 3044 : GCS_MAVLINK_Copter *new_gcs_mavlink_backend(AP_HAL::UARTDriver &uart) override { 43 3044 : return NEW_NOTHROW GCS_MAVLINK_Copter(uart); 44 : } 45 : 46 : };