diff --git a/libraries/RC_Channel/RC_Channel.cpp b/libraries/RC_Channel/RC_Channel.cpp index 75745ff57e..ce0529c8de 100644 --- a/libraries/RC_Channel/RC_Channel.cpp +++ b/libraries/RC_Channel/RC_Channel.cpp @@ -333,10 +333,12 @@ RC_Channel::range_to_pwm() float RC_Channel::norm_input() { + float ret; if(radio_in < radio_trim) - return _reverse * (float)(radio_in - radio_trim) / (float)(radio_trim - radio_min); + ret = _reverse * (float)(radio_in - radio_trim) / (float)(radio_trim - radio_min); else - return _reverse * (float)(radio_in - radio_trim) / (float)(radio_max - radio_trim); + ret = _reverse * (float)(radio_in - radio_trim) / (float)(radio_max - radio_trim); + return constrain_float(ret, -1.0f, 1.0f); } /*