si70xxtemp
—
Driver for Silicon Labs SI7013/SI7020/SI7021, HTU21D and SHT21
sensor chip via I2C bus
si70xxtemp* at iic? addr 0x40
The si70xxtemp
driver provides measurements from the
SI7013/SI7020/SI7021 humidity/temperature sensors via the
envsys(4) framework. The
si70xxtemp
addr argument selects
the address at the iic(4) bus. The
resolution, heater control and crc validity can be changed through
sysctl(8) nodes.
The following sysctl(3) variables
are provided:
- hw.si70xxtemp0.resolutions
- Lists the resolutions supported by the driver and chip.
- hw.si70xxtemp0.resolution
- Set the resolution, or number of bits, used for %RH and temperature. Use
one of the strings listed in hw.si70xxtemp.resolutions.
- hw.si70xxtemp0.ignorecrc
- If set, the crc calculation for %RH and temperature will be ignored.
- hw.si70xxtemp0.vddok
- If 1, the chip is getting enough power.
- hw.si70xxtemp0.heateron
- Turn the heater on and off.
- hw.si70xxtemp0.heaterstrength
- From 1 to 6, the amount of energy put into the heater. The higher the
number, the more power used.
Some HTU21D chips do not support a heater register. These
chips are detected and the heater features of the driver will be
disabled.
- hw.si70xxtemp0.debug
- If the driver is compiled with
SI70XX_DEBUG
, this
node will appear and can be used to set the debugging level.
- hw.si70xxtemp0.readattempts
- To read %RH or temperature the driver uses a No Hold Master command. This
command needs to be sent to the device, a wait must then occur and then
another read command is sent to read back the values. Depending on the
resolution, and other factors, the wait time varies. The driver will
attempt to read back the values readattempts number of times. The default
is 40 which should be enough for most purposes. There is an initial wait
of 10,500 microseconds followed by a additional 1,000 microseconds per
read attempt.
The si70xxtemp
driver first appeared in
NetBSD 8.0.