Skip to content

Commit

Permalink
PX4Accelerometer/PX4Gyroscope: fix calibration offset for integrated …
Browse files Browse the repository at this point in the history
…FIFO case
  • Loading branch information
dagar committed Apr 26, 2020
1 parent 37d5d1b commit 120c5e7
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
6 changes: 3 additions & 3 deletions src/lib/drivers/accelerometer/PX4Accelerometer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -268,11 +268,11 @@ void PX4Accelerometer::updateFIFO(const FIFOSample &sample)
// Apply rotation (before scaling)
rotate_3f(_rotation, _integration_raw(0), _integration_raw(1), _integration_raw(2));

// integrated in microseconds, convert to seconds
const Vector3f delta_velocity_uncalibrated{_integration_raw * 1e-6f * dt * _scale};
// scale calibration offset to number of samples
const Vector3f offset{_calibration_offset * _integrator_fifo_samples};

// Apply calibration and scale to seconds
const Vector3f delta_velocity{(delta_velocity_uncalibrated - _calibration_offset).emult(_calibration_scale)};
const Vector3f delta_velocity{((_integration_raw * _scale) - offset).emult(_calibration_scale) * 1e-6f * dt};

// fill sensor_accel_integrated and publish
sensor_accel_integrated_s report;
Expand Down
6 changes: 3 additions & 3 deletions src/lib/drivers/gyroscope/PX4Gyroscope.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -270,11 +270,11 @@ void PX4Gyroscope::updateFIFO(const FIFOSample &sample)
// Apply rotation (before scaling)
rotate_3f(_rotation, _integration_raw(0), _integration_raw(1), _integration_raw(2));

// integrated in microseconds, convert to seconds
const Vector3f delta_angle_uncalibrated{_integration_raw * 1e-6f * dt * _scale};
// scale calibration offset to number of samples
const Vector3f offset{_calibration_offset * _integrator_fifo_samples};

// Apply calibration and scale to seconds
const Vector3f delta_angle{delta_angle_uncalibrated - _calibration_offset};
const Vector3f delta_angle{((_integration_raw * _scale) - offset) * 1e-6f * dt};

// fill sensor_gyro_integrated and publish
sensor_gyro_integrated_s report;
Expand Down

0 comments on commit 120c5e7

Please sign in to comment.