Use the data which has been filtered by the integrator for the
instantanous values instead of only 1 out of 32 samples.
This is to better support estimators and modules other than ekf2 which
uses the integrated gyro/accel values anyway.
Instead of calculating time offsets between samples, it is easier just
to assume a constant sampling time. Then all samples can be integrated,
and published every forth time the FIFO buffer has been emptied.
The sampling in the sensor happens at 8kHz, the driver empties the
buffer at 1kHz, and publishes (and resets the integration) at 250 Hz.
- Make use of the FIFO time offsets provided by the MPU9250 driver.
It allows to use proper dt for the integration.
- Got rid of the unnecessary perf_counters for now.
- Properly use the changed integrator lib.
- Provide integral_dt for ekf2.
The timestamp in the DriverFramework is not the same as the one
provided by hrt_absolute_time() in PX4. Because we are publishing on the
PX4 side, let's also use the timestamp from there.
Instead of using a uORB topic with the calibration values published in
sensors and consumed by the DriverFramework driver wrappers, let's just
use the the params directly. This is quite a rough change and needs
definitely some cleanup and refactoring.
This adds uORB messages to publish calibration data by sensors which is
then consumed by the sensors. Currently this is only used on Snapdragon
and guarded by QURT ifdefs.