Updated: 2025/Nov/16

Please read Privacy Policy. It's for your privacy.


SI70XXTEMP(4)                Device Drivers Manual               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
     The si70xxtemp driver was written by Brad Spencer
     <brad@anduin.eldar.org>.

NetBSD 11.99                   December 28, 2017                  NetBSD 11.99