diff --git a/Rover/mode_auto.cpp b/Rover/mode_auto.cpp index dd99f363a15198..bb60cc9cb4acf1 100644 --- a/Rover/mode_auto.cpp +++ b/Rover/mode_auto.cpp @@ -626,16 +626,27 @@ void ModeAuto::exit_mission() // send message gcs().send_text(MAV_SEVERITY_NOTICE, "Mission Complete"); - if (g2.mis_done_behave == MIS_DONE_BEHAVE_LOITER && start_loiter()) { - return; - } + switch (g2.mis_done_behave) { + case MIS_DONE_BEHAVE_LOITER: + if (start_loiter()) { + return; + } + break; - if (g2.mis_done_behave == MIS_DONE_BEHAVE_ACRO && rover.set_mode(rover.mode_acro, ModeReason::MISSION_END)) { - return; - } + case MIS_DONE_BEHAVE_ACRO: + if (rover.set_mode(rover.mode_acro, ModeReason::MISSION_END)) { + return; + } + break; - if (g2.mis_done_behave == MIS_DONE_BEHAVE_MANUAL && rover.set_mode(rover.mode_manual, ModeReason::MISSION_END)) { - return; + case MIS_DONE_BEHAVE_MANUAL: + if (rover.set_mode(rover.mode_manual, ModeReason::MISSION_END)) { + return; + } + break; + + default: + break; } start_stop();