From d4e60cb1dc355979a3ae4a3d65980b05da686ed9 Mon Sep 17 00:00:00 2001 From: Anil Kircaliali Date: Mon, 30 Mar 2026 10:33:46 -0700 Subject: [PATCH] feat(navigator): support MAV_FRAME_GLOBAL_INT and MAV_FRAME_GLOBAL_RELATIVE_ALT_INT for RTL safe points (#26901) * navigator: support MAV_FRAME_GLOBAL_INT and MAV_FRAME_GLOBAL_RELATIVE_ALT_INT for RTL safe points * Fix descriptive comment * refactor(rtl): consolidate frame cases that are duplicate --------- Co-authored-by: Matthias Grob --- src/modules/navigator/rtl.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/navigator/rtl.cpp b/src/modules/navigator/rtl.cpp index 1a2597d877..6b80ed9b60 100644 --- a/src/modules/navigator/rtl.cpp +++ b/src/modules/navigator/rtl.cpp @@ -558,12 +558,14 @@ void RTL::setSafepointAsDestination(PositionYawSetpoint &rtl_position, const mis // TODO: handle all possible mission_safe_point.frame cases switch (mission_safe_point.frame) { case 0: // MAV_FRAME_GLOBAL + case 5: // MAV_FRAME_GLOBAL_INT rtl_position.lat = mission_safe_point.lat; rtl_position.lon = mission_safe_point.lon; - rtl_position.alt = mission_safe_point.altitude; + rtl_position.alt = mission_safe_point.altitude; // alt of safe point is relative to MSL break; case 3: // MAV_FRAME_GLOBAL_RELATIVE_ALT + case 6: // MAV_FRAME_GLOBAL_RELATIVE_ALT_INT rtl_position.lat = mission_safe_point.lat; rtl_position.lon = mission_safe_point.lon; rtl_position.alt = mission_safe_point.altitude + _home_pos_sub.get().alt; // alt of safe point is rel to home