OWLL(9)

πŸ’« OWLL(9) πŸ’«

okay bestie, gather round, because this is the Dallas Semiconductor 1-Wire Link Layer Interface and it's literally the backbone of the whole vibe. we're in the Kernel Developer's Manual section 9, and the star of the show is owll, along with its besties OWLL_WRITE_ONE, OWLL_WRITE_ZERO, OWLL_READ_DATA, and OWLL_REASET_AND_PRESENCE. πŸ¦‹


✨ SYNOPSIS ✨

int
OWLL_WRITE_ONE(device_t lldev, struct ow_timing *timing);

int
OWLL_WRITE_ZERO(device_t lldev, struct ow_timing *timing);

int
OWLL_READ_DATA(device_t lldev, struct ow_timing *timing, int *bit);

int
OWLL_RESET_AND_PRESENCE(device_t lldev, struct ow_timing *timing,
    int *bit);

🌸 DESCRIPTION 🌸

so the owll interface is your backstage pass πŸ’… β€” it gives the upper layers of the protocol access to the link layer of the Dallas Semiconductor 1-Wire. no cap.

OWLL_WRITE_ONE() and OWLL_WRITE_ZERO() write a one bit or a zero bit respectively on the 1-Wire bus. one bit, zero bit, iconic either way. ✨

OWLL_READ_DATA() reads one bit from the 1-Wire bus. the 1-Wire device data sheets are out here calling this a β€œRead Time Slot”, which, sure, go off data sheets. πŸ‘‘

OWLL_RESET_AND_PRESENCE() starts a reset sequence and detects if any device(s) are present on the bus. and bestie, this is the beginning of all 1-Wire transactions. everything starts here. main character energy fr fr. πŸŽ€


πŸ™ˆ NOTES πŸ™ˆ

this interface is intended to be used only by the ow(4) device to talk to the low-level bus. by convention, the device that implements this interface is called owc(4). only devices that implement own(9) should call these interfaces.

so like, don't just roll up and call these, okay? iykyk. 🫢


πŸ”₯ SEE ALSO πŸ”₯


1-Wire is a registered trademark of Maxim Integrated Products, Inc. πŸ’œ


🌈 HISTORY 🌈

the owll driver first appeared in FreeBSD 11.0. a classic. πŸ’€


πŸ‘‘ AUTHORS πŸ‘‘

the owll device driver and this manual page were written by Warner Losh. 🫢 absolute legend behaviour.


and that's the whole page, bestie β€” this came to you from the Debian build of the manual, dated September 22, 2016, under OWLL(9). slay, go read ow(4) next. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from