Browse Source

AP_Compass: zero some more variables in constructor and init

mission-4.1.18
Andrew Tridgell 10 years ago
parent
commit
7b51c907f5
  1. 6
      libraries/AP_Compass/AP_Compass_AK8963.cpp
  2. 3
      libraries/AP_Compass/AP_Compass_HIL.cpp
  3. 9
      libraries/AP_Compass/AP_Compass_HMC5843.cpp
  4. 8
      libraries/AP_Compass/AP_Compass_PX4.cpp

6
libraries/AP_Compass/AP_Compass_AK8963.cpp

@ -286,7 +286,11 @@ bool AP_Compass_AK8963_MPU9250::read_raw() @@ -286,7 +286,11 @@ bool AP_Compass_AK8963_MPU9250::read_raw()
AP_Compass_AK8963::AP_Compass_AK8963(Compass &compass) :
AP_Compass_Backend(compass),
_backend(NULL)
_backend(NULL),
_initialised(false),
_state(CONVERSION),
_last_update_timestamp(0),
_last_accum_time(0)
{
_initialised = false;
_mag_x_accum =_mag_y_accum = _mag_z_accum = 0;

3
libraries/AP_Compass/AP_Compass_HIL.cpp

@ -27,7 +27,8 @@ extern const AP_HAL::HAL& hal; @@ -27,7 +27,8 @@ extern const AP_HAL::HAL& hal;
// constructor
AP_Compass_HIL::AP_Compass_HIL(Compass &compass):
AP_Compass_Backend(compass)
AP_Compass_Backend(compass),
_compass_instance(0)
{
_compass._setup_earth_field();
}

9
libraries/AP_Compass/AP_Compass_HMC5843.cpp

@ -60,7 +60,16 @@ extern const AP_HAL::HAL& hal; @@ -60,7 +60,16 @@ extern const AP_HAL::HAL& hal;
// constructor
AP_Compass_HMC5843::AP_Compass_HMC5843(Compass &compass):
AP_Compass_Backend(compass),
_i2c_sem(NULL),
_mag_x(0),
_mag_y(0),
_mag_z(0),
_mag_x_accum(0),
_mag_y_accum(0),
_mag_z_accum(0),
_accum_count(0),
_last_accum_time(0),
_compass_instance(0),
_retry_time(0),
_product_id(0)
{}

8
libraries/AP_Compass/AP_Compass_PX4.cpp

@ -43,8 +43,10 @@ extern const AP_HAL::HAL& hal; @@ -43,8 +43,10 @@ extern const AP_HAL::HAL& hal;
// constructor
AP_Compass_PX4::AP_Compass_PX4(Compass &compass):
AP_Compass_Backend(compass)
{}
AP_Compass_Backend(compass),
_num_sensors(0)
{
}
// detect the sensor
AP_Compass_Backend *AP_Compass_PX4::detect(Compass &compass)
@ -91,7 +93,7 @@ bool AP_Compass_PX4::init(void) @@ -91,7 +93,7 @@ bool AP_Compass_PX4::init(void)
// remember if the compass is external
set_external(_instance[i], ioctl(_mag_fd[i], MAGIOCGEXTERNAL, 0) > 0);
_count[0] = 0;
_count[i] = 0;
_sum[i].zero();
}

Loading…
Cancel
Save