ens160

Crates.ioens160
lib.rsens160
version0.6.1
sourcesrc
created_at2022-09-28 10:27:23.762326
updated_at2024-02-03 10:39:18.730294
descriptionENS160 driver implementation
homepage
repositoryhttps://github.com/teamplayer3/ens160.git
max_upload_size
id675595
size32,997
Alexander Hübener (teamplayer3)

documentation

README

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.

Usage

To use this crate in a no-std environment, add it to your Cargo.toml as follows:

[dependencies.ens160]
version = "0.6"
default-features = false

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 air_quality_index = AirQualityIndex::try_from(eco2).unwrap();
            // directly
            let air_quality_index = device.air_quality_index().unwrap();
        }
    }
}

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

cargo fmt