From 5c9fac58c8e02b4162f2abe00b5d36cc3721a70e Mon Sep 17 00:00:00 2001 From: Silvan Fuhrer Date: Wed, 15 Jul 2020 15:53:17 +0200 Subject: [PATCH] Mission: do not autocontinue if in multicopter mode and next wp has a hold time Signed-off-by: Silvan Fuhrer --- src/modules/navigator/mission.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/modules/navigator/mission.cpp b/src/modules/navigator/mission.cpp index 812c111428..d563644e3e 100644 --- a/src/modules/navigator/mission.cpp +++ b/src/modules/navigator/mission.cpp @@ -1165,7 +1165,11 @@ Mission::set_mission_items() } } else { - if (_mission_item.autocontinue && get_time_inside(_mission_item) < FLT_EPSILON) { + /* allow the vehicle to decelerate before reaching a wp with a hold time */ + const bool brake_for_hold = _navigator->get_vstatus()->vehicle_type == vehicle_status_s::VEHICLE_TYPE_ROTARY_WING + && get_time_inside(_mission_item) > FLT_EPSILON; + + if (_mission_item.autocontinue && !brake_for_hold) { /* try to process next mission item */ if (has_next_position_item) { /* got next mission item, update setpoint triplet */