diff --git a/src/lib/mixer_module/mixer_module.cpp b/src/lib/mixer_module/mixer_module.cpp index 8b2cdf3bd0..f3523092a4 100644 --- a/src/lib/mixer_module/mixer_module.cpp +++ b/src/lib/mixer_module/mixer_module.cpp @@ -126,8 +126,8 @@ bool MixingOutput::updateSubscriptions(bool allow_wq_switch) if (_scheduling_policy == SchedulingPolicy::Auto) { // first clear everything - _interface.ScheduleClear(); unregister(); + _interface.ScheduleClear(); // if subscribed to control group 0 or 1 then move to the rate_ctrl WQ const bool sub_group_0 = (_groups_required & (1 << 0)); diff --git a/src/modules/sensors/vehicle_acceleration/VehicleAcceleration.cpp b/src/modules/sensors/vehicle_acceleration/VehicleAcceleration.cpp index 3911823944..389783f5c3 100644 --- a/src/modules/sensors/vehicle_acceleration/VehicleAcceleration.cpp +++ b/src/modules/sensors/vehicle_acceleration/VehicleAcceleration.cpp @@ -71,14 +71,14 @@ bool VehicleAcceleration::Start() void VehicleAcceleration::Stop() { - Deinit(); - // clear all registered callbacks for (auto &sub : _sensor_sub) { sub.unregisterCallback(); } _sensor_selection_sub.unregisterCallback(); + + Deinit(); } void VehicleAcceleration::CheckFilters() diff --git a/src/modules/sensors/vehicle_angular_velocity/VehicleAngularVelocity.cpp b/src/modules/sensors/vehicle_angular_velocity/VehicleAngularVelocity.cpp index f84cf6d8b6..d3ab17aedb 100644 --- a/src/modules/sensors/vehicle_angular_velocity/VehicleAngularVelocity.cpp +++ b/src/modules/sensors/vehicle_angular_velocity/VehicleAngularVelocity.cpp @@ -74,14 +74,14 @@ bool VehicleAngularVelocity::Start() void VehicleAngularVelocity::Stop() { - Deinit(); - // clear all registered callbacks for (auto &sub : _sensor_sub) { sub.unregisterCallback(); } _sensor_selection_sub.unregisterCallback(); + + Deinit(); } void VehicleAngularVelocity::CheckFilters() diff --git a/src/modules/sensors/vehicle_imu/VehicleIMU.cpp b/src/modules/sensors/vehicle_imu/VehicleIMU.cpp index ddad06390f..983896d1fe 100644 --- a/src/modules/sensors/vehicle_imu/VehicleIMU.cpp +++ b/src/modules/sensors/vehicle_imu/VehicleIMU.cpp @@ -66,11 +66,11 @@ bool VehicleIMU::Start() void VehicleIMU::Stop() { - Deinit(); - // clear all registered callbacks _sensor_accel_integrated_sub.unregisterCallback(); _sensor_gyro_integrated_sub.unregisterCallback(); + + Deinit(); } void VehicleIMU::ParametersUpdate(bool force)