Skip to content

Latest commit

 

History

History
65 lines (46 loc) · 2.15 KB

README.md

File metadata and controls

65 lines (46 loc) · 2.15 KB

Rust HDC1080 Temperature and Humidity Sensor

crates.io Docs Build Status Coverage Status Maintenance Intention

This is based on LM75 work of Diego Barrios Romero

This is a platform agnostic Rust driver for the HDC1080 temperature and humidity sensor, based on the I2CDevice traits.

This driver allows you to:

  • Enable/disable the device.
  • Read the temperature.

The device

The HDC1080 temperature sensor includes a delta-sigma analog-to-digital converter, and a digital overtemperature detector. The host can query the HDC1080 through its I2C interface to read temperature at any time.

Datasheet:

Usage

extern crate i2cdev;
extern crate hdc1080;

use hal::I2cdev;
use hdc1080::{ Hdc1080, SlaveAddr };

const HDC1080_SLAVE_ADDR: u16 = 0x40;

fn main() {
    let dev = LinuxI2CDevice::new("/dev/i2c-0", HDC1080_SLAVE_ADDR).unwrap();
    let mut sensor = Hdc1080::new(dev);

    sensor.read_temperature_start().unwrap();
    thread::sleep(time::Duration::from_millis(500u64));
    let temp_celsius = sensor.read_temperature_finish().unwrap();
    println!("Temperature: {}ºC", temp_celsius);
}

License

Licensed under either of

Contributing

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.