3个版本
使用旧Rust 2015
0.1.2 | 2017年8月29日 |
---|---|
0.1.1 | 2016年12月28日 |
0.1.0 | 2016年10月3日 |
#1578 in 硬件支持
22KB
376 行
BMP085 温度 & 气压传感器驱动程序 for Rust
用法
将bmp085驱动程序添加到您的 Cargo.toml
。使用通用接口还需要 i2cdev
[dependencies]
bmp085 = "0.1.1"
i2cdev = "*"
之后,您可以使用传感器
extern crate bmp085;
extern crate i2cdev;
use bmp085::*;
use i2cdev::linux::*;
use i2cdev::sensors::{Barometer, Thermometer};
use std::thread;
use std::time::Duration;
fn main() {
let i2c_dev = LinuxI2CDevice::new("/dev/i2c-1", BMP085_I2C_ADDR).unwrap();
let mut s = BMP085BarometerThermometer::new(i2c_dev, SamplingMode::Standard).unwrap();
loop {
println!("Temperature: {:?} C",
s.temperature_celsius().unwrap());
println!("Pressure: {:?} kPa", s.pressure_kpa().unwrap());
thread::sleep(Duration::from_millis(1000));
}
}
使用 cargo build
来构建程序,用 sudo target/debug/myprog
运行。
对于设备访问,通常需要root权限。
测试
在任何兼容的设备/操作系统上运行 cargo tests
,您应该看到以下输出
running 6 tests
test tests::test_basic_temp_read ... ok
test tests::test_max_temp_read ... ok
test tests::test_basic_pressure_read ... ok
test tests::test_zero_temp_read ... ok
test tests::test_zero_pressure_read ... ok
test tests::test_rand_temp_read ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured
Doc-tests bmp085
running 1 test
test BMP085BarometerThermometer<T>::new_0 ... ignored
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured
资源
许可证
许可协议:Apache 2.0,(c) 2016 Claus Matzinger
依赖项
~2–3.5MB
~59K SLoC