comparison gsm-fw/bsp/rtc/rtc_api.h @ 159:3c42e6e5fc04

gsm-fw/bsp/rtc: initial import from Leonardo TCS211 semi-src
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sun, 17 Nov 2013 22:10:10 +0000
parents
children dbfc9ff4e8d2
comparison
equal deleted inserted replaced
158:97b671efff9c 159:3c42e6e5fc04
1 /********************************************************************************/
2 /* */
3 /* File Name: rtc_functions.h */
4 /* */
5 /* Purpose: This file contains prototypes of RTC's internal functions. */
6 /* */
7 /* Note: None. */
8 /* */
9 /* Revision History: */
10 /* 03/20/01 Laurent Sollier Create. */
11 /* */
12 /* (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved */
13 /* */
14 /********************************************************************************/
15
16 #ifndef _RTC_FUNCTIONS_H_
17 #define _RTC_FUNCTIONS_H_
18
19 #include "rvf/rvf_api.h"
20
21
22 /********************************************************************************/
23 /* */
24 /* Generic functions declarations. */
25 /* */
26 /********************************************************************************/
27
28
29
30 /* Structure containing date and time */
31 typedef struct { UINT8 second; /* seconds after the minute - [0,59] */
32 UINT8 minute; /* minutes after the hour - [0,59] */
33 UINT8 hour; /* hours after the midnight - [0,23] */
34 UINT8 day; /* day of the month - [1,31] */
35 UINT8 month; /* months - [01,12] */
36 UINT8 year; /* years - [00,99] */
37 UINT8 wday; /* days in a week - [0,6] */
38 BOOL mode_12_hour; /* TRUE->12 hour mode ; FALSE-> 24 hour mode */
39 BOOL PM_flag; /* if 12 hour flag = TRUE
40 TRUE->PM ; FALSE->AM */
41 } T_RTC_DATE_TIME;
42
43
44 /*******************************************************************************
45 *
46 * RTC_RtcReset
47 *
48 * Purpose : Indicate if aRTC reset occured.
49 *
50 * Arguments: In : none
51 * Out: none
52 *
53 * Returns: TRUE if a RTC reset occurred
54 * FALSE if RTC didn't reset.
55 *
56 *
57 ******************************************************************************/
58
59 BOOL RTC_RtcReset(void);
60
61
62 /*******************************************************************************
63 *
64 * RTC_GetDateTime
65 *
66 * Purpose : Get date and time information.
67 *
68 * Arguments: In : none.
69 * Out: date_time : contain date and time data if return value is
70 * RVF_OK
71 *
72 * Returns: RVF_OK if date and time available in date_time variable
73 * RVF_NOT_READY if date and time is temporary not accessible for
74 * 30 micro seconds
75 * RVF_INTERNAL_ERROR else
76 *
77 ******************************************************************************/
78
79 T_RVF_RET RTC_GetDateTime(T_RTC_DATE_TIME* date_time);
80
81
82 /*******************************************************************************
83 *
84 * RTC_SetDateTime
85 *
86 * Purpose : Set date and time in RTC module.
87 *
88 * Arguments: In : date_time : date and time to set in RTC module
89 * Out: none
90 *
91 * Returns: RVF_OK if date and time have been set in RTC module
92 * RVF_NOT_READY if date and time cannot be saved before
93 * 30 micro seconds max
94 * RVF_INVALID_PARAMETER if date or/and timeformat is incorrect
95 * RVF_INTERNAL_ERROR else
96 *
97 *
98 ******************************************************************************/
99
100 T_RVF_RET RTC_SetDateTime(T_RTC_DATE_TIME date_time);
101
102
103 /*******************************************************************************
104 *
105 * RTC_GetAlarm
106 *
107 * Purpose : Get date and time alarm.
108 *
109 * Arguments: In : none
110 * Out: date_time : contain date and time data if return value is
111 * RVF_OK
112 *
113 * Returns: RVF_OK if date and time is available in date_time data
114 * RVF_INTERNAL_ERROR else
115 *
116 *
117 ******************************************************************************/
118
119 T_RVF_RET RTC_GetAlarm(T_RTC_DATE_TIME* date_time);
120
121
122 /*******************************************************************************
123 *
124 * RTC_SetAlarm
125 *
126 * Purpose : Set date and time alarmin RTC module.
127 *
128 * Arguments: In : date_time : Date and time alarm to set in RTC module
129 * return_path : return path used when date and time alarm is
130 * reached. This path can be a callback function or both
131 * task id and mailbox number
132 * Out: none
133 *
134 * Returns: RVF_OK if date and time alarm have been set in RTC module
135 * RVF_NOT_READY if date and time cannot be saved before
136 * 30 micro seconds max
137 * RVF_INVALID_PARAMETER if date or/and time format is incorrect
138 * RVF_INTERNAL_ERROR else
139 *
140 *
141 ******************************************************************************/
142
143 T_RVF_RET RTC_SetAlarm(T_RTC_DATE_TIME date_time, T_RV_RETURN return_path);
144
145
146 /*******************************************************************************
147 *
148 * RTC_UnsetAlarm
149 *
150 * Purpose : Unset alarm function.
151 *
152 * Arguments: In : none
153 * Out: none
154 *
155 * Returns: RVF_OK if date and time alarm have been set in RTC module
156 * RVF_NOT_READY if date and time cannot be saved before
157 * 30 micro seconds max
158 * RVF_INVALID_PARAMETER if date or/and time format is incorrect
159 * RVF_INTERNAL_ERROR else
160 *
161 *
162 ******************************************************************************/
163
164 T_RVF_RET RTC_UnsetAlarm(void);
165
166
167 /*******************************************************************************
168 *
169 * RTC_Rounding30s
170 *
171 * Purpose : Round time to the closest minute.
172 *
173 * Arguments: In : none
174 * Out: none
175 *
176 * Returns: none
177 *
178 *
179 ******************************************************************************/
180
181 void RTC_Rounding30s(void);
182
183
184 /*******************************************************************************
185 *
186 * RTC_Set12HourMode
187 *
188 * Purpose : Set the 12 or 24 hour mode for time get by RTC_GetDateTime and
189 * RTC_GetAlarm.
190 *
191 * Arguments: In : 12HourMode : TRUE if current time is on 12 hour mode
192 * FALSE if current time is on 24 hour mode
193 * Out: none
194 *
195 * Returns: none
196 *
197 *
198 ******************************************************************************/
199
200 void RTC_Set12HourMode(BOOL Mode12Hour);
201
202
203 /*******************************************************************************
204 *
205 * RTC_Is12HourMode
206 *
207 * Purpose : Define if the time given by RTC_GetAlarm and RTC_GetDateTime is in
208 * the 12 or 24 hour mode
209 *
210 * Arguments: In : none
211 * Out: none
212 *
213 * Returns: TRUE if current time is on 12 hour mode
214 * FALSE if current time is on 24 hour mode
215 *
216 *
217 ******************************************************************************/
218
219 BOOL RTC_Is12HourMode(void);
220
221
222 #endif /* #ifndef _RTC_FUNCTIONS_H_ */