Skip to content

Latest commit

 

History

History
49 lines (37 loc) · 1.76 KB

README.md

File metadata and controls

49 lines (37 loc) · 1.76 KB

bosch_bme680   crates.io

A pure rust driver for the Bosch BME680 environmental sensor that focuses on ease of use.

Additional information

Simple example

Mock i2c and delay have to be replaced with specific hardware crates.

fn main() -> ! {
    let i2c = mock::blocking_i2c();
    let delay = mock::MockDelay;

    let config = bosch_bme680::Configuration::default();
    let mut bme = Bme680::new(i2c, DeviceAddress::Primary, delay, &config, 20).unwrap();
    thread::sleep(Duration::from_millis(100));

    loop {
        thread::sleep(Duration::from_secs(2));
        let values = bme.measure().unwrap();
        println!("Values: {values:?}\n");
    }
}

This crate has optional support for embedded-hal-async, which provides asynchronous versions of the embedded-hal traits. To avoid an unnecessary dependency on embedded-hal-async for projects which do not require it, the embedded-hal-async support is an optional feature.

In order to use the embedded-hal-async driver, add the following to your Cargo.toml:

[dependencies]
bosch-bme680 = { version = "1.0.3", features = ["embedded-hal-async"] }

Then, construct an instance of the AsyncBme680 struct using the embedded_hal_async I2c and Delay traits.