Data Structures | |
| struct | time_stamp_t |
Defines | |
| #define | MSEC(v) ((time_t)(v / (1.0e3 * TIMER_TICK))) |
| #define | NONE_TIMER (0) |
| #define | USEC(v) ((time_t)(v / (1.0e6 * TIMER_TICK))) |
Typedefs | |
| typedef uint32_t | time_t |
| typedef uint32_t | timer_arg_t |
| typedef time_t( | timer_handler_t )(timer_arg_t p) |
| typedef uint16_t | timer_hdl_t |
Functions | |
| void | timer_get_tstamp (time_stamp_t *ts) |
| void | timer_init (void) |
| Initialization of the timer module. | |
| timer_hdl_t | timer_restart (timer_hdl_t th, time_t duration) |
| Restarting a running timer. | |
| void | timer_set_systime (time_t sec) |
| Set the current system time given in seconds since 1.1.1970. | |
| timer_hdl_t | timer_start (timer_handler_t *thfunc, time_t duration, timer_arg_t arg) |
| Start a timer with a given handler function. | |
| timer_hdl_t | timer_stop (timer_hdl_t th) |
| Stop a running timer. | |
| time_t | timer_systime (void) |
| Return the current system time in ticks. | |
This group of functions provides a one shot timer implemenation.
It is inspired by Jörg Wunschs timer implementation, which can be found here: http://sax.sax.de/~joerg/avr-timer/
Macro that converts the millisecond value v into TIMER_IRQ_vect ticts
| #define NONE_TIMER (0) |
Symbolic name for invalid timer handle
Macro that converts the microsecond value v into TIMER_IRQ_vect ticts
| typedef uint32_t time_t |
Data type for time values (measured in number of system ticks).
| typedef uint32_t timer_arg_t |
Data type for the argument of a timer handler function.
| typedef time_t( timer_handler_t)(timer_arg_t p) |
Data type for timer expiration action function. This function is called, when the expiration time is over. When luanched, the function is called with a parameter p of type .timer_arg_t. If the function returns a value, which is greate then 0, the timer is restarted again.
| typedef uint16_t timer_hdl_t |
Data type for a timer handle (a reference number to identify a running timer).
| void timer_get_tstamp | ( | time_stamp_t * | ts | ) |
Function that returns the internal system time counters as "libpcap" compatible time stamp.
| ts | timestamp data structure |
| void timer_init | ( | void | ) |
Initialization of the timer module.
| timer_hdl_t timer_restart | ( | timer_hdl_t | th, |
| time_t | duration | ||
| ) |
Restarting a running timer.
If the timer is found in the timer queue, then it is rstarted with the new duration value.
| th | Handle of the timer. The timer needs to exist in the timer queue, e.g. it is started with timer_start() and not yet expired. |
| duration | time in system ticks from now, when the timer expires. |
| void timer_set_systime | ( | time_t | sec | ) |
Set the current system time given in seconds since 1.1.1970.
| timer_hdl_t timer_start | ( | timer_handler_t * | thfunc, |
| time_t | duration, | ||
| timer_arg_t | arg | ||
| ) |
Start a timer with a given handler function.
This function initially creates a timer and assigns a timer handle to it. The timer handle is reference number, which identifies the timer uniquely and is needed for restart and stop a running timer.
| thfunc | pointer to a function, which is called when the timer expires. |
| duration | time in system ticks from now, when the timer expires. |
| arg | argument, which is passed to the timer function. |
| timer_hdl_t timer_stop | ( | timer_hdl_t | th | ) |
Stop a running timer.
| th | Handle of the timer. The timer needs to exist in the timer queue, e.g. it is started with timer_start() and not yet expired. |
| time_t timer_systime | ( | void | ) |
Return the current system time in ticks.