- mag enabled with -M when starting
- always check FIFO count before transfer
- interupt pin set active low and latch
- relax retry timeout if configure failed
- improve configured empty rate (sample rate) rounding
- fix RegisterCheck
- check FIFO count as part of full transfer and reset or adjust timing if necessary
- rename DRV_MAG_DEVTYPE_MPU9250 -> DRV_MAG_DEVTYPE_AK8963
- always check FIFO count before transfer even with data ready
- interupt pin set active low and latch
- relax retry timeout if configure failed
- improve configured empty rate (sample rate) rounding
- check FIFO count as part of full transfer and reset or adjust timing if necessary
- change default FIFO empty rate to 1 kHz (consistent with other drivers)
- relax retry timeout if configure failed
- improve configured empty rate (sample rate) rounding
- check interupt status and FIFO count as part of full transfer and reset or adjust timing if necessary
- change default FIFO empty rate to 1 kHz (consistent with other drivers)
- relax retry timeout if configure failed
- improve configured empty rate (sample rate) rounding
- check interupt status and FIFO count as part of full transfer and reset or adjust timing if necessary
- interupt pin set active low and latch
- relax retry timeout if configure failed
- improve configured empty rate (sample rate) rounding
- fix RegisterCheck
- check FIFO count as part of full transfer and reset or adjust timing if necessary
- interupt pin set active low and latch
- relax retry timeout if configure failed
- improve configured empty rate (sample rate) rounding
- fix RegisterCheck
- check FIFO count as part of full transfer and reset or adjust timing if necessary
- rename DRV_IMU_DEVTYPE_ICM20608 -> DRV_IMU_DEVTYPE_ICM20608G
- update to NuttX with stm32f4 and stm32f7 SPI DMA internal buffers
- remove explicit DMA buffer allocations from new IMU drivers
- restore original BOARD_DMA_ALLOC_POOL_SIZE
- decrease SPI DMA thresholds based on fmu-v2/v3/v4/v5 bench testing
This is another new InvenSense sensor with max output data rate of 32 kHz (both accel & gyro), on board anti-aliasing filter, and accel range 32G. Overall quite similar to the ICM-42688-P added in #14420, but with doubled accel range and without the optional high resolution output or clock sync.
This is a new InvenSense sensor with max output data rate of 32 kHz (both accel & gyro), on board anti-aliasing filter, optional higher resolution output (18 bit accel, 19 bit gyro), and clock sync.
This avoids the need for recalibration, and also cleans up other driver
ID's (merge separate accel/gyro).
The SPI address was previously set to a board-specific (arbitrary) value,
and is now set to 0. This will allow extending for multiple sensors of the
same type on the same bus.
Chip-select and SPI initialization uses the new config, whereas the drivers
still use the existing defines.
The configuration in board_config.h can be removed after all drivers are
updated.
- refactor Run() into simple state machine
- perform reset and configuration in sensor bus thread
- when using data ready interrupt skip checking FIFO count
- fix periodic temperature sampling (rate limit to 1 Hz)
- refactor Run() into simple state machine
- perform reset and configuration in sensor bus thread
- when using data ready interrupt skip checking FIFO count
- fix periodic temperature sampling (rate limit to 1 Hz)
- refactor Run() into simple state machine
- perform reset and configuration in sensor bus thread
- when using data ready interrupt skip checking FIFO count
- fix periodic temperature sampling (rate limit to 1 Hz)
- refactor Run() into simple state machine
- perform reset and configuration in sensor bus thread
- when using data ready interrupt skip checking FIFO count
- checked register mechanism and simple watchdog
- driver checks for errors gradually and can reconfigure itself
- respect IMU_GYRO_RATEMAX at the driver level
- fixed sensor INT16_MIN and INT16_MAX handling (y & z axis are flipped before publishing)
- checked register mechanism and simple watchdog
- driver checks for errors gradually and can reconfigure itself
- respect IMU_GYRO_RATEMAX at the driver level
- fixed sensor INT16_MIN and INT16_MAX handling (y & z axis are flipped before publishing)