diff options
author | Thomas Gubler <thomasgubler@gmail.com> | 2014-07-23 22:58:19 +0200 |
---|---|---|
committer | Thomas Gubler <thomasgubler@gmail.com> | 2014-07-23 22:58:19 +0200 |
commit | 24f380137ecb91fb9647e22e1d29c13da5fc0357 (patch) | |
tree | 8202bd0cad2410fd04d550897d9c994bd6d0bc3d /src/modules/commander/commander.cpp | |
parent | ed19faf4289eed5eeb3339e9609e976b9195020c (diff) | |
download | px4-firmware-24f380137ecb91fb9647e22e1d29c13da5fc0357.tar.gz px4-firmware-24f380137ecb91fb9647e22e1d29c13da5fc0357.tar.bz2 px4-firmware-24f380137ecb91fb9647e22e1d29c13da5fc0357.zip |
add method to block fallback to mission
failsafe navigation modes can use a flag in mission_result to tell the
commander to not switch back to mission
Diffstat (limited to 'src/modules/commander/commander.cpp')
-rw-r--r-- | src/modules/commander/commander.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/modules/commander/commander.cpp b/src/modules/commander/commander.cpp index 5c89e0123..cb09a68e3 100644 --- a/src/modules/commander/commander.cpp +++ b/src/modules/commander/commander.cpp @@ -1461,7 +1461,7 @@ int commander_thread_main(int argc, char *argv[]) for (int i = 0; i < TELEMETRY_STATUS_ORB_ID_NUM; i++) { if (telemetry_last_heartbeat[i] != 0 && hrt_elapsed_time(&telemetry_last_heartbeat[i]) < datalink_loss_timeout) { /* handle the case where data link was regained */ - if (telemetry_lost[i]) { + if (telemetry_lost[i]) {//XXX also add hysteresis here mavlink_log_critical(mavlink_fd, "data link %i regained", i); telemetry_lost[i] = false; } @@ -1545,7 +1545,8 @@ int commander_thread_main(int argc, char *argv[]) /* now set navigation state according to failsafe and main state */ bool nav_state_changed = set_nav_state(&status, (bool)datalink_loss_enabled, - mission_result.finished); + mission_result.finished, + mission_result.stay_in_failsafe); // TODO handle mode changes by commands if (main_state_changed) { |