56 #include "contiki-conf.h"
58 #ifndef RTIMER_CLOCK_DIFF
59 typedef unsigned short rtimer_clock_t;
60 #define RTIMER_CLOCK_DIFF(a,b) ((signed short)((a)-(b)))
63 #define RTIMER_CLOCK_LT(a, b) (RTIMER_CLOCK_DIFF((a),(b)) < 0)
65 #include "rtimer-arch.h"
77 typedef void (* rtimer_callback_t)(
struct rtimer *t,
void *ptr);
88 rtimer_callback_t func;
96 RTIMER_ERR_ALREADY_SCHEDULED,
114 rtimer_clock_t duration, rtimer_callback_t func,
void *ptr);
135 #define RTIMER_NOW() rtimer_arch_now()
148 #define RTIMER_TIME(task) ((task)->time)
154 #define RTIMER_SECOND RTIMER_ARCH_SECOND
160 #ifdef RTIMER_CONF_GUARD_TIME
161 #define RTIMER_GUARD_TIME RTIMER_CONF_GUARD_TIME
163 #define RTIMER_GUARD_TIME (RTIMER_ARCH_SECOND >> 14)
void rtimer_arch_init(void)
We don't need to explicitly initialise anything but this routine is required by the API...
void rtimer_arch_schedule(rtimer_clock_t t)
Schedules an rtimer task to be triggered at time t.
int rtimer_set(struct rtimer *rtimer, rtimer_clock_t time, rtimer_clock_t duration, rtimer_callback_t func, void *ptr)
Post a real-time task.
void rtimer_run_next(void)
Execute the next real-time task and schedule the next task, if any.
void rtimer_init(void)
Initialize the real-time scheduler.
Representation of a real-time task.