DS1977(3)
๐ NAME ๐
DS1977(3) โ the Password Protected 32kbit Memory iButton, from the One-Wire File System manual. She's a lil memory queen with a lock on the door and she knows it. ๐
๐ฆ SYNOPSIS ๐ฆ
Non-volatile memory, bestie. She remembers everything even when the power dips, main character energy fr fr. ๐พ
37 [.]XXXXXXXXXXXX[XX][/[ memory | pages/page.[0-510|ALL] |
set_number/full | set_number/read | set_password/enabled |
set_password/full | set_password/read | use_number/full |
use_number/read | use_password/full | use_password/read | address | crc8
| id | locator | r_address | r_id | r_locator | type ]]
๐ FAMILY CODE ๐
37DS1977โ that's her family code, periodt. ๐
๐ SPECIAL PROPERTIES ๐
๐ memory
read-write, binary.
32704 bytes of memory. Possibly protected by a password. Lowkey a whole wardrobe of storage and the door might be locked, iykyk. ๐
๐ pages/page.0 ... pages/page.510 pages/page.ALL
read-write, binary.
Memory is split into 511 pages of 64 bytes each. ALL is an aggregate of the pages โ like the whole photo dump in one folder. Each page is accessed sequentially. โจ
๐ข set_number/full set_number/read
write-only, ascii.
Passwords entered as numbers, either decimal, or hex of form 0x0123456789ABCDEF. Handled the same as set_password/xxx. Cute shorthand, no notes. ๐ซถ
๐ set_password/enabled
read-write, yes-no.
Turn on/off password protection for the DS1977, or return the current state. Basically the "do not disturb" toggle but for your data. ๐
๐๏ธ set_password/full set_password/read
write-only, binary.
Passwords (8 byte values) that allow read or full access to the DS1977 memory. The password set by set_password/xxx are stored in the DS1977 and locally in the program as well (as if use_password/xxx was also called). So she saves it in two places, overachiever behavior honestly. ๐ญ
๐๏ธ use_password/full use_password/read
write-only, binary.
Passwords (8 byte values) that allow read or full access to the DS1977 memory. The password set by
bestie the original sentence justโฆ ends there. Not my business, not my problem, I'm reporting the facts only. ๐ซ
๐ข use_number/full use_number/read
write-only, ascii.
Passwords entered as numbers, either decimal, or hex of form 0x0123456789ABCDEF. Handled the same as use_password/xxx. Same vibe, different flavor of input. โจ
๐๏ธ use_password/full use_password/read
write-only, binary.
Passwords (8 byte values) that allow read or full access to the DS1977 memory. The password set by use_password/xxx are stored in the program and must match the passwords stored in the DS1977. Changing the DS1977 passwords using set_password/xxx will change these values as well. use_password/xxx are stored in the program and must match the passwords stored in the DS1977. Changing the DS1977 passwords using set_password/xxx will change these values as well.
Yes, this property shows up twice in the source and says the same thing twice inside itself. That's just how she is. Iconic, unbothered, repeating herself. ๐
๐ 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. Backwards slay. ๐
๐งฎ crc8
read-only, ascii.
The 8-bit error correction portion. Uses cyclic redundancy check. Computed from the preceding 56 bits of the unique ID number. Given as upper case hexadecimal digits (0-9A-F). She checks your math, lovingly. ๐
๐ 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 no Link Locator is 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?
โ ๏ธ She's DEPRECATED bestie, the elders have spoken. Still works, still shows up, still serving, but know what you're getting into. ๐ซถ
๐ท๏ธ type
read-only, ascii.
Part name assigned by Dallas Semi. E.g. DS2401. Alternative packaging (iButton vs chip) will not be distiguished. Same soul, different outfit, no distinguishing. โจ
๐จ ALARMS ๐จ
None.
Literally zero alarms, she's chill, she's not dramatic, no siren, no chaos. ๐
๐ 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. Power and gossip through one wire, obsessed. โก
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.
Bus masters come in a variety of configurations including serial, parallel, i2c, network or USB adapters.
๐๏ธ OWFS design
OWFS is a suite of programs that 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 are represented as simple files that can be read and written. Everything is a file, everything is a vibe. ๐โจ
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.
๐พ DS1977
The DS1977(3) is an iButton with static memory that is optionally protected by a password. Simple, elegant, possibly locked. ๐
๐งญ 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 included. If included, it must be correct. No cutting corners on the CRC, she WILL notice. ๐
๐ DATASHEET ๐
http://pdfserv.maxim-ic.com/en/ds/DS1977.pdf
๐ฏ 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 ๐
โ๏ธ AUTHOR โ๏ธ
Paul Alfille (paul.alfille@gmail.com) โ thank you king, we love a legend. ๐
and that's the whole page bestie!! this cutie dropped way back in 2003, straight from the OWFS Manpage, and it's the DS1977(3) manual โ go forth and read your memory iButton responsibly ๐โจ๐๐ฆ๐ธ๐
๐ซถ
๐ฆ 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