diff --git a/libraries/AP_Baro/AP_Baro.cpp b/libraries/AP_Baro/AP_Baro.cpp index 22fa5e055d..1dd8672d55 100644 --- a/libraries/AP_Baro/AP_Baro.cpp +++ b/libraries/AP_Baro/AP_Baro.cpp @@ -80,7 +80,15 @@ const AP_Param::GroupInfo AP_Baro::var_info[] = { /* AP_Baro constructor */ -AP_Baro::AP_Baro() +AP_Baro::AP_Baro() : + _num_drivers(0), + _num_sensors(0), + _primary(0), + _last_altitude_EAS2TAS(0.0f), + _EAS2TAS(0.0f), + _external_temperature(0.0f), + _last_external_temperature_ms(0), + _hil_mode(false) { memset(sensors, 0, sizeof(sensors)); diff --git a/libraries/AP_Baro/AP_Baro.h b/libraries/AP_Baro/AP_Baro.h index 61dcf7c507..57eb6e6a4d 100644 --- a/libraries/AP_Baro/AP_Baro.h +++ b/libraries/AP_Baro/AP_Baro.h @@ -138,14 +138,14 @@ public: private: // how many drivers do we have? - uint8_t _num_drivers = 0; + uint8_t _num_drivers; AP_Baro_Backend *drivers[BARO_MAX_DRIVERS]; // how many sensors do we have? - uint8_t _num_sensors = 0; + uint8_t _num_sensors; // what is the primary sensor at the moment? - uint8_t _primary = 0; + uint8_t _primary; struct sensor { uint32_t last_update_ms; // last update time in ms @@ -160,17 +160,17 @@ private: } sensors[BARO_MAX_INSTANCES]; AP_Float _alt_offset; - float _alt_offset_active = 0; + float _alt_offset_active; AP_Int8 _primary_baro; // primary chosen by user - float _last_altitude_EAS2TAS = 0; - float _EAS2TAS = 0; - float _external_temperature = 0; - uint32_t _last_external_temperature_ms = 0; + float _last_altitude_EAS2TAS; + float _EAS2TAS; + float _external_temperature; + uint32_t _last_external_temperature_ms; DerivativeFilterFloat_Size7 _climb_rate_filter; - bool _hil_mode = false; + bool _hil_mode:1; // when did we last notify the GCS of new pressure reference? - uint32_t _last_notify_ms = 0; + uint32_t _last_notify_ms; void SimpleAtmosphere(const float alt, float &sigma, float &delta, float &theta); };