aboutsummaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorThomas Gubler <thomasgubler@gmail.com>2014-09-07 15:31:58 +0200
committerThomas Gubler <thomasgubler@gmail.com>2014-09-07 15:31:58 +0200
commiteb90979ba8254d7ade8ce530c7e4643d48c4196b (patch)
tree33acf62143dc3d442b40da5136eb1c8702dff83c /src/modules
parent9608e7adeb069878d5cedd3ece9edc7f4ac40ce4 (diff)
downloadpx4-firmware-eb90979ba8254d7ade8ce530c7e4643d48c4196b.tar.gz
px4-firmware-eb90979ba8254d7ade8ce530c7e4643d48c4196b.tar.bz2
px4-firmware-eb90979ba8254d7ade8ce530c7e4643d48c4196b.zip
if V_RCL_LT < 0 go directly to termination
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/navigator/rcloss.cpp15
-rw-r--r--src/modules/navigator/rcloss_params.c3
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);