rtcdriver.c File Reference

RTCDRV timer API implementation.



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


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.