Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Examples

Timer library
[Contiki system]


Detailed Description

The Contiki kernel does not provide support for timed events.

Rather, an application that wants to use timers needs to explicitly use the timer library.

The timer library provides functions for setting, resetting and restarting timers, and for checking if a timer has expired. An application must "manually" check if its timers have expired; this is not done automatically.

A timer is declared as a struct timer and all access to the timer is made by a pointer to the declared timer.

Note:
The timer library is not able to post events when a timer expires. The Event timers should be used for this purpose.

The timer library uses the Clock library to measure time. Intervals should be specified in the format used by the clock library.

See also:
Event timers


Files

file  timer.h
 Timer library header file.
file  timer.c
 Timer library implementation.

Data Structures

struct  timer
 A timer. More...

Functions

void timer_set (struct timer *t, clock_time_t interval)
 Set a timer.
void timer_reset (struct timer *t)
 Reset the timer with the same interval.
void timer_restart (struct timer *t)
 Restart the timer from the current point in time.
int timer_expired (struct timer *t)
 Check if a timer has expired.


Function Documentation

int timer_expired struct timer t  ) 
 

Check if a timer has expired.

This function tests if a timer has expired and returns true or false depending on its status.

Parameters:
t A pointer to the timer
Returns:
Non-zero if the timer has expired, zero otherwise.

Definition at line 122 of file timer.c.

References clock_time(), interval, and start.

Referenced by PROCESS_THREAD(), and PT_THREAD().

void timer_reset struct timer t  ) 
 

Reset the timer with the same interval.

This function resets the timer with the same interval that was given to the timer_set() function. The start point of the interval is the exact time that the timer last expired. Therefore, this function will cause the timer to be stable over time, unlike the timer_rester() function.

Parameters:
t A pointer to the timer.
See also:
timer_restart()

Definition at line 85 of file timer.c.

References interval, and start.

Referenced by etimer_reset(), and PROCESS_THREAD().

void timer_restart struct timer t  ) 
 

Restart the timer from the current point in time.

This function restarts a timer with the same interval that was given to the timer_set() function. The timer will start at the current time.

Note:
A periodic timer will drift if this function is used to reset it. For preioric timers, use the timer_reset() function instead.
Parameters:
t A pointer to the timer.
See also:
timer_reset()

Definition at line 105 of file timer.c.

References clock_time(), and start.

Referenced by etimer_restart(), and PT_THREAD().

void timer_set struct timer t,
clock_time_t  interval
 

Set a timer.

This function is used to set a timer for a time sometime in the future. The function timer_expired() will evaluate to true after the timer has expired.

Parameters:
t A pointer to the timer
interval The interval before the timer expires.

Definition at line 65 of file timer.c.

References clock_time(), interval, and start.

Referenced by etimer_set(), PROCESS_THREAD(), and tr1001_init().


Generated on Thu Jun 22 17:45:43 2006 for Contiki 2.x by  doxygen 1.4.4