- // cycle timers are callbacks that will be called when "when" cycle is reached
- // the bitmap allows quick knowledge of whether there is anything to call
- // these timers are one shots, then get cleared if the timer function returns zero,
- // they get reset if the callback function returns a new cycle number
- uint32_t cycle_timer_map;
- avr_cycle_count_t next_cycle_timer;
- struct {
- avr_cycle_count_t when;
- avr_cycle_timer_t timer;
- void * param;
- } cycle_timer[32];
-
- // interrupt vectors, and their enable/clear registers
- struct avr_int_vector_t * vector[64];
- uint8_t pending_wait; // number of cycles to wait for pending
- uint32_t pending[2]; // pending interrupts
+ // cycle timers tracking & delivery
+ avr_cycle_timer_pool_t cycle_timers;
+ // interrupt vectors and delivery fifo
+ avr_int_table_t interrupts;