Contiki-NG
Loading...
Searching...
No Matches
Seconds timer library

Data Structures

struct  stimer
 A timer. More...
 

Functions

void stimer_reset (struct stimer *t)
 Reset the timer with the same interval.
 
void stimer_restart (struct stimer *t)
 Restart the timer from the current point in time.
 
bool stimer_expired (struct stimer *t)
 Check if a timer has expired.
 
unsigned long stimer_elapsed (struct stimer *t)
 The time elapsed since the timer started.
 
static void stimer_set (struct stimer *t, unsigned long interval)
 Set a timer.
 
static unsigned long stimer_remaining (struct stimer *t)
 The time until the timer expires.
 

Detailed Description

The stimer 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 stimer and all access to the timer is made by a pointer to the declared timer.

Note
The stimer library is not able to post events when a timer expires. The Event timers should be used for this purpose.
The stimer library uses the Clock library to measure time. Intervals should be specified in the seconds.
See also
Event timers

Function Documentation

◆ stimer_elapsed()

unsigned long stimer_elapsed ( struct stimer * t)

The time elapsed since the timer started.

This function returns the time elapsed.

Parameters
tA pointer to the timer
Returns
The time elapsed since the last start of the timer

Definition at line 125 of file stimer.c.

References clock_seconds().

◆ stimer_expired()

bool stimer_expired ( struct stimer * 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
tA pointer to the timer
Returns
True if the timer has expired.

Definition at line 109 of file stimer.c.

References clock_seconds().

Referenced by stimer_reset(), and uip_ds6_periodic().

◆ stimer_remaining()

static unsigned long stimer_remaining ( struct stimer * t)
inlinestatic

The time until the timer expires.

This function returns the time until the timer expires.

Parameters
tA pointer to the timer
Returns
The time until the timer expires

Definition at line 121 of file stimer.h.

References clock_seconds().

Referenced by ra_input().

◆ stimer_reset()

void stimer_reset ( struct stimer * t)

Reset the timer with the same interval.

This function resets the timer with the same interval that was given to the stimer_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 stimer_restart() function. If this is executed before the timer expired, this function has no effect.

Parameters
tA pointer to the timer.
See also
stimer_restart()

Definition at line 70 of file stimer.c.

References stimer_expired().

◆ stimer_restart()

void stimer_restart ( struct stimer * t)

Restart the timer from the current point in time.

This function restarts a timer with the same interval that was given to the stimer_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 periodic timers, use the stimer_reset() function instead.
Parameters
tA pointer to the timer.
See also
stimer_reset()

Definition at line 92 of file stimer.c.

References clock_seconds().

◆ stimer_set()

static void stimer_set ( struct stimer * t,
unsigned long interval )
inlinestatic

Set a timer.

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

Parameters
tA pointer to the timer
intervalThe interval before the timer expires.

Definition at line 100 of file stimer.h.

References clock_seconds().

Referenced by ra_input(), tcpip_ipv6_output(), uip_ds6_addr_add(), uip_ds6_init(), and uip_ds6_nbr_add().