Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Pin ¶
type Pin struct { Number uint // contains filtered or unexported fields }
Pin represents a single pin, which can be used either for reading or writing
func NewInput ¶
NewInput opens the given pin number for reading. The number provided should be the pin number known by the kernel
type Watcher ¶
type Watcher struct {
// contains filtered or unexported fields
}
Watcher provides asynchronous notifications on input changes The user should supply it pins to watch with AddPin and then wait for changes with Watch
func NewWatcher ¶
func NewWatcher() *Watcher
NewWatcher creates a new Watcher instance for asynchronous inputs
func (*Watcher) AddPin ¶
AddPin adds a new pin to be watched for changes The pin provided should be the pin known by the kernel
func (*Watcher) Close ¶
func (w *Watcher) Close()
Close stops the watcher and releases all resources
func (*Watcher) Watch ¶
Watch blocks until one change occurs on one of the watched pins It returns the pin which changed and its new value Because the Watcher is not perfectly realtime it may miss very high frequency changes If that happens, it's possible to see consecutive changes with the same value Also, if the input is connected to a mechanical switch, the user of this library must deal with debouncing