#embedded-hal-driver #magnetometer #async #hmc5883

无需std hmc5883-async

HMC5883磁力计异步驱动程序,适用于嵌入式hal

1个不稳定版本

0.1.3 2022年7月21日

#19 in #magnetometer

BSD-3-Clause

12KB
198

HMC5883异步驱动程序

一个用于霍尼韦尔HMC5883的Rust嵌入式-hal驱动程序。从Todd Stellanova的原始工作分支出来,并实现异步。

HMC5883只支持单一接口(I2C)。

示例

您可以通过I2C连接到HMC5883

    use hmc5883_async::*;
    let mut hmc = HMC5883::new(i2c);

    hmc.init(&mut Delay).await.expect("init failed");

    loop {
        if let Ok(temp) = hmc.get_temperature().await {
            info!("Temperature: {:?}", temp);
        }
        match hmc.get_mag_vector().await {
            Ok(mag) => info!("Magnitude vector: {:?}", mag),
            Err(E) => info!("Printing Error {}", E),
        }

        Timer::after(Duration::from_secs(3)).await;
    }

运行示例

$ cd examples
$ cargo rb compass

依赖关系

~0.6–1.2MB
~26K SLoC