aboutsummaryrefslogtreecommitdiff
path: root/src/modules/navigator/datalinkloss.cpp
diff options
context:
space:
mode:
authorThomas Gubler <thomasgubler@gmail.com>2014-11-12 13:19:07 +0100
committerThomas Gubler <thomasgubler@gmail.com>2014-11-12 13:19:07 +0100
commit5afc64e42427b875ad926862367ebddc9bc0baff (patch)
tree227a17fb782cae10d5a36d23eebf0788aa498846 /src/modules/navigator/datalinkloss.cpp
parentd7ebea6ec2f3783bfdd4becd7cda5fd24c340a85 (diff)
parentd63c054bb00a0df6666f498950ab797dc07817b4 (diff)
downloadpx4-firmware-5afc64e42427b875ad926862367ebddc9bc0baff.tar.gz
px4-firmware-5afc64e42427b875ad926862367ebddc9bc0baff.tar.bz2
px4-firmware-5afc64e42427b875ad926862367ebddc9bc0baff.zip
Merge pull request #1443 from PX4/fix_strangertl
Fix strange RTL behavior
Diffstat (limited to 'src/modules/navigator/datalinkloss.cpp')
-rw-r--r--src/modules/navigator/datalinkloss.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/modules/navigator/datalinkloss.cpp b/src/modules/navigator/datalinkloss.cpp
index 66f1c8c73..e789fd10d 100644
--- a/src/modules/navigator/datalinkloss.cpp
+++ b/src/modules/navigator/datalinkloss.cpp
@@ -156,6 +156,7 @@ DataLinkLoss::set_dll_item()
/* Request flight termination from the commander */
_navigator->get_mission_result()->flight_termination = true;
_navigator->publish_mission_result();
+ reset_mission_item_reached();
warnx("not switched to manual: request flight termination");
pos_sp_triplet->previous.valid = false;
pos_sp_triplet->current.valid = false;
@@ -188,6 +189,7 @@ DataLinkLoss::advance_dll()
mavlink_log_info(_navigator->get_mavlink_fd(), "#audio: too many DL losses, fly to airfield home");
_navigator->get_mission_result()->stay_in_failsafe = true;
_navigator->publish_mission_result();
+ reset_mission_item_reached();
_dll_state = DLL_STATE_FLYTOAIRFIELDHOMEWP;
} else {
if (!_param_skipcommshold.get()) {
@@ -208,6 +210,7 @@ DataLinkLoss::advance_dll()
_dll_state = DLL_STATE_FLYTOAIRFIELDHOMEWP;
_navigator->get_mission_result()->stay_in_failsafe = true;
_navigator->publish_mission_result();
+ reset_mission_item_reached();
break;
case DLL_STATE_FLYTOAIRFIELDHOMEWP:
_dll_state = DLL_STATE_TERMINATE;
@@ -215,6 +218,7 @@ DataLinkLoss::advance_dll()
mavlink_log_info(_navigator->get_mavlink_fd(), "#audio: no manual control, terminating");
_navigator->get_mission_result()->stay_in_failsafe = true;
_navigator->publish_mission_result();
+ reset_mission_item_reached();
break;
case DLL_STATE_TERMINATE:
warnx("dll end");