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: include/pico/time.h File Reference</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('common_2pico__time_2include_2pico_2time_8h.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="#nested-classes">Data Structures</a> |
107 <a href="#define-members">Macros</a> |
108 <a href="#typedef-members">Typedefs</a> |
109 <a href="#func-members">Functions</a> |
110 <a href="#var-members">Variables</a> </div>
111 <div class="headertitle"><div class="title">time.h File Reference</div></div>
113 <div class="contents">
114 <div class="textblock"><code>#include "<a class="el" href="pico_8h_source.html">pico.h</a>"</code><br />
115 <code>#include "<a class="el" href="rp2__common_2hardware__timer_2include_2hardware_2timer_8h_source.html">hardware/timer.h</a>"</code><br />
116 </div><div class="textblock"><div class="dynheader">
117 Include dependency graph for time.h:</div>
118 <div class="dyncontent">
119 <div class="center"><img src="common_2pico__time_2include_2pico_2time_8h__incl.png" border="0" usemap="#ainclude_2pico_2time_8h" alt=""/></div>
120 <map name="ainclude_2pico_2time_8h" id="ainclude_2pico_2time_8h">
121 <area shape="rect" title=" " alt="" coords="441,5,587,32"/>
122 <area shape="rect" href="pico_8h.html" title=" " alt="" coords="411,155,473,181"/>
123 <area shape="rect" href="rp2__common_2hardware__timer_2include_2hardware_2timer_8h.html" title=" " alt="" coords="510,80,643,107"/>
124 <area shape="rect" href="common_2pico__base__headers_2include_2pico_2types_8h_source.html" title=" " alt="" coords="158,379,259,405"/>
125 <area shape="rect" title=" " alt="" coords="252,229,365,256"/>
126 <area shape="rect" href="common_2pico__base__headers_2include_2pico_2config_8h_source.html" title=" " alt="" coords="390,229,494,256"/>
127 <area shape="rect" href="platform_8h.html" title=" " alt="" coords="596,229,717,256"/>
128 <area shape="rect" href="error_8h_source.html" title=" " alt="" coords="741,229,836,256"/>
129 <area shape="rect" href="assert_8h_source.html" title=" " alt="" coords="5,453,111,480"/>
130 <area shape="rect" title=" " alt="" coords="74,528,157,555"/>
131 <area shape="rect" title=" " alt="" coords="211,453,281,480"/>
132 <area shape="rect" title=" " alt="" coords="306,453,381,480"/>
133 <area shape="rect" title=" " alt="" coords="173,304,337,331"/>
134 <area shape="rect" href="compiler_8h_source.html" title=" " alt="" coords="362,304,543,331"/>
135 <area shape="rect" href="sections_8h_source.html" title=" " alt="" coords="567,304,746,331"/>
136 <area shape="rect" href="panic_8h_source.html" title=" " alt="" coords="770,304,930,331"/>
137 <area shape="rect" title=" " alt="" coords="954,304,1165,331"/>
138 <area shape="rect" title=" " alt="" coords="1189,304,1340,331"/>
139 <area shape="rect" title=" " alt="" coords="357,379,548,405"/>
140 <area shape="rect" title=" " alt="" coords="497,155,678,181"/>
141 <area shape="rect" title=" " alt="" coords="703,155,872,181"/>
144 </div><div class="textblock"><div class="dynheader">
145 This graph shows which files directly or indirectly include this file:</div>
146 <div class="dyncontent">
147 <div class="center"><img src="common_2pico__time_2include_2pico_2time_8h__dep__incl.png" border="0" usemap="#ainclude_2pico_2time_8hdep" alt=""/></div>
148 <map name="ainclude_2pico_2time_8hdep" id="ainclude_2pico_2time_8hdep">
149 <area shape="rect" title=" " alt="" coords="1842,5,1989,32"/>
150 <area shape="rect" href="cyw43__configport_8h_source.html" title=" " alt="" coords="461,87,660,114"/>
151 <area shape="rect" href="rp2__common_2hardware__i2c_2include_2hardware_2i2c_8h.html" title=" " alt="" coords="1831,87,2000,114"/>
152 <area shape="rect" href="async__context_8h.html" title=" " alt="" coords="1032,169,1175,211"/>
153 <area shape="rect" href="lock__core_8h.html" title=" " alt="" coords="1627,87,1806,114"/>
154 <area shape="rect" href="rp2__common_2pico__sha256_2include_2pico_2sha256_8h.html" title=" " alt="" coords="2025,87,2187,114"/>
155 <area shape="rect" href="stdlib_8h.html" title=" " alt="" coords="2211,87,2363,114"/>
156 <area shape="rect" href="timeout__helper_8h_source.html" title=" " alt="" coords="2387,80,2542,121"/>
157 <area shape="rect" href="cyw43__config_8h_source.html" title=" " alt="" coords="23,177,146,203"/>
158 <area shape="rect" href="cyw43_8h.html" title="CYW43 driver interface." alt="" coords="5,363,81,389"/>
159 <area shape="rect" href="cyw43__ll_8h_source.html" title=" " alt="" coords="39,273,130,300"/>
160 <area shape="rect" href="cyw43__arch_8h.html" title=" " alt="" coords="621,437,767,479"/>
161 <area shape="rect" href="cyw43__btbus_8h.html" title="CYW43 Bluetooth BUS API." alt="" coords="105,363,224,389"/>
162 <area shape="rect" href="i2c__slave_8h.html" title=" " alt="" coords="2111,177,2288,203"/>
163 <area shape="rect" href="async__context__base_8h_source.html" title=" " alt="" coords="155,266,297,307"/>
164 <area shape="rect" href="async__context__freertos_8h_source.html" title=" " alt="" coords="321,266,469,307"/>
165 <area shape="rect" href="async__context__poll_8h_source.html" title=" " alt="" coords="1383,266,1525,307"/>
166 <area shape="rect" href="async__context__threadsafe__background_8h_source.html" title=" " alt="" coords="1550,259,1705,315"/>
167 <area shape="rect" href="btstack__cyw43_8h.html" title=" " alt="" coords="494,266,646,307"/>
168 <area shape="rect" href="btstack__run__loop__async__context_8h_source.html" title=" " alt="" coords="671,266,869,307"/>
169 <area shape="rect" href="lwip__freertos_8h.html" title=" " alt="" coords="893,273,1095,300"/>
170 <area shape="rect" href="lwip__nosys_8h.html" title=" " alt="" coords="1119,273,1307,300"/>
171 <area shape="rect" href="critical__section_8h.html" title=" " alt="" coords="1732,169,1880,211"/>
172 <area shape="rect" href="mutex_8h.html" title=" " alt="" coords="1549,177,1708,203"/>
173 <area shape="rect" href="sem_8h.html" title=" " alt="" coords="1381,177,1525,203"/>
174 <area shape="rect" href="queue_8h.html" title=" " alt="" coords="1905,177,2086,203"/>
175 <area shape="rect" href="common_2pico__sync_2include_2pico_2sync_8h.html" title=" " alt="" coords="1729,273,1875,300"/>
176 <area shape="rect" href="multicore_8h.html" title=" " alt="" coords="1713,363,1891,389"/>
177 <area shape="rect" href="SEGGER__RTT_8h_source.html" title=" " alt="" coords="2313,177,2515,203"/>
181 <p><a href="common_2pico__time_2include_2pico_2time_8h_source.html">Go to the source code of this file.</a></p>
182 <table class="memberdecls">
183 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
184 Data Structures</h2></td></tr>
185 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structrepeating__timer.html">repeating_timer</a></td></tr>
186 <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Information about a repeating timer. <a href="structrepeating__timer.html#details">More...</a><br /></td></tr>
187 <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
188 </table><table class="memberdecls">
189 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
190 Macros</h2></td></tr>
191 <tr class="memitem:a778cb5029a6a1b12f5d3d5e2e584ad12"><td class="memItemLeft" align="right" valign="top"><a id="a778cb5029a6a1b12f5d3d5e2e584ad12" name="a778cb5029a6a1b12f5d3d5e2e584ad12"></a>
192 #define </td><td class="memItemRight" valign="bottom"><b>PARAM_ASSERTIONS_ENABLED_PICO_TIME</b>   0</td></tr>
193 <tr class="separator:a778cb5029a6a1b12f5d3d5e2e584ad12"><td class="memSeparator" colspan="2"> </td></tr>
194 <tr class="memitem:a316f5ea49b35d9ad63b89b92b9044997"><td class="memItemLeft" align="right" valign="top"><a id="a316f5ea49b35d9ad63b89b92b9044997" name="a316f5ea49b35d9ad63b89b92b9044997"></a>
195 #define </td><td class="memItemRight" valign="bottom"><b>PICO_TIME_SLEEP_OVERHEAD_ADJUST_US</b>   6</td></tr>
196 <tr class="separator:a316f5ea49b35d9ad63b89b92b9044997"><td class="memSeparator" colspan="2"> </td></tr>
197 <tr class="memitem:ga72314cafa18f7b2f90f9200be136ca27"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#ga72314cafa18f7b2f90f9200be136ca27">PICO_TIME_DEFAULT_ALARM_POOL_DISABLED</a>   0</td></tr>
198 <tr class="memdesc:ga72314cafa18f7b2f90f9200be136ca27"><td class="mdescLeft"> </td><td class="mdescRight">If 1 then the default alarm pool is disabled (so no timer_alarm is claimed for the pool) <a href="group__alarm.html#ga72314cafa18f7b2f90f9200be136ca27">More...</a><br /></td></tr>
199 <tr class="separator:ga72314cafa18f7b2f90f9200be136ca27"><td class="memSeparator" colspan="2"> </td></tr>
200 <tr class="memitem:ga40b4a03bf9e967d4e7170d20c5c9fb15"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#ga40b4a03bf9e967d4e7170d20c5c9fb15">PICO_TIME_DEFAULT_ALARM_POOL_HARDWARE_ALARM_NUM</a>   3</td></tr>
201 <tr class="memdesc:ga40b4a03bf9e967d4e7170d20c5c9fb15"><td class="mdescLeft"> </td><td class="mdescRight">Selects which timer_alarm is used for the default alarm pool. <a href="group__alarm.html#ga40b4a03bf9e967d4e7170d20c5c9fb15">More...</a><br /></td></tr>
202 <tr class="separator:ga40b4a03bf9e967d4e7170d20c5c9fb15"><td class="memSeparator" colspan="2"> </td></tr>
203 <tr class="memitem:ga4bb3180aa64f3c9af8c521ec1b22bdb2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#ga4bb3180aa64f3c9af8c521ec1b22bdb2">PICO_TIME_DEFAULT_ALARM_POOL_MAX_TIMERS</a>   16</td></tr>
204 <tr class="memdesc:ga4bb3180aa64f3c9af8c521ec1b22bdb2"><td class="mdescLeft"> </td><td class="mdescRight">Selects the maximum number of concurrent timers in the default alarm pool. <a href="group__alarm.html#ga4bb3180aa64f3c9af8c521ec1b22bdb2">More...</a><br /></td></tr>
205 <tr class="separator:ga4bb3180aa64f3c9af8c521ec1b22bdb2"><td class="memSeparator" colspan="2"> </td></tr>
206 </table><table class="memberdecls">
207 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
208 Typedefs</h2></td></tr>
209 <tr class="memitem:gaa593548569c182a0d65d2e06a9c3493b"><td class="memItemLeft" align="right" valign="top">typedef int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a></td></tr>
210 <tr class="memdesc:gaa593548569c182a0d65d2e06a9c3493b"><td class="mdescLeft"> </td><td class="mdescRight">The identifier for an alarm. <a href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">More...</a><br /></td></tr>
211 <tr class="separator:gaa593548569c182a0d65d2e06a9c3493b"><td class="memSeparator" colspan="2"> </td></tr>
212 <tr class="memitem:gade88ed45e9b59ad39d91f17c8709c16a"><td class="memItemLeft" align="right" valign="top">typedef int64_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#gade88ed45e9b59ad39d91f17c8709c16a">alarm_callback_t</a>) (<a class="el" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> id, void *user_data)</td></tr>
213 <tr class="memdesc:gade88ed45e9b59ad39d91f17c8709c16a"><td class="mdescLeft"> </td><td class="mdescRight">User alarm callback. <a href="group__alarm.html#gade88ed45e9b59ad39d91f17c8709c16a">More...</a><br /></td></tr>
214 <tr class="separator:gade88ed45e9b59ad39d91f17c8709c16a"><td class="memSeparator" colspan="2"> </td></tr>
215 <tr class="memitem:aab6827a4c19f5e2e1e9f4db8bad64a99"><td class="memItemLeft" align="right" valign="top"><a id="aab6827a4c19f5e2e1e9f4db8bad64a99" name="aab6827a4c19f5e2e1e9f4db8bad64a99"></a>
216 typedef struct <a class="el" href="structalarm__pool.html">alarm_pool</a> </td><td class="memItemRight" valign="bottom"><b>alarm_pool_t</b></td></tr>
217 <tr class="separator:aab6827a4c19f5e2e1e9f4db8bad64a99"><td class="memSeparator" colspan="2"> </td></tr>
218 <tr class="memitem:a91425ae7f3d1d490003cd9396702d4a3"><td class="memItemLeft" align="right" valign="top"><a id="a91425ae7f3d1d490003cd9396702d4a3" name="a91425ae7f3d1d490003cd9396702d4a3"></a>
219 typedef void </td><td class="memItemRight" valign="bottom"><b>alarm_pool_timer_t</b></td></tr>
220 <tr class="separator:a91425ae7f3d1d490003cd9396702d4a3"><td class="memSeparator" colspan="2"> </td></tr>
221 <tr class="memitem:a0457cdc598f6c16070f132059096eac8"><td class="memItemLeft" align="right" valign="top"><a id="a0457cdc598f6c16070f132059096eac8" name="a0457cdc598f6c16070f132059096eac8"></a>
222 typedef struct <a class="el" href="structrepeating__timer.html">repeating_timer</a> </td><td class="memItemRight" valign="bottom"><b>repeating_timer_t</b></td></tr>
223 <tr class="separator:a0457cdc598f6c16070f132059096eac8"><td class="memSeparator" colspan="2"> </td></tr>
224 <tr class="memitem:ga028fe2b7d00c1927c24131aae7c375f3"><td class="memItemLeft" align="right" valign="top">typedef bool(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__repeating__timer.html#ga028fe2b7d00c1927c24131aae7c375f3">repeating_timer_callback_t</a>) (<a class="el" href="structrepeating__timer.html">repeating_timer_t</a> *rt)</td></tr>
225 <tr class="memdesc:ga028fe2b7d00c1927c24131aae7c375f3"><td class="mdescLeft"> </td><td class="mdescRight">Callback for a repeating timer. <a href="group__repeating__timer.html#ga028fe2b7d00c1927c24131aae7c375f3">More...</a><br /></td></tr>
226 <tr class="separator:ga028fe2b7d00c1927c24131aae7c375f3"><td class="memSeparator" colspan="2"> </td></tr>
227 </table><table class="memberdecls">
228 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
229 Functions</h2></td></tr>
230 <tr class="memitem:ga6a1d4dfb43030b6594fa050f50feb47a"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__timestamp.html#ga6a1d4dfb43030b6594fa050f50feb47a">get_absolute_time</a> (void)</td></tr>
231 <tr class="memdesc:ga6a1d4dfb43030b6594fa050f50feb47a"><td class="mdescLeft"> </td><td class="mdescRight">Return a representation of the current time. <a href="group__timestamp.html#ga6a1d4dfb43030b6594fa050f50feb47a">More...</a><br /></td></tr>
232 <tr class="separator:ga6a1d4dfb43030b6594fa050f50feb47a"><td class="memSeparator" colspan="2"> </td></tr>
233 <tr class="memitem:ac47dae7bf7af0a5a2136fafbf93bc07f"><td class="memItemLeft" align="right" valign="top"><a id="ac47dae7bf7af0a5a2136fafbf93bc07f" name="ac47dae7bf7af0a5a2136fafbf93bc07f"></a>
234 static uint32_t </td><td class="memItemRight" valign="bottom"><b>us_to_ms</b> (uint64_t us)</td></tr>
235 <tr class="separator:ac47dae7bf7af0a5a2136fafbf93bc07f"><td class="memSeparator" colspan="2"> </td></tr>
236 <tr class="memitem:gab12467c48bde27171b552ac4dc8c7d59"><td class="memItemLeft" align="right" valign="top">static uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__timestamp.html#gab12467c48bde27171b552ac4dc8c7d59">to_ms_since_boot</a> (<a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> t)</td></tr>
237 <tr class="memdesc:gab12467c48bde27171b552ac4dc8c7d59"><td class="mdescLeft"> </td><td class="mdescRight">Convert a timestamp into a number of milliseconds since boot. <a href="group__timestamp.html#gab12467c48bde27171b552ac4dc8c7d59">More...</a><br /></td></tr>
238 <tr class="separator:gab12467c48bde27171b552ac4dc8c7d59"><td class="memSeparator" colspan="2"> </td></tr>
239 <tr class="memitem:ga729dc88ec38af2d054ba7307214bcf3c"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__timestamp.html#ga729dc88ec38af2d054ba7307214bcf3c">delayed_by_us</a> (const <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> t, uint64_t us)</td></tr>
240 <tr class="memdesc:ga729dc88ec38af2d054ba7307214bcf3c"><td class="mdescLeft"> </td><td class="mdescRight">Return a timestamp value obtained by adding a number of microseconds to another timestamp. <a href="group__timestamp.html#ga729dc88ec38af2d054ba7307214bcf3c">More...</a><br /></td></tr>
241 <tr class="separator:ga729dc88ec38af2d054ba7307214bcf3c"><td class="memSeparator" colspan="2"> </td></tr>
242 <tr class="memitem:ga7ee031a9cdeb9a9a6328d1b41d53cf5c"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__timestamp.html#ga7ee031a9cdeb9a9a6328d1b41d53cf5c">delayed_by_ms</a> (const <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> t, uint32_t ms)</td></tr>
243 <tr class="memdesc:ga7ee031a9cdeb9a9a6328d1b41d53cf5c"><td class="mdescLeft"> </td><td class="mdescRight">Return a timestamp value obtained by adding a number of milliseconds to another timestamp. <a href="group__timestamp.html#ga7ee031a9cdeb9a9a6328d1b41d53cf5c">More...</a><br /></td></tr>
244 <tr class="separator:ga7ee031a9cdeb9a9a6328d1b41d53cf5c"><td class="memSeparator" colspan="2"> </td></tr>
245 <tr class="memitem:ga70921b9073202a54eec3494b4d19ec84"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__timestamp.html#ga70921b9073202a54eec3494b4d19ec84">make_timeout_time_us</a> (uint64_t us)</td></tr>
246 <tr class="memdesc:ga70921b9073202a54eec3494b4d19ec84"><td class="mdescLeft"> </td><td class="mdescRight">Convenience method to get the timestamp a number of microseconds from the current time. <a href="group__timestamp.html#ga70921b9073202a54eec3494b4d19ec84">More...</a><br /></td></tr>
247 <tr class="separator:ga70921b9073202a54eec3494b4d19ec84"><td class="memSeparator" colspan="2"> </td></tr>
248 <tr class="memitem:gab11f5a243dd585b6903a87b0127df2cc"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__timestamp.html#gab11f5a243dd585b6903a87b0127df2cc">make_timeout_time_ms</a> (uint32_t ms)</td></tr>
249 <tr class="memdesc:gab11f5a243dd585b6903a87b0127df2cc"><td class="mdescLeft"> </td><td class="mdescRight">Convenience method to get the timestamp a number of milliseconds from the current time. <a href="group__timestamp.html#gab11f5a243dd585b6903a87b0127df2cc">More...</a><br /></td></tr>
250 <tr class="separator:gab11f5a243dd585b6903a87b0127df2cc"><td class="memSeparator" colspan="2"> </td></tr>
251 <tr class="memitem:ga36d9cbebcc55e41921550edbabf17ab2"><td class="memItemLeft" align="right" valign="top">static int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__timestamp.html#ga36d9cbebcc55e41921550edbabf17ab2">absolute_time_diff_us</a> (<a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> from, <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> to)</td></tr>
252 <tr class="memdesc:ga36d9cbebcc55e41921550edbabf17ab2"><td class="mdescLeft"> </td><td class="mdescRight">Return the difference in microseconds between two timestamps. <a href="group__timestamp.html#ga36d9cbebcc55e41921550edbabf17ab2">More...</a><br /></td></tr>
253 <tr class="separator:ga36d9cbebcc55e41921550edbabf17ab2"><td class="memSeparator" colspan="2"> </td></tr>
254 <tr class="memitem:ga522e97b4c9dfeb3db0bc702461b61a3a"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__timestamp.html#ga522e97b4c9dfeb3db0bc702461b61a3a">absolute_time_min</a> (<a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> a, <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> b)</td></tr>
255 <tr class="memdesc:ga522e97b4c9dfeb3db0bc702461b61a3a"><td class="mdescLeft"> </td><td class="mdescRight">Return the earlier of two timestamps. <a href="group__timestamp.html#ga522e97b4c9dfeb3db0bc702461b61a3a">More...</a><br /></td></tr>
256 <tr class="separator:ga522e97b4c9dfeb3db0bc702461b61a3a"><td class="memSeparator" colspan="2"> </td></tr>
257 <tr class="memitem:ga408e44143880dd2a9ebfe2f3ebeab242"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__timestamp.html#ga408e44143880dd2a9ebfe2f3ebeab242">is_at_the_end_of_time</a> (<a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> t)</td></tr>
258 <tr class="memdesc:ga408e44143880dd2a9ebfe2f3ebeab242"><td class="mdescLeft"> </td><td class="mdescRight">Determine if the given timestamp is "at_the_end_of_time". <a href="group__timestamp.html#ga408e44143880dd2a9ebfe2f3ebeab242">More...</a><br /></td></tr>
259 <tr class="separator:ga408e44143880dd2a9ebfe2f3ebeab242"><td class="memSeparator" colspan="2"> </td></tr>
260 <tr class="memitem:ga0753884ef1d9340edacf53e9c06e42de"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__timestamp.html#ga0753884ef1d9340edacf53e9c06e42de">is_nil_time</a> (<a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> t)</td></tr>
261 <tr class="memdesc:ga0753884ef1d9340edacf53e9c06e42de"><td class="mdescLeft"> </td><td class="mdescRight">Determine if the given timestamp is nil. <a href="group__timestamp.html#ga0753884ef1d9340edacf53e9c06e42de">More...</a><br /></td></tr>
262 <tr class="separator:ga0753884ef1d9340edacf53e9c06e42de"><td class="memSeparator" colspan="2"> </td></tr>
263 <tr class="memitem:ga7abed28d3918fe2b15f8007ba6569172"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sleep.html#ga7abed28d3918fe2b15f8007ba6569172">sleep_until</a> (<a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> target)</td></tr>
264 <tr class="memdesc:ga7abed28d3918fe2b15f8007ba6569172"><td class="mdescLeft"> </td><td class="mdescRight">Wait until after the given timestamp to return. <a href="group__sleep.html#ga7abed28d3918fe2b15f8007ba6569172">More...</a><br /></td></tr>
265 <tr class="separator:ga7abed28d3918fe2b15f8007ba6569172"><td class="memSeparator" colspan="2"> </td></tr>
266 <tr class="memitem:gaeeaebd3a10e0a193022f15c8603772ba"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sleep.html#gaeeaebd3a10e0a193022f15c8603772ba">sleep_us</a> (uint64_t us)</td></tr>
267 <tr class="memdesc:gaeeaebd3a10e0a193022f15c8603772ba"><td class="mdescLeft"> </td><td class="mdescRight">Wait for the given number of microseconds before returning. <a href="group__sleep.html#gaeeaebd3a10e0a193022f15c8603772ba">More...</a><br /></td></tr>
268 <tr class="separator:gaeeaebd3a10e0a193022f15c8603772ba"><td class="memSeparator" colspan="2"> </td></tr>
269 <tr class="memitem:gae617a6842d4f3a192064c4354b88fcff"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sleep.html#gae617a6842d4f3a192064c4354b88fcff">sleep_ms</a> (uint32_t ms)</td></tr>
270 <tr class="memdesc:gae617a6842d4f3a192064c4354b88fcff"><td class="mdescLeft"> </td><td class="mdescRight">Wait for the given number of milliseconds before returning. <a href="group__sleep.html#gae617a6842d4f3a192064c4354b88fcff">More...</a><br /></td></tr>
271 <tr class="separator:gae617a6842d4f3a192064c4354b88fcff"><td class="memSeparator" colspan="2"> </td></tr>
272 <tr class="memitem:gaedc0ed51a5e908ddd660a5d279009abc"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__sleep.html#gaedc0ed51a5e908ddd660a5d279009abc">best_effort_wfe_or_timeout</a> (<a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> timeout_timestamp)</td></tr>
273 <tr class="memdesc:gaedc0ed51a5e908ddd660a5d279009abc"><td class="mdescLeft"> </td><td class="mdescRight">Helper method for blocking on a timeout. <a href="group__sleep.html#gaedc0ed51a5e908ddd660a5d279009abc">More...</a><br /></td></tr>
274 <tr class="separator:gaedc0ed51a5e908ddd660a5d279009abc"><td class="memSeparator" colspan="2"> </td></tr>
275 <tr class="memitem:gab363026fa15b43405538eb087ee7cfa9"><td class="memItemLeft" align="right" valign="top">
276 void </td><td class="memItemRight" valign="bottom"><b>alarm_pool_init_default</b> (void)</td></tr>
277 <tr class="memdesc:gab363026fa15b43405538eb087ee7cfa9"><td class="mdescLeft"> </td><td class="mdescRight">Create the default alarm pool (if not already created or disabled) <br /></td></tr>
278 <tr class="separator:gab363026fa15b43405538eb087ee7cfa9"><td class="memSeparator" colspan="2"> </td></tr>
279 <tr class="memitem:a12957d00680c6c5737ec7f57f509d73d"><td class="memItemLeft" align="right" valign="top"><a id="a12957d00680c6c5737ec7f57f509d73d" name="a12957d00680c6c5737ec7f57f509d73d"></a>
280 void </td><td class="memItemRight" valign="bottom"><b>runtime_init_default_alarm_pool</b> (void)</td></tr>
281 <tr class="separator:a12957d00680c6c5737ec7f57f509d73d"><td class="memSeparator" colspan="2"> </td></tr>
282 <tr class="memitem:ga5092ceb879289c0a597a389f34b4815e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structalarm__pool.html">alarm_pool_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#ga5092ceb879289c0a597a389f34b4815e">alarm_pool_get_default</a> (void)</td></tr>
283 <tr class="memdesc:ga5092ceb879289c0a597a389f34b4815e"><td class="mdescLeft"> </td><td class="mdescRight">The default alarm pool used when alarms are added without specifying an alarm pool, and also used by the SDK to support lower power sleeps and timeouts. <a href="group__alarm.html#ga5092ceb879289c0a597a389f34b4815e">More...</a><br /></td></tr>
284 <tr class="separator:ga5092ceb879289c0a597a389f34b4815e"><td class="memSeparator" colspan="2"> </td></tr>
285 <tr class="memitem:a078624fb8eadf3e5f7f6ec7608aad94f"><td class="memItemLeft" align="right" valign="top"><a id="a078624fb8eadf3e5f7f6ec7608aad94f" name="a078624fb8eadf3e5f7f6ec7608aad94f"></a>
286 <a class="el" href="structalarm__pool.html">alarm_pool_t</a> * </td><td class="memItemRight" valign="bottom"><b>alarm_pool_create_on_timer</b> (alarm_pool_timer_t *timer, uint timer_alarm_num, uint max_timers)</td></tr>
287 <tr class="separator:a078624fb8eadf3e5f7f6ec7608aad94f"><td class="memSeparator" colspan="2"> </td></tr>
288 <tr class="memitem:ac3e274fab187713f3faa70e7472b0676"><td class="memItemLeft" align="right" valign="top"><a id="ac3e274fab187713f3faa70e7472b0676" name="ac3e274fab187713f3faa70e7472b0676"></a>
289 alarm_pool_timer_t * </td><td class="memItemRight" valign="bottom"><b>alarm_pool_timer_for_timer_num</b> (uint timer_num)</td></tr>
290 <tr class="separator:ac3e274fab187713f3faa70e7472b0676"><td class="memSeparator" colspan="2"> </td></tr>
291 <tr class="memitem:aebcd017af7a402fca20f1163039c71cd"><td class="memItemLeft" align="right" valign="top"><a id="aebcd017af7a402fca20f1163039c71cd" name="aebcd017af7a402fca20f1163039c71cd"></a>
292 alarm_pool_timer_t * </td><td class="memItemRight" valign="bottom"><b>alarm_pool_get_default_timer</b> (void)</td></tr>
293 <tr class="separator:aebcd017af7a402fca20f1163039c71cd"><td class="memSeparator" colspan="2"> </td></tr>
294 <tr class="memitem:ga185db8b4e54a13d19fca6e5d2761bae6"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structalarm__pool.html">alarm_pool_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#ga185db8b4e54a13d19fca6e5d2761bae6">alarm_pool_create</a> (uint timer_alarm_num, uint max_timers)</td></tr>
295 <tr class="memdesc:ga185db8b4e54a13d19fca6e5d2761bae6"><td class="mdescLeft"> </td><td class="mdescRight">Create an alarm pool. <a href="group__alarm.html#ga185db8b4e54a13d19fca6e5d2761bae6">More...</a><br /></td></tr>
296 <tr class="separator:ga185db8b4e54a13d19fca6e5d2761bae6"><td class="memSeparator" colspan="2"> </td></tr>
297 <tr class="memitem:ab2774c4d9347961d09ff7d05cdaa4809"><td class="memItemLeft" align="right" valign="top"><a id="ab2774c4d9347961d09ff7d05cdaa4809" name="ab2774c4d9347961d09ff7d05cdaa4809"></a>
298 <a class="el" href="structalarm__pool.html">alarm_pool_t</a> * </td><td class="memItemRight" valign="bottom"><b>alarm_pool_create_on_timer_with_unused_hardware_alarm</b> (alarm_pool_timer_t *timer, uint max_timers)</td></tr>
299 <tr class="separator:ab2774c4d9347961d09ff7d05cdaa4809"><td class="memSeparator" colspan="2"> </td></tr>
300 <tr class="memitem:ga722973ee82ee4cffb438dc478471d138"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structalarm__pool.html">alarm_pool_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#ga722973ee82ee4cffb438dc478471d138">alarm_pool_create_with_unused_hardware_alarm</a> (uint max_timers)</td></tr>
301 <tr class="memdesc:ga722973ee82ee4cffb438dc478471d138"><td class="mdescLeft"> </td><td class="mdescRight">Create an alarm pool, claiming an used timer_alarm to back it. <a href="group__alarm.html#ga722973ee82ee4cffb438dc478471d138">More...</a><br /></td></tr>
302 <tr class="separator:ga722973ee82ee4cffb438dc478471d138"><td class="memSeparator" colspan="2"> </td></tr>
303 <tr class="memitem:gaeb9321260fecc29b551d5e6ceffccc99"><td class="memItemLeft" align="right" valign="top">uint </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#gaeb9321260fecc29b551d5e6ceffccc99">alarm_pool_timer_alarm_num</a> (<a class="el" href="structalarm__pool.html">alarm_pool_t</a> *pool)</td></tr>
304 <tr class="memdesc:gaeb9321260fecc29b551d5e6ceffccc99"><td class="mdescLeft"> </td><td class="mdescRight">Return the timer alarm used by an alarm pool. <a href="group__alarm.html#gaeb9321260fecc29b551d5e6ceffccc99">More...</a><br /></td></tr>
305 <tr class="separator:gaeb9321260fecc29b551d5e6ceffccc99"><td class="memSeparator" colspan="2"> </td></tr>
306 <tr class="memitem:adb37e99626cd90880ffcd71f8aaee5b6"><td class="memItemLeft" align="right" valign="top"><a id="adb37e99626cd90880ffcd71f8aaee5b6" name="adb37e99626cd90880ffcd71f8aaee5b6"></a>
307 static uint </td><td class="memItemRight" valign="bottom"><b>alarm_pool_hardware_alarm_num</b> (<a class="el" href="structalarm__pool.html">alarm_pool_t</a> *pool)</td></tr>
308 <tr class="separator:adb37e99626cd90880ffcd71f8aaee5b6"><td class="memSeparator" colspan="2"> </td></tr>
309 <tr class="memitem:ga4918e03a3ddd5c328d65bd014d26856b"><td class="memItemLeft" align="right" valign="top">uint </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#ga4918e03a3ddd5c328d65bd014d26856b">alarm_pool_core_num</a> (<a class="el" href="structalarm__pool.html">alarm_pool_t</a> *pool)</td></tr>
310 <tr class="memdesc:ga4918e03a3ddd5c328d65bd014d26856b"><td class="mdescLeft"> </td><td class="mdescRight">Return the core number the alarm pool was initialized on (and hence callbacks are called on) <a href="group__alarm.html#ga4918e03a3ddd5c328d65bd014d26856b">More...</a><br /></td></tr>
311 <tr class="separator:ga4918e03a3ddd5c328d65bd014d26856b"><td class="memSeparator" colspan="2"> </td></tr>
312 <tr class="memitem:gae7536c4d34088a2d19b2da92b87cbb4e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#gae7536c4d34088a2d19b2da92b87cbb4e">alarm_pool_destroy</a> (<a class="el" href="structalarm__pool.html">alarm_pool_t</a> *pool)</td></tr>
313 <tr class="memdesc:gae7536c4d34088a2d19b2da92b87cbb4e"><td class="mdescLeft"> </td><td class="mdescRight">Destroy the alarm pool, cancelling all alarms and freeing up the underlying timer_alarm. <a href="group__alarm.html#gae7536c4d34088a2d19b2da92b87cbb4e">More...</a><br /></td></tr>
314 <tr class="separator:gae7536c4d34088a2d19b2da92b87cbb4e"><td class="memSeparator" colspan="2"> </td></tr>
315 <tr class="memitem:gab75446a927e4e870ad27fde145a88019"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#gab75446a927e4e870ad27fde145a88019">alarm_pool_add_alarm_at</a> (<a class="el" href="structalarm__pool.html">alarm_pool_t</a> *pool, <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> time, <a class="el" href="group__alarm.html#gade88ed45e9b59ad39d91f17c8709c16a">alarm_callback_t</a> callback, void *user_data, bool fire_if_past)</td></tr>
316 <tr class="memdesc:gab75446a927e4e870ad27fde145a88019"><td class="mdescLeft"> </td><td class="mdescRight">Add an alarm callback to be called at a specific time. <a href="group__alarm.html#gab75446a927e4e870ad27fde145a88019">More...</a><br /></td></tr>
317 <tr class="separator:gab75446a927e4e870ad27fde145a88019"><td class="memSeparator" colspan="2"> </td></tr>
318 <tr class="memitem:ga72bfc8c2dd5bf334cd68af2e349a1b37"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#ga72bfc8c2dd5bf334cd68af2e349a1b37">alarm_pool_add_alarm_at_force_in_context</a> (<a class="el" href="structalarm__pool.html">alarm_pool_t</a> *pool, <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> time, <a class="el" href="group__alarm.html#gade88ed45e9b59ad39d91f17c8709c16a">alarm_callback_t</a> callback, void *user_data)</td></tr>
319 <tr class="memdesc:ga72bfc8c2dd5bf334cd68af2e349a1b37"><td class="mdescLeft"> </td><td class="mdescRight">Add an alarm callback to be called at or after a specific time. <a href="group__alarm.html#ga72bfc8c2dd5bf334cd68af2e349a1b37">More...</a><br /></td></tr>
320 <tr class="separator:ga72bfc8c2dd5bf334cd68af2e349a1b37"><td class="memSeparator" colspan="2"> </td></tr>
321 <tr class="memitem:ga0d00072e81de2d54fa690dc4b4bfe408"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#ga0d00072e81de2d54fa690dc4b4bfe408">alarm_pool_add_alarm_in_us</a> (<a class="el" href="structalarm__pool.html">alarm_pool_t</a> *pool, uint64_t us, <a class="el" href="group__alarm.html#gade88ed45e9b59ad39d91f17c8709c16a">alarm_callback_t</a> callback, void *user_data, bool fire_if_past)</td></tr>
322 <tr class="memdesc:ga0d00072e81de2d54fa690dc4b4bfe408"><td class="mdescLeft"> </td><td class="mdescRight">Add an alarm callback to be called after a delay specified in microseconds. <a href="group__alarm.html#ga0d00072e81de2d54fa690dc4b4bfe408">More...</a><br /></td></tr>
323 <tr class="separator:ga0d00072e81de2d54fa690dc4b4bfe408"><td class="memSeparator" colspan="2"> </td></tr>
324 <tr class="memitem:ga6e32765c525683f216fc42bd1984e239"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#ga6e32765c525683f216fc42bd1984e239">alarm_pool_add_alarm_in_ms</a> (<a class="el" href="structalarm__pool.html">alarm_pool_t</a> *pool, uint32_t ms, <a class="el" href="group__alarm.html#gade88ed45e9b59ad39d91f17c8709c16a">alarm_callback_t</a> callback, void *user_data, bool fire_if_past)</td></tr>
325 <tr class="memdesc:ga6e32765c525683f216fc42bd1984e239"><td class="mdescLeft"> </td><td class="mdescRight">Add an alarm callback to be called after a delay specified in milliseconds. <a href="group__alarm.html#ga6e32765c525683f216fc42bd1984e239">More...</a><br /></td></tr>
326 <tr class="separator:ga6e32765c525683f216fc42bd1984e239"><td class="memSeparator" colspan="2"> </td></tr>
327 <tr class="memitem:ga342ebecd5ebc1a39f1da0bac81069712"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#ga342ebecd5ebc1a39f1da0bac81069712">alarm_pool_remaining_alarm_time_us</a> (<a class="el" href="structalarm__pool.html">alarm_pool_t</a> *pool, <a class="el" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> alarm_id)</td></tr>
328 <tr class="memdesc:ga342ebecd5ebc1a39f1da0bac81069712"><td class="mdescLeft"> </td><td class="mdescRight">Return the time remaining before the next trigger of an alarm. <a href="group__alarm.html#ga342ebecd5ebc1a39f1da0bac81069712">More...</a><br /></td></tr>
329 <tr class="separator:ga342ebecd5ebc1a39f1da0bac81069712"><td class="memSeparator" colspan="2"> </td></tr>
330 <tr class="memitem:ga3a9a4343aa9efe22e4324dc82ad2f3ec"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#ga3a9a4343aa9efe22e4324dc82ad2f3ec">alarm_pool_remaining_alarm_time_ms</a> (<a class="el" href="structalarm__pool.html">alarm_pool_t</a> *pool, <a class="el" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> alarm_id)</td></tr>
331 <tr class="memdesc:ga3a9a4343aa9efe22e4324dc82ad2f3ec"><td class="mdescLeft"> </td><td class="mdescRight">Return the time remaining before the next trigger of an alarm. <a href="group__alarm.html#ga3a9a4343aa9efe22e4324dc82ad2f3ec">More...</a><br /></td></tr>
332 <tr class="separator:ga3a9a4343aa9efe22e4324dc82ad2f3ec"><td class="memSeparator" colspan="2"> </td></tr>
333 <tr class="memitem:ga02cc23b4a3109fb8c2d57e24981f2932"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#ga02cc23b4a3109fb8c2d57e24981f2932">alarm_pool_cancel_alarm</a> (<a class="el" href="structalarm__pool.html">alarm_pool_t</a> *pool, <a class="el" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> alarm_id)</td></tr>
334 <tr class="memdesc:ga02cc23b4a3109fb8c2d57e24981f2932"><td class="mdescLeft"> </td><td class="mdescRight">Cancel an alarm. <a href="group__alarm.html#ga02cc23b4a3109fb8c2d57e24981f2932">More...</a><br /></td></tr>
335 <tr class="separator:ga02cc23b4a3109fb8c2d57e24981f2932"><td class="memSeparator" colspan="2"> </td></tr>
336 <tr class="memitem:gae98ddd58a2c1d142eb6db7882512ce8d"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#gae98ddd58a2c1d142eb6db7882512ce8d">add_alarm_at</a> (<a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> time, <a class="el" href="group__alarm.html#gade88ed45e9b59ad39d91f17c8709c16a">alarm_callback_t</a> callback, void *user_data, bool fire_if_past)</td></tr>
337 <tr class="memdesc:gae98ddd58a2c1d142eb6db7882512ce8d"><td class="mdescLeft"> </td><td class="mdescRight">Add an alarm callback to be called at a specific time. <a href="group__alarm.html#gae98ddd58a2c1d142eb6db7882512ce8d">More...</a><br /></td></tr>
338 <tr class="separator:gae98ddd58a2c1d142eb6db7882512ce8d"><td class="memSeparator" colspan="2"> </td></tr>
339 <tr class="memitem:ga69b4481d9d9a906caefb31c54a048575"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#ga69b4481d9d9a906caefb31c54a048575">add_alarm_in_us</a> (uint64_t us, <a class="el" href="group__alarm.html#gade88ed45e9b59ad39d91f17c8709c16a">alarm_callback_t</a> callback, void *user_data, bool fire_if_past)</td></tr>
340 <tr class="memdesc:ga69b4481d9d9a906caefb31c54a048575"><td class="mdescLeft"> </td><td class="mdescRight">Add an alarm callback to be called after a delay specified in microseconds. <a href="group__alarm.html#ga69b4481d9d9a906caefb31c54a048575">More...</a><br /></td></tr>
341 <tr class="separator:ga69b4481d9d9a906caefb31c54a048575"><td class="memSeparator" colspan="2"> </td></tr>
342 <tr class="memitem:ga8bb045ab597f773d7d5fdfea5db94f69"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#ga8bb045ab597f773d7d5fdfea5db94f69">add_alarm_in_ms</a> (uint32_t ms, <a class="el" href="group__alarm.html#gade88ed45e9b59ad39d91f17c8709c16a">alarm_callback_t</a> callback, void *user_data, bool fire_if_past)</td></tr>
343 <tr class="memdesc:ga8bb045ab597f773d7d5fdfea5db94f69"><td class="mdescLeft"> </td><td class="mdescRight">Add an alarm callback to be called after a delay specified in milliseconds. <a href="group__alarm.html#ga8bb045ab597f773d7d5fdfea5db94f69">More...</a><br /></td></tr>
344 <tr class="separator:ga8bb045ab597f773d7d5fdfea5db94f69"><td class="memSeparator" colspan="2"> </td></tr>
345 <tr class="memitem:gae99f63dc25fe5c3a0d78d9fb90308b1b"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#gae99f63dc25fe5c3a0d78d9fb90308b1b">cancel_alarm</a> (<a class="el" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> alarm_id)</td></tr>
346 <tr class="memdesc:gae99f63dc25fe5c3a0d78d9fb90308b1b"><td class="mdescLeft"> </td><td class="mdescRight">Cancel an alarm from the default alarm pool. <a href="group__alarm.html#gae99f63dc25fe5c3a0d78d9fb90308b1b">More...</a><br /></td></tr>
347 <tr class="separator:gae99f63dc25fe5c3a0d78d9fb90308b1b"><td class="memSeparator" colspan="2"> </td></tr>
348 <tr class="memitem:ga549331a1b34938eb9f9dae03712a714c"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#ga549331a1b34938eb9f9dae03712a714c">remaining_alarm_time_us</a> (<a class="el" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> alarm_id)</td></tr>
349 <tr class="memdesc:ga549331a1b34938eb9f9dae03712a714c"><td class="mdescLeft"> </td><td class="mdescRight">Return the time remaining before the next trigger of an alarm. <a href="group__alarm.html#ga549331a1b34938eb9f9dae03712a714c">More...</a><br /></td></tr>
350 <tr class="separator:ga549331a1b34938eb9f9dae03712a714c"><td class="memSeparator" colspan="2"> </td></tr>
351 <tr class="memitem:ga61affbec7fedd98582b1df8b5ca3fe3b"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__alarm.html#ga61affbec7fedd98582b1df8b5ca3fe3b">remaining_alarm_time_ms</a> (<a class="el" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> alarm_id)</td></tr>
352 <tr class="memdesc:ga61affbec7fedd98582b1df8b5ca3fe3b"><td class="mdescLeft"> </td><td class="mdescRight">Return the time remaining before the next trigger of an alarm. <a href="group__alarm.html#ga61affbec7fedd98582b1df8b5ca3fe3b">More...</a><br /></td></tr>
353 <tr class="separator:ga61affbec7fedd98582b1df8b5ca3fe3b"><td class="memSeparator" colspan="2"> </td></tr>
354 <tr class="memitem:ga75dad2018ae1e4c154fb17cd96db9872"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__repeating__timer.html#ga75dad2018ae1e4c154fb17cd96db9872">alarm_pool_add_repeating_timer_us</a> (<a class="el" href="structalarm__pool.html">alarm_pool_t</a> *pool, int64_t delay_us, <a class="el" href="group__repeating__timer.html#ga028fe2b7d00c1927c24131aae7c375f3">repeating_timer_callback_t</a> callback, void *user_data, <a class="el" href="structrepeating__timer.html">repeating_timer_t</a> *out)</td></tr>
355 <tr class="memdesc:ga75dad2018ae1e4c154fb17cd96db9872"><td class="mdescLeft"> </td><td class="mdescRight">Add a repeating timer that is called repeatedly at the specified interval in microseconds. <a href="group__repeating__timer.html#ga75dad2018ae1e4c154fb17cd96db9872">More...</a><br /></td></tr>
356 <tr class="separator:ga75dad2018ae1e4c154fb17cd96db9872"><td class="memSeparator" colspan="2"> </td></tr>
357 <tr class="memitem:gae5a6b07212ea5e106a81fc2f814a9e9e"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__repeating__timer.html#gae5a6b07212ea5e106a81fc2f814a9e9e">alarm_pool_add_repeating_timer_ms</a> (<a class="el" href="structalarm__pool.html">alarm_pool_t</a> *pool, int32_t delay_ms, <a class="el" href="group__repeating__timer.html#ga028fe2b7d00c1927c24131aae7c375f3">repeating_timer_callback_t</a> callback, void *user_data, <a class="el" href="structrepeating__timer.html">repeating_timer_t</a> *out)</td></tr>
358 <tr class="memdesc:gae5a6b07212ea5e106a81fc2f814a9e9e"><td class="mdescLeft"> </td><td class="mdescRight">Add a repeating timer that is called repeatedly at the specified interval in milliseconds. <a href="group__repeating__timer.html#gae5a6b07212ea5e106a81fc2f814a9e9e">More...</a><br /></td></tr>
359 <tr class="separator:gae5a6b07212ea5e106a81fc2f814a9e9e"><td class="memSeparator" colspan="2"> </td></tr>
360 <tr class="memitem:ga8da55f26158144c2a9a813f69a524906"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__repeating__timer.html#ga8da55f26158144c2a9a813f69a524906">add_repeating_timer_us</a> (int64_t delay_us, <a class="el" href="group__repeating__timer.html#ga028fe2b7d00c1927c24131aae7c375f3">repeating_timer_callback_t</a> callback, void *user_data, <a class="el" href="structrepeating__timer.html">repeating_timer_t</a> *out)</td></tr>
361 <tr class="memdesc:ga8da55f26158144c2a9a813f69a524906"><td class="mdescLeft"> </td><td class="mdescRight">Add a repeating timer that is called repeatedly at the specified interval in microseconds. <a href="group__repeating__timer.html#ga8da55f26158144c2a9a813f69a524906">More...</a><br /></td></tr>
362 <tr class="separator:ga8da55f26158144c2a9a813f69a524906"><td class="memSeparator" colspan="2"> </td></tr>
363 <tr class="memitem:ga02133dbe7083fcf3c7392a2cfb8243ba"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__repeating__timer.html#ga02133dbe7083fcf3c7392a2cfb8243ba">add_repeating_timer_ms</a> (int32_t delay_ms, <a class="el" href="group__repeating__timer.html#ga028fe2b7d00c1927c24131aae7c375f3">repeating_timer_callback_t</a> callback, void *user_data, <a class="el" href="structrepeating__timer.html">repeating_timer_t</a> *out)</td></tr>
364 <tr class="memdesc:ga02133dbe7083fcf3c7392a2cfb8243ba"><td class="mdescLeft"> </td><td class="mdescRight">Add a repeating timer that is called repeatedly at the specified interval in milliseconds. <a href="group__repeating__timer.html#ga02133dbe7083fcf3c7392a2cfb8243ba">More...</a><br /></td></tr>
365 <tr class="separator:ga02133dbe7083fcf3c7392a2cfb8243ba"><td class="memSeparator" colspan="2"> </td></tr>
366 <tr class="memitem:ga9ad5a07a3f2300cc9d46c1c847fae6f1"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__repeating__timer.html#ga9ad5a07a3f2300cc9d46c1c847fae6f1">cancel_repeating_timer</a> (<a class="el" href="structrepeating__timer.html">repeating_timer_t</a> *timer)</td></tr>
367 <tr class="memdesc:ga9ad5a07a3f2300cc9d46c1c847fae6f1"><td class="mdescLeft"> </td><td class="mdescRight">Cancel a repeating timer. <a href="group__repeating__timer.html#ga9ad5a07a3f2300cc9d46c1c847fae6f1">More...</a><br /></td></tr>
368 <tr class="separator:ga9ad5a07a3f2300cc9d46c1c847fae6f1"><td class="memSeparator" colspan="2"> </td></tr>
369 </table><table class="memberdecls">
370 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
371 Variables</h2></td></tr>
372 <tr class="memitem:gab375b40e949dce1052298f79c66f7120"><td class="memItemLeft" align="right" valign="top">
373 const <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> </td><td class="memItemRight" valign="bottom"><b>at_the_end_of_time</b></td></tr>
374 <tr class="memdesc:gab375b40e949dce1052298f79c66f7120"><td class="mdescLeft"> </td><td class="mdescRight">The timestamp representing the end of time; this is actually not the maximum possible timestamp, but is set to 0x7fffffff_ffffffff microseconds to avoid sign overflows with time arithmetic. This is almost 300,000 years, so should be sufficient. <br /></td></tr>
375 <tr class="separator:gab375b40e949dce1052298f79c66f7120"><td class="memSeparator" colspan="2"> </td></tr>
376 <tr class="memitem:ga978d7972634296a1870c28b0727beefb"><td class="memItemLeft" align="right" valign="top">
377 const <a class="el" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> </td><td class="memItemRight" valign="bottom"><b>nil_time</b></td></tr>
378 <tr class="memdesc:ga978d7972634296a1870c28b0727beefb"><td class="mdescLeft"> </td><td class="mdescRight">The timestamp representing a null timestamp. <br /></td></tr>
379 <tr class="separator:ga978d7972634296a1870c28b0727beefb"><td class="memSeparator" colspan="2"> </td></tr>
381 </div><!-- contents -->
382 </div><!-- doc-content -->
384 <script src="main.js"></script>