From 120f188adabae13f8d7b00a8fbd5c2db7f01f046 Mon Sep 17 00:00:00 2001 From: RomanBapst Date: Fri, 19 Jun 2020 14:15:42 +0300 Subject: [PATCH] rtl: do not use cone logic for vehicle flying as fixed wing Signed-off-by: RomanBapst --- src/modules/navigator/rtl.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/modules/navigator/rtl.cpp b/src/modules/navigator/rtl.cpp index 082a84beee..77d6062eb2 100644 --- a/src/modules/navigator/rtl.cpp +++ b/src/modules/navigator/rtl.cpp @@ -202,7 +202,12 @@ void RTL::on_activation() const vehicle_global_position_s &global_position = *_navigator->get_global_position(); - _rtl_alt = calculate_return_alt_from_cone_half_angle((float)_param_rtl_cone_half_angle_deg.get()); + if (_navigator->get_vstatus()->vehicle_type == vehicle_status_s::VEHICLE_TYPE_ROTARY_WING) { + _rtl_alt = calculate_return_alt_from_cone_half_angle((float)_param_rtl_cone_half_angle_deg.get()); + + } else { + _rtl_alt = math::max(global_position.alt, _destination.alt + _param_rtl_return_alt.get()); + } if (_navigator->get_land_detected()->landed) { // For safety reasons don't go into RTL if landed.