diff --git a/src/modules/mavlink/mavlink_parameters.cpp b/src/modules/mavlink/mavlink_parameters.cpp index 99f887a5b9..d6b7ef090c 100644 --- a/src/modules/mavlink/mavlink_parameters.cpp +++ b/src/modules/mavlink/mavlink_parameters.cpp @@ -57,6 +57,15 @@ MavlinkParametersManager::MavlinkParametersManager(Mavlink *mavlink) : MavlinkSt _uavcan_parameter_value_sub(-1) { } +MavlinkParametersManager::~MavlinkParametersManager() +{ + if (_uavcan_parameter_value_sub >= 0) { + orb_unsubscribe(_uavcan_parameter_value_sub); + } + if (_uavcan_parameter_request_pub) { + orb_unadvertise(_uavcan_parameter_request_pub); + } +} unsigned MavlinkParametersManager::get_size() diff --git a/src/modules/mavlink/mavlink_parameters.h b/src/modules/mavlink/mavlink_parameters.h index 1dcd073203..d0a14d1cd8 100644 --- a/src/modules/mavlink/mavlink_parameters.h +++ b/src/modules/mavlink/mavlink_parameters.h @@ -84,6 +84,7 @@ private: protected: explicit MavlinkParametersManager(Mavlink *mavlink); + ~MavlinkParametersManager(); void send(const hrt_abstime t);