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
Definition at line 48 of file timer.h.
Symbolic name for invalid timer handle
Definition at line 98 of file timer.h.
#define USEC |
( |
|
v |
) |
((time_t)(v / (1.0e6 * TIMER_TICK))) |
Macro that converts the microsecond value v into TIMER_IRQ_vect ticts
Definition at line 50 of file timer.h.
Typedef Documentation
Data type for time values (measured in number of system ticks).
Definition at line 64 of file timer.h.
Data type for the argument of a timer handler function.
Definition at line 80 of file timer.h.
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.
Definition at line 95 of file timer.h.
Data type for a timer handle (a reference number to identify a running timer).
Definition at line 86 of file timer.h.
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.