rtcdriver.c File Reference

RTCDRV timer API implementation.

License

Copyright 2018 Silicon Laboratories Inc. www.silabs.com

The licensor of this software is Silicon Laboratories Inc. Your use of this software is governed by the terms of Silicon Labs Master Software License Agreement (MSLA) available at www.silabs.com/about-us/legal/master-software-license-agreement. This software is distributed to you in Source Code format and is governed by the sections of the MSLA applicable to Source Code.

Definition in file rtcdriver.c.

#include <string.h>
#include "em_device.h"
#include "em_cmu.h"
#include "em_common.h"
#include "em_core.h"
#include "em_rtcc.h"
#include "rtcdriver.h"

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.
 
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.
 
uint64_t RTCDRV_TicksToMsec64 (uint64_t ticks)
 Convert from RTC/RTCC ticks to milliseconds with 64-bit resolution.
 
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.