use a single float return rather than two APIs.
This also changes the MPU6k driver to match the new 2.9 behaviour of
using the MPU6k sample timing instead of micros()
this lets the caller not need to know the underlying sample rate. They
just ask for what rate updates happen.
This also changes the MPU6k filtering to be less than half the sample
rate
sanity checking added to accelerometer calibration routine.
user feedback is sent using gcs_send_text_fmt instead of Serial.printf.
moved ins parameters to new eeprom number to avoid conflicts with older parameters.
other small changes including renaming of functions and parameters.
This reduces the delay between when data arrives and when it is used
by up to 1ms.
Added num_samples_available method to all InertialSensors to allow
main loop timing to be synced with sensors.
this abstracts the way of getting inertial sensor (gyro and
accelerometer) data for the APM1 and purple hardware. The Oilpan code
is based closely on the old APM1 code