From 256c68895a9f29ed2e8d37ab13187e75376437d1 Mon Sep 17 00:00:00 2001 From: alexklimaj Date: Tue, 23 May 2023 15:14:46 -0600 Subject: [PATCH] Mavlink receiver unadvertise all uorb multi pubs in destructor --- src/modules/mavlink/mavlink_receiver.cpp | 10 ++++++++++ src/modules/mavlink/mavlink_receiver.h | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/modules/mavlink/mavlink_receiver.cpp b/src/modules/mavlink/mavlink_receiver.cpp index a03ecd929f31..26103f656aea 100644 --- a/src/modules/mavlink/mavlink_receiver.cpp +++ b/src/modules/mavlink/mavlink_receiver.cpp @@ -78,6 +78,16 @@ MavlinkReceiver::~MavlinkReceiver() #if !defined(CONSTRAINED_FLASH) delete[] _received_msg_stats; #endif // !CONSTRAINED_FLASH + + _distance_sensor_pub.unadvertise(); + _gps_inject_data_pub.unadvertise(); + _rc_pub.unadvertise(); + _manual_control_input_pub.unadvertise(); + _ping_pub.unadvertise(); + _radio_status_pub.unadvertise(); + _sensor_baro_pub.unadvertise(); + _sensor_gps_pub.unadvertise(); + _sensor_optical_flow_pub.unadvertise(); } static constexpr vehicle_odometry_s vehicle_odometry_empty { diff --git a/src/modules/mavlink/mavlink_receiver.h b/src/modules/mavlink/mavlink_receiver.h index 77980f215aac..7939e813ae8a 100644 --- a/src/modules/mavlink/mavlink_receiver.h +++ b/src/modules/mavlink/mavlink_receiver.h @@ -335,7 +335,7 @@ class MavlinkReceiver : public ModuleParams uORB::PublicationMulti _radio_status_pub{ORB_ID(radio_status)}; uORB::PublicationMulti _sensor_baro_pub{ORB_ID(sensor_baro)}; uORB::PublicationMulti _sensor_gps_pub{ORB_ID(sensor_gps)}; - uORB::PublicationMulti _sensor_optical_flow_pub{ORB_ID(sensor_optical_flow)}; + uORB::PublicationMulti _sensor_optical_flow_pub{ORB_ID(sensor_optical_flow)}; // ORB publications (queue length > 1) uORB::Publication _transponder_report_pub{ORB_ID(transponder_report)};