mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-23 11:33:34 +08:00
mc_pos_control: refactor switch case logic for modes
This commit is contained in:
@@ -919,13 +919,7 @@ MulticopterPositionControl::start_flight_task()
|
|||||||
should_disable_task = false;
|
should_disable_task = false;
|
||||||
int error = 0;
|
int error = 0;
|
||||||
switch (MPC_AUTO_MODE.get()) {
|
switch (MPC_AUTO_MODE.get()) {
|
||||||
case 0:
|
|
||||||
case 1:
|
case 1:
|
||||||
case 2:
|
|
||||||
error = _flight_tasks.switchTask(FlightTaskIndex::AutoLine);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 3:
|
|
||||||
error = _flight_tasks.switchTask(FlightTaskIndex::AutoLineSmoothVel);
|
error = _flight_tasks.switchTask(FlightTaskIndex::AutoLineSmoothVel);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -965,7 +959,6 @@ MulticopterPositionControl::start_flight_task()
|
|||||||
error = _flight_tasks.switchTask(FlightTaskIndex::ManualPositionSmoothVel);
|
error = _flight_tasks.switchTask(FlightTaskIndex::ManualPositionSmoothVel);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0:
|
|
||||||
default:
|
default:
|
||||||
error = _flight_tasks.switchTask(FlightTaskIndex::ManualPosition);
|
error = _flight_tasks.switchTask(FlightTaskIndex::ManualPosition);
|
||||||
break;
|
break;
|
||||||
@@ -994,9 +987,6 @@ MulticopterPositionControl::start_flight_task()
|
|||||||
error = _flight_tasks.switchTask(FlightTaskIndex::ManualAltitudeSmooth);
|
error = _flight_tasks.switchTask(FlightTaskIndex::ManualAltitudeSmooth);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0:
|
|
||||||
case 2:
|
|
||||||
case 3:
|
|
||||||
default:
|
default:
|
||||||
error = _flight_tasks.switchTask(FlightTaskIndex::ManualAltitude);
|
error = _flight_tasks.switchTask(FlightTaskIndex::ManualAltitude);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -681,22 +681,11 @@ PARAM_DEFINE_INT32(MPC_POS_MODE, 1);
|
|||||||
/**
|
/**
|
||||||
* Auto sub-mode.
|
* Auto sub-mode.
|
||||||
*
|
*
|
||||||
* The supported sub-modes are:
|
|
||||||
* 0 Direct line tracking, no smoothing
|
|
||||||
*
|
|
||||||
* 1 Not used
|
|
||||||
*
|
|
||||||
* 2 Not used
|
|
||||||
*
|
|
||||||
* 3 Jerk-limited trajectory
|
|
||||||
*
|
|
||||||
* @value 0 Default line tracking
|
* @value 0 Default line tracking
|
||||||
* @value 1 N/A
|
* @value 1 Jerk-limited trajectory
|
||||||
* @value 2 N/A
|
|
||||||
* @value 3 Jerk-limited trajectory
|
|
||||||
* @group Multicopter Position Control
|
* @group Multicopter Position Control
|
||||||
*/
|
*/
|
||||||
PARAM_DEFINE_INT32(MPC_AUTO_MODE, 3);
|
PARAM_DEFINE_INT32(MPC_AUTO_MODE, 1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delay from idle state to arming state.
|
* Delay from idle state to arming state.
|
||||||
|
|||||||
Reference in New Issue
Block a user