diff --git a/src/modules/events/temperature_calibration/accel.cpp b/src/modules/events/temperature_calibration/accel.cpp index 8740ba8f2a..e2f231370d 100644 --- a/src/modules/events/temperature_calibration/accel.cpp +++ b/src/modules/events/temperature_calibration/accel.cpp @@ -60,6 +60,13 @@ TemperatureCalibrationAccel::TemperatureCalibrationAccel(float min_temperature_r } } +TemperatureCalibrationAccel::~TemperatureCalibrationAccel() +{ + for (unsigned i = 0; i < _num_sensor_instances; i++) { + orb_unsubscribe(_sensor_subs[i]); + } +} + void TemperatureCalibrationAccel::reset_calibration() { /* reset all driver level calibrations */ diff --git a/src/modules/events/temperature_calibration/accel.h b/src/modules/events/temperature_calibration/accel.h index 3a1d8bf276..02e20ba934 100644 --- a/src/modules/events/temperature_calibration/accel.h +++ b/src/modules/events/temperature_calibration/accel.h @@ -40,7 +40,7 @@ class TemperatureCalibrationAccel : public TemperatureCalibrationBase { public: TemperatureCalibrationAccel(float min_temperature_rise); - virtual ~TemperatureCalibrationAccel() {} + virtual ~TemperatureCalibrationAccel(); /** * @see TemperatureCalibrationBase::update() diff --git a/src/modules/events/temperature_calibration/baro.cpp b/src/modules/events/temperature_calibration/baro.cpp index 85ae9ca642..170cb40065 100644 --- a/src/modules/events/temperature_calibration/baro.cpp +++ b/src/modules/events/temperature_calibration/baro.cpp @@ -60,6 +60,13 @@ TemperatureCalibrationBaro::TemperatureCalibrationBaro(float min_temperature_ris } } +TemperatureCalibrationBaro::~TemperatureCalibrationBaro() +{ + for (unsigned i = 0; i < _num_sensor_instances; i++) { + orb_unsubscribe(_sensor_subs[i]); + } +} + void TemperatureCalibrationBaro::reset_calibration() { //nothing to do diff --git a/src/modules/events/temperature_calibration/baro.h b/src/modules/events/temperature_calibration/baro.h index 1a84e4b2e7..48a03154ec 100644 --- a/src/modules/events/temperature_calibration/baro.h +++ b/src/modules/events/temperature_calibration/baro.h @@ -43,7 +43,7 @@ class TemperatureCalibrationBaro : public TemperatureCalibrationBase { public: TemperatureCalibrationBaro(float min_temperature_rise); - virtual ~TemperatureCalibrationBaro() {} + virtual ~TemperatureCalibrationBaro(); /** * @see TemperatureCalibrationBase::update()