Skip to content

Driver for sensor ENS160 written in rust.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

teamplayer3/ens160

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Driver for sensor ENS160 written in rust.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages