00001 00028 #ifndef TIMER_H 00029 #define TIMER_H 00030 00031 #include <compiler.h> 00032 00033 enum { 00034 TIMEOUT_ONESHOT, 00035 TIMEOUT_PERIODIC 00036 }; 00037 00038 #define INVALID_TIMER_ID 0xFFFFFFFF 00039 00040 void timer_init(void (*tick_isr) (void* ctx), void* ctx); 00041 void timer_poll(void); 00042 void timer_delay(U32 ms); 00043 U32 timer_sched_timeout_cb(U32 ms, U8 type, void (*cb)(void *ctx), void* ctx); 00044 void timer_cancel_timeout(U32 id); 00045 U32 timer_get_ms(void); 00046 00047 #define TIMER_HZ 4 00048 00049 #endif