summaryrefslogtreecommitdiff
path: root/Documentation/w1/slaves/w1_therm
blob: 874a8ca93feb95c9783d9a41b3f89136b7485516 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Kernel driver w1_therm
====================

Supported chips:
  * Maxim ds18*20 based temperature sensors.
  * Maxim ds1825 based temperature sensors.

Author: Evgeniy Polyakov <johnpol@2ka.mipt.ru>


Description
-----------

w1_therm provides basic temperature conversion for ds18*20 devices.
supported family codes:
W1_THERM_DS18S20	0x10
W1_THERM_DS1822		0x22
W1_THERM_DS18B20	0x28
W1_THERM_DS1825		0x3B

Support is provided through the sysfs w1_slave file.  Each open and
read sequence will initiate a temperature conversion then provide two
lines of ASCII output.  The first line contains the nine hex bytes
read along with a calculated crc value and YES or NO if it matched.
If the crc matched the returned values are retained.  The second line
displays the retained values along with a temperature in millidegrees
Centigrade after t=.

Parasite powered devices are limited to one slave performing a
temperature conversion at a time.  If none of the devices are parasite
powered it would be possible to convert all the devices at the same
time and then go back to read individual sensors.  That isn't
currently supported.  The driver also doesn't support reduced
precision (which would also reduce the conversion time).

The module parameter strong_pullup can be set to 0 to disable the
strong pullup or 1 to enable.  If enabled the 5V strong pullup will be
enabled when the conversion is taking place provided the master driver
must support the strong pullup (or it falls back to a pullup
resistor).  The DS18b20 temperature sensor specification lists a
maximum current draw of 1.5mA and that a 5k pullup resistor is not
sufficient.  The strong pullup is designed to provide the additional
current required.