RainbowBS Manual: Event timers

RainbowBS

RainbowBS Manual  v0.1.0
Written by QWQ([email protected])
Event timers

Data Structures

struct  etime_struct
 Event timer structure. More...
 

Typedefs

typedef struct etime_struct tETIME
 Event timer structure. More...
 

etimer functions called from application programs

void etimer_set (tETIME *ptEtime, TICK interval)
 Set an event timer. More...
 
void etimer_reset (tETIME *ptEtime)
 Reset an event timer with the same interval as was previously set. More...
 
void etimer_restart (tETIME *ptEtime)
 Restart an event timer from the current point in time. More...
 
void etimer_adjust (tETIME *ptEtime, int timediff)
 Adjust the expiration time for an event timer. More...
 
TICK etimer_expiration_time (tETIME *ptEtime)
 Get the expiration time for the event timer. More...
 
TICK etimer_start_time (tETIME *ptEtime)
 Get the start time for the event timer. More...
 
BOOL etimer_expired (tETIME *ptEtime)
 Check if an event timer has expired. More...
 
void etimer_stop (tETIME *ptEtime)
 Stop a pending event timer. More...
 

etimer functions called from timer interrupts,by the system

void etimer_request_poll (void)
 Make the event timer aware that the clock has changed. More...
 
BOOL etimer_pending (void)
 Check if there are any non-expired event timers. More...
 

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.

Typedef Documentation

typedef struct etime_struct tETIME

This structure is used for declaring a timer.The timer must be set with etimer_set() before it can be used.

Function Documentation

void etimer_adjust ( tETIME ptEtime,
int  timediff 
)

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.

Parameters
[in,out]ptEtimeA pointer to the event timer.
[in]timediffThe time difference to adjust the expiration time with.
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()
TICK etimer_expiration_time ( tETIME ptEtime)

This function returns the expiration time for an event timer.

Parameters
[in,out]ptEtimeA pointer to the event timer.
Returns
The expiration time for the event timer.
BOOL etimer_expired ( tETIME ptEtime)

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

Parameters
[in]ptEtimeA pointer to the event timer.
Return values
TRUEif the timer has expired.
FALSEif the timer has not expired.
BOOL etimer_pending ( void  )

This function checks if there are any active event timers that have not expired.

Return values
TRUEif there are active event timers.
FALSEif there are no active timers.
void etimer_request_poll ( void  )

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.

Here is the call graph for this function:

void etimer_reset ( tETIME ptEtime)

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.

Parameters
[in,out]ptEtimeA pointer to the event timer.
See also
etimer_restart()
void etimer_restart ( tETIME ptEtime)

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.

Parameters
[in,out]ptEtimeA pointer to the event timer.
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()

Here is the call graph for this function:

void etimer_set ( tETIME ptEtime,
TICK  interval 
)

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.

Parameters
[in,out]ptEtimeA pointer to the event timer
[in]intervalThe interval before the timer expires.

Here is the call graph for this function:

TICK etimer_start_time ( tETIME ptEtime)

This function returns the start time (when the timer was last set) for an event timer.

Parameters
[in,out]ptEtimeA pointer to the event timer
Returns
The start time for the event timer.
void etimer_stop ( tETIME ptEtime)

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.

Parameters
[in,out]ptEtimeA pointer to the pending event timer.
Generated by   doxygen 1.8.9.1