diff --git a/src/modules/vtol_att_control/standard.cpp b/src/modules/vtol_att_control/standard.cpp index 1868b3ba44..4749eea87b 100644 --- a/src/modules/vtol_att_control/standard.cpp +++ b/src/modules/vtol_att_control/standard.cpp @@ -143,7 +143,7 @@ Standard::parameters_update() /* reverse throttle */ param_get(_params_handles_standard.reverse_throttle, &v); - _params_standard.reverse_throttle = math::constrain(v, 0.0f, 1.0f); + _params_standard.reverse_throttle = math::constrain(v, -1.0f, 1.0f); /* mpc cruise speed */ param_get(_params_handles_standard.mpc_xy_cruise, &_params_standard.mpc_xy_cruise); @@ -186,13 +186,12 @@ void Standard::update_vtol_state() _flag_enable_mc_motors = true; _vtol_schedule.transition_start = hrt_absolute_time(); - if (_params_handles_standard.reverse_output > FLT_EPSILON) { - _pusher_throttle = _params_standard.reverse_throttle; - _reverse_output = _params_standard.reverse_output; + _pusher_throttle = _params_standard.reverse_throttle; + _reverse_output = _params_standard.reverse_output; - } else { + // prevent positive thrust without control channel activated + if (_pusher_throttle > FLT_EPSILON && _reverse_output < 0.01f) { _pusher_throttle = 0.0f; - _reverse_output = 0.0f; } } diff --git a/src/modules/vtol_att_control/vtol_att_control_params.c b/src/modules/vtol_att_control/vtol_att_control_params.c index c7f1705354..9e87362e5b 100644 --- a/src/modules/vtol_att_control/vtol_att_control_params.c +++ b/src/modules/vtol_att_control/vtol_att_control_params.c @@ -250,9 +250,10 @@ PARAM_DEFINE_FLOAT(VT_B_REV_OUT, 0.0f); /** * Thottle output during back transition - * This is only enabled when VT_B_REV_OUT is enabled and is used for active breaking with reverse thrust + * For ESCs and mixers that support reverse thrust on low PWM values set this to a negative value to apply active breaking + * For ESCs that support thrust reversal with a control channel please set VT_B_REV_OUT and set this to a positive value to apply active breaking * - * @min 0 + * @min -1 * @max 1 * @increment 0.01 * @decimal 2