rtcdriver.h File Reference
RTCDRV timer API definition.
- Version
- 5.5.0
License
(C) Copyright 2014 Silicon Labs, www.silabs.com
This file is licensed under the Silabs License Agreement. See the file "Silabs_License_Agreement.txt" for details. Before using this software for any purpose, you must agree to the terms of that agreement.
Definition in file
rtcdriver.h
.
#include <stdint.h>
#include <stdbool.h>
#include "
ecode.h
"
#include "rtcdrv_config.h"
Macros |
|
| #define | ECODE_EMDRV_RTCDRV_ALL_TIMERS_USED ( ECODE_EMDRV_RTCDRV_BASE | 0x00000001) |
|
No timers available.
|
|
| #define | ECODE_EMDRV_RTCDRV_ILLEGAL_TIMER_ID ( ECODE_EMDRV_RTCDRV_BASE | 0x00000002) |
|
An illegal timer ID.
|
|
| #define | ECODE_EMDRV_RTCDRV_OK ( ECODE_OK ) |
|
A successful return value.
|
|
| #define | ECODE_EMDRV_RTCDRV_PARAM_ERROR ( ECODE_EMDRV_RTCDRV_BASE | 0x00000004) |
|
An illegal input parameter.
|
|
| #define | ECODE_EMDRV_RTCDRV_TIMER_NOT_ALLOCATED ( ECODE_EMDRV_RTCDRV_BASE | 0x00000003) |
|
A timer is not allocated.
|
|
| #define | ECODE_EMDRV_RTCDRV_TIMER_NOT_RUNNING ( ECODE_EMDRV_RTCDRV_BASE | 0x00000005) |
|
A timer is not running.
|
|
Typedefs |
|
| typedef void(* | RTCDRV_Callback_t ) ( RTCDRV_TimerID_t id, void *user) |
|
Typedef for the user supplied callback function which is called when a timer elapses.
|
|
| typedef uint32_t | RTCDRV_TimerID_t |
|
Timer ID.
|
|
Enumerations |
|
| enum |
RTCDRV_TimerType_t
{
rtcdrvTimerTypeOneshot = 0, rtcdrvTimerTypePeriodic = 1 } |
|
Timer type enumerator.
|
|
Functions |
|
| Ecode_t | RTCDRV_AllocateTimer ( RTCDRV_TimerID_t *id) |
|
Allocate timer.
|
|
| Ecode_t | RTCDRV_DeInit (void) |
|
Deinitialize the RTCDRV driver.
|
|
| Ecode_t | RTCDRV_Delay (uint32_t ms) |
|
Millisecond delay function.
|
|
| Ecode_t | RTCDRV_FreeTimer ( RTCDRV_TimerID_t id) |
|
Free timer.
|
|
| uint32_t | RTCDRV_GetWallClock (void) |
|
Get wallclock time.
|
|
| uint32_t | RTCDRV_GetWallClockTicks32 (void) |
|
Get wallclock tick count as a 32bit value. At 4 ticks per millisecond, overflow occurs after approximately 12.5 days.
|
|
| uint64_t | RTCDRV_GetWallClockTicks64 (void) |
|
Get a wallclock tick count as a 64 bit value. This will never overflow.
|
|
| Ecode_t | RTCDRV_Init (void) |
|
Initialize the RTCDRV driver.
|
|
| Ecode_t | RTCDRV_IsRunning ( RTCDRV_TimerID_t id, bool *isRunning) |
|
Check if a given timer is running.
|
|
| uint64_t | RTCDRV_MsecsToTicks (uint32_t ms) |
|
Convert from milliseconds to RTC/RTCC ticks.
|
|
| uint64_t | RTCDRV_SecsToTicks (uint32_t secs) |
|
Convert from seconds to RTC/RTCC ticks.
|
|
| Ecode_t | RTCDRV_SetWallClock (uint32_t secs) |
|
Set wallclock time.
|
|
| Ecode_t | RTCDRV_StartTimer ( RTCDRV_TimerID_t id, RTCDRV_TimerType_t type, uint32_t timeout, RTCDRV_Callback_t callback, void *user) |
|
Start a timer.
|
|
| Ecode_t | RTCDRV_StopTimer ( RTCDRV_TimerID_t id) |
|
Stop a given timer.
|
|
| uint32_t | RTCDRV_TicksToMsec (uint64_t ticks) |
|
Convert from RTC/RTCC ticks to milliseconds.
|
|
| uint32_t | RTCDRV_TicksToSec (uint64_t ticks) |
|
Convert from RTC/RTCC ticks to seconds.
|
|
| Ecode_t | RTCDRV_TimeRemaining ( RTCDRV_TimerID_t id, uint32_t *timeRemaining) |
|
Get time left before a given timer expires.
|
|