no_std rust driver for the Analog Devices ADIS1647 family of IMUs
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
readme.md |
adis1647x
no_std driver for the Analog Devices adis1647 family of IMUs. Currently only the adis16475 is supported
Usage
You need an embedded_hal_async spi driver and delay implementation
use adis1647x::*;
use adis1647x::delta::*;
async fn main() -> Result<(), SomeSpiError> {
let bus = some_spi();
let delay = some_delay();
let imu = ADIS1647X::new(bus, delay).await?;
let mut angle: DeltaAngle = Default::default();
loop {
data_ready_rising_edge().await;
let (delta_angle, _) = imu.deltas().await?;
angle += delta_angle;
println!("yaw: {} degrees", angle.angles().y);
}
}