diff --git a/src/modules/vtol_att_control/standard.cpp b/src/modules/vtol_att_control/standard.cpp index 1d9d7b1155..8725647849 100644 --- a/src/modules/vtol_att_control/standard.cpp +++ b/src/modules/vtol_att_control/standard.cpp @@ -128,8 +128,11 @@ void Standard::update_vtol_state() _mc_yaw_weight = 1.0f; } else if (_vtol_schedule.flight_mode == TRANSITION_TO_MC) { - // keep transitioning to mc mode - _vtol_schedule.flight_mode = MC_MODE; + // transition to MC mode if transition time has passed + if (hrt_elapsed_time(&_vtol_schedule.transition_start) > + (_params_standard.back_trans_dur * 1000000.0f)) { + _vtol_schedule.flight_mode = MC_MODE; + } } // the pusher motor should never be powered when in or transitioning to mc mode