#ifndef _INTERNALS_TIMER_H #define _INTERNALS_TIMER_H 1 /* struct Timer This structure holds information for a running timer. */ struct Timer { void (*callback)(void); int repeats; }; extern struct Timer timers[3]; /* struct mod_tmu This structure holds information about the timer unit (peripheral module) registers. */ struct mod_tmu { unsigned int TCOR; // Timer constant register. unsigned int TCNT; // Timer counter. union { unsigned short WORD; struct { unsigned :7; unsigned UNF :1; // Underflow flag. unsigned :2; unsigned UNIE :1; // Underflow interrupt enable. unsigned CKEG :2; // Clock edge (SH7705 only). unsigned TPSC :3; // Timer prescaler. }; } TCR; // Timer control register. }; /* timer_get() Returns the timer and TSTR register addresses. */ void timer_get(int timer, volatile struct mod_tmu **tmu, volatile unsigned char **tstr); #endif // _INTERNALS_TIMER_H