diff options
author | Thomas Gubler <thomasgubler@gmail.com> | 2014-09-07 15:31:58 +0200 |
---|---|---|
committer | Thomas Gubler <thomasgubler@gmail.com> | 2014-09-07 15:31:58 +0200 |
commit | eb90979ba8254d7ade8ce530c7e4643d48c4196b (patch) | |
tree | 33acf62143dc3d442b40da5136eb1c8702dff83c | |
parent | 9608e7adeb069878d5cedd3ece9edc7f4ac40ce4 (diff) | |
download | px4-firmware-eb90979ba8254d7ade8ce530c7e4643d48c4196b.tar.gz px4-firmware-eb90979ba8254d7ade8ce530c7e4643d48c4196b.tar.bz2 px4-firmware-eb90979ba8254d7ade8ce530c7e4643d48c4196b.zip |
if V_RCL_LT < 0 go directly to termination
-rw-r--r-- | src/modules/navigator/rcloss.cpp | 15 | ||||
-rw-r--r-- | src/modules/navigator/rcloss_params.c | 3 |
2 files changed, 13 insertions, 5 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; diff --git a/src/modules/navigator/rcloss_params.c b/src/modules/navigator/rcloss_params.c index 83d23cf49..f1a01c73b 100644 --- a/src/modules/navigator/rcloss_params.c +++ b/src/modules/navigator/rcloss_params.c @@ -51,9 +51,10 @@ * Loiter Time * * The amount of time in seconds the system should loiter at current position before termination + * Set to -1 to make the system skip loitering * * @unit seconds - * @min 0.0 + * @min -1.0 * @group RCL */ PARAM_DEFINE_FLOAT(NAV_RCL_LT, 120.0f); |