KETCube
ketCube_rtc.h
Go to the documentation of this file.
1 
58 #ifndef __KETCUBE_RTC_H__
59 #define __KETCUBE_RTC_H__
60 
61 #include "utilities.h"
62 
63 
73 #define RTC_TEMP_COEFFICIENT ( -0.035 )
74 
78 #define RTC_TEMP_DEV_COEFFICIENT ( 0.0035 )
79 
83 #define RTC_TEMP_TURNOVER ( 25.0 )
84 
88 #define RTC_TEMP_DEV_TURNOVER ( 5.0 )
89 
90 
97 
98 extern void ketCube_RTC_StopAlarm();
99 extern uint32_t ketCube_RTC_GetMinimumTimeout();
100 extern void ketCube_RTC_SetAlarm(uint32_t timeout);
101 extern uint32_t ketCube_RTC_GetTimerElapsedTime(void);
102 extern uint32_t ketCube_RTC_GetTimerValue(void);
103 extern uint32_t ketCube_RTC_SetTimerContext(void);
104 extern uint32_t ketCube_RTC_GetTimerContext(void) ;
105 extern void ketCube_RTC_DelayMs(uint32_t delay);
106 extern void ketCube_RTC_setMcuWakeUpTime();
107 extern int16_t ketCube_RTC_getMcuWakeUpTime(void);
108 extern uint32_t ketCube_RTC_ms2Tick(TimerTime_t timeMicroSec);
109 extern TimerTime_t ketCube_RTC_Tick2ms(uint32_t tick);
110 extern uint32_t ketCube_RTC_GetCalendarTime(uint16_t *subSeconds);
111 uint32_t ketCube_RTC_GetSysTime(void);
112 extern void ketCube_RTC_BKUPWrite( uint32_t Data0, uint32_t Data1);
113 extern void ketCube_RTC_BKUPRead( uint32_t *Data0, uint32_t *Data1);
114 
115 extern uint32_t HAL_GetTick(void);
116 
117 extern void ketCube_RTC_IrqHandler(void);
118 
119 void ketCube_RTC_AlarmAEventExec(void);
120 
131 #endif /* __KETCUBE_RTC_H__ */
ketCube_RTC_Tick2ms
TimerTime_t ketCube_RTC_Tick2ms(uint32_t tick)
converts time in ticks to time in ms
Definition: ketCube_rtc.c:291
ketCube_RTC_GetTimerValue
uint32_t ketCube_RTC_GetTimerValue(void)
Get the RTC timer value.
Definition: ketCube_rtc.c:337
ketCube_RTC_StopAlarm
void ketCube_RTC_StopAlarm()
Stop the Alarm.
Definition: ketCube_rtc.c:351
ketCube_RTC_IrqHandler
void ketCube_RTC_IrqHandler(void)
RTC IRQ Handler on the RTC Alarm.
Definition: ketCube_rtc.c:365
ketCube_RTC_BKUPRead
void ketCube_RTC_BKUPRead(uint32_t *Data0, uint32_t *Data1)
Definition: ketCube_rtc.c:635
ketCube_RTC_AlarmAEventExec
void ketCube_RTC_AlarmAEventExec(void)
Alarm A callback.
Definition: ketCube_rtc.c:695
ketCube_RTC_DelayMs
void ketCube_RTC_DelayMs(uint32_t delay)
a delay of delay ms by polling RTC
Definition: ketCube_rtc.c:378
ketCube_RTC_GetTimerElapsedTime
uint32_t ketCube_RTC_GetTimerElapsedTime(void)
Get the RTC timer elapsed time since the last Alarm was set.
Definition: ketCube_rtc.c:323
ketCube_RTC_getMcuWakeUpTime
int16_t ketCube_RTC_getMcuWakeUpTime(void)
Definition: ketCube_rtc.c:263
ketCube_RTC_GetSysTime
uint32_t ketCube_RTC_GetSysTime(void)
Get system time.
Definition: ketCube_rtc.c:617
ketCube_RTC_GetCalendarTime
uint32_t ketCube_RTC_GetCalendarTime(uint16_t *subSeconds)
Get system time.
Definition: ketCube_rtc.c:595
ketCube_RTC_SetAlarm
void ketCube_RTC_SetAlarm(uint32_t timeout)
Set the alarm.
Definition: ketCube_rtc.c:301
ketCube_RTC_ms2Tick
uint32_t ketCube_RTC_ms2Tick(TimerTime_t timeMicroSec)
converts time in ms to time in ticks
Definition: ketCube_rtc.c:281
ketCube_RTC_BKUPWrite
void ketCube_RTC_BKUPWrite(uint32_t Data0, uint32_t Data1)
Definition: ketCube_rtc.c:629
ketCube_RTC_Init
ketCube_cfg_DrvError_t ketCube_RTC_Init(void)
Initializes the RTC timer.
Definition: ketCube_rtc.c:174
ketCube_RTC_SetTimerContext
uint32_t ketCube_RTC_SetTimerContext(void)
set Time Reference set also the RTC_DateStruct and RTC_TimeStruct
Definition: ketCube_rtc.c:397
ketCube_RTC_GetTimerContext
uint32_t ketCube_RTC_GetTimerContext(void)
Get the RTC timer Reference.
Definition: ketCube_rtc.c:417
ketCube_RTC_setMcuWakeUpTime
void ketCube_RTC_setMcuWakeUpTime()
calculates the wake up time between wake up and mcu start
Definition: ketCube_rtc.c:237
HAL_GetTick
uint32_t HAL_GetTick(void)
HAL_GetTick RTC-based replacement.
Definition: ketCube_rtc.c:406
ketCube_cfg_DrvError_t
ketCube_cfg_DrvError_t
Error code type.
Definition: ketCube_cfg.h:108
ketCube_RTC_GetMinimumTimeout
uint32_t ketCube_RTC_GetMinimumTimeout()
returns the wake up time in ticks
Definition: ketCube_rtc.c:272