Battery
Here I will describe how the chip inside the battery of pre and pixi works. I used this information for the app Dr.Battery.
This is just the start. I'm still working on it.
Intro
The Pre and the Pixi are using the same battery. The battery includes a chip providing WebOS with all information about the condition of the battery.
The battery communicates with the operating system through a "Dallas 1-Wire® interface".
The chip also includes a nonvolatile storage. All needed informations are stored within this storage. WebOS doesn't store any information about the battery on the device.
Chip inside the battery
The battery is using the "Dallas Semiconductor Maxim DS2784 1-Cell Stand-Alone Fuel Gauge IC with Li+ Protector and SHA-1".
The manual of the chip can be found here: Manual of the DS2784
Features of the chip taken from the manual:
- Precision Voltage, Temperature, and Current Measurement System
- Available Capacity Estimated from Coulomb Count, Discharge Rate, Temperature, and Cell Characteristics
- Estimates Cell Aging Using Learn Cycles
- Uses Low-Cost Sense Resistor
- Allows for Calibration of Gain and Temperature Coefficient
- Li+ Safety Circuitry—Overvoltage, Undervoltage, Overcurrent, Short-Circuit Protection
- Programmable Safety Thresholds for Overvoltage and Overcurrent
- Authentication Using SHA-1 Algorithm and 64-Bit Secret
- 32-Byte Parameter EEPROM
- 16-Byte User EEPROM
- Dallas 1-Wire Interface with 64-Bit Unique ID
- Tiny, Pb-Free, 14-Pin TDFN Package Embeds Easily in Battery Packs Using Thin Prismatic Cells
Interface used by WebOS
The communication with the battery is done by the kernel device driver "w1_ds2784.c" written by palm.
At boottime webOS creates a directory structure in "/sys/devices/w1_bus_master1" with character device files.
An application is able to read and write to and from the battery through these "files".