Line data Source code
1 : #pragma once 2 : 3 : #include <RC_Channel/RC_Channel.h> 4 : 5 : class RC_Channel_Tracker : public RC_Channel 6 : { 7 : 8 : public: 9 : 10 : protected: 11 : 12 : private: 13 : 14 : }; 15 : 16 : class RC_Channels_Tracker : public RC_Channels 17 : { 18 : public: 19 : 20 : RC_Channel_Tracker obj_channels[NUM_RC_CHANNELS]; 21 1991626 : RC_Channel_Tracker *channel(const uint8_t chan) override { 22 1991626 : if (chan >= ARRAY_SIZE(obj_channels)) { 23 0 : return nullptr; 24 : } 25 1991626 : return &obj_channels[chan]; 26 : } 27 0 : const RC_Channel_Tracker *channel(const uint8_t chan) const override { 28 0 : if (chan >= ARRAY_SIZE(obj_channels)) { 29 0 : return nullptr; 30 : } 31 0 : return &obj_channels[chan]; 32 : } 33 : 34 : // we always trust our RC inputs ATM: 35 19009 : bool in_rc_failsafe() const override { return false; } 36 : 37 : protected: 38 : 39 : // note that these callbacks are not presently used on Tracker: 40 : int8_t flight_mode_channel_number() const override; 41 : 42 : };