Browse Source

Copter: reset integrators when landed in auto modes in any spool state

zr-v5.1
Bill Geyer 3 years ago committed by Randy Mackay
parent
commit
0e03f879ef
  1. 9
      ArduCopter/mode.cpp

9
ArduCopter/mode.cpp

@ -464,16 +464,15 @@ void Mode::make_safe_ground_handling(bool force_throttle_unlimited) @@ -464,16 +464,15 @@ void Mode::make_safe_ground_handling(bool force_throttle_unlimited)
motors->set_desired_spool_state(AP_Motors::DesiredSpoolState::GROUND_IDLE);
}
// aircraft is landed, integrator terms must be reset regardless of spool state
attitude_control->reset_rate_controller_I_terms_smoothly();
switch (motors->get_spool_state()) {
case AP_Motors::SpoolState::SHUT_DOWN:
case AP_Motors::SpoolState::GROUND_IDLE:
// relax controllers during idle states
attitude_control->reset_rate_controller_I_terms_smoothly();
// reset yaw targets and rates during idle states
attitude_control->reset_yaw_target_and_rate();
break;
case AP_Motors::SpoolState::SPOOLING_UP:
case AP_Motors::SpoolState::THROTTLE_UNLIMITED:
case AP_Motors::SpoolState::SPOOLING_DOWN:

Loading…
Cancel
Save