1 <!-- HTML header for doxygen 1.8.20-->
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
5 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
7 <meta name="generator" content="Doxygen 1.9.4"/>
8 <meta name="viewport" content="width=device-width, initial-scale=1"/>
9 <title>Raspberry Pi Pico SDK: hardware_rtc</title>
10 <!-- <link href="tabs.css" rel="stylesheet" type="text/css"/> -->
11 <script type="text/javascript" src="jquery.js"></script>
12 <script type="text/javascript" src="dynsections.js"></script>
13 <link href="navtree.css" rel="stylesheet" type="text/css"/>
14 <script type="text/javascript" src="resize.js"></script>
15 <script type="text/javascript" src="navtreedata.js"></script>
16 <script type="text/javascript" src="navtree.js"></script>
17 <link href="search/search.css" rel="stylesheet" type="text/css"/>
18 <script type="text/javascript" src="search/searchdata.js"></script>
19 <script type="text/javascript" src="search/search.js"></script>
20 <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap" rel="stylesheet">
21 <link href="doxygen.css" rel="stylesheet" type="text/css" />
22 <link href="normalise.css" rel="stylesheet" type="text/css"/>
23 <link href="main.css" rel="stylesheet" type="text/css"/>
24 <link href="styles.css" rel="stylesheet" type="text/css"/>
27 <div class="navigation-mobile">
28 <div class="logo--mobile">
29 <a href="/"><img src="logo-mobile.svg" alt="Raspberry Pi"></a>
31 <div class="navigation-toggle">
32 <span class="line-1"></span>
36 <span class="line-3"></span>
39 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
41 <a href="index.html"> <img src="logo.svg" alt="Raspberry Pi"></a>
42 <span style="display: inline-block; margin-top: 10px;">
46 <div class="navigation-footer">
47 <img src="logo-mobile.svg" alt="Raspberry Pi">
48 <a href="https://www.raspberrypi.com/" target="_blank">By Raspberry Pi Ltd</a>
50 <!-- <div class="search">
52 <input type="search" name="search" id="search" placeholder="Search">
53 <input type="submit" value="Search">
56 <!-- Generated by Doxygen 1.9.4 -->
57 <script type="text/javascript">
58 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
59 var searchBox = new SearchBox("searchBox", "search",'Search','.html');
62 <script type="text/javascript" src="menudata.js"></script>
63 <script type="text/javascript" src="menu.js"></script>
64 <script type="text/javascript">
65 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
67 initMenu('',true,false,'search.php','Search');
68 $(document).ready(function() { init_search(); });
72 <div id="main-nav"></div>
74 <div id="side-nav" class="ui-resizable side-nav-resizable">
76 <div id="nav-tree-contents">
77 <div id="nav-sync" class="sync"></div>
80 <div id="splitbar" style="-moz-user-select:none;"
81 class="ui-resizable-handle">
84 <script type="text/javascript">
85 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
86 $(document).ready(function(){initNavTree('group__hardware__rtc.html',''); initResizable(); });
89 <div id="doc-content">
90 <!-- window showing the filter options -->
91 <div id="MSearchSelectWindow"
92 onmouseover="return searchBox.OnSearchSelectShow()"
93 onmouseout="return searchBox.OnSearchSelectHide()"
94 onkeydown="return searchBox.OnSearchSelectKey(event)">
97 <!-- iframe showing the search results (closed by default) -->
98 <div id="MSearchResultsWindow">
99 <iframe src="javascript:void(0)" frameborder="0"
100 name="MSearchResults" id="MSearchResults">
105 <div class="summary">
106 <a href="#typedef-members">Typedefs</a> |
107 <a href="#func-members">Functions</a> </div>
108 <div class="headertitle"><div class="title">hardware_rtc<div class="ingroups"><a class="el" href="group__hardware.html">Hardware APIs</a></div></div></div>
110 <div class="contents">
112 <p>Hardware Real Time Clock API.
113 <a href="#details">More...</a></p>
114 <table class="memberdecls">
115 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
116 Typedefs</h2></td></tr>
117 <tr class="memitem:ga05a9e12c70c56e6e2a9869d0682045d1"><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__rtc.html#ga05a9e12c70c56e6e2a9869d0682045d1">rtc_callback_t</a>) (void)</td></tr>
118 <tr class="separator:ga05a9e12c70c56e6e2a9869d0682045d1"><td class="memSeparator" colspan="2"> </td></tr>
119 </table><table class="memberdecls">
120 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
121 Functions</h2></td></tr>
122 <tr class="memitem:gacf9024748b942a7ae375cf75951afa9c"><td class="memItemLeft" align="right" valign="top"><a id="gacf9024748b942a7ae375cf75951afa9c" name="gacf9024748b942a7ae375cf75951afa9c"></a>
123 void </td><td class="memItemRight" valign="bottom"><b>rtc_init</b> (void)</td></tr>
124 <tr class="memdesc:gacf9024748b942a7ae375cf75951afa9c"><td class="mdescLeft"> </td><td class="mdescRight">Initialise the RTC system. <br /></td></tr>
125 <tr class="separator:gacf9024748b942a7ae375cf75951afa9c"><td class="memSeparator" colspan="2"> </td></tr>
126 <tr class="memitem:ga076d68dec35129dd2b44d16ae457a3de"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__rtc.html#ga076d68dec35129dd2b44d16ae457a3de">rtc_set_datetime</a> (const <a class="el" href="structdatetime__t.html">datetime_t</a> *t)</td></tr>
127 <tr class="memdesc:ga076d68dec35129dd2b44d16ae457a3de"><td class="mdescLeft"> </td><td class="mdescRight">Set the RTC to the specified time. <a href="group__hardware__rtc.html#ga076d68dec35129dd2b44d16ae457a3de">More...</a><br /></td></tr>
128 <tr class="separator:ga076d68dec35129dd2b44d16ae457a3de"><td class="memSeparator" colspan="2"> </td></tr>
129 <tr class="memitem:ga7c5528e71733b7bfc0b0543cd3bb6d3f"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__rtc.html#ga7c5528e71733b7bfc0b0543cd3bb6d3f">rtc_get_datetime</a> (<a class="el" href="structdatetime__t.html">datetime_t</a> *t)</td></tr>
130 <tr class="memdesc:ga7c5528e71733b7bfc0b0543cd3bb6d3f"><td class="mdescLeft"> </td><td class="mdescRight">Get the current time from the RTC. <a href="group__hardware__rtc.html#ga7c5528e71733b7bfc0b0543cd3bb6d3f">More...</a><br /></td></tr>
131 <tr class="separator:ga7c5528e71733b7bfc0b0543cd3bb6d3f"><td class="memSeparator" colspan="2"> </td></tr>
132 <tr class="memitem:gabf6cc1546be8d1ddb56e3d83a915f683"><td class="memItemLeft" align="right" valign="top"><a id="gabf6cc1546be8d1ddb56e3d83a915f683" name="gabf6cc1546be8d1ddb56e3d83a915f683"></a>
133 bool </td><td class="memItemRight" valign="bottom"><b>rtc_running</b> (void)</td></tr>
134 <tr class="memdesc:gabf6cc1546be8d1ddb56e3d83a915f683"><td class="mdescLeft"> </td><td class="mdescRight">Is the RTC running? <br /></td></tr>
135 <tr class="separator:gabf6cc1546be8d1ddb56e3d83a915f683"><td class="memSeparator" colspan="2"> </td></tr>
136 <tr class="memitem:gaac8ad85f301295b6a130aa8e00122253"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__hardware__rtc.html#gaac8ad85f301295b6a130aa8e00122253">rtc_set_alarm</a> (const <a class="el" href="structdatetime__t.html">datetime_t</a> *t, <a class="el" href="group__hardware__rtc.html#ga05a9e12c70c56e6e2a9869d0682045d1">rtc_callback_t</a> user_callback)</td></tr>
137 <tr class="memdesc:gaac8ad85f301295b6a130aa8e00122253"><td class="mdescLeft"> </td><td class="mdescRight">Set a time in the future for the RTC to call a user provided callback. <a href="group__hardware__rtc.html#gaac8ad85f301295b6a130aa8e00122253">More...</a><br /></td></tr>
138 <tr class="separator:gaac8ad85f301295b6a130aa8e00122253"><td class="memSeparator" colspan="2"> </td></tr>
139 <tr class="memitem:gab7f69ee0de1cae2518b2822fd82d5201"><td class="memItemLeft" align="right" valign="top"><a id="gab7f69ee0de1cae2518b2822fd82d5201" name="gab7f69ee0de1cae2518b2822fd82d5201"></a>
140 void </td><td class="memItemRight" valign="bottom"><b>rtc_enable_alarm</b> (void)</td></tr>
141 <tr class="memdesc:gab7f69ee0de1cae2518b2822fd82d5201"><td class="mdescLeft"> </td><td class="mdescRight">Enable the RTC alarm (if inactive) <br /></td></tr>
142 <tr class="separator:gab7f69ee0de1cae2518b2822fd82d5201"><td class="memSeparator" colspan="2"> </td></tr>
143 <tr class="memitem:ga718b866eab2ba73221d37f7d15ba9737"><td class="memItemLeft" align="right" valign="top"><a id="ga718b866eab2ba73221d37f7d15ba9737" name="ga718b866eab2ba73221d37f7d15ba9737"></a>
144 void </td><td class="memItemRight" valign="bottom"><b>rtc_disable_alarm</b> (void)</td></tr>
145 <tr class="memdesc:ga718b866eab2ba73221d37f7d15ba9737"><td class="mdescLeft"> </td><td class="mdescRight">Disable the RTC alarm (if active) <br /></td></tr>
146 <tr class="separator:ga718b866eab2ba73221d37f7d15ba9737"><td class="memSeparator" colspan="2"> </td></tr>
148 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
149 <p >Hardware Real Time Clock API. </p>
150 <p >The RTC keeps track of time in human readable format and generates events when the time is equal to a preset value. Think of a digital clock, not epoch time used by most computers. There are seven fields, one each for year (12 bit), month (4 bit), day (5 bit), day of the week (3 bit), hour (5 bit) minute (6 bit) and second (6 bit), storing the data in binary format.</p>
151 <dl class="section see"><dt>See also</dt><dd><a class="el" href="structdatetime__t.html" title="Structure containing date and time information.">datetime_t</a></dd></dl>
152 <h2><a class="anchor" id="rtc_example"></a>
154 <div class="fragment"><div class="line"> </div>
155 <div class="line"><span class="preprocessor">#include <<a class="code" href="stdio_8h.html">stdio.h</a>></span></div>
156 <div class="line"><span class="preprocessor">#include "<a class="code" href="rp2__common_2hardware__rtc_2include_2hardware_2rtc_8h.html">hardware/rtc.h</a>"</span></div>
157 <div class="line"><span class="preprocessor">#include "<a class="code" href="stdlib_8h.html">pico/stdlib.h</a>"</span></div>
158 <div class="line"><span class="preprocessor">#include "<a class="code" href="datetime_8h.html">pico/util/datetime.h</a>"</span></div>
159 <div class="line"> </div>
160 <div class="line"><span class="keywordtype">int</span> main() {</div>
161 <div class="line"> <a class="code hl_function" href="group__pico__stdio.html#ga0e604311fb226dae91ff4eb17a19d67a">stdio_init_all</a>();</div>
162 <div class="line"> printf(<span class="stringliteral">"Hello RTC!\n"</span>);</div>
163 <div class="line"> </div>
164 <div class="line"> <span class="keywordtype">char</span> datetime_buf[256];</div>
165 <div class="line"> <span class="keywordtype">char</span> *datetime_str = &datetime_buf[0];</div>
166 <div class="line"> </div>
167 <div class="line"> <span class="comment">// Start on Friday 5th of June 2020 15:45:00</span></div>
168 <div class="line"> <a class="code hl_struct" href="structdatetime__t.html">datetime_t</a> t = {</div>
169 <div class="line"> .<a class="code hl_variable" href="structdatetime__t.html#a9d974362ac5b0c3981a376888cec7a5a">year</a> = 2020,</div>
170 <div class="line"> .month = 06,</div>
171 <div class="line"> .day = 05,</div>
172 <div class="line"> .dotw = 5, <span class="comment">// 0 is Sunday, so 5 is Friday</span></div>
173 <div class="line"> .hour = 15,</div>
174 <div class="line"> .min = 45,</div>
175 <div class="line"> .sec = 00</div>
176 <div class="line"> };</div>
177 <div class="line"> </div>
178 <div class="line"> <span class="comment">// Start the RTC</span></div>
179 <div class="line"> <a class="code hl_function" href="group__hardware__rtc.html#gacf9024748b942a7ae375cf75951afa9c">rtc_init</a>();</div>
180 <div class="line"> <a class="code hl_function" href="group__hardware__rtc.html#ga076d68dec35129dd2b44d16ae457a3de">rtc_set_datetime</a>(&t);</div>
181 <div class="line"> </div>
182 <div class="line"> <span class="comment">// clk_sys is >2000x faster than clk_rtc, so datetime is not updated immediately when rtc_get_datetime() is called.</span></div>
183 <div class="line"> <span class="comment">// tbe delay is up to 3 RTC clock cycles (which is 64us with the default clock settings)</span></div>
184 <div class="line"> <a class="code hl_function" href="group__sleep.html#gaeeaebd3a10e0a193022f15c8603772ba">sleep_us</a>(64);</div>
185 <div class="line"> </div>
186 <div class="line"> <span class="comment">// Print the time</span></div>
187 <div class="line"> <span class="keywordflow">while</span> (<span class="keyword">true</span>) {</div>
188 <div class="line"> <a class="code hl_function" href="group__hardware__rtc.html#ga7c5528e71733b7bfc0b0543cd3bb6d3f">rtc_get_datetime</a>(&t);</div>
189 <div class="line"> datetime_to_str(datetime_str, <span class="keyword">sizeof</span>(datetime_buf), &t);</div>
190 <div class="line"> printf(<span class="stringliteral">"\r%s "</span>, datetime_str);</div>
191 <div class="line"> <a class="code hl_function" href="group__sleep.html#gae617a6842d4f3a192064c4354b88fcff">sleep_ms</a>(100);</div>
192 <div class="line"> }</div>
193 <div class="line">}</div>
194 <div class="ttc" id="adatetime_8h_html"><div class="ttname"><a href="datetime_8h.html">datetime.h</a></div></div>
195 <div class="ttc" id="agroup__hardware__rtc_html_ga076d68dec35129dd2b44d16ae457a3de"><div class="ttname"><a href="group__hardware__rtc.html#ga076d68dec35129dd2b44d16ae457a3de">rtc_set_datetime</a></div><div class="ttdeci">bool rtc_set_datetime(const datetime_t *t)</div><div class="ttdoc">Set the RTC to the specified time.</div><div class="ttdef"><b>Definition:</b> rtc.c:54</div></div>
196 <div class="ttc" id="agroup__hardware__rtc_html_ga7c5528e71733b7bfc0b0543cd3bb6d3f"><div class="ttname"><a href="group__hardware__rtc.html#ga7c5528e71733b7bfc0b0543cd3bb6d3f">rtc_get_datetime</a></div><div class="ttdeci">bool rtc_get_datetime(datetime_t *t)</div><div class="ttdoc">Get the current time from the RTC.</div><div class="ttdef"><b>Definition:</b> rtc.c:87</div></div>
197 <div class="ttc" id="agroup__hardware__rtc_html_gacf9024748b942a7ae375cf75951afa9c"><div class="ttname"><a href="group__hardware__rtc.html#gacf9024748b942a7ae375cf75951afa9c">rtc_init</a></div><div class="ttdeci">void rtc_init(void)</div><div class="ttdoc">Initialise the RTC system.</div><div class="ttdef"><b>Definition:</b> rtc.c:22</div></div>
198 <div class="ttc" id="agroup__pico__stdio_html_ga0e604311fb226dae91ff4eb17a19d67a"><div class="ttname"><a href="group__pico__stdio.html#ga0e604311fb226dae91ff4eb17a19d67a">stdio_init_all</a></div><div class="ttdeci">bool stdio_init_all(void)</div><div class="ttdoc">Initialize all of the present standard stdio types that are linked into the binary.</div><div class="ttdef"><b>Definition:</b> stdio.c:200</div></div>
199 <div class="ttc" id="agroup__sleep_html_gae617a6842d4f3a192064c4354b88fcff"><div class="ttname"><a href="group__sleep.html#gae617a6842d4f3a192064c4354b88fcff">sleep_ms</a></div><div class="ttdeci">void sleep_ms(uint32_t ms)</div><div class="ttdoc">Wait for the given number of milliseconds before returning.</div><div class="ttdef"><b>Definition:</b> time.c:431</div></div>
200 <div class="ttc" id="agroup__sleep_html_gaeeaebd3a10e0a193022f15c8603772ba"><div class="ttname"><a href="group__sleep.html#gaeeaebd3a10e0a193022f15c8603772ba">sleep_us</a></div><div class="ttdeci">void sleep_us(uint64_t us)</div><div class="ttdoc">Wait for the given number of microseconds before returning.</div><div class="ttdef"><b>Definition:</b> time.c:414</div></div>
201 <div class="ttc" id="arp2__common_2hardware__rtc_2include_2hardware_2rtc_8h_html"><div class="ttname"><a href="rp2__common_2hardware__rtc_2include_2hardware_2rtc_8h.html">rtc.h</a></div></div>
202 <div class="ttc" id="astdio_8h_html"><div class="ttname"><a href="stdio_8h.html">stdio.h</a></div></div>
203 <div class="ttc" id="astdlib_8h_html"><div class="ttname"><a href="stdlib_8h.html">stdlib.h</a></div></div>
204 <div class="ttc" id="astructdatetime__t_html"><div class="ttname"><a href="structdatetime__t.html">datetime_t</a></div><div class="ttdoc">Structure containing date and time information.</div><div class="ttdef"><b>Definition:</b> types.h:107</div></div>
205 <div class="ttc" id="astructdatetime__t_html_a9d974362ac5b0c3981a376888cec7a5a"><div class="ttname"><a href="structdatetime__t.html#a9d974362ac5b0c3981a376888cec7a5a">datetime_t::year</a></div><div class="ttdeci">int16_t year</div><div class="ttdoc">0..4095</div><div class="ttdef"><b>Definition:</b> types.h:108</div></div>
206 </div><!-- fragment --> <h2 class="groupheader">Typedef Documentation</h2>
207 <a id="ga05a9e12c70c56e6e2a9869d0682045d1" name="ga05a9e12c70c56e6e2a9869d0682045d1"></a>
208 <h2 class="memtitle"><span class="permalink"><a href="#ga05a9e12c70c56e6e2a9869d0682045d1">◆ </a></span>rtc_callback_t</h2>
210 <div class="memitem">
211 <div class="memproto">
212 <table class="memname">
214 <td class="memname">typedef void(* rtc_callback_t) (void)</td>
217 </div><div class="memdoc">
218 <p >Callback function type for RTC alarms</p>
219 <dl class="section see"><dt>See also</dt><dd><a class="el" href="group__hardware__rtc.html#gaac8ad85f301295b6a130aa8e00122253" title="Set a time in the future for the RTC to call a user provided callback.">rtc_set_alarm()</a> </dd></dl>
223 <h2 class="groupheader">Function Documentation</h2>
224 <a id="ga7c5528e71733b7bfc0b0543cd3bb6d3f" name="ga7c5528e71733b7bfc0b0543cd3bb6d3f"></a>
225 <h2 class="memtitle"><span class="permalink"><a href="#ga7c5528e71733b7bfc0b0543cd3bb6d3f">◆ </a></span>rtc_get_datetime()</h2>
227 <div class="memitem">
228 <div class="memproto">
229 <table class="memname">
231 <td class="memname">bool rtc_get_datetime </td>
233 <td class="paramtype"><a class="el" href="structdatetime__t.html">datetime_t</a> * </td>
234 <td class="paramname"><em>t</em></td><td>)</td>
238 </div><div class="memdoc">
240 <p>Get the current time from the RTC. </p>
241 <dl class="params"><dt>Parameters</dt><dd>
242 <table class="params">
243 <tr><td class="paramname">t</td><td>Pointer to a <a class="el" href="structdatetime__t.html">datetime_t</a> structure to receive the current RTC time </td></tr>
247 <dl class="section return"><dt>Returns</dt><dd>true if datetime is valid, false if the RTC is not running. </dd></dl>
251 <a id="gaac8ad85f301295b6a130aa8e00122253" name="gaac8ad85f301295b6a130aa8e00122253"></a>
252 <h2 class="memtitle"><span class="permalink"><a href="#gaac8ad85f301295b6a130aa8e00122253">◆ </a></span>rtc_set_alarm()</h2>
254 <div class="memitem">
255 <div class="memproto">
256 <table class="memname">
258 <td class="memname">void rtc_set_alarm </td>
260 <td class="paramtype">const <a class="el" href="structdatetime__t.html">datetime_t</a> * </td>
261 <td class="paramname"><em>t</em>, </td>
264 <td class="paramkey"></td>
266 <td class="paramtype"><a class="el" href="group__hardware__rtc.html#ga05a9e12c70c56e6e2a9869d0682045d1">rtc_callback_t</a> </td>
267 <td class="paramname"><em>user_callback</em> </td>
275 </div><div class="memdoc">
277 <p>Set a time in the future for the RTC to call a user provided callback. </p>
278 <dl class="params"><dt>Parameters</dt><dd>
279 <table class="params">
280 <tr><td class="paramname">t</td><td>Pointer to a <a class="el" href="structdatetime__t.html">datetime_t</a> structure containing a time in the future to fire the alarm. Any values set to -1 will not be matched on. </td></tr>
281 <tr><td class="paramname">user_callback</td><td>pointer to a <a class="el" href="group__hardware__rtc.html#ga05a9e12c70c56e6e2a9869d0682045d1">rtc_callback_t</a> to call when the alarm fires </td></tr>
288 <a id="ga076d68dec35129dd2b44d16ae457a3de" name="ga076d68dec35129dd2b44d16ae457a3de"></a>
289 <h2 class="memtitle"><span class="permalink"><a href="#ga076d68dec35129dd2b44d16ae457a3de">◆ </a></span>rtc_set_datetime()</h2>
291 <div class="memitem">
292 <div class="memproto">
293 <table class="memname">
295 <td class="memname">bool rtc_set_datetime </td>
297 <td class="paramtype">const <a class="el" href="structdatetime__t.html">datetime_t</a> * </td>
298 <td class="paramname"><em>t</em></td><td>)</td>
302 </div><div class="memdoc">
304 <p>Set the RTC to the specified time. </p>
305 <dl class="section note"><dt>Note</dt><dd>Note that after setting the RTC date and time, a subsequent read of the values (e.g. via <a class="el" href="group__hardware__rtc.html#ga7c5528e71733b7bfc0b0543cd3bb6d3f" title="Get the current time from the RTC.">rtc_get_datetime()</a>) may not reflect the new setting until up to three cycles of the potentially-much-slower RTC clock domain have passed. This represents a period of 64 microseconds with the default RTC clock configuration.</dd></dl>
306 <dl class="params"><dt>Parameters</dt><dd>
307 <table class="params">
308 <tr><td class="paramname">t</td><td>Pointer to a <a class="el" href="structdatetime__t.html">datetime_t</a> structure contains time to set </td></tr>
312 <dl class="section return"><dt>Returns</dt><dd>true if set, false if the passed in datetime was invalid. </dd></dl>
316 </div><!-- contents -->
317 </div><!-- doc-content -->
319 <script src="main.js"></script>