ens160 0.4.0

ENS160 driver implementation
Documentation

ENS160 driver

Build Status License Crates.io Documentation

Implementation of an ENS160 sensor driver written in rust. This sensor can measure TVOC and ECO2. Implementation is inspired by the driver implementation by dfrobots written in python.

For more information about the sensor here.

Example

let i2c = ...; // I2C bus to use

let mut device = Ens160::new(i2c);
device.reset().unwrap();
sleep(250)
device.operational().unwrap();
sleep(50)

loop {
    if let Ok(status) = device.status() {
        if status.data_is_ready() {
            let tvoc = device.tvoc().unwrap();
            let eco2 = device.eco2().unwrap();
            // from eCO2
            let airquality_index = AirqualityIndex::try_from(eco2).unwrap();
            // directly
            let airquality_index = device.airquality_index().unwrap();
        }
    }
}

let i2c = device.release(); // destruct driver to use bus with other drivers