diff --git a/src/modules/navigator/rtl.cpp b/src/modules/navigator/rtl.cpp index b5119dbf6b..e1a2080d12 100644 --- a/src/modules/navigator/rtl.cpp +++ b/src/modules/navigator/rtl.cpp @@ -357,15 +357,14 @@ void RTL::setRtlTypeAndDestination() } // Publish rtl status - _rtl_status_pub.get().timestamp = hrt_absolute_time(); - _rtl_status_pub.get().safe_points_id = _safe_points_id; - _rtl_status_pub.get().is_evaluation_pending = _dataman_state != DatamanState::UpdateRequestWait; - _rtl_status_pub.get().has_vtol_approach = _home_has_land_approach || _one_rally_point_has_land_approach; - - _rtl_status_pub.get().rtl_type = static_cast(_rtl_type); - _rtl_status_pub.get().safe_point_index = safe_point_index; - - _rtl_status_pub.update(); + rtl_status_s rtl_status{}; + rtl_status.safe_points_id = _safe_points_id; + rtl_status.is_evaluation_pending = _dataman_state != DatamanState::UpdateRequestWait; + rtl_status.has_vtol_approach = _home_has_land_approach || _one_rally_point_has_land_approach; + rtl_status.rtl_type = static_cast(_rtl_type); + rtl_status.safe_point_index = safe_point_index; + rtl_status.timestamp = hrt_absolute_time(); + _rtl_status_pub.publish(rtl_status); } diff --git a/src/modules/navigator/rtl.h b/src/modules/navigator/rtl.h index ba07cfaeb6..1ba955e53d 100644 --- a/src/modules/navigator/rtl.h +++ b/src/modules/navigator/rtl.h @@ -257,5 +257,5 @@ private: uORB::SubscriptionMultiArray _telemetry_status_subs{ORB_ID::telemetry_status}; uORB::Publication _rtl_time_estimate_pub{ORB_ID(rtl_time_estimate)}; - uORB::PublicationData _rtl_status_pub{ORB_ID(rtl_status)}; + uORB::Publication _rtl_status_pub{ORB_ID(rtl_status)}; };