blob: a29309a3f8e579aa3f8c5289174db88e99c75568 [file] [log] [blame]
Mariusz Bialonczyk6d691552017-02-23 07:38:44 +01001Kernel driver w1_ds2438
2=======================
3
4Supported chips:
Mauro Carvalho Chehabe9bb6272019-07-31 17:08:53 -03005
Mariusz Bialonczyk6d691552017-02-23 07:38:44 +01006 * Maxim DS2438 Smart Battery Monitor
7
8supported family codes:
Mauro Carvalho Chehabe9bb6272019-07-31 17:08:53 -03009 ================ ====
Mariusz Bialonczyk6d691552017-02-23 07:38:44 +010010 W1_FAMILY_DS2438 0x26
Mauro Carvalho Chehabe9bb6272019-07-31 17:08:53 -030011 ================ ====
Mariusz Bialonczyk6d691552017-02-23 07:38:44 +010012
13Author: Mariusz Bialonczyk <manio@skyboo.net>
14
15Description
16-----------
17
18The DS2438 chip provides several functions that are desirable to carry in
19a battery pack. It also has a 40 bytes of nonvolatile EEPROM.
20Because the ability of temperature, current and voltage measurement, the chip
21is also often used in weather stations and applications such as: rain gauge,
22wind speed/direction measuring, humidity sensing, etc.
23
24Current support is provided through the following sysfs files (all files
25except "iad" are readonly):
26
27"iad"
28-----
29This file controls the 'Current A/D Control Bit' (IAD) in the
30Status/Configuration Register.
31Writing a zero value will clear the IAD bit and disables the current
32measurements.
33Writing value "1" is setting the IAD bit (enables the measurements).
34The IAD bit is enabled by default in the DS2438.
35
36When writing to sysfs file bits 2-7 are ignored, so it's safe to write ASCII.
37An I/O error is returned when there is a problem setting the new value.
38
39"page0"
40-------
41This file provides full 8 bytes of the chip Page 0 (00h).
42This page contains the most frequently accessed information of the DS2438.
43Internally when this file is read, the additional CRC byte is also obtained
44from the slave device. If it is correct, the 8 bytes page data are passed
45to userspace, otherwise an I/O error is returned.
46
47"temperature"
48-------------
49Opening and reading this file initiates the CONVERT_T (temperature conversion)
50command of the chip, afterwards the temperature is read from the device
51registers and provided as an ASCII decimal value.
52
53Important: The returned value has to be divided by 256 to get a real
54temperature in degrees Celsius.
55
56"vad", "vdd"
57------------
58Opening and reading this file initiates the CONVERT_V (voltage conversion)
59command of the chip.
60
61Depending on a sysfs filename a different input for the A/D will be selected:
Mauro Carvalho Chehabe9bb6272019-07-31 17:08:53 -030062
63vad:
64 general purpose A/D input (VAD)
65vdd:
66 battery input (VDD)
Mariusz Bialonczyk6d691552017-02-23 07:38:44 +010067
68After the voltage conversion the value is returned as decimal ASCII.
Mariusz Bialonczykc7e5a5b2018-07-05 06:51:36 +020069Note: To get a volts the value has to be divided by 100.