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. | |