ISR(TIMER1_COMPA_vect)
{
++ao_tick_count;
- if ((int16_t) (ao_tick_count - ao_wakeup_count) >= 0)
+ if ((AO_TICK_SIGNED) (ao_tick_count - ao_wakeup_count) >= 0)
ao_wakeup((void *) &ao_tick_count);
}
-uint16_t
+AO_TICK_TYPE
ao_time(void)
{
- uint16_t r;
+ AO_TICK_TYPE r;
cli();
r = ao_tick_count;
}
void
-ao_delay_until(uint16_t target)
+ao_delay_until(AO_TICK_TYPE target)
{
cli();
ao_wakeup_count = target;
- while ((int16_t) (target - ao_tick_count) > 0)
+ while ((AO_TICK_SIGNED) (target - ao_tick_count) > 0)
ao_sleep((void *) &ao_tick_count);
sei();
}
void
-ao_delay(uint16_t ticks)
+ao_delay(AO_TICK_TYPE ticks)
{
ao_delay_until(ao_time() + ticks);
}