diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2014-05-06 21:46:59 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-05-06 21:46:59 +0200 |
commit | 32b84b9652b5636ba4a2a30caae6fffacb47f1d0 (patch) | |
tree | 7f587efabae8658aada74643b9ecfcc71db2ada7 /src | |
parent | 6c1a035d6b0299479e955df82032407ceafb9790 (diff) | |
download | px4-firmware-32b84b9652b5636ba4a2a30caae6fffacb47f1d0.tar.gz px4-firmware-32b84b9652b5636ba4a2a30caae6fffacb47f1d0.tar.bz2 px4-firmware-32b84b9652b5636ba4a2a30caae6fffacb47f1d0.zip |
Much better failsafe reporting on failsafe state changes
Diffstat (limited to 'src')
-rw-r--r-- | src/modules/commander/commander.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/modules/commander/commander.cpp b/src/modules/commander/commander.cpp index 141b371b3..99a644c9d 100644 --- a/src/modules/commander/commander.cpp +++ b/src/modules/commander/commander.cpp @@ -1271,6 +1271,13 @@ int commander_thread_main(int argc, char *argv[]) if (res == TRANSITION_DENIED) { /* LAND not allowed, set TERMINATION state */ transition_result_t res = failsafe_state_transition(&status, FAILSAFE_STATE_TERMINATION); + + if (res == TRANSITION_CHANGED) { + mavlink_log_critical(mavlink_fd, "#a FAILSAFE: TERMINATION"); + } + + } else if (res == TRANSITION_CHANGED) { + mavlink_log_critical(mavlink_fd, "#a FAILSAFE: LANDING"); } } @@ -1281,15 +1288,25 @@ int commander_thread_main(int argc, char *argv[]) if (!status.condition_landed) { /* vehicle is not landed, try to perform RTL */ res = failsafe_state_transition(&status, FAILSAFE_STATE_RTL); + + if (res == TRANSITION_CHANGED) { + mavlink_log_critical(mavlink_fd, "#a FAILSAFE: RETURN TO LAND"); + } } if (res == TRANSITION_DENIED) { /* RTL not allowed (no global position estimate) or not wanted, try LAND */ res = failsafe_state_transition(&status, FAILSAFE_STATE_LAND); + if (res == TRANSITION_CHANGED) { + mavlink_log_critical(mavlink_fd, "#a FAILSAFE: LANDING"); + } + if (res == TRANSITION_DENIED) { /* LAND not allowed, set TERMINATION state */ res = failsafe_state_transition(&status, FAILSAFE_STATE_TERMINATION); + } else if (res == TRANSITION_CHANGED) { + mavlink_log_critical(mavlink_fd, "#a FAILSAFE: TERMINATION"); } } } |