Module capsules_extra::si7021
source · Expand description
SyscallDriver for the Silicon Labs SI7021 temperature/humidity sensor.
https://www.silabs.com/products/sensors/humidity-sensors/Pages/si7013-20-21.aspx
The Si7006/13/20/21/34 devices are Silicon Labs’ latest generation I2C relative humidity and temperature sensors. All members of this device family combine fully factory-calibrated humidity and temperature sensor elements with an analog to digital converter, signal processing and an I2C host interface. Patented use of industry-standard low-K polymer dielectrics provides excellent accuracy and long term stability, along with low drift and low hysteresis. The innovative CMOS design also offers the lowest power consumption in the industry for a relative humidity and temperature sensor. The Si7013/20/21/34 devices are designed for high- accuracy applications, while the Si7006 is targeted toward lower-accuracy applications that traditionally have used discrete RH/T sensors.
§Usage
let si7021_i2c = static_init!(
capsules::virtual_i2c::I2CDevice,
capsules::virtual_i2c::I2CDevice::new(i2c_bus, 0x40));
let si7021_virtual_alarm = static_init!(
VirtualMuxAlarm<'static, sam4l::ast::Ast>,
VirtualMuxAlarm::new(mux_alarm));
si7021_virtual_alarm.setup();
let si7021 = static_init!(
capsules::si7021::SI7021<'static, VirtualMuxAlarm<'static, sam4l::ast::Ast>>,
capsules::si7021::SI7021::new(si7021_i2c,
si7021_virtual_alarm,
&mut capsules::si7021::BUFFER));
si7021_i2c.set_client(si7021);
si7021_virtual_alarm.set_client(si7021);