2 releases

0.1.1 Jul 25, 2023
0.1.0 Jul 24, 2023

#1885 in Hardware support


Used in aimu

MIT/Apache

65KB
821 lines

BMI270的Rust库 Rust BMI270 6-Aixs IMU

这是一个关于IMU BMI270的Rust库。

目标是提供有关BMI270的简单配置以及获取加速度计和陀螺仪数据的数据。

Example

use bmi270::*;
use linux_embedded_hal::spidev::{SpiModeFlags, SpidevOptions};

pub fn main() {
    let spi_conf = SpidevOptions::new()
        .bits_per_word(8)
        .max_speed_hz(10_000_000)
        .mode(SpiModeFlags::SPI_MODE_0)
        .build();
    let mut spi = Spidev::open("/dev/spidev0.0").unwrap();
    spi.configure(&spi_conf).unwrap();
    
    let imu_conf = Bmi270Config::new()
        .acc(
            Bmi270AccOdr::Odr200Hz,
            Bmi270AccBwp::NormAvg4,
            Bmi270AccRange::Range8g,
        )
        .gyr(
            Bmi270GyrOdr::Odr200Hz,
            Bmi270GyrBwp::Norm,
            Bmi270GyrRange::Range2000Dps,
        );
    let mut imu = Bmi270::new(spi, imu_conf);
    loop {
        println!("{:?}", imu.acc_gyr());
    }
}

TODO

  • 基于embedded-hal库的SPI接口
  • 基于embedded-hal库的IIC接口
  • 基于linux-embedded-hal库的SPI接口
  • 基于linux-embedded-hal库的IIC接口

Dependencies

~2MB
~44K SLoC