SI70XXTEMP(4)

NAME
si70xxtemp - Driver for Silicon Labs SI7013/SI7020/SI7021, HTU21D and SHT21 sensor chip via I2C bus

SYNOPSIS
si70xxtemp* at iic? addr 0x40

DESCRIPTION
The si70xxtemp driver provides measurements from the SI7013/SI7020/SI7021 humidity/temperature sensors via the envsys(4) framework. The si70xxtemp addr locator selects the address at the iic(4) bus. The resolution, heater control and crc validity can be changed through sysctl(8) nodes.

SYSCTL VARIABLES
The following sysctl(8) 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.

hw.si70xxtemp0.clockstretch
    The chip supports a set of commands that lets it use I2C clock stretching to perform the temperature or humidity measurement. If this is set to 1 then use the clock stretching commands with the device. Note that the I2C controller must support clock stretching in order for this to work reliability. When this option is enabled, the readattempts sysctl noted above will not be used.

SEE ALSO
envsys(4), iic(4), envstat(8), sysctl(8)

HISTORY
The si70xxtemp driver first appeared in NetBSD 8.0.

AUTHORS
-nosplit The si70xxtemp driver was written by Brad Spencer <brad@anduin.eldar.org>.