diff --git a/libraries/RC_Channel/RC_Channel.cpp b/libraries/RC_Channel/RC_Channel.cpp index 4569f4141c..1d1951d727 100644 --- a/libraries/RC_Channel/RC_Channel.cpp +++ b/libraries/RC_Channel/RC_Channel.cpp @@ -338,7 +338,7 @@ void RC_Channel::set_override(const uint16_t v, const uint32_t timestamp_us) } last_override_time = timestamp_us != 0 ? timestamp_us : AP_HAL::millis(); override_value = v; - RC_Channels::has_new_overrides = true; + rc().new_override_received(); } void RC_Channel::clear_override() diff --git a/libraries/RC_Channel/RC_Channel.h b/libraries/RC_Channel/RC_Channel.h index 9a25c863ca..10ba05f447 100644 --- a/libraries/RC_Channel/RC_Channel.h +++ b/libraries/RC_Channel/RC_Channel.h @@ -354,12 +354,17 @@ protected: IGNORE_FAILSAFE = (1 << 2), // ignore RC failsafe bits }; + void new_override_received() { + has_new_overrides = true; + } + private: static RC_Channels *_singleton; // this static arrangement is to avoid static pointers in AP_Param tables static RC_Channel *channels; - static bool has_new_overrides; + bool has_new_overrides; + AP_Float _override_timeout; AP_Int32 _options; diff --git a/libraries/RC_Channel/RC_Channels.cpp b/libraries/RC_Channel/RC_Channels.cpp index 3f9058d790..4e1656a704 100644 --- a/libraries/RC_Channel/RC_Channels.cpp +++ b/libraries/RC_Channel/RC_Channels.cpp @@ -28,8 +28,6 @@ extern const AP_HAL::HAL& hal; #include "RC_Channel.h" -bool RC_Channels::has_new_overrides; - /* channels group object constructor */