Crates.io | bmi088 |
lib.rs | bmi088 |
version | 0.1.0 |
source | src |
created_at | 2020-03-20 18:07:56.546997 |
updated_at | 2020-03-20 18:07:56.546997 |
description | BMI088 6DOF IMU driver for embedded hal |
homepage | |
repository | https://github.com/tstellanova/bmi088 |
max_upload_size | |
id | 220754 |
size | 19,059 |
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.
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
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));
}