SHT3XTEMP(4)

SHT3XTEMP(4) | Device Drivers Manual | SHT3XTEMP(4)

# NAME

`sht3xtemp` — Driver for Sensirion SHT30/SHT31/SHT35 sensor chip via I2C bus

# SYNOPSIS

`sht3xtemp* at iic? addr 0x44`
`sht3xtemp* at iic? addr 0x45`

# DESCRIPTION

The `sht3xtemp` driver provides measurements from the SHT30/SHT31/SHT35 humidity/temperature sensors via the envsys(4) framework. The `sht3xtemp` addr locator selects the address at the iic(4) bus. The mode of operation, repeatability, heater controls, periodic update rate and CRC validity can be changed through sysctl(8) nodes.

# SYSCTL VARIABLES

The following sysctl(8) variables are provided:

`hw.sht3xtemp0.modes`
  Lists the modes supported by the driver and chip.
`hw.sht3xtemp0.mode`
  Set the operation mode of the chip. The SHT3X chip can run in a single-shot measurement mode or a periodic update mode. Use one of the strings listed in `hw.sht3xtemp.modes`.
`hw.sht3xtemp0.rates`
  List the periodic update rates supported by the driver and chip.
`hw.sht3xtemp0.rate`
  Set the periodic update rate when the mode of operation is set to periodic. The unit for this is measurements per second, or ART which is a mode that operates at an update rate of 4Hz higher response time. Use one of the strings listed in `hw.sht3xtemp.rates`.

  Since it is possible to have subsecond periodic updates from the chip if so desired a device file is provided that can be used to get the raw temperature and humidity values outside of the envsys(4) framework. The structure of this output is the raw temperature plus an 8-bit CRC followed by the raw humidity plus an 8-bit CRC.

`hw.sht3xtemp0.repeatabilities`
  List the valid values for the repeatability used for a measurement.
`hw.sht3xtemp0.repeatability`
  Set the repeatability for the measurement. The higher the repeatability the longer the measurement will take and the more power used. Use one of the strings listed in `hw.sht3xtemp.repeatabilities`.
`hw.sht3xtemp0.ignorecrc`
  If set, the crc calculation for %RH and temperature in the measurement phrase will be ignored.
`hw.sht3xtemp0.heateron`
  Turn the heater on and off.
`hw.sht3xtemp0.debug`
  If the driver is compiled with `SHT3X_DEBUG`, this node will appear and can be used to set the debugging level.
`hw.sht3xtemp0.readattempts`
  To read %RH or temperature the chip requires that the command be sent, then a delay must be observed before a read can be done to get the values back. The delays are documented in the datasheet for the chip. The driver will attempt to read back the values readattempts number of times. The default is 10 which should be more than enough for most purposes.
`hw.sht3xtemp0.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. This option only apply to single shot measurements.

# FILES

/dev/sht3xtempu
  SHT3X device unit u file.

# SEE ALSO

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

# HISTORY

The `sht3xtemp` driver first appeared in NetBSD 10.0.

# AUTHORS

The `sht3xtemp` driver was written by Brad Spencer <brad@anduin.eldar.org>.

# BUGS

The datasheet did not provide enough information to get the alarm function of the chip working.

October 31, 2021 | NetBSD 11.0