diff --git a/src/modules/commander/commander.cpp b/src/modules/commander/commander.cpp index edeb31e888..5ac8e9ca8b 100644 --- a/src/modules/commander/commander.cpp +++ b/src/modules/commander/commander.cpp @@ -1774,14 +1774,18 @@ int commander_thread_main(int argc, char *argv[]) if (status.condition_home_position_valid && (hrt_elapsed_time(&_home.timestamp) > 2000000) && _last_mission_instance != mission_result.instance_count) { - if (mission_result.valid) { + if (!mission_result.valid) { + /* the mission is invalid */ + tune_mission_fail(true); + warnx("mission fail"); + } else if (mission_result.warning) { + /* the mission has a warning */ + tune_mission_fail(true); + warnx("mission warning"); + } else { /* the mission is valid */ tune_mission_ok(true); warnx("mission ok"); - } else { - /* the mission is not valid */ - tune_mission_fail(true); - warnx("mission fail"); } /* prevent further feedback until the mission changes */