5 #include <lt_timer_types.h>
8 #include <system_def.h>
12 #ifndef LT_TIMER_VAR_LOC
13 #define LT_TIMER_VAR_LOC
16 static lt_ticks_t LT_TIMER_VAR_LOC last_ticks;
17 static lt_mstime_t LT_TIMER_VAR_LOC actual_msec;
19 /* Declaration of ulan light timers */
21 #define lt_get_msbase() (1000/SYS_TIMER_HZ) /* in ms */
22 #define lt_get_ticks() (get_sys_timer_ticks())
27 lt_ticks_t LT_TIMER_VAR_LOC act_ticks;
28 lt_mstime_t LT_TIMER_VAR_LOC msec_diff;
30 act_ticks=lt_get_ticks();
31 msec_diff=((lt_tidiff_t)(act_ticks-last_ticks))*lt_get_msbase();
34 actual_msec+=msec_diff;
38 #define LT_TIMER_DEC(cust_prefix) \
40 extern lt_mstime_t LT_TIMER_VAR_LOC cust_prefix##_last_expired; \
42 cust_prefix##_init() \
45 cust_prefix##_last_expired=actual_msec;\
48 cust_prefix##_expired(lt_mstime_t expiration) \
52 if ((lt_msdiff_t)(actual_msec-cust_prefix##_last_expired)>=expiration) {\
53 cust_prefix##_last_expired=actual_msec;\
60 #define LT_TIMER_IMP(cust_prefix) \
62 lt_mstime_t LT_TIMER_VAR_LOC cust_prefix##_last_expired; \
65 #endif /* _LT_TIMER_H */