5 #include <system_def.h>
7 #include <lt_timer_types.h>
11 #ifndef LT_TIMER_VAR_LOC
12 #define LT_TIMER_VAR_LOC
15 static lt_ticks_t LT_TIMER_VAR_LOC last_ticks;
16 static lt_mstime_t LT_TIMER_VAR_LOC actual_msec;
18 /* Declaration of ulan light timers */
20 #define lt_get_msbase() (1000/SYS_TIMER_HZ) /* in ms */
21 #define lt_get_ticks() (get_sys_timer_ticks())
26 lt_ticks_t LT_TIMER_VAR_LOC act_ticks;
27 lt_mstime_t LT_TIMER_VAR_LOC msec_diff;
29 act_ticks=lt_get_ticks();
30 msec_diff=((lt_tidiff_t)(act_ticks-last_ticks))*lt_get_msbase();
33 actual_msec+=msec_diff;
37 #define LT_TIMER_DEC(cust_prefix) \
39 extern lt_mstime_t LT_TIMER_VAR_LOC cust_prefix##_last_expired; \
41 cust_prefix##_init() \
44 cust_prefix##_last_expired=actual_msec;\
47 cust_prefix##_expired(lt_mstime_t expiration) \
51 if ((lt_msdiff_t)(actual_msec-cust_prefix##_last_expired)>=expiration) {\
52 cust_prefix##_last_expired=actual_msec;\
59 #define LT_TIMER_IMP(cust_prefix) \
61 lt_mstime_t LT_TIMER_VAR_LOC cust_prefix##_last_expired; \
64 #endif /* _LT_TIMER_H */