Skip to content
forked from tstellanova/bmi088

Rust embedded hal driver for the Bosch Sensortec BMI088 6DOF IMU (accelerometer + gyroscope)

License

Notifications You must be signed in to change notification settings

bit-bots/bmi088

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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));
    }

About

Rust embedded hal driver for the Bosch Sensortec BMI088 6DOF IMU (accelerometer + gyroscope)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%