| Crates.io | ens160 |
| lib.rs | ens160 |
| version | 0.6.1 |
| created_at | 2022-09-28 10:27:23.762326+00 |
| updated_at | 2024-02-03 10:39:18.730294+00 |
| description | ENS160 driver implementation |
| homepage | |
| repository | https://github.com/teamplayer3/ens160.git |
| max_upload_size | |
| id | 675595 |
| size | 32,997 |
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.
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
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