#include "isr.h"
#include "bit.h"
-/* Only access when in ISR or if interrupts are disabled */
+/* Used by 'inline' functions, etc. User code should not access _tmr_ticks
+ * directly unless interrupts are off; otherwise use tmr_time().
+ */
extern persistent tmr_time_t _tmr_ticks;
+extern tmr_bitno_t _tmr_on;
+extern tmr_bitno_t _tmr_periodic;
/* Initialize the tmr subsystem */
void tmr_init();
+/* Return non-zero if any timer events are pending */
+#define tmr_events() (_tmr_on)
+
/* Return non-zero if the timer is on */
/* FIXME: this may not be atomic WRT ISR */
#define tmr_on(t) (bit_get(_tmr_on, (t)))