Argon RTOS
1.3.0
Tiny embedded real-time kernel
|
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 void(* ar_timer_entry_t) (ar_timer_t *timer, void *param) |
Callback routine for timer expiration.
enum ar_timer_mode_t |
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.
timer | Pointer to storage for the new timer. |
name | The name of the timer. May be NULL. |
callback | Callback function that will be executed when the timer expires. |
param | Arbitrary pointer-sized argument that is passed to the timer callback routine. |
timerMode | Whether to create a one-shot or periodic timer. Pass either kArOneShotTimer or kArPeriodicTimer. |
delay | The timer delay in milliseconds. The timer will fire this number of milliseconds after the ar_timer_start() API is called. |
kArSuccess | The timer was created successfully. |
ar_status_t ar_timer_delete | ( | ar_timer_t * | timer | ) |
Delete a timer.
timer | The timer object. |
kArSuccess | The timer was deleted successfully. |
uint32_t ar_timer_get_delay | ( | ar_timer_t * | timer | ) |
Get the current delay for the timer.
timer | The timer object. |
const char* ar_timer_get_name | ( | ar_timer_t * | timer | ) |
Get the timer's name.
timer | The timer object. |
bool ar_timer_is_active | ( | ar_timer_t * | timer | ) |
Returns whether the timer is currently running.
timer | The timer object. |
true | The timer is running. |
false | The timer is stopped. |
ar_status_t ar_timer_set_delay | ( | ar_timer_t * | timer, |
uint32_t | newDelay | ||
) |
Adjust the timer's delay.
timer | The timer object. |
newDelay | New delay value for the timer in milliseconds. |
kArSuccess | The timer's delay was modified. |
ar_status_t ar_timer_start | ( | ar_timer_t * | timer | ) |
Start the timer running.
timer | The timer object. |
kArSuccess | The timer was started successfully. |
ar_status_t ar_timer_stop | ( | ar_timer_t * | timer | ) |
Stop the timer.
timer | The timer object. |
kArSuccess | The timer was stopped successfully. |