LCD(3)
๐ LCD(3) ๐ โ One-Wire File System, bestie edition
okay so you're here because you wanna know about the LCD(3) controller and honestly? valid. this whole page is part of the One-Wire File System and we're gonna go through literally all of it together. no skipping. grab a snack. ๐
โจ NAME โจ
LCD โ LCD controller ๐
๐ SYNOPSIS ๐
1-wire LCD controller by Louis Swart ๐
FF [.]XXXXXXXXXXXX[XX][/[ backlight | counters.[0-3|ALL] |
cumulative.[0-3|ALL] | branch.[0-1|ALL] | data | gpio.[0-3|ALL] | LCDon
| line16.[0-3|ALL] | line20.[0-3|ALL] | line40.[0|1|ALL] | memory |
register | screen16 | screen20 | screen40 | version | address | crc8 |
id | locator | r_address | r_id | r_locator | type ]]
๐ FAMILY CODE ๐
FF โ that's the whole vibe check for this family, periodt.
๐ SPECIAL PROPERTIES ๐
these are the ones that make the LCD the LCD, y'know? the main character properties. ๐
๐ธ backlight
backlightโ write-only, yes-no. Write a non-zero value and the backlight turns on. Write zero and it goes off. that's it. that's the whole property.
๐ฆ counters[0-3,ALL]
counters[0-3,ALL]โ read-only, unsigned integer. Reads back the number of times thegpiohas been changed externally. If it's wired to a push switch it will count twice per button press (not me, that's just what it does ๐ญ). The LCD firmware resets all the counters whenever any one of them is read. Use theALLextension to read them all simultaneously, or use thecumulativeproperty instead.ALLis an aggregate of the properties, comma separated. Read atomically. โจ
๐ cumulative[0-3,ALL]
cumulative[0-3,ALL]โ read-write, unsigned integer. This is the cumulative sum of thecountersproperty. Wanna reset it? Write a zero. And here's the slay part: the cumulative counter can have any value written to it, which lets you preserve counts across program restarts if you store the value when the program terminates. ๐ซถ
Reading cumulative will reset the counters property. All the cumulative counters get updated so that no counts will be lost. Reads of counters can be interspersed without losing cumulative accuracy.
Note:cumulativerequires the caching system be compiled intolibow. ๐ซ
ALL is an aggregate of the properties, comma separated.
๐ data
dataโ read-write, unsigned int. Contents of the LCD data byte (go look at the datasheet, iykyk). Not usually needed.
๐ LCDon
LCDonโ write-only, yes-no. Write a non-zero value to turn the LCD screen on (it also clears). Write a zero to turn it off.
๐ง line16[0-3,ALL] line20[0-3,ALL] line40[0-1,ALL]
line16[0-3,ALL],line20[0-3,ALL],line40[0-1,ALL]โ write-only, ascii. Writes text to the LCD screen. Assumes 16/20/40 char width. (This cannot be determined from the controller.)ALLis an aggregate of the properties, comma separated. Each one is set in turn.
๐ memory
memoryโ read-write, binary. 112 bytes of on-board memory. iconic little stash.
๐ซ register
registerโ read-write, unsigned int. Contents of the LCD register (datasheet, again). Not usually needed.
๐ฅ screen16 screen20 screen40
screen16,screen20,screen40โ write-only, ascii. Writes text to the LCD screen. Assumes 16/20/40 char width. (Cannot be determined from the controller.)
โญ version
versionโ read-only, ascii. Self-reported LCD controller version. 16 bytes.
๐ซถ STANDARD PROPERTIES ๐ซถ
these are the ones basically every 1-wire device has, so consider this your common core. ๐
๐ address / r_address
address,r_addressโ read-only, ascii. The entire 64-bit unique ID, given as upper case hexadecimal digits (0-9A-F).addressstarts with the family code.r_addressis the address in reverse order, which is often used in other applications and labeling.
๐ธ crc8
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).
๐ฆ 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
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_idis the id in reverse order, which is often used in other applications and labeling.
๐ locator / r_locator
locator,r_locatorโ read-only, ascii. Uses an extension of the 1-wire design from iButtonLink company that associates 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 codeFE. If no Link Locator is between the device and the master, the locator field will be allFF.r_locatoris the locator in reverse order.
๐ present (DEPRECATED)
present(DEPRECATED) โ read-only, yes-no. Is the device currently present on the 1-wire bus?
๐ง type
typeโ read-only, ascii. Part name assigned by Dallas Semi. E.g.DS2401. Alternative packaging (iButton vs chip) will not be distinguished.
๐ ALARMS ๐
None implemented. that's it. nothing to see here. moving on. ๐
๐ฅ 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. yes bestie, power over the same wire. it's giving efficiency. โก
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. so yes, it's files all the way down. ๐โจ
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. correctness > speed, no cap. ๐
๐ LCD
The LCD (3) controller is a microprocessor driven device that simulates the operation of 1-wire devices. It's creator has arbitrarily chosen the family code FF. The controller requires external power. Full details are available from the designer.
The main draw of the LCD controller is as any easy way to provide output to users. ๐ฅ๏ธโจ
๐ธ 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. โ ๏ธ (it will be checked, bestie)
๐ DATASHEET ๐
Available from http://www.louisswart.co.za/1-Wire_index.html
๐ซถ 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)
okay bestie that's literally the whole page, you ate it, no crumbs left. ๐ซถโจ this was the OWFS Manpage, dated 2003, and you've officially read all of LCD(3). go turn on a backlight for me. ๐
๐ธ
๐ฆ 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