diff --git a/src/modules/flight_mode_manager/FlightModeManager.cpp b/src/modules/flight_mode_manager/FlightModeManager.cpp index 9481062d34..01f0669f4e 100644 --- a/src/modules/flight_mode_manager/FlightModeManager.cpp +++ b/src/modules/flight_mode_manager/FlightModeManager.cpp @@ -314,6 +314,12 @@ void FlightModeManager::start_flight_task() case 4: default: + if (_param_mpc_pos_mode.get() != 4) { + PX4_ERR("MPC_POS_MODE %d invalid, resetting", _param_mpc_pos_mode.get()); + _param_mpc_pos_mode.set(4); + _param_mpc_pos_mode.commit(); + } + error = switchTask(FlightTaskIndex::ManualAcceleration); break; } diff --git a/src/modules/mc_pos_control/mc_pos_control_params.c b/src/modules/mc_pos_control/mc_pos_control_params.c index f96da1be56..0ffa9abca3 100644 --- a/src/modules/mc_pos_control/mc_pos_control_params.c +++ b/src/modules/mc_pos_control/mc_pos_control_params.c @@ -708,13 +708,11 @@ PARAM_DEFINE_FLOAT(MPC_TKO_RAMP_T, 3.0f); * The supported sub-modes are: * 0 Simple position control where sticks map directly to velocity setpoints * without smoothing. Useful for velocity control tuning. - * 1 Smooth position control with maximum acceleration and jerk limits based on slew-rates. * 3 Smooth position control with maximum acceleration and jerk limits based on * jerk optimized trajectory generator (different algorithm than 1). * 4 Smooth position control where sticks map to acceleration and there's a virtual brake drag * * @value 0 Simple position control - * @value 1 Smooth position control * @value 3 Smooth position control (Jerk optimized) * @value 4 Acceleration based input * @group Multicopter Position Control