aboutsummaryrefslogtreecommitdiff
path: root/src/modules/commander/commander.cpp
diff options
context:
space:
mode:
authorAnton Babushkin <anton.babushkin@me.com>2014-01-18 00:15:34 +0100
committerAnton Babushkin <anton.babushkin@me.com>2014-01-18 00:15:34 +0100
commit5a1b39a17215103b8f8181d1ba5e44257abc5b34 (patch)
tree3eb8006ac29573d3afc1d9709e3443e4ea1be8fe /src/modules/commander/commander.cpp
parent98ad84bb58c00fba6e2df457610f2f95d1a8eeef (diff)
downloadpx4-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.cpp8
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();
+ }
+ }
}
}
}