diff --git a/src/modules/simulator/simulator.h b/src/modules/simulator/simulator.h index a2160e301d8597dd80bc811fd2cf807792cbb230..63d0139c8f4099fae52a2b6f8882540dc586ac78 100644 --- a/src/modules/simulator/simulator.h +++ b/src/modules/simulator/simulator.h @@ -255,9 +255,18 @@ private: ~Simulator() { - if (_instance != nullptr) { - delete _instance; - } + // Unsubscribe from uORB topics. + orb_unsubscribe(_param_sub); + + // free perf counters + perf_free(_perf_accel); + perf_free(_perf_airspeed); + perf_free(_perf_baro); + perf_free(_perf_gps); + perf_free(_perf_mag); + perf_free(_perf_mpu); + perf_free(_perf_sim_delay); + perf_free(_perf_sim_interval); _instance = NULL; } @@ -358,8 +367,8 @@ private: // uORB data containers input_rc_s _rc_input {}; - vehicle_attitude_s _attitude {}; manual_control_setpoint_s _manual {}; + vehicle_attitude_s _attitude {}; vehicle_status_s _vehicle_status {}; DEFINE_PARAMETERS(