Browse Source

Commander: Fix modes switching back to prev mode

sbg
Lorenz Meier 9 years ago
parent
commit
befab7303f
  1. 15
      src/modules/commander/commander.cpp

15
src/modules/commander/commander.cpp

@ -2590,15 +2590,12 @@ int commander_thread_main(int argc, char *argv[]) @@ -2590,15 +2590,12 @@ int commander_thread_main(int argc, char *argv[])
}
}
/* reset main state after takeoff or land has been completed */
/* only switch back to at least altitude controlled modes */
if (main_state_prev == commander_state_s::MAIN_STATE_POSCTL ||
main_state_prev == commander_state_s::MAIN_STATE_ALTCTL) {
if ((internal_state.main_state == commander_state_s::MAIN_STATE_AUTO_TAKEOFF
&& mission_result.finished) ||
(internal_state.main_state == commander_state_s::MAIN_STATE_AUTO_LAND
&& land_detector.landed)) {
/* reset main state after takeoff has completed */
/* only switch back to posctl */
if (main_state_prev == commander_state_s::MAIN_STATE_POSCTL) {
if (internal_state.main_state == commander_state_s::MAIN_STATE_AUTO_TAKEOFF
&& mission_result.finished) {
main_state_transition(&status, main_state_prev, main_state_prev, &status_flags, &internal_state);
}

Loading…
Cancel
Save