Argon RTOS  1.3.0
Tiny embedded real-time kernel
+ Collaboration diagram for Timers:

Description

Timer API.

Classes

struct  ar_timer_t
 Timer. More...
 
class  Ar::Timer
 Timer object. More...
 
class  Ar::TimerWithMemberCallback< T >
 Timer object taking a member function callback. More...
 

Enumerations

enum  ar_timer_mode_t {
  kArOneShotTimer,
  kArPeriodicTimer
}
 Modes of operation for timers. More...
 

Function types

typedef void(* ar_timer_entry_t) (ar_timer_t *timer, void *param)
 Callback routine for timer expiration. More...
 

Timers

ar_status_t ar_timer_create (ar_timer_t *timer, const char *name, ar_timer_entry_t callback, void *param, ar_timer_mode_t timerMode, uint32_t delay)
 Create a new timer. More...
 
ar_status_t ar_timer_delete (ar_timer_t *timer)
 Delete a timer. More...
 
ar_status_t ar_timer_start (ar_timer_t *timer)
 Start the timer running. More...
 
ar_status_t ar_timer_stop (ar_timer_t *timer)
 Stop the timer. More...
 
bool ar_timer_is_active (ar_timer_t *timer)
 Returns whether the timer is currently running. More...
 
ar_status_t ar_timer_set_delay (ar_timer_t *timer, uint32_t newDelay)
 Adjust the timer's delay. More...
 
uint32_t ar_timer_get_delay (ar_timer_t *timer)
 Get the current delay for the timer. More...
 
const char * ar_timer_get_name (ar_timer_t *timer)
 Get the timer's name. More...
 

Typedef Documentation

◆ ar_timer_entry_t

typedef void(* ar_timer_entry_t) (ar_timer_t *timer, void *param)

Callback routine for timer expiration.

Enumeration Type Documentation

◆ ar_timer_mode_t

Modes of operation for timers.

Enumerator
kArOneShotTimer 

Timer fires a single time.

kArPeriodicTimer 

Timer repeatedly fires every time the interval elapses.

Function Documentation

◆ ar_timer_create()

ar_status_t ar_timer_create ( ar_timer_t *  timer,
const char *  name,
ar_timer_entry_t  callback,
void *  param,
ar_timer_mode_t  timerMode,
uint32_t  delay 
)

Create a new timer.

Parameters
timerPointer to storage for the new timer.
nameThe name of the timer. May be NULL.
callbackCallback function that will be executed when the timer expires.
paramArbitrary pointer-sized argument that is passed to the timer callback routine.
timerModeWhether to create a one-shot or periodic timer. Pass either kArOneShotTimer or kArPeriodicTimer.
delayThe timer delay in milliseconds. The timer will fire this number of milliseconds after the ar_timer_start() API is called.
Return values
kArSuccessThe timer was created successfully.

◆ ar_timer_delete()

ar_status_t ar_timer_delete ( ar_timer_t *  timer)

Delete a timer.

Parameters
timerThe timer object.
Return values
kArSuccessThe timer was deleted successfully.

◆ ar_timer_get_delay()

uint32_t ar_timer_get_delay ( ar_timer_t *  timer)

Get the current delay for the timer.

Parameters
timerThe timer object.
Returns
The timer's delay in milliseconds.

◆ ar_timer_get_name()

const char* ar_timer_get_name ( ar_timer_t *  timer)

Get the timer's name.

Parameters
timerThe timer object.
Returns
The name of the timer.

◆ ar_timer_is_active()

bool ar_timer_is_active ( ar_timer_t *  timer)

Returns whether the timer is currently running.

Parameters
timerThe timer object.
Return values
trueThe timer is running.
falseThe timer is stopped.

◆ ar_timer_set_delay()

ar_status_t ar_timer_set_delay ( ar_timer_t *  timer,
uint32_t  newDelay 
)

Adjust the timer's delay.

Parameters
timerThe timer object.
newDelayNew delay value for the timer in milliseconds.
Return values
kArSuccessThe timer's delay was modified.

◆ ar_timer_start()

ar_status_t ar_timer_start ( ar_timer_t *  timer)

Start the timer running.

Parameters
timerThe timer object.
Return values
kArSuccessThe timer was started successfully.

◆ ar_timer_stop()

ar_status_t ar_timer_stop ( ar_timer_t *  timer)

Stop the timer.

Parameters
timerThe timer object.
Return values
kArSuccessThe timer was stopped successfully.