DS1963S(3)

πŸ’– NAME πŸ’–

DS1963S β€” a 256 byte Monetary iButton with SHA-1, bestie. That's the whole vibe. πŸ‘‘


✨ SYNOPSIS ✨

Non-volatile R/W memory with counters, SHA-1 (under NDA). Yeah, the cool secret stuff. πŸ™ˆ

18 [.]XXXXXXXXXXXX[XX][/[ pages/count.[0-15|ALL] | memory |
pages/page.[0-15|ALL] | address | crc8 | id | locator | r_address | r_id
| r_locator | type ]]

πŸ”’ FAMILY CODE πŸ”’

18

That's it. That's the number. Iconic. πŸ’…


πŸŽ€ SPECIAL PROPERTIES πŸŽ€

page/count.[0-15|ALL]

read-only, unsigned β€” so like, you can look, you can't touch, and it's never gonna be negative, no cap.

Every single time you write to the memory page, the counter goes up. That's the whole point: an application can literally tell if the memory has been changed by another process. It's giving surveillance but make it useful. πŸ”₯

Only 4 pages are actually connected to counters, which is lowkey a scam but okay:

  • Counter1 β€” page/counter.12
  • Counter2 β€” page/counter.13
  • Counter3 β€” page/counter.14
  • Counter4 β€” page/counter.15

🌟 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 but make it fashion. πŸ¦‹

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's the math girlie of the family. ✨

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 the 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. Again with the backwards thing, we love a consistent queen. πŸ’œ

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. (We're sensing a theme. 🌈)

present (DEPRECATED) ⚠️

read-only, yes-no. Is the device currently present on the 1-wire bus?

Bestie, this one's DEPRECATED. It still exists, but it's giving "old news" energy.

type

read-only, ascii. Part name assigned by Dallas Semi. E.g. DS2401. Alternative packaging (iButton vs chip) will not be distinguished. Same soul, different outfit. πŸ’…


🚨 ALARMS 🚨

None. Nothing. Zero. Silence. The drama is elsewhere, babes. 😌


πŸ“– 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. Data line doubling as the power line? That's called efficiency and we're 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. Yes, crypto. She's everywhere. πŸ”

The 1-wire scheme uses a single bus master and multiple slaves on the same wire. The bus master initiates all communication β€” main character energy, honestly. 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. Pick your fighter. 🫢

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. Like, files. Your brain already gets files. Slay. πŸ’–

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. πŸŽ€

DS1963S

The DS1963S (3) is used for read/write storage. It has SHA-1 authentication. Most of the information is under NDA and was not available for either the implementation of this man page. Yeah. We know. We're as upset as you are. 😭

This man page corresponds to the non-secret DS1963L (3) β€” OWFS handles this automatically.


πŸ—ΊοΈ 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 wiggle room, bestie β€” wrong CRC is a wrong address. 🚫


πŸ“„ DATASHEET πŸ“„

http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2822

πŸ‘€ 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 page bestie, mwah πŸ’…βœ¨

This one came from the OWFS Manpage, dated 2003 β€” that's the DS1963S(3) energy right there. Go read it again, it's good for you. πŸŽ€πŸ’–πŸ¦‹