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.
* Qflight: add intersil sensor driver
* df_isl_wrapper: change driver lib name to isl
* posix-config: add df_isl_wrapper start command to eagle startup
* isl_wrapper: cleanup isl wrapper
* isl: remove unused option -R
* isl: change the driver name to isl29501
* DriverFramework: updated submodule again
This is to get the latest `make fix-style` changes.
* df_isl29501_wrapper: rename wrapper all the way
There was the case where a param was changed on the Linux side but the
change did not get saved on the DSP side because the param was not in
the local list of changed params on the DSP side. On save, the param
index is now refreshed, and param_get is called on all params that have
changed. This is a hacky workaround but resolves the problem for now.
- 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.
This adds a call on startup of the muorb on the aDSP side to use an
offset for hrt_absolute_call(). This means that the hrt_absolute_call()
on the appsproc (Linux) side should now match the one on the aDSP
(QURT) side.
The accuracy still needs to be determined.
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.