Crates.io | tmp1x2 |
lib.rs | tmp1x2 |
version | 1.0.0 |
source | src |
created_at | 2018-10-27 12:15:44.453702 |
updated_at | 2024-02-08 08:49:16.653788 |
description | Platform-agnostic Rust driver for the TMP102 and TMP112 digital temperature sensors. |
homepage | https://github.com/eldruin/tmp1x2-rs |
repository | https://github.com/eldruin/tmp1x2-rs |
max_upload_size | |
id | 92878 |
size | 72,115 |
This is a platform agnostic Rust driver for the TMP102 and TMP112
high-accuracy, low-power, digital temperature sensors, using the
embedded-hal
traits.
This driver allows you to:
This driver is compatible with both the TMP102 device as well as the TMP112 family of devices, including TMP112A, TMP112B and TMP112N.
These temperature sensors are highly linear and do not require complex calculations or lookup tables to derive the temperature. The on-chip 12-bit ADC offers resolutions down to 0.0625°C.
The TMP102 device is a digital temperature sensor ideal for NTC/PTC thermistor replacement where high accuracy is required. The device offers an accuracy of +/-0.5°C without requiring calibration or external component signal conditioning.
The TMP112 family of devices are digital temperature sensors designed for high-accuracy, low-power, NTC/PTC thermistor replacements where high accuracy is required. The TMP112A and TMP112B offers 0.5°C accuracy and are optimized to provide the best PSR performance for 3.3V and 1.8V operation respectively, while TMP112N offers 1°C accuracy.
The devices feature SMBus(TM), two-wire and I2C interface compatibility, and allows up to four devices on one bus.
Datasheets:
Please find additional examples using hardware in this repository: driver-examples
use linux_embedded_hal::I2cdev;
use tmp1x2::{Tmp1x2, SlaveAddr};
fn main() {
let dev = I2cdev::new("/dev/i2c-1").unwrap();
let address = SlaveAddr::default();
let mut sensor = Tmp1x2::new(dev, address);
let temperature = sensor.read_temperature().unwrap();
println!("Temperature: {:.1}ºC", temperature);
}
For questions, issues, feature requests, and other changes, please file an issue in the github project.
Licensed under either of
at your option.
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.