diff --git a/src/modules/navigator/mission_base.h b/src/modules/navigator/mission_base.h index b8093ca01c..e4a125fe6f 100644 --- a/src/modules/navigator/mission_base.h +++ b/src/modules/navigator/mission_base.h @@ -483,7 +483,8 @@ private: mission_item_s _last_camera_trigger_item {}; mission_item_s _last_speed_change_item {}; - DEFINE_PARAMETERS( + DEFINE_PARAMETERS_CUSTOM_PARENT( + ModuleParams, (ParamFloat) _param_mis_dist_1wp, (ParamInt) _param_mis_mnt_yaw_ctl ) diff --git a/src/modules/navigator/rtl_mission_fast_reverse.cpp b/src/modules/navigator/rtl_mission_fast_reverse.cpp index 707219b1b3..b50d49e50a 100644 --- a/src/modules/navigator/rtl_mission_fast_reverse.cpp +++ b/src/modules/navigator/rtl_mission_fast_reverse.cpp @@ -269,6 +269,13 @@ void RtlMissionFastReverse::handleLanding(WorkItemType &new_work_item_type) _mission_item.altitude = _home_pos_sub.get().alt; _mission_item.altitude_is_relative = false; _navigator->reset_position_setpoint(pos_sp_triplet->previous); + + _mission_item.land_precision = _param_rtl_pld_md.get(); + + if (_mission_item.land_precision > 0) { + startPrecLand(_mission_item.land_precision); + new_work_item_type = WorkItemType::WORK_ITEM_TYPE_PRECISION_LAND; + } } } } diff --git a/src/modules/navigator/rtl_mission_fast_reverse.h b/src/modules/navigator/rtl_mission_fast_reverse.h index 9a30e6d70d..0351f8dbf8 100644 --- a/src/modules/navigator/rtl_mission_fast_reverse.h +++ b/src/modules/navigator/rtl_mission_fast_reverse.h @@ -74,4 +74,8 @@ private: bool _in_landing_phase{false}; uORB::SubscriptionData _home_pos_sub{ORB_ID(home_position)}; /**< home position subscription */ + DEFINE_PARAMETERS_CUSTOM_PARENT( + RtlBase, + (ParamInt) _param_rtl_pld_md + ) };