TMPM4G9  V1.0.0.0
bsp_rtc.h
Go to the documentation of this file.
1 
13 /*------------------------------------------------------------------------------*/
14 /* Define to prevent recursive inclusion */
15 /*------------------------------------------------------------------------------*/
16 #ifndef __BSP_RTC_H
17 #define __BSP_RTC_H
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 /*------------------------------------------------------------------------------*/
24 /* Includes */
25 /*------------------------------------------------------------------------------*/
26 #include "txz_sample_def.h"
27 
37 /*------------------------------------------------------------------------------*/
38 /* Macro Function */
39 /*------------------------------------------------------------------------------*/
45 /* no define */
46  /* End of group BSP_UTILITIES_Exported_macro */
50 
51 
52 /*------------------------------------------------------------------------------*/
53 /* Configuration */
54 /*------------------------------------------------------------------------------*/
60 /* no define */
61  /* End of group BSP_UTILITIES_Exported_define */
65 
66 
67 /*------------------------------------------------------------------------------*/
68 /* Macro Definition */
69 /*------------------------------------------------------------------------------*/
81 #define RTC_RANGE_SEC_MIN ((uint8_t)0x00)
82 #define RTC_RANGE_SEC_MAX ((uint8_t)0x3B) /* End of group RTC_RangeSec */
86 
93 #define RTC_RANGE_MIN_MIN ((uint8_t)0x00)
94 #define RTC_RANGE_MIN_MAX ((uint8_t)0x3B) /* End of group RTC_RangeMin */
98 
104 #define RTC_ALARM_MIN_OFF ((uint8_t)0x7F)
105 #define RTC_ALARM_MIN_ON ((uint8_t)0x00) /* End of group RTC_AlarmMin */
109 
116 #define RTC_RANGE_24_HOUR_MIN ((uint8_t)0x00)
117 #define RTC_RANGE_24_HOUR_MAX ((uint8_t)0x17) /* End of group RTC_Range24Hour */
121 
128 #define RTC_RANGE_12_HOUR_MIN ((uint8_t)0x00)
129 #define RTC_RANGE_12_HOUR_MAX ((uint8_t)0x0B) /* End of group RTC_Range12Hour */
133 
139 #define RTC_MERIDIEM_AM ((uint8_t)0x00)
140 #define RTC_MERIDIEM_PM ((uint8_t)0x20) /* End of group RTC_Meridiem */
144 
150 #define RTC_ALARM_HOUR_OFF ((uint8_t)0x3F)
151 #define RTC_ALARM_HOUR_ON ((uint8_t)0x00) /* End of group RTC_AlarmHour */
155 
161 #define RTC_DAY_SUNDAY ((uint8_t)0x00)
162 #define RTC_DAY_MONDAY ((uint8_t)0x01)
163 #define RTC_DAY_TUESDAY ((uint8_t)0x02)
164 #define RTC_DAY_WEDNESDAY ((uint8_t)0x03)
165 #define RTC_DAY_THURSDAY ((uint8_t)0x04)
166 #define RTC_DAY_FRIDAY ((uint8_t)0x05)
167 #define RTC_DAY_SATURDAY ((uint8_t)0x06) /* End of group RTC_Day */
171 
177 #define RTC_ALARM_DAY_OFF ((uint8_t)0x03)
178 #define RTC_ALARM_DAY_ON ((uint8_t)0x00) /* End of group RTC_AlarmDay */
182 
189 #define RTC_RANGE_DATE_MIN ((uint8_t)0x00)
190 #define RTC_RANGE_DATE_MAX ((uint8_t)0x1F) /* End of group RTC_RangeDate */
194 
200 #define RTC_ALARM_DATE_OFF ((uint8_t)0x3F)
201 #define RTC_ALARM_DATE_ON ((uint8_t)0x00) /* End of group RTC_AlarmDate */
205 
211 #define RTC_MONTH_JAN ((uint8_t)0x01)
212 #define RTC_MONTH_FEB ((uint8_t)0x02)
213 #define RTC_MONTH_MAR ((uint8_t)0x03)
214 #define RTC_MONTH_APR ((uint8_t)0x04)
215 #define RTC_MONTH_MAY ((uint8_t)0x05)
216 #define RTC_MONTH_JUN ((uint8_t)0x06)
217 #define RTC_MONTH_JUL ((uint8_t)0x07)
218 #define RTC_MONTH_AUG ((uint8_t)0x08)
219 #define RTC_MONTH_SEP ((uint8_t)0x09)
220 #define RTC_MONTH_OCT ((uint8_t)0x10)
221 #define RTC_MONTH_NOV ((uint8_t)0x11)
222 #define RTC_MONTH_DEC ((uint8_t)0x12) /* End of group RTC_Month */
226 
232 #define RTC_HOUR_NOTATION_12 ((uint8_t)0x00)
233 #define RTC_HOUR_NOTATION_24 ((uint8_t)0x01) /* End of group BSP_RTC_HourNotation */
237 
244 #define RTC_RANGE_YEAR_MIN ((uint8_t)0x00)
245 #define RTC_RANGE_YEAR_MAX ((uint8_t)0x63) /* End of group RTC_RangeYear */
249 
255 #define RTC_LEAP_YEAR_0 ((uint8_t)0x00)
256 #define RTC_LEAP_YEAR_1 ((uint8_t)0x01)
257 #define RTC_LEAP_YEAR_2 ((uint8_t)0x02)
258 #define RTC_LEAP_YEAR_3 ((uint8_t)0x03) /* End of group RTC_LeapYear */
262 
268 #define RTC_INT_SRC_1HZ ((uint8_t)0x47)
269 #define RTC_INT_SRC_2HZ ((uint8_t)0xC3)
270 #define RTC_INT_SRC_4HZ ((uint8_t)0xC5)
271 #define RTC_INT_SRC_8HZ ((uint8_t)0xC6)
272 #define RTC_INT_SRC_16HZ ((uint8_t)0x87)
273 #define RTC_INT_SRC_ALARM ((uint8_t)0xC7) /* End of group RTC_IntSource */
277  /* End of group BSP_UTILITIES_Exported_define */
281 
282 
283 /*------------------------------------------------------------------------------*/
284 /* Enumerated Type Definition */
285 /*------------------------------------------------------------------------------*/
291 /* no define */
292  /* End of group BSP_UTILITIES_Exported_define */
296 
297 /*------------------------------------------------------------------------------*/
298 /* Structure Definition */
299 /*------------------------------------------------------------------------------*/
304 /*----------------------------------*/
308 /*----------------------------------*/
309 typedef struct uart_handle
310 {
312 } rtc_t; /* End of group BSP_UTILITIES_Exported_define */
316 
317 
318 /*------------------------------------------------------------------------------*/
319 /* Functions */
320 /*------------------------------------------------------------------------------*/
325 TXZ_Result rtc_init(rtc_t *p_obj);
326 TXZ_Result rtc_deinit(rtc_t *p_obj);
329 TXZ_Result rtc_set_int_source(rtc_t *p_obj, uint8_t src);
330 TXZ_Result rtc_set_hour_notation(rtc_t *p_obj, uint8_t notation);
331 TXZ_Result rtc_get_hour_notation(rtc_t *p_obj, uint8_t *p_notation);
332 /* clock */
336 TXZ_Result rtc_clock_set_sec(rtc_t *p_obj, uint8_t sec);
337 TXZ_Result rtc_clock_get_sec(rtc_t *p_obj, uint8_t *p_sec);
338 TXZ_Result rtc_clock_set_min(rtc_t *p_obj, uint8_t min);
339 TXZ_Result rtc_clock_get_min(rtc_t *p_obj, uint8_t *p_min);
340 TXZ_Result rtc_clock_set_hour_24(rtc_t *p_obj, uint8_t hour);
341 TXZ_Result rtc_clock_get_hour_24(rtc_t *p_obj, uint8_t *p_hour);
342 TXZ_Result rtc_clock_set_hour_12(rtc_t *p_obj, uint8_t meridiem, uint8_t hour);
343 TXZ_Result rtc_clock_get_hour_12(rtc_t *p_obj, uint8_t *p_meridiem, uint8_t *p_hour);
344 TXZ_Result rtc_clock_set_day(rtc_t *p_obj, uint8_t day);
345 TXZ_Result rtc_clock_get_day(rtc_t *p_obj, uint8_t *p_day);
346 TXZ_Result rtc_clock_set_date(rtc_t *p_obj, uint8_t date);
347 TXZ_Result rtc_clock_get_date(rtc_t *p_obj, uint8_t *p_date);
348 TXZ_Result rtc_clock_set_month(rtc_t *p_obj, uint8_t month);
349 TXZ_Result rtc_clock_get_month(rtc_t *p_obj, uint8_t *p_month);
350 TXZ_Result rtc_clock_set_year(rtc_t *p_obj, uint8_t year);
351 TXZ_Result rtc_clock_get_year(rtc_t *p_obj, uint8_t *p_year);
352 TXZ_Result rtc_clock_set_leap(rtc_t *p_obj, uint8_t leap);
353 TXZ_Result rtc_clock_get_leap(rtc_t *p_obj, uint8_t *p_leap);
354 /* alarm */
358 TXZ_Result rtc_alarm_set_min(rtc_t *p_obj, uint8_t compare, uint8_t min);
359 TXZ_Result rtc_alarm_get_min(rtc_t *p_obj, uint8_t *p_compare, uint8_t *p_min);
360 TXZ_Result rtc_alarm_set_hour_24(rtc_t *p_obj, uint8_t compare, uint8_t hour);
361 TXZ_Result rtc_alarm_get_hour_24(rtc_t *p_obj, uint8_t *p_compare, uint8_t *p_hour);
362 TXZ_Result rtc_alarm_set_hour_12(rtc_t *p_obj, uint8_t compare, uint8_t meridiem, uint8_t hour);
363 TXZ_Result rtc_alarm_get_hour_12(rtc_t *p_obj, uint8_t *p_compare, uint8_t *p_meridiem, uint8_t *p_hour);
364 TXZ_Result rtc_alarm_set_day(rtc_t *p_obj, uint8_t compare, uint8_t day);
365 TXZ_Result rtc_alarm_get_day(rtc_t *p_obj, uint8_t *p_compare, uint8_t *p_day);
366 TXZ_Result rtc_alarm_set_date(rtc_t *p_obj, uint8_t compare, uint8_t date);
367 TXZ_Result rtc_alarm_get_date(rtc_t *p_obj, uint8_t *p_compare, uint8_t *p_date); /* End of group BSP_UTILITIES_Exported_functions */
371  /* End of group BSP_UTILITIES */
375  /* End of group Sample_Appli */
379 
380 #ifdef __cplusplus
381 }
382 #endif /* __cplusplus */
383 #endif /* __BSP_RTC_H */
384 
385 
TXZ_Result rtc_clock_set_hour_24(rtc_t *p_obj, uint8_t hour)
Set clock hour.
Definition: bsp_rtc.c:1387
TXZ_Result rtc_alarm_enable(rtc_t *p_obj)
Enable alarm.
Definition: bsp_rtc.c:1989
TXZ_Result rtc_clock_get_date(rtc_t *p_obj, uint8_t *p_date)
Get clock date.
Definition: bsp_rtc.c:1698
TXZ_Result rtc_alarm_set_hour_24(rtc_t *p_obj, uint8_t compare, uint8_t hour)
Set alarm hour.
Definition: bsp_rtc.c:2212
TXZ_Result rtc_clock_get_year(rtc_t *p_obj, uint8_t *p_year)
Get clock year.
Definition: bsp_rtc.c:1863
TXZ_Result rtc_clock_get_month(rtc_t *p_obj, uint8_t *p_month)
Get clock month.
Definition: bsp_rtc.c:1782
TXZ_Result
Definition: txz_driver_def.h:43
TXZ_Result rtc_deinit(rtc_t *p_obj)
Destruct object.
Definition: bsp_rtc.c:849
TXZ_Result rtc_clock_set_year(rtc_t *p_obj, uint8_t year)
Set clock year.
Definition: bsp_rtc.c:1822
struct uart_handle rtc_t
RTC handle structure definenition.
RTC handle structure definenition.
Definition: bsp_rtc.h:309
TXZ_Result rtc_clock_disable(rtc_t *p_obj)
Disable clock(timer).
Definition: bsp_rtc.c:1133
TXZ_Result rtc_alarm_set_date(rtc_t *p_obj, uint8_t compare, uint8_t date)
Set alarm date.
Definition: bsp_rtc.c:2557
TXZ_Result rtc_clock_set_sec(rtc_t *p_obj, uint8_t sec)
Set clock second.
Definition: bsp_rtc.c:1218
TXZ_Result rtc_get_hour_notation(rtc_t *p_obj, uint8_t *p_notation)
Get hour notation.
Definition: bsp_rtc.c:1054
TXZ_Result rtc_disable_int(rtc_t *p_obj)
Disable INTRTC.
Definition: bsp_rtc.c:935
TXZ_Result rtc_clock_set_min(rtc_t *p_obj, uint8_t min)
Set clock minute.
Definition: bsp_rtc.c:1302
TXZ_Result rtc_enable_int(rtc_t *p_obj)
Enable INTRTC.
Definition: bsp_rtc.c:898
TSB_RTC_TypeDef * p_instance
Definition: bsp_rtc.h:311
TXZ_Result rtc_clock_set_leap(rtc_t *p_obj, uint8_t leap)
Set clock leap.
Definition: bsp_rtc.c:1906
TXZ_Result rtc_clock_set_date(rtc_t *p_obj, uint8_t date)
Set clock date.
Definition: bsp_rtc.c:1657
TXZ_Result rtc_init(rtc_t *p_obj)
Construct object.
Definition: bsp_rtc.c:782
TXZ_Result rtc_alarm_reset(rtc_t *p_obj)
Reset alarm.
Definition: bsp_rtc.c:2063
TXZ_Result rtc_clock_set_hour_12(rtc_t *p_obj, uint8_t meridiem, uint8_t hour)
Set clock hour.
Definition: bsp_rtc.c:1474
TXZ_Result rtc_set_int_source(rtc_t *p_obj, uint8_t src)
Set interrupt source signal.
Definition: bsp_rtc.c:973
TXZ_Result rtc_clock_get_hour_12(rtc_t *p_obj, uint8_t *p_meridiem, uint8_t *p_hour)
Get clock hour.
Definition: bsp_rtc.c:1522
TXZ_Result rtc_clock_get_day(rtc_t *p_obj, uint8_t *p_day)
Get clock day.
Definition: bsp_rtc.c:1617
TXZ_Result rtc_alarm_get_day(rtc_t *p_obj, uint8_t *p_compare, uint8_t *p_day)
Get alarm day.
Definition: bsp_rtc.c:2500
TXZ_Result rtc_alarm_get_min(rtc_t *p_obj, uint8_t *p_compare, uint8_t *p_min)
Get alarm minute.
Definition: bsp_rtc.c:2154
TXZ_Result rtc_set_hour_notation(rtc_t *p_obj, uint8_t notation)
Set hour notation.
Definition: bsp_rtc.c:1013
TXZ_Result rtc_clock_reset_counter(rtc_t *p_obj)
Reset the second counter.
Definition: bsp_rtc.c:1170
TXZ_Result rtc_clock_get_sec(rtc_t *p_obj, uint8_t *p_sec)
Get clock second.
Definition: bsp_rtc.c:1259
TXZ_Result rtc_clock_set_month(rtc_t *p_obj, uint8_t month)
Set clock month.
Definition: bsp_rtc.c:1741
TXZ_Result rtc_clock_get_leap(rtc_t *p_obj, uint8_t *p_leap)
Get clock leap.
Definition: bsp_rtc.c:1947
TXZ_Result rtc_alarm_set_min(rtc_t *p_obj, uint8_t compare, uint8_t min)
Set alarm minute.
Definition: bsp_rtc.c:2103
TXZ_Result rtc_clock_get_hour_24(rtc_t *p_obj, uint8_t *p_hour)
Get clock hour.
Definition: bsp_rtc.c:1429
TXZ_Result rtc_alarm_set_hour_12(rtc_t *p_obj, uint8_t compare, uint8_t meridiem, uint8_t hour)
Set alarm hour.
Definition: bsp_rtc.c:2323
TXZ_Result rtc_alarm_disable(rtc_t *p_obj)
Disable alarm.
Definition: bsp_rtc.c:2026
Real Time Clock (RTC)
Definition: TMPM4G6.h:1399
TXZ_Result rtc_alarm_get_date(rtc_t *p_obj, uint8_t *p_compare, uint8_t *p_date)
Get alarm date.
Definition: bsp_rtc.c:2609
TXZ_Result rtc_alarm_get_hour_24(rtc_t *p_obj, uint8_t *p_compare, uint8_t *p_hour)
Get alarm hour.
Definition: bsp_rtc.c:2264
TXZ_Result rtc_clock_enable(rtc_t *p_obj)
Enable clock(timer).
Definition: bsp_rtc.c:1096
TXZ_Result rtc_clock_get_min(rtc_t *p_obj, uint8_t *p_min)
Get clock minute.
Definition: bsp_rtc.c:1343
TXZ_Result rtc_alarm_get_hour_12(rtc_t *p_obj, uint8_t *p_compare, uint8_t *p_meridiem, uint8_t *p_hour)
Get alarm hour.
Definition: bsp_rtc.c:2379
TXZ_Result rtc_clock_set_day(rtc_t *p_obj, uint8_t day)
Set clock day.
Definition: bsp_rtc.c:1576
TXZ_Result rtc_alarm_set_day(rtc_t *p_obj, uint8_t compare, uint8_t day)
Set alarm day.
Definition: bsp_rtc.c:2448