Expand description
Async GPIO input wrapper using the existing ove_gpio_irq_register
callback path — no new C-side API needed.
The pattern differs slightly from stream / queue / sem / eventgroup
because GPIO interrupts are edge-triggered events rather than
“data became available”. We pair an AtomicWaker with an
AtomicBool latch: the IRQ trampoline sets the bool and wakes the
waker; the consumer clears the bool on drain. This guards against
the edge firing between user-side “register waker” and “go to
sleep”.
Structs§
- Async
Input - Async wrapper around a GPIO input pin.