rtcdriver.h File Reference
RTCDRV timer API definition.
- Version
- 5.4.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) |
Illegal timer id. | |
#define | ECODE_EMDRV_RTCDRV_OK (ECODE_OK) |
Success return value. | |
#define | ECODE_EMDRV_RTCDRV_PARAM_ERROR (ECODE_EMDRV_RTCDRV_BASE | 0x00000004) |
Illegal input parameter. | |
#define | ECODE_EMDRV_RTCDRV_TIMER_NOT_ALLOCATED (ECODE_EMDRV_RTCDRV_BASE | 0x00000003) |
Timer is not allocated. | |
#define | ECODE_EMDRV_RTCDRV_TIMER_NOT_RUNNING (ECODE_EMDRV_RTCDRV_BASE | 0x00000005) |
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 elapse. | |
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 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 wallclock tick count as a 64 bit value. This will never overflow. | |
Ecode_t | RTCDRV_Init (void) |
Initialize 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. | |