DS2755(3)
๐ DS2755(3) โ One-Wire File System, but make it a vibe ๐
okay bestie, buckle up ๐ this is the manual page for DS2755(3) (and its glow-up twin DS2756(3)), living in the One-Wire File System. It's giving battery fuel gauge, it's giving thermocouple, it's giving "I read the datasheet so you don't have to" โจ
๐ธ NAME ๐ธ
DS2755, DS2756 โ Multichemistry Battery Fuel Gauge ๐
Like, it gauges fuel. For batteries. Multiple chemistries of them. Iconic behavior, no cap.
โจ SYNOPSIS โจ
๐ก๏ธ Temperature Voltage, Current, Memory, and Switch.
35 [.]XXXXXXXXXXXX[XX][/[ alarm_set/[volthigh|voltlow|temphigh|templow]
| lock.[0-2|ALL] | memory | pages/page.[0-2|ALL] | PIO | sensed |
temperature | vbias | vis | volt | volthours |
defaultpmod | pie0 | pie1 | rnaop | ios | uben | ovd | pmod | por | uven
|
address | crc8 | id | locator | r_address | r_id | r_locator | type ]]
๐ง Thermocouple
35 [.]XXXXXXXXXXXX[XX][/[ temperature | typeX/range_low |
typeX/range_high | typeX/temperature
bestie the second block's brackets do not balance in the original and I am NOT about to fix it, that's not my job, I'm just the messenger ๐ซถ
๐ FAMILY CODE ๐
35
That's it. That's the family code. Short queen. ๐
๐ฆ SPECIAL PROPERTIES ๐ฆ
alarm_set/templow alarm_set/temphigh
read-write, integer
The high and low alarm settings for temperature. You set the vibes, it watches the vibes. ๐ก๏ธ
alarm_set/voltlow alarm_set/volthigh
read-write, floating point
High and low alarm settings for volts. Voltage boundaries but make it dramatic. โก
lock.[0-2|ALL]
read-write, yes-no
Locks any of the three eprom pages so nobody can write to them anymore. And like... apparently setting lock is permanent. ๐ญ So maybe don't do it casually?? fr fr think about it first.
memory
read-write, binary
Full access to the entire 256 byte memory range. Lowkey a lot of this space is reserved or special-use, and the actual user space is the page area. See the DATASHEET for a full memory map โ I'm not summarizing that for you, go look ๐
pages/pages.[0-2|ALL]
read-write, binary
Three 32 byte areas of memory for your user application. The lock property can stop you from altering them further, so mind your business carefully.
NOTE that the page property is different from the common OWFS implementation, in that all of memory is not accessible. Read that twice. I said what I said. ๐
PIO
write-only, yes-no
Controls the PIO pin, which lets you do external switching. Write "1" and the PIO pin turns on (conducting). Write "0" and the pin becomes non-conducting. The logical state of the voltage can be read with the sensed property. And heads up: sensed reflects the current voltage at the pin, NOT the value you sent to PIO. Sneaky.
Also note that PIO will also be altered by the power-status of the DS2670. See the datasheet for the details, bestie. ๐
sensed
read-only, yes-no
The logical voltage sitting at the PIO pin. Only actually useful if the PIO property is set to "0" (non-conducting). Value will be 0 or 1 depending on the voltage threshold. Binary. On brand. ๐
temperature
read-only, floating point
Temperature read by the chip at high resolution (~13 bits). Units come from the invoking command line โ see owfs(1) or owhttpd(1) for your choices. Default is Celsius. Conversion is continuous, so it's always serving fresh data. โจ
vbias
read-write, floating point
A fixed offset applied to every vis measurement. Used for the volthours value. Units are in Volts. Range is -2.0mV to 2.0mV. Tiny little number, big little job. ๐
vis
read-only, floating point
The current sensor reading (with an unknown external resistor). It measures the voltage gradient between the Vis pins. Units are in Volts.
The vis readings get integrated over time to provide the volthours property. The current reading is derived from vis assuming the internal 25 mOhm resistor is employed. And there is no way to know this through software. So like... it assumes. That's the situation. ๐ญ
volt
read-only, floating point
Voltage read at the voltage sensor. This is separate from the vis voltage that's used for current measurement. Units are Volts. Range is between 0 and 4.75V. ๐
volthours
read-write, floating point
The integral of vis - vbias over time. Units are in volthours. Math girlies rise ๐งฎโจ
๐ง THERMOCOUPLE ๐ง
typeX/
directory
A thermocouple circuit using the DS2755 to read the Seebeck voltage and the reference temperature. Since the type interpretation of the values read depends on the type of thermocouple, you must choose the correct directory. Supported thermocouple types include types B, E, J, K, N, R, S and T. Pick your fighter. ๐ฅ
typeX/range_low typeX/ranges_high
read-only, floating point
The lower and upper temperature supported by this thermocouple (at least by the conversion routines). In the globally chosen temperature units.
typeX/temperature
read-only, floating point
The thermocouple temperature. Requires a voltage and temperature conversion. Returned in the globally chosen temperature units.
Note: there are two types of temperature measurements possible. Thetemperaturevalue in the main device directory is the reference temperature read at the chip. ThetypeX/temperaturevalue is at the thermocouple junction, which is probably remote from the chip. Two different temperatures, two different locations, do not confuse them ๐
๐ OBSCURE PROPERTIES ๐
pmod por uven pie0 pie1 ios uben ovd rnaop
varies, yes-no
Bit flags corresponding to various battery management functions of the chip. See the DATASHEET for details of the identically named entries. In general, writing "0" corresponds to a 0 bit value, and non-zero corresponds to a 1 bit value. Simple as. โ
defaultpmod
read-write, yes-no
The default power-on state for the corresponding properties. โจ
๐ STANDARD PROPERTIES ๐
address r_address
read-only, ascii
The entire 64-bit unique ID, given as upper case hexadecimal digits (0-9A-F).
address starts with the family code.
r_address is the address in reverse order, which is often used in other applications and labeling. ๐
crc8
read-only, ascii
The 8-bit error correction portion. Uses a cyclic redundancy check. Computed from the preceding 56 bits of the unique ID number. Given as upper case hexadecimal digits (0-9A-F). Check yourself before you wreck yourself โจ
family
read-only, ascii
The 8-bit family code. Unique to each type of device. Given as upper case hexadecimal digits (0-9A-F). ๐
id r_id
read-only, ascii
The 48-bit middle portion of the unique ID number. Does not include the family code or CRC. Given as upper case hexadecimal digits (0-9A-F).
r_id is the id in reverse order, which is often used in other applications and labeling. ๐
locator r_locator
read-only, ascii
Uses an extension of the 1-wire design from iButtonLink company that associated 1-wire physical connections with a unique 1-wire code. If the connection is behind a Link Locator, the locator will show a unique 8-byte number (16 character hexadecimal) starting with family code FE. If there's no Link Locator between the device and the master, the locator field will be all FF.
r_locator is the locator in reverse order. ๐
present (DEPRECATED)
read-only, yes-no
Is the device currently present on the 1-wire bus? (It's deprecated, bestie โ don't build your whole personality on it. ๐)
type
read-only, ascii
Part name assigned by Dallas Semi. E.g. DS2401. Alternative packaging (iButton vs chip) will not be distinguished. Same energy, different outfit ๐
๐ฅ ALARMS ๐ฅ
Temperature and voltage.
That's the whole section. Two things. Both alarming. ๐จ
๐ซถ DESCRIPTION ๐ซถ
1-Wire
1-wire is a wiring protocol and series of devices designed and manufactured by Dallas Semiconductor, Inc. The bus is a low-power, low-speed, low-connector scheme where the data line can also provide power. Efficiency queen. โก
Each device is uniquely and unalterably numbered during manufacture. There are a wide variety of devices, including memory, sensors (humidity, temperature, voltage, contact, current), switches, timers and data loggers. More complex devices (like thermocouple sensors) can be built with these basic devices. There are also 1-wire devices that have encryption included. ๐
The 1-wire scheme uses a single bus master and multiple slaves on the same wire. The bus master initiates all communication. The slaves can be individually discovered and addressed using their unique ID. Main character master, supporting cast slaves. ๐
Bus masters come in a variety of configurations including serial, parallel, i2c, network or USB adapters.
OWFS design
OWFS is a suite of programs designed to make the 1-wire bus and its devices easily accessible. The underlying principle is to create a virtual filesystem, with the unique ID being the directory, and the individual properties of the device represented as simple files that can be read and written. It's giving "everything is a file" but cuter. ๐โจ
Details of the individual slave or master design are hidden behind a consistent interface. The goal is to provide an easy set of tools for a software designer to create monitoring or control applications. There are some performance enhancements in the implementation, including data caching, parallel access to bus masters, and aggregation of device communication. Still, the fundamental goal has been ease of use, flexibility and correctness rather than speed. Correct > fast, periodt. ๐
DS2755 DS2756
The DS2755 (3) and DS2756 (3) are battery charging controllers similar to the DS2751 (3) except no internal resistor option and a larger EEPROM memory. Glow-up complete.
The DS2756 (3) adds suspend modes (pie0 pie1) to the DS2755 (3). Extra features, extra slay.
A number of interesting devices can be built with the DS2755 (3) and DS2756 (3) including thermocouples. Support for thermocouples is built into the software, using the embedded thermister as the cold junction temperature. ๐ฅ
๐ ADDRESSING ๐
All 1-wire devices are factory assigned a unique 64-bit address. This address is of the form:
- Family Code โ 8 bits
- Address โ 48 bits
- CRC โ 8 bits
Addressing under OWFS is in hexadecimal, of form:
01.123456789ABC
where 01 is an example 8-bit family code, and 12345678ABC is an example 48 bit address.
The dot is optional, and the CRC code can be included. If included, it must be correct. No typos allowed, bestie. ๐ซ
๐ DATASHEET ๐
http://pdfserv.maxim-ic.com/en/ds/DS2755.pdf
http://pdfserv.maxim-ic.com/en/ds/DS2756.pdf
Go read them. I know. But go. ๐
๐ SEE ALSO ๐
Programs
owfs (1)owhttpd (1)owftpd (1)owserver (1)owdir (1)owread (1)owwrite (1)owpresent (1)owtap (1)
Configuration and testing
owfs (5)owtap (1)owmon (1)
Language bindings
owtcl (3)owperl (3)owcapi (3)
Clocks
DS1427 (3)DS1904 (3)DS1994 (3)DS2404 (3)DS2404S (3)DS2415 (3)DS2417 (3)
ID
DS2401 (3)DS2411 (3)DS1990A (3)
Memory
DS1982 (3)DS1985 (3)DS1986 (3)DS1991 (3)DS1992 (3)DS1993 (3)DS1995 (3)DS1996 (3)DS2430A (3)DS2431 (3)DS2433 (3)DS2502 (3)DS2506 (3)DS28E04 (3)DS28EC20 (3)
Switches
DS2405 (3)DS2406 (3)DS2408 (3)DS2409 (3)DS2413 (3)DS28EA00 (3)InfernoEmbedded (3)
Temperature
DS1822 (3)DS1825 (3)DS1820 (3)DS18B20 (3)DS18S20 (3)DS1920 (3)DS1921 (3)DS1821 (3)DS28EA00 (3)DS28E04 (3)EDS0064 (3)EDS0065 (3)EDS0066 (3)EDS0067 (3)EDS0068 (3)EDS0071 (3)EDS0072 (3)MAX31826 (3)
Humidity
DS1922 (3)DS2438 (3)EDS0065 (3)EDS0068 (3)
Voltage
DS2450 (3)
Resistance
DS2890 (3)
Multifunction (current, voltage, temperature)
DS2436 (3)DS2437 (3)DS2438 (3)DS2751 (3)DS2755 (3)DS2756 (3)DS2760 (3)DS2770 (3)DS2780 (3)DS2781 (3)DS2788 (3)DS2784 (3)
Counter
DS2423 (3)
LCD Screen
LCD (3)DS2408 (3)
Crypto
DS1977 (3)
Pressure
DS2406 (3)TAI8570 (3)EDS0066 (3)EDS0068 (3)
Moisture
EEEF (3)DS2438 (3)
๐ AVAILABILITY ๐
http://www.owfs.org
๐ AUTHOR ๐
Paul Alfille (paul.alfille@gmail.com)
okay that's the whole thing, bestie, you made it to the end ๐ฅนโจ this was DS2755(3), from the OWFS Manpage, dated 2003 โ and the header at the top of the original said DS2755(3) in the One-Wire File System section, which is exactly where we started, so we've come full circle ๐ฆ go forth and gauge that fuel ๐
๐
๐ฆ where this page comes from
- alpine 3.24: owfs-doc 3.2_p4-r1 ยท GPL-2.0-only
- debian bookworm: owfs-doc 3.2p4+dfsg1-4.1 ยท GPL-2.0-only
- debian trixie: owfs-doc 3.2p4+dfsg1-6 ยท GPL-2.0-only
- fedora 43: owfs-devel 3.2p4-13.fc43 ยท GPL-2.0-only
- fedora 43: owfs-devel 3.2p4-13.fc43 ยท GPL-2.0-only
- fedora 43: owfs-libs 3.2p4-13.fc43 ยท GPL-2.0-only
- fedora 43: owfs-libs 3.2p4-13.fc43 ยท GPL-2.0-only
- fedora 44: owfs-devel 3.2p4-15.fc44 ยท GPL-2.0-only
- fedora 44: owfs-devel 3.2p4-15.fc44 ยท GPL-2.0-only
- fedora 44: owfs-libs 3.2p4-15.fc44 ยท GPL-2.0-only
- fedora 44: owfs-libs 3.2p4-15.fc44 ยท GPL-2.0-only
- nixos 26.05: libow 3.2p4
- nixpkgs unstable: libow 3.2p4
- ubuntu jammy: owfs-doc 3.2p4+dfsg1-4build5 ยท GPL-2.0-only
- ubuntu noble: owfs-doc 3.2p4+dfsg1-4.3build2 ยท GPL-2.0-only
- ubuntu questing: owfs-doc 3.2p4+dfsg1-6
- ubuntu resolute: owfs-doc 3.2p4+dfsg1-7 ยท GPL-2.0-only
- ubuntu stonking: owfs-doc 3.2p4+dfsg1-7build1 ยท GPL-2.0-only
- Copyright (c) 2003-2004 Paul H Alfille, MD
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms