OWLL(9)
π OWLL(9) β the Kernel Developer's Manual page, bestie edition π
okay so this is owll(9) from the Kernel Developer's Manual, and we're about to get so cozy with the Dallas Semiconductor 1-Wire Link Layer Interface. it's giving low-level but make it cute π
β¨ NAME β¨
owll, OWLL_WRITE_ONE, OWLL_WRITE_ZERO, OWLL_READ_DATA, OWLL_REASET_AND_PRESENCE β Dallas Semiconductor 1-Wire Link Layer Interface π¦
(yes, <italic>REASET</italic> is spelled exactly like that in the NAME section, and yes, it's spelled OWLL_RESET_AND_PRESENCE down in SYNOPSIS. she contains multitudes π)
β 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);
look at those signatures, so clean, so crisp, we love a consistent return type π
π DESCRIPTION π
so the owll interface is literally your backstage pass ποΈ β it gives the upper layers of the protocol access to the link layer of the Dallas Semiconductor 1-Wire. it's the plumbing, and honestly? iconic.
OWLL_WRITE_ONE() and OWLL_WRITE_ZERO() write a one bit or a zero bit respectively on the 1-Wire bus. that's it, that's the whole vibe β one function per bit, no notes. π«Ά
OWLL_READ_DATA() reads one bit from the 1-Wire bus. the 1-Wire device data sheets call this a "Read Time Slot", so if you see that phrase in the docs, that's this function. iykyk πβ¨
the OWLL_RESET_AND_PRESENCE() function starts a reset sequence and detects if any device(s) are present on the bus. and here's the main character energy: this is the beginning of all 1-Wire transactions. every single one. no cap. π₯
π 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.
bestie, read that again β onlyow(4), only things implementingown(9). don't be the one who breaks the convention, we're all counting on you π
π¦ SEE ALSO π¦
go read those, they're the supporting cast and they ate π
βοΈ LEGAL βοΈ
1-Wire is a registered trademark of Maxim Integrated Products, Inc. gotta respect the trademark, periodt πΈ
πΈ HISTORY πΈ
the owll driver first appeared in FreeBSD 11.0. a legend was born β¨
π AUTHORS π
the owll device driver and this manual page were written by Warner Losh. thank you for your service, king π«‘π
and that's the whole page, bestie β this one's from Debian, dated September 22, 2016, and we're closing it out with the biggest ππβ vibes. stay bit-flippin' out there, and remember: reset first, then party π§β¨
π¦ where this page comes from
- freebsd 14.5: base 14.5
- freebsd 15.1: base 15.1
- nixpkgs unstable: source
- Copyright (c) 2015 M. Warner Losh <imp@FreeBSD.org>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms