Module avr_oxide::hal::generic::port::handlers

source ·
Expand description

A place to stash handlers for pin interrupts.

Originally, each port held a simple array of function references, one for each pin. Unfortunately, smaller devices like ATmega4809 have a lot of pins, but not a lot of RAM, and this was an unacceptable waste of memory. So now we have this global handler stash instead.

Structs§

  • A set of pins, indexed by the index returned by our global_index_for_pin function in the PinIdentityGenerator trait.

Functions§

  • Return a reference to a global singleton instance of $type. Interrupts will be locked for the duration of the call to ensure consistency; if calling from a context wherein interrupts are already disabled, calling $accessor_isolated() will be more efficient.
  • Return a reference to the global singleton instance of $type. The caller should pass an isolation token obtained by avr_oxide::concurrency::interrupt::isolated()