This namespace provides utilities for opening a GPIO device in order to :
- Request some information (eg. about a line).
- Request a handle for driving one or several lines at once.
- Request a watcher for efficiently monitoring one or several lines.
A handle controls all the lines it is responsible for at once. Whether those lines are actually driven exactly at the same time, atomically, depends on the underlying driver and is opaque to this library.
A watcher is used essentially for interrupts. Requested events, such as a line transitioning from false to true, are queued by the kernel until read. However, Linux not being a real-time OS, such "interrupts" are imperfect and should not be used for critical tasks where a simple microcontroller will be of a better fit.
Lines are abstracted by associating a line number with a tag (ie. any value meant to be more representative of what the line does, often a keyword).
As usual, all IO functions might throw if anything goes wrong.
All functions and important concepts are specified with clojure.spec.
This namespace provides utilities for opening a GPIO device in order to : - Request some information (eg. about a line). - Request a handle for driving one or several lines at once. - Request a watcher for efficiently monitoring one or several lines. A handle controls all the lines it is responsible for at once. Whether those lines are actually driven exactly at the same time, atomically, depends on the underlying driver and is opaque to this library. A watcher is used essentially for interrupts. Requested events, such as a line transitioning from false to true, are queued by the kernel until read. However, Linux not being a real-time OS, such "interrupts" are imperfect and should not be used for critical tasks where a simple microcontroller will be of a better fit. Lines are abstracted by associating a line number with a tag (ie. any value meant to be more representative of what the line does, often a keyword). As usual, all IO functions might throw if anything goes wrong. All functions and important concepts are specified with clojure.spec.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close