xref: /openbmc/linux/Documentation/hwmon/sht3x.rst (revision 44f57d78)
1Kernel driver sht3x
2===================
3
4Supported chips:
5
6  * Sensirion SHT3x-DIS
7
8    Prefix: 'sht3x'
9
10    Addresses scanned: none
11
12    Datasheet: https://www.sensirion.com/file/datasheet_sht3x_digital
13
14Author:
15
16  - David Frey <david.frey@sensirion.com>
17  - Pascal Sachs <pascal.sachs@sensirion.com>
18
19Description
20-----------
21
22This driver implements support for the Sensirion SHT3x-DIS chip, a humidity
23and temperature sensor. Temperature is measured in degrees celsius, relative
24humidity is expressed as a percentage. In the sysfs interface, all values are
25scaled by 1000, i.e. the value for 31.5 degrees celsius is 31500.
26
27The device communicates with the I2C protocol. Sensors can have the I2C
28addresses 0x44 or 0x45, depending on the wiring. See
29Documentation/i2c/instantiating-devices for methods to instantiate the device.
30
31There are two options configurable by means of sht3x_platform_data:
32
331. blocking (pull the I2C clock line down while performing the measurement) or
34   non-blocking mode. Blocking mode will guarantee the fastest result but
35   the I2C bus will be busy during that time. By default, non-blocking mode
36   is used. Make sure clock-stretching works properly on your device if you
37   want to use blocking mode.
382. high or low accuracy. High accuracy is used by default and using it is
39   strongly recommended.
40
41The sht3x sensor supports a single shot mode as well as 5 periodic measure
42modes, which can be controlled with the update_interval sysfs interface.
43The allowed update_interval in milliseconds are as follows:
44
45    ===== ======= ====================
46       0          single shot mode
47    2000   0.5 Hz periodic measurement
48    1000   1   Hz periodic measurement
49     500   2   Hz periodic measurement
50     250   4   Hz periodic measurement
51     100  10   Hz periodic measurement
52    ===== ======= ====================
53
54In the periodic measure mode, the sensor automatically triggers a measurement
55with the configured update interval on the chip. When a temperature or humidity
56reading exceeds the configured limits, the alert attribute is set to 1 and
57the alert pin on the sensor is set to high.
58When the temperature and humidity readings move back between the hysteresis
59values, the alert bit is set to 0 and the alert pin on the sensor is set to
60low.
61
62sysfs-Interface
63---------------
64
65=================== ============================================================
66temp1_input:        temperature input
67humidity1_input:    humidity input
68temp1_max:          temperature max value
69temp1_max_hyst:     temperature hysteresis value for max limit
70humidity1_max:      humidity max value
71humidity1_max_hyst: humidity hysteresis value for max limit
72temp1_min:          temperature min value
73temp1_min_hyst:     temperature hysteresis value for min limit
74humidity1_min:      humidity min value
75humidity1_min_hyst: humidity hysteresis value for min limit
76temp1_alarm:        alarm flag is set to 1 if the temperature is outside the
77		    configured limits. Alarm only works in periodic measure mode
78humidity1_alarm:    alarm flag is set to 1 if the humidity is outside the
79		    configured limits. Alarm only works in periodic measure mode
80heater_enable:      heater enable, heating element removes excess humidity from
81		    sensor:
82
83			- 0: turned off
84			- 1: turned on
85update_interval:    update interval, 0 for single shot, interval in msec
86		    for periodic measurement. If the interval is not supported
87		    by the sensor, the next faster interval is chosen
88=================== ============================================================
89