mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-02-23 16:23:56 -04:00
AP_InertialSensor: fixed temperature for fast sampling case
This commit is contained in:
parent
cb70bae167
commit
8da42b7a8b
@ -513,6 +513,7 @@ void AP_InertialSensor_MPU6000::_accumulate(uint8_t *samples, uint8_t n_samples)
|
|||||||
void AP_InertialSensor_MPU6000::_accumulate_fast_sampling(uint8_t *samples, uint8_t n_samples)
|
void AP_InertialSensor_MPU6000::_accumulate_fast_sampling(uint8_t *samples, uint8_t n_samples)
|
||||||
{
|
{
|
||||||
Vector3l asum, gsum;
|
Vector3l asum, gsum;
|
||||||
|
float tsum = 0;
|
||||||
|
|
||||||
for (uint8_t i = 0; i < n_samples; i++) {
|
for (uint8_t i = 0; i < n_samples; i++) {
|
||||||
uint8_t *data = samples + MPU6000_SAMPLE_SIZE * i;
|
uint8_t *data = samples + MPU6000_SAMPLE_SIZE * i;
|
||||||
@ -525,6 +526,7 @@ void AP_InertialSensor_MPU6000::_accumulate_fast_sampling(uint8_t *samples, uint
|
|||||||
|
|
||||||
float temp = int16_val(data, 3);
|
float temp = int16_val(data, 3);
|
||||||
temp = temp/340 + 36.53;
|
temp = temp/340 + 36.53;
|
||||||
|
tsum += temp;
|
||||||
_last_temp = temp;
|
_last_temp = temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -539,6 +541,8 @@ void AP_InertialSensor_MPU6000::_accumulate_fast_sampling(uint8_t *samples, uint
|
|||||||
|
|
||||||
_notify_new_accel_raw_sample(_accel_instance, accel, AP_HAL::micros64(), false);
|
_notify_new_accel_raw_sample(_accel_instance, accel, AP_HAL::micros64(), false);
|
||||||
_notify_new_gyro_raw_sample(_gyro_instance, gyro);
|
_notify_new_gyro_raw_sample(_gyro_instance, gyro);
|
||||||
|
|
||||||
|
_temp_filtered = _temp_filter.apply(tsum / n_samples);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -442,6 +442,7 @@ void AP_InertialSensor_MPU9250::_accumulate(uint8_t *samples, uint8_t n_samples)
|
|||||||
void AP_InertialSensor_MPU9250::_accumulate_fast_sampling(uint8_t *samples, uint8_t n_samples)
|
void AP_InertialSensor_MPU9250::_accumulate_fast_sampling(uint8_t *samples, uint8_t n_samples)
|
||||||
{
|
{
|
||||||
Vector3l asum, gsum;
|
Vector3l asum, gsum;
|
||||||
|
float tsum = 0;
|
||||||
|
|
||||||
for (uint8_t i = 0; i < n_samples; i++) {
|
for (uint8_t i = 0; i < n_samples; i++) {
|
||||||
uint8_t *data = samples + MPU9250_SAMPLE_SIZE * i;
|
uint8_t *data = samples + MPU9250_SAMPLE_SIZE * i;
|
||||||
@ -454,6 +455,7 @@ void AP_InertialSensor_MPU9250::_accumulate_fast_sampling(uint8_t *samples, uint
|
|||||||
|
|
||||||
float temp = int16_val(data, 3);
|
float temp = int16_val(data, 3);
|
||||||
temp = temp/340 + 36.53;
|
temp = temp/340 + 36.53;
|
||||||
|
tsum += temp;
|
||||||
_last_temp = temp;
|
_last_temp = temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -468,6 +470,8 @@ void AP_InertialSensor_MPU9250::_accumulate_fast_sampling(uint8_t *samples, uint
|
|||||||
|
|
||||||
_notify_new_accel_raw_sample(_accel_instance, accel, AP_HAL::micros64(), false);
|
_notify_new_accel_raw_sample(_accel_instance, accel, AP_HAL::micros64(), false);
|
||||||
_notify_new_gyro_raw_sample(_gyro_instance, gyro);
|
_notify_new_gyro_raw_sample(_gyro_instance, gyro);
|
||||||
|
|
||||||
|
_temp_filtered = _temp_filter.apply(tsum / n_samples);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user