Initial version with support for bmp280 and si7021
This commit is contained in:
32
src/main.rs
Normal file
32
src/main.rs
Normal file
@ -0,0 +1,32 @@
|
||||
extern crate i2cdev;
|
||||
extern crate i2cdev_bmp280;
|
||||
extern crate i2csensors;
|
||||
extern crate si7021;
|
||||
|
||||
use i2cdev::linux::LinuxI2CDevice;
|
||||
use i2cdev_bmp280::*;
|
||||
use si7021::*;
|
||||
use i2csensors::{Barometer, Hygrometer, Thermometer};
|
||||
|
||||
fn main() {
|
||||
let i2c_device = LinuxI2CDevice::new("/dev/i2c-11", 0b1110110).unwrap();
|
||||
|
||||
let settings = BMP280Settings {
|
||||
compensation: BMP280CompensationAlgorithm::Float,
|
||||
t_sb: BMP280Timing::ms4000,
|
||||
iir_filter_coeff: BMP280FilterCoefficient::UltraHigh,
|
||||
osrs_t: BMP280TemperatureOversampling::x2,
|
||||
osrs_p: BMP280PressureOversampling::UltraHighResolution,
|
||||
power_mode: BMP280PowerMode::NormalMode,
|
||||
};
|
||||
|
||||
let mut bmp280 = BMP280::new(i2c_device, settings).unwrap();
|
||||
|
||||
println!("pressure: {:6.2} kPa", bmp280.pressure_kpa().unwrap());
|
||||
println!("temp1: {:6.2} °C", bmp280.temperature_celsius().unwrap());
|
||||
|
||||
let device = LinuxI2CDevice::new("/dev/i2c-11", SI7021_I2C_ADDRESS).unwrap();
|
||||
let mut si7021 = Si7021::new(device);
|
||||
println!("humidity: {:6.2} %", si7021.relative_humidity().unwrap());
|
||||
println!("temp2: {:6.2} °C", si7021.temperature_celsius().unwrap());
|
||||
}
|
Reference in New Issue
Block a user