Starting, stopping and execution of time triggered actions.
More...
Detailed Description
Starting, stopping and execution of time triggered actions.
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/
Define Documentation
#define MSEC |
( |
|
v |
) |
((time_t)(v / (1.0e3 * TIMER_TICK))) |
Macro that converts the millisecond value v into TIMER_IRQ_vect ticts
Symbolic name for invalid timer handle
#define USEC |
( |
|
v |
) |
((time_t)(v / (1.0e6 * TIMER_TICK))) |
Macro that converts the microsecond value v into TIMER_IRQ_vect ticts
Typedef Documentation
Data type for time values (measured in number of system ticks).
Data type for the argument of a timer handler function.
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.
Data type for a timer handle (a reference number to identify a running timer).
Function Documentation
Function that returns the internal system time counters as "libpcap" compatible time stamp.
- Note:
- This routine takes ~548 cycles for execution. In case of a 8Mhz driven system, this is a 68.5 us.
- Parameters:
-
| ts | timestamp data structure |
Initialization of the timer module.
Restarting a running timer.
If the timer is found in the timer queue, then it is rstarted with the new duration value.
- Parameters:
-
| 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. |
- Returns:
- the value of NONE_TIMER if the timer could not be found in the timer queue. Otherwise the value of th.
void timer_set_systime |
( |
time_t |
sec |
) |
|
Set the current system time given in seconds since 1.1.1970.
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.
- Parameters:
-
| 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. |
- Returns:
- the value of NONE_TIMER if the timer could not be started. Otherwise a handle != NONE_TIMER, which is needed for restarting and stopping the timer.
Stop a running timer.
- Parameters:
-
| 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. |
- Returns:
- the value of NONE_TIMER if the timer could not be found in the timer queue. Otherwise the value of th.
Return the current system time in ticks.