diff --git a/libraries/AP_Motors/AP_MotorsHeli.cpp b/libraries/AP_Motors/AP_MotorsHeli.cpp index b5c17b849d..2c357c31c2 100644 --- a/libraries/AP_Motors/AP_MotorsHeli.cpp +++ b/libraries/AP_Motors/AP_MotorsHeli.cpp @@ -356,6 +356,14 @@ void AP_MotorsHeli::reset_swash_servo(RC_Channel& servo) void AP_MotorsHeli::update_throttle_filter() { _throttle_filter.apply(_throttle_in, 1.0f/_loop_rate); + + // constrain filtered throttle + if (_throttle_filter.get() < 0.0f) { + _throttle_filter.reset(0.0f); + } + if (_throttle_filter.get() > 1.0f) { + _throttle_filter.reset(1.0f); + } } // reset_flight_controls - resets all controls and scalars to flight status