µracoli Manual
Version foo
|
Data Structures | |
struct | time_stamp_t |
The timer module is inspired by Jörg Wunschs timer implementation, which can be found here: http://sax.sax.de/~joerg/avr-timer/RTC functions are implemented by use of the asynchronous clock facilities of the microcontroller.
void rtc_init | ( | void(*)(void) | tickfunc | ) |
void rtc_start | ( | void | ) |
This function starts the RTC
void rtc_stop | ( | void | ) |
This function stops the RTC
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 | ) |
This function is responsible for the setup of the hardware timers.
timer_hdl_t timer_restart | ( | timer_hdl_t | th, |
time_t | duration | ||
) |
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. |
timer_hdl_t timer_start | ( | timer_handler_t * | thfunc, |
time_t | duration, | ||
timer_arg_t | arg | ||
) |
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 | ) |
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. |
struct time_stamp_t |
typedef uint32_t time_t |
typedef uint32_t timer_arg_t |
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 |
#define MSEC | ( | v | ) | ((time_t)(v / (1.0e3 * TIMER_TICK))) |
Macro that converts the millisecond value v into TIMER_IRQ_vect ticts
#define NONE_TIMER (0) |