aboutsummaryrefslogtreecommitdiff
path: root/src/modules/navigator/rcloss.cpp
diff options
context:
space:
mode:
authorThomas Gubler <thomasgubler@gmail.com>2014-09-07 15:31:58 +0200
committerThomas Gubler <thomasgubler@gmail.com>2014-09-22 10:54:00 +0200
commita8239b2c4516c36d30767c0ae61b30f1e2dde096 (patch)
tree21ad36cf31e0ac2f174f64f4d8ab25b399602550 /src/modules/navigator/rcloss.cpp
parent21009e89a4c748d8a61174058bb378c1d6306b8d (diff)
downloadpx4-firmware-a8239b2c4516c36d30767c0ae61b30f1e2dde096.tar.gz
px4-firmware-a8239b2c4516c36d30767c0ae61b30f1e2dde096.tar.bz2
px4-firmware-a8239b2c4516c36d30767c0ae61b30f1e2dde096.zip
if V_RCL_LT < 0 go directly to termination
Diffstat (limited to 'src/modules/navigator/rcloss.cpp')
-rw-r--r--src/modules/navigator/rcloss.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/modules/navigator/rcloss.cpp b/src/modules/navigator/rcloss.cpp
index 651e31184..5564a1c42 100644
--- a/src/modules/navigator/rcloss.cpp
+++ b/src/modules/navigator/rcloss.cpp
@@ -153,10 +153,17 @@ RCLoss::advance_rcl()
{
switch (_rcl_state) {
case RCL_STATE_NONE:
- /* Check the number of data link losses. If above home fly home directly */
- warnx("RC loss, OBC mode, loiter");
- mavlink_log_info(_navigator->get_mavlink_fd(), "#audio: rc loss, loitering");
- _rcl_state = RCL_STATE_LOITER;
+ if (_param_loitertime.get() > 0.0f) {
+ warnx("RC loss, OBC mode, loiter");
+ mavlink_log_info(_navigator->get_mavlink_fd(), "#audio: rc loss, loitering");
+ _rcl_state = RCL_STATE_LOITER;
+ } else {
+ warnx("RC loss, OBC mode, slip loiter, terminate");
+ mavlink_log_info(_navigator->get_mavlink_fd(), "#audio: rc loss, terminating");
+ _rcl_state = RCL_STATE_TERMINATE;
+ _navigator->get_mission_result()->stay_in_failsafe = true;
+ _navigator->publish_mission_result();
+ }
break;
case RCL_STATE_LOITER:
_rcl_state = RCL_STATE_TERMINATE;