diff options
author | Anton Babushkin <anton.babushkin@me.com> | 2014-01-18 00:15:34 +0100 |
---|---|---|
committer | Anton Babushkin <anton.babushkin@me.com> | 2014-01-18 00:15:34 +0100 |
commit | 5a1b39a17215103b8f8181d1ba5e44257abc5b34 (patch) | |
tree | 3eb8006ac29573d3afc1d9709e3443e4ea1be8fe /src/modules/commander/commander.cpp | |
parent | 98ad84bb58c00fba6e2df457610f2f95d1a8eeef (diff) | |
download | px4-firmware-5a1b39a17215103b8f8181d1ba5e44257abc5b34.tar.gz px4-firmware-5a1b39a17215103b8f8181d1ba5e44257abc5b34.tar.bz2 px4-firmware-5a1b39a17215103b8f8181d1ba5e44257abc5b34.zip |
RTL on RC failsafe
Diffstat (limited to 'src/modules/commander/commander.cpp')
-rw-r--r-- | src/modules/commander/commander.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/modules/commander/commander.cpp b/src/modules/commander/commander.cpp index dbfca38b1..cedcbb3fb 100644 --- a/src/modules/commander/commander.cpp +++ b/src/modules/commander/commander.cpp @@ -1133,6 +1133,14 @@ int commander_thread_main(int argc, char *argv[]) mavlink_log_critical(mavlink_fd, "#audio: CRITICAL: RC SIGNAL LOST"); status.rc_signal_lost = true; status_changed = true; + if (status.main_state != MAIN_STATE_AUTO) { + transition_result_t res = main_state_transition(&status, MAIN_STATE_AUTO); + if (res == TRANSITION_CHANGED) { + mavlink_log_critical(mavlink_fd, "#audio: switching to RTL mode"); + status.set_nav_state = NAV_STATE_RTL; + status.set_nav_state_timestamp = hrt_absolute_time(); + } + } } } } |