1 unstable release
0.1.0 | Mar 20, 2020 |
---|
#991 in Embedded development
18KB
338 lines
bmi088
A rust embedded-hal driver for the Bosch Sensortec BMI088 6DOF integrated accelerometer and gyroscope (IMU).
The BMI088 combines the functionality of two inertial sensors into one device: a triaxial 16-bit gyroscope and a triaxial 16-bit accelerometer.
Status
- Basic SPI support
- Support for probe (check product identifier)
- Split into separate gyro and accel interfaces (separate eg CSN lines)
- blocking read of gyro data
- blocking read of accel data
- configure FIFO
- Support for data ready (DRDY) pins
- Support for interrupt pins
- Support for DMA with SPI
- Basic I2C support
- Tests with mock embedded hal
- Usage example with
cortex-m
hal - Doc comments
- CI
- Support for user recalibration
Possible Example
Likely to change:
let mut bmi088_a = bmi088::Builder::new_accel_spi(spi_bus1.acquire(), spi1_cs_bmi088_accel);
bmi088_a.setup(&mut delay_source).unwrap();
let mut bmi088_g = bmi088::Builder::new_gyro_spi(spi_bus1.acquire(), spi1_cs_bmi088_gyro);
if bmi088_g.setup(&mut delay_source);
if let Ok(gyro_sample) = bmi088_g.get_gyro() {
hprintln!("bmi088_g: {:?}", gyro_sample));
}
if let Ok(accel_sample) = bmi088_a.get_accel() {
hprintln!("bmi088_a: {:?}", accel_sample));
}
Dependencies
~71KB