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

Event timers
[Contiki system]


Detailed Description

Event timers provides a way to generate timed events.

An event timer will post an event to the process that set the timer when the event timer expires.

An event timer is declared as a struct etimer and all access to the event timer is made by a pointer to the declared event timer.

See also:
Simple timer library

Clock library (used by the timer library)


Files

file  etimer.c
 Event timer library implementation.
file  etimer.h
 Event timer header file.

Data Structures

struct  etimer
 A timer. More...

Functions

 PROCESS_THREAD (etimer_process, ev, data)
void etimer_request_poll (void)
 Make the event timer aware that the clock has changed.
void etimer_set (struct etimer *et, clock_time_t interval)
 Set an event timer.
void etimer_reset (struct etimer *et)
 Reset an event timer with the same interval as was previously set.
void etimer_restart (struct etimer *et)
 Restart an event timer from the current point in time.
void etimer_adjust (struct etimer *et, int timediff)
 Adjust the expiration time for an event timer.
int etimer_expired (struct etimer *et)
 Check if an event timer has expired.
clock_time_t etimer_expiration_time (struct etimer *et)
 Get the expiration time for the event timer.
clock_time_t etimer_start_time (struct etimer *et)
 Get the start time for the event timer.
int etimer_pending (void)
 Check if there are any non-expired event timers.
clock_time_t etimer_next_expiration_time (void)
 Get next event timer expiration time.
void etimer_stop (struct etimer *et)
 Stop a pending event timer.


Function Documentation

void etimer_adjust struct etimer et,
int  td
 

Adjust the expiration time for an event timer.

Parameters:
et A pointer to the event timer.
td The time difference to adjust the expiration time with.
This function is used to adjust the time the event timer will expire. It can be used to synchronize periodic timers without the need to restart the timer or change the timer interval.

Note:
This function should only be used for small adjustments. For large adjustments use etimer_set() instead.

A periodic timer will drift unless the etimer_reset() function is used.

See also:
etimer_set()

etimer_reset()

Definition at line 194 of file etimer.c.

References timer::start, and timer.

clock_time_t etimer_expiration_time struct etimer et  ) 
 

Get the expiration time for the event timer.

Parameters:
et A pointer to the event timer
Returns:
The expiration time for the event timer.
This function returns the expiration time for an event timer.

Definition at line 207 of file etimer.c.

References timer::interval, timer::start, and timer.

int etimer_expired struct etimer et  ) 
 

Check if an event timer has expired.

Parameters:
et A pointer to the event timer
Returns:
Non-zero if the timer has expired, zero otherwise.
This function tests if an event timer has expired and returns true or false depending on its status.
Examples:
example-program.c, example-service.c, and example-use-service.c.

Definition at line 201 of file etimer.c.

References p, and PROCESS_NONE.

Referenced by tcpip_uipcall().

clock_time_t etimer_next_expiration_time void   ) 
 

Get next event timer expiration time.

Returns:
Next expiration time of all pending event timers. If there are no pending event timers this function returns 0.
This functions returns next expiration time of all pending event timers.

Definition at line 225 of file etimer.c.

References etimer_pending().

int etimer_pending void   ) 
 

Check if there are any non-expired event timers.

Returns:
True if there are active event timers, false if there are no active timers.
This function checks if there are any active event timers that have not expired.

Definition at line 219 of file etimer.c.

References NULL.

Referenced by etimer_next_expiration_time().

void etimer_request_poll void   ) 
 

Make the event timer aware that the clock has changed.

This function is used to inform the event timer module that the system clock has been updated. Typically, this function would be called from the timer interrupt handler when the clock has ticked.

Definition at line 143 of file etimer.c.

References process_poll().

Referenced by PROCESS_THREAD().

void etimer_reset struct etimer et  ) 
 

Reset an event timer with the same interval as was previously set.

Parameters:
et A pointer to the event timer.
This function resets the event timer with the same interval that was given to the event timer with the etimer_set() function. The start point of the interval is the exact time that the event timer last expired. Therefore, this function will cause the timer to be stable over time, unlike the etimer_restart() function.

See also:
etimer_restart()

Definition at line 180 of file etimer.c.

References timer, and timer_reset().

void etimer_restart struct etimer et  ) 
 

Restart an event timer from the current point in time.

Parameters:
et A pointer to the event timer.
This function restarts the event timer with the same interval that was given to the etimer_set() function. The event timer will start at the current time.

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

Definition at line 187 of file etimer.c.

References timer, and timer_restart().

Referenced by tcpip_uipcall().

void etimer_set struct etimer et,
clock_time_t  interval
 

Set an event timer.

Parameters:
et A pointer to the event timer
interval The interval before the timer expires.
This function is used to set an event timer for a time sometime in the future. When the event timer expires, the event PROCESS_EVENT_TIMER will be posted to the process that called the etimer_set() function.
Examples:
example-program.c, example-service.c, and example-use-service.c.

Definition at line 173 of file etimer.c.

References timer, and timer_set().

clock_time_t etimer_start_time struct etimer et  ) 
 

Get the start time for the event timer.

Parameters:
et A pointer to the event timer
Returns:
The start time for the event timer.
This function returns the start time (when the timer was last set) for an event timer.

Definition at line 213 of file etimer.c.

References timer::start, and timer.

void etimer_stop struct etimer et  ) 
 

Stop a pending event timer.

Parameters:
et A pointer to the pending event timer.
This function stops an event timer that has previously been set with etimer_set() or etimer_reset(). After this function has been called, the event timer will not emit any event when it expires.

Definition at line 231 of file etimer.c.

References next, NULL, p, and PROCESS_NONE.


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