LCOV - code coverage report
Current view: top level - home/pbarker/rc/ardupilot/ArduPlane - RC_Channel_Plane.h (source / functions) Hit Total Coverage
Test: lcov.info Lines: 7 8 87.5 %
Date: 2026-09-09 11:02:08 Functions: 2 2 100.0 %

          Line data    Source code
       1             : #pragma once
       2             : 
       3             : #include <RC_Channel/RC_Channel.h>
       4             : 
       5             : class RC_Channel_Plane : public RC_Channel
       6             : {
       7             : 
       8             : public:
       9             : 
      10             : protected:
      11             : 
      12             :     void init_aux_function(AUX_FUNC ch_option,
      13             :                            AuxSwitchPos ch_flag) override;
      14             :     bool do_aux_function(const AuxFuncTrigger &trigger) override;
      15             : 
      16             :     // called when the mode switch changes position:
      17             :     void mode_switch_changed(modeswitch_pos_t new_pos) override;
      18             : 
      19             : private:
      20             : 
      21             :     void do_aux_function_change_mode(Mode::Number number,
      22             :                                      AuxSwitchPos ch_flag);
      23             : 
      24             : #if HAL_QUADPLANE_ENABLED
      25             :     void do_aux_function_q_assist_state(AuxSwitchPos ch_flag);
      26             : #endif
      27             : 
      28             :     void do_aux_function_crow_mode(AuxSwitchPos ch_flag);
      29             : 
      30             :     void do_aux_function_soaring_3pos(AuxSwitchPos ch_flag);
      31             : 
      32             :     void do_aux_function_flare(AuxSwitchPos ch_flag);
      33             : };
      34             : 
      35             : class RC_Channels_Plane : public RC_Channels
      36             : {
      37             : public:
      38             : 
      39             :     RC_Channel_Plane obj_channels[NUM_RC_CHANNELS];
      40   142467369 :     RC_Channel_Plane *channel(const uint8_t chan) override {
      41   142467369 :         if (chan >= ARRAY_SIZE(obj_channels)) {
      42           1 :             return nullptr;
      43             :         }
      44   142467368 :         return &obj_channels[chan];
      45             :     }
      46         329 :     const RC_Channel_Plane *channel(const uint8_t chan) const override{
      47         329 :         if (chan >= ARRAY_SIZE(obj_channels)) {
      48           0 :             return nullptr;
      49             :         }
      50         329 :         return &obj_channels[chan];
      51             :     }
      52             : 
      53             :     bool in_rc_failsafe() const override;
      54             :     bool has_valid_input() const override;
      55             : 
      56             :     RC_Channel *get_arming_channel(void) const override;
      57             : 
      58             :     void read_mode_switch() override;
      59             : 
      60             : protected:
      61             : 
      62             :     // note that these callbacks are not presently used on Plane:
      63             :     int8_t flight_mode_channel_number() const override;
      64             : 
      65             : };

Generated by: LCOV version 1.14