mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-03 06:28:27 -04:00
Copter: Reorder Alt_hold state switch statement for clarity
This commit is contained in:
parent
4a4f361a17
commit
1a5b4fb7d2
@ -131,6 +131,17 @@ void ModeLoiter::run()
|
||||
attitude_control->input_thrust_vector_rate_heading(loiter_nav->get_thrust_vector(), target_yaw_rate, false);
|
||||
break;
|
||||
|
||||
case AltHold_Landed_Ground_Idle:
|
||||
attitude_control->reset_yaw_target_and_rate();
|
||||
FALLTHROUGH;
|
||||
|
||||
case AltHold_Landed_Pre_Takeoff:
|
||||
attitude_control->reset_rate_controller_I_terms_smoothly();
|
||||
loiter_nav->init_target();
|
||||
attitude_control->input_thrust_vector_rate_heading(loiter_nav->get_thrust_vector(), target_yaw_rate, false);
|
||||
pos_control->relax_z_controller(0.0f); // forces throttle output to decay to zero
|
||||
break;
|
||||
|
||||
case AltHold_Takeoff:
|
||||
// initiate take-off
|
||||
if (!takeoff.running()) {
|
||||
@ -150,17 +161,6 @@ void ModeLoiter::run()
|
||||
attitude_control->input_thrust_vector_rate_heading(loiter_nav->get_thrust_vector(), target_yaw_rate, false);
|
||||
break;
|
||||
|
||||
case AltHold_Landed_Ground_Idle:
|
||||
attitude_control->reset_yaw_target_and_rate();
|
||||
FALLTHROUGH;
|
||||
|
||||
case AltHold_Landed_Pre_Takeoff:
|
||||
attitude_control->reset_rate_controller_I_terms_smoothly();
|
||||
loiter_nav->init_target();
|
||||
attitude_control->input_thrust_vector_rate_heading(loiter_nav->get_thrust_vector(), target_yaw_rate, false);
|
||||
pos_control->relax_z_controller(0.0f); // forces throttle output to decay to zero
|
||||
break;
|
||||
|
||||
case AltHold_Flying:
|
||||
// set motors to full range
|
||||
motors->set_desired_spool_state(AP_Motors::DesiredSpoolState::THROTTLE_UNLIMITED);
|
||||
|
@ -115,6 +115,22 @@ void ModePosHold::run()
|
||||
init_wind_comp_estimate();
|
||||
break;
|
||||
|
||||
case AltHold_Landed_Ground_Idle:
|
||||
loiter_nav->clear_pilot_desired_acceleration();
|
||||
loiter_nav->init_target();
|
||||
attitude_control->reset_yaw_target_and_rate();
|
||||
init_wind_comp_estimate();
|
||||
FALLTHROUGH;
|
||||
|
||||
case AltHold_Landed_Pre_Takeoff:
|
||||
attitude_control->reset_rate_controller_I_terms_smoothly();
|
||||
pos_control->relax_z_controller(0.0f); // forces throttle output to decay to zero
|
||||
|
||||
// set poshold state to pilot override
|
||||
roll_mode = RPMode::PILOT_OVERRIDE;
|
||||
pitch_mode = RPMode::PILOT_OVERRIDE;
|
||||
break;
|
||||
|
||||
case AltHold_Takeoff:
|
||||
// initiate take-off
|
||||
if (!takeoff.running()) {
|
||||
@ -136,22 +152,6 @@ void ModePosHold::run()
|
||||
pitch_mode = RPMode::PILOT_OVERRIDE;
|
||||
break;
|
||||
|
||||
case AltHold_Landed_Ground_Idle:
|
||||
loiter_nav->clear_pilot_desired_acceleration();
|
||||
loiter_nav->init_target();
|
||||
attitude_control->reset_yaw_target_and_rate();
|
||||
init_wind_comp_estimate();
|
||||
FALLTHROUGH;
|
||||
|
||||
case AltHold_Landed_Pre_Takeoff:
|
||||
attitude_control->reset_rate_controller_I_terms_smoothly();
|
||||
pos_control->relax_z_controller(0.0f); // forces throttle output to decay to zero
|
||||
|
||||
// set poshold state to pilot override
|
||||
roll_mode = RPMode::PILOT_OVERRIDE;
|
||||
pitch_mode = RPMode::PILOT_OVERRIDE;
|
||||
break;
|
||||
|
||||
case AltHold_Flying:
|
||||
motors->set_desired_spool_state(AP_Motors::DesiredSpoolState::THROTTLE_UNLIMITED);
|
||||
|
||||
|
@ -80,6 +80,15 @@ void ModeSport::run()
|
||||
pos_control->relax_z_controller(0.0f); // forces throttle output to decay to zero
|
||||
break;
|
||||
|
||||
case AltHold_Landed_Ground_Idle:
|
||||
attitude_control->reset_yaw_target_and_rate();
|
||||
FALLTHROUGH;
|
||||
|
||||
case AltHold_Landed_Pre_Takeoff:
|
||||
attitude_control->reset_rate_controller_I_terms_smoothly();
|
||||
pos_control->relax_z_controller(0.0f); // forces throttle output to decay to zero
|
||||
break;
|
||||
|
||||
case AltHold_Takeoff:
|
||||
// initiate take-off
|
||||
if (!takeoff.running()) {
|
||||
@ -93,15 +102,6 @@ void ModeSport::run()
|
||||
takeoff.do_pilot_takeoff(target_climb_rate);
|
||||
break;
|
||||
|
||||
case AltHold_Landed_Ground_Idle:
|
||||
attitude_control->reset_yaw_target_and_rate();
|
||||
FALLTHROUGH;
|
||||
|
||||
case AltHold_Landed_Pre_Takeoff:
|
||||
attitude_control->reset_rate_controller_I_terms_smoothly();
|
||||
pos_control->relax_z_controller(0.0f); // forces throttle output to decay to zero
|
||||
break;
|
||||
|
||||
case AltHold_Flying:
|
||||
motors->set_desired_spool_state(AP_Motors::DesiredSpoolState::THROTTLE_UNLIMITED);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user