PageRenderTime 33ms CodeModel.GetById 20ms app.highlight 12ms RepoModel.GetById 0ms app.codeStats 0ms

#! | 41 lines | 33 code | 8 blank | 0 comment | 0 complexity | d24d773f9614f2f1226ab241bb8817cd MD5 | raw file
Possible License(s): CC-BY-SA-3.0, GPL-2.0, LGPL-2.0, AGPL-1.0
 1Kernel driver w1_therm
 4Supported chips:
 5  * Maxim ds18*20 based temperature sensors.
 7Author: Evgeniy Polyakov <>
13w1_therm provides basic temperature conversion for ds18*20 devices.
14supported family codes:
15W1_THERM_DS18S20	0x10
16W1_THERM_DS1822		0x22
17W1_THERM_DS18B20	0x28
19Support is provided through the sysfs w1_slave file.  Each open and
20read sequence will initiate a temperature conversion then provide two
21lines of ASCII output.  The first line contains the nine hex bytes
22read along with a calculated crc value and YES or NO if it matched.
23If the crc matched the returned values are retained.  The second line
24displays the retained values along with a temperature in millidegrees
25Centigrade after t=.
27Parasite powered devices are limited to one slave performing a
28temperature conversion at a time.  If none of the devices are parasite
29powered it would be possible to convert all the devices at the same
30time and then go back to read individual sensors.  That isn't
31currently supported.  The driver also doesn't support reduced
32precision (which would also reduce the conversion time).
34The module parameter strong_pullup can be set to 0 to disable the
35strong pullup or 1 to enable.  If enabled the 5V strong pullup will be
36enabled when the conversion is taking place provided the master driver
37must support the strong pullup (or it falls back to a pullup
38resistor).  The DS18b20 temperature sensor specification lists a
39maximum current draw of 1.5mA and that a 5k pullup resistor is not
40sufficient.  The strong pullup is designed to provide the additional
41current required.