diff --git a/src/modules/mc_pos_control/MulticopterPositionControl.cpp b/src/modules/mc_pos_control/MulticopterPositionControl.cpp index 647554002a..7786d21bc0 100644 --- a/src/modules/mc_pos_control/MulticopterPositionControl.cpp +++ b/src/modules/mc_pos_control/MulticopterPositionControl.cpp @@ -589,6 +589,10 @@ void MulticopterPositionControl::start_flight_task() FlightTaskError error = FlightTaskError::NoError; switch (_param_mpc_pos_mode.get()) { + case 0: + error = _flight_tasks.switchTask(FlightTaskIndex::ManualPosition); + break; + case 1: error = _flight_tasks.switchTask(FlightTaskIndex::ManualPositionSmooth); break; @@ -598,11 +602,8 @@ void MulticopterPositionControl::start_flight_task() break; case 4: - error = _flight_tasks.switchTask(FlightTaskIndex::ManualAcceleration); - break; - default: - error = _flight_tasks.switchTask(FlightTaskIndex::ManualPosition); + error = _flight_tasks.switchTask(FlightTaskIndex::ManualAcceleration); break; } @@ -626,16 +627,17 @@ void MulticopterPositionControl::start_flight_task() FlightTaskError error = FlightTaskError::NoError; switch (_param_mpc_pos_mode.get()) { + case 0: + error = _flight_tasks.switchTask(FlightTaskIndex::ManualAltitude); + break; + case 1: error = _flight_tasks.switchTask(FlightTaskIndex::ManualAltitudeSmooth); break; case 3: - error = _flight_tasks.switchTask(FlightTaskIndex::ManualAltitudeSmoothVel); - break; - default: - error = _flight_tasks.switchTask(FlightTaskIndex::ManualAltitude); + error = _flight_tasks.switchTask(FlightTaskIndex::ManualAltitudeSmoothVel); break; }