]> Git Repo - pico-vscode.git/blob - web/docs/time_8h_source.html
Fix #25 - missing quotes around gitExecutable
[pico-vscode.git] / web / docs / time_8h_source.html
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">
4 <head>
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: pico_time/include/pico/time.h Source File</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"/>
25 </head>
26 <body>
27         <div class="navigation-mobile">
28                 <div class="logo--mobile">
29                         <a href="/"><img src="logo-mobile.svg" alt="Raspberry Pi"></a>
30                 </div>
31                 <div class="navigation-toggle">
32                         <span class="line-1"></span>
33                         <span class="line-2">
34                                 <p>Menu Toggle</p>
35                         </span>
36                         <span class="line-3"></span>
37                 </div>
38         </div>
39         <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
40                 <div class="logo">
41                         <a href="index.html"> <img src="logo.svg" alt="Raspberry Pi"></a>
42                         <span style="display: inline-block; margin-top: 10px;">
43                                 v1.5.1
44                         </span>
45                 </div>
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>
49                 </div>
50 <!--            <div class="search">
51                         <form>
52                                 <input type="search" name="search" id="search" placeholder="Search">
53                                 <input type="submit" value="Search">
54                         </form>
55                 </div> -->
56 <!-- Generated by Doxygen 1.9.4 -->
57 <script type="text/javascript">
58 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
59 var searchBox = new SearchBox("searchBox", "search",'Search','.html');
60 /* @license-end */
61 </script>
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&amp;dn=expat.txt MIT */
66 $(function() {
67   initMenu('',true,false,'search.php','Search');
68   $(document).ready(function() { init_search(); });
69 });
70 /* @license-end */
71 </script>
72 <div id="main-nav"></div>
73 </div><!-- top -->
74 <div id="side-nav" class="ui-resizable side-nav-resizable">
75   <div id="nav-tree">
76     <div id="nav-tree-contents">
77       <div id="nav-sync" class="sync"></div>
78     </div>
79   </div>
80   <div id="splitbar" style="-moz-user-select:none;" 
81        class="ui-resizable-handle">
82   </div>
83 </div>
84 <script type="text/javascript">
85 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
86 $(document).ready(function(){initNavTree('time_8h_source.html',''); initResizable(); });
87 /* @license-end */
88 </script>
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)">
95 </div>
96
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">
101 </iframe>
102 </div>
103
104 <div class="header">
105   <div class="headertitle"><div class="title">time.h</div></div>
106 </div><!--header-->
107 <div class="contents">
108 <a href="time_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/*</span></div>
109 <div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="comment"> * Copyright (c) 2020 Raspberry Pi (Trading) Ltd.</span></div>
110 <div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span><span class="comment"> *</span></div>
111 <div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="comment"> * SPDX-License-Identifier: BSD-3-Clause</span></div>
112 <div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="comment"> */</span></div>
113 <div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span> </div>
114 <div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="preprocessor">#ifndef _PICO_TIME_H</span></div>
115 <div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="preprocessor">#define _PICO_TIME_H</span></div>
116 <div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span> </div>
117 <div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#include &quot;<a class="code" href="pico_8h.html">pico.h</a>&quot;</span></div>
118 <div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="preprocessor">#include &quot;<a class="code" href="rp2__common_2hardware__timer_2include_2hardware_2timer_8h.html">hardware/timer.h</a>&quot;</span></div>
119 <div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span> </div>
120 <div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="preprocessor">#ifdef __cplusplus</span></div>
121 <div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
122 <div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="preprocessor">#endif</span></div>
123 <div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span> </div>
124 <div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="comment">// PICO_CONFIG: PARAM_ASSERTIONS_ENABLED_TIME, Enable/disable assertions in the time module, type=bool, default=0, group=pico_time</span></div>
125 <div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="preprocessor">#ifndef PARAM_ASSERTIONS_ENABLED_TIME</span></div>
126 <div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="preprocessor">#define PARAM_ASSERTIONS_ENABLED_TIME 0</span></div>
127 <div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="preprocessor">#endif</span></div>
128 <div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span> </div>
129 <div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span><span class="comment">// PICO_CONFIG: PICO_TIME_SLEEP_OVERHEAD_ADJUST_US, How many microseconds to wake up early (and then busy_wait) to account for timer overhead when sleeping in low power mode, type=int, default=6, group=pico_time</span></div>
130 <div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="preprocessor">#ifndef PICO_TIME_SLEEP_OVERHEAD_ADJUST_US</span></div>
131 <div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span><span class="preprocessor">#define PICO_TIME_SLEEP_OVERHEAD_ADJUST_US 6</span></div>
132 <div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span><span class="preprocessor">#endif</span></div>
133 <div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="group__timestamp.html#ga6a1d4dfb43030b6594fa050f50feb47a">   61</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> <a class="code hl_function" href="group__timestamp.html#ga6a1d4dfb43030b6594fa050f50feb47a">get_absolute_time</a>(<span class="keywordtype">void</span>) {</div>
134 <div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span>    <a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> t;</div>
135 <div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span>    <a class="code hl_function" href="group__timestamp.html#gacb69a734d588b758f1ada8af8efe6968">update_us_since_boot</a>(&amp;t, <a class="code hl_function" href="group__hardware__timer.html#ga7bbcd996dbd3dd4adc03a80272fb2fc3">time_us_64</a>());</div>
136 <div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span>    <span class="keywordflow">return</span> t;</div>
137 <div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span>}</div>
138 <div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span> </div>
139 <div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span><span class="keyword">static</span> <span class="keyword">inline</span> uint32_t us_to_ms(uint64_t us) {</div>
140 <div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span>    <span class="keywordflow">if</span> (us &gt;&gt; 32u) {</div>
141 <div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span>        <span class="keywordflow">return</span> (uint32_t)(us / 1000u);</div>
142 <div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span>    } <span class="keywordflow">else</span> {</div>
143 <div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span>        <span class="keywordflow">return</span> ((uint32_t)us) / 1000u;</div>
144 <div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>    }</div>
145 <div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span>}</div>
146 <div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span> </div>
147 <div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="group__timestamp.html#gab12467c48bde27171b552ac4dc8c7d59">   82</a></span><span class="keyword">static</span> <span class="keyword">inline</span> uint32_t <a class="code hl_function" href="group__timestamp.html#gab12467c48bde27171b552ac4dc8c7d59">to_ms_since_boot</a>(<a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> t) {</div>
148 <div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span>    uint64_t us = <a class="code hl_function" href="group__timestamp.html#ga173698876ae00331c92ed4e8c3ba98d1">to_us_since_boot</a>(t);</div>
149 <div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span>    <span class="keywordflow">return</span> us_to_ms(us);</div>
150 <div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span>}</div>
151 <div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span> </div>
152 <div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="group__timestamp.html#ga729dc88ec38af2d054ba7307214bcf3c">   94</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> <a class="code hl_function" href="group__timestamp.html#ga729dc88ec38af2d054ba7307214bcf3c">delayed_by_us</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> t, uint64_t us) {</div>
153 <div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span>    <a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> t2;</div>
154 <div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span>    uint64_t base = <a class="code hl_function" href="group__timestamp.html#ga173698876ae00331c92ed4e8c3ba98d1">to_us_since_boot</a>(t);</div>
155 <div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span>    uint64_t delayed = base + us;</div>
156 <div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span>    <span class="keywordflow">if</span> ((int64_t)delayed &lt; 0) {</div>
157 <div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span>        <span class="comment">// absolute_time_t (to allow for signed time deltas) is never greater than INT64_MAX which == at_the_end_of_time</span></div>
158 <div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>        delayed = INT64_MAX;</div>
159 <div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span>    }</div>
160 <div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span>    <a class="code hl_function" href="group__timestamp.html#gacb69a734d588b758f1ada8af8efe6968">update_us_since_boot</a>(&amp;t2, delayed);</div>
161 <div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span>    <span class="keywordflow">return</span> t2;</div>
162 <div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span>}</div>
163 <div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span> </div>
164 <div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="group__timestamp.html#ga7ee031a9cdeb9a9a6328d1b41d53cf5c">  113</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> <a class="code hl_function" href="group__timestamp.html#ga7ee031a9cdeb9a9a6328d1b41d53cf5c">delayed_by_ms</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> t, uint32_t ms) {</div>
165 <div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>    <a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> t2;</div>
166 <div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span>    uint64_t base = <a class="code hl_function" href="group__timestamp.html#ga173698876ae00331c92ed4e8c3ba98d1">to_us_since_boot</a>(t);</div>
167 <div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span>    uint64_t delayed = base + ms * 1000ull;</div>
168 <div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span>    <span class="keywordflow">if</span> ((int64_t)delayed &lt; 0) {</div>
169 <div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span>        <span class="comment">// absolute_time_t (to allow for signed time deltas) is never greater than INT64_MAX which == at_the_end_of_time</span></div>
170 <div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span>        delayed = INT64_MAX;</div>
171 <div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span>    }</div>
172 <div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span>    <a class="code hl_function" href="group__timestamp.html#gacb69a734d588b758f1ada8af8efe6968">update_us_since_boot</a>(&amp;t2, delayed);</div>
173 <div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span>    <span class="keywordflow">return</span> t2;</div>
174 <div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span>}</div>
175 <div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span> </div>
176 <div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="group__timestamp.html#ga70921b9073202a54eec3494b4d19ec84">  131</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> <a class="code hl_function" href="group__timestamp.html#ga70921b9073202a54eec3494b4d19ec84">make_timeout_time_us</a>(uint64_t us) {</div>
177 <div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span>    <span class="keywordflow">return</span> <a class="code hl_function" href="group__timestamp.html#ga729dc88ec38af2d054ba7307214bcf3c">delayed_by_us</a>(<a class="code hl_function" href="group__timestamp.html#ga6a1d4dfb43030b6594fa050f50feb47a">get_absolute_time</a>(), us);</div>
178 <div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span>}</div>
179 <div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span> </div>
180 <div class="line"><a id="l00141" name="l00141"></a><span class="lineno"><a class="line" href="group__timestamp.html#gab11f5a243dd585b6903a87b0127df2cc">  141</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> <a class="code hl_function" href="group__timestamp.html#gab11f5a243dd585b6903a87b0127df2cc">make_timeout_time_ms</a>(uint32_t ms) {</div>
181 <div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span>    <span class="keywordflow">return</span> <a class="code hl_function" href="group__timestamp.html#ga7ee031a9cdeb9a9a6328d1b41d53cf5c">delayed_by_ms</a>(<a class="code hl_function" href="group__timestamp.html#ga6a1d4dfb43030b6594fa050f50feb47a">get_absolute_time</a>(), ms);</div>
182 <div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span>}</div>
183 <div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span> </div>
184 <div class="line"><a id="l00156" name="l00156"></a><span class="lineno"><a class="line" href="group__timestamp.html#ga36d9cbebcc55e41921550edbabf17ab2">  156</a></span><span class="keyword">static</span> <span class="keyword">inline</span> int64_t <a class="code hl_function" href="group__timestamp.html#ga36d9cbebcc55e41921550edbabf17ab2">absolute_time_diff_us</a>(<a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> from, <a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> to) {</div>
185 <div class="line"><a id="l00157" name="l00157"></a><span class="lineno">  157</span>    <span class="keywordflow">return</span> (int64_t)(<a class="code hl_function" href="group__timestamp.html#ga173698876ae00331c92ed4e8c3ba98d1">to_us_since_boot</a>(to) - <a class="code hl_function" href="group__timestamp.html#ga173698876ae00331c92ed4e8c3ba98d1">to_us_since_boot</a>(from));</div>
186 <div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span>}</div>
187 <div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</span> </div>
188 <div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="group__timestamp.html#ga522e97b4c9dfeb3db0bc702461b61a3a">  167</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> <a class="code hl_function" href="group__timestamp.html#ga522e97b4c9dfeb3db0bc702461b61a3a">absolute_time_min</a>(<a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> a, <a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> b) {</div>
189 <div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span>    <span class="keywordflow">return</span> <a class="code hl_function" href="group__timestamp.html#ga173698876ae00331c92ed4e8c3ba98d1">to_us_since_boot</a>(a) &lt; <a class="code hl_function" href="group__timestamp.html#ga173698876ae00331c92ed4e8c3ba98d1">to_us_since_boot</a>(b) ? a : b;</div>
190 <div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span>}</div>
191 <div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span> </div>
192 <div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span><span class="keyword">extern</span> <span class="keyword">const</span> <a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> <a class="code hl_variable" href="group__timestamp.html#gab375b40e949dce1052298f79c66f7120">at_the_end_of_time</a>;</div>
193 <div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span> </div>
194 <div class="line"><a id="l00184" name="l00184"></a><span class="lineno"><a class="line" href="group__timestamp.html#ga408e44143880dd2a9ebfe2f3ebeab242">  184</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="group__timestamp.html#ga408e44143880dd2a9ebfe2f3ebeab242">is_at_the_end_of_time</a>(<a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> t) {</div>
195 <div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span>    <span class="keywordflow">return</span> <a class="code hl_function" href="group__timestamp.html#ga173698876ae00331c92ed4e8c3ba98d1">to_us_since_boot</a>(t) == <a class="code hl_function" href="group__timestamp.html#ga173698876ae00331c92ed4e8c3ba98d1">to_us_since_boot</a>(<a class="code hl_variable" href="group__timestamp.html#gab375b40e949dce1052298f79c66f7120">at_the_end_of_time</a>);</div>
196 <div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</span>}</div>
197 <div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span> </div>
198 <div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span><span class="keyword">extern</span> <span class="keyword">const</span> <a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> <a class="code hl_variable" href="group__timestamp.html#ga978d7972634296a1870c28b0727beefb">nil_time</a>;</div>
199 <div class="line"><a id="l00192" name="l00192"></a><span class="lineno">  192</span> </div>
200 <div class="line"><a id="l00199" name="l00199"></a><span class="lineno"><a class="line" href="group__timestamp.html#ga0753884ef1d9340edacf53e9c06e42de">  199</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="group__timestamp.html#ga0753884ef1d9340edacf53e9c06e42de">is_nil_time</a>(<a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> t) {</div>
201 <div class="line"><a id="l00200" name="l00200"></a><span class="lineno">  200</span>    <span class="keywordflow">return</span> !<a class="code hl_function" href="group__timestamp.html#ga173698876ae00331c92ed4e8c3ba98d1">to_us_since_boot</a>(t);</div>
202 <div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span>}</div>
203 <div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span> </div>
204 <div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__sleep.html#ga7abed28d3918fe2b15f8007ba6569172">sleep_until</a>(<a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> target);</div>
205 <div class="line"><a id="l00233" name="l00233"></a><span class="lineno">  233</span> </div>
206 <div class="line"><a id="l00242" name="l00242"></a><span class="lineno">  242</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__sleep.html#gaeeaebd3a10e0a193022f15c8603772ba">sleep_us</a>(uint64_t us);</div>
207 <div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span> </div>
208 <div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__sleep.html#gae617a6842d4f3a192064c4354b88fcff">sleep_ms</a>(uint32_t ms);</div>
209 <div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span> </div>
210 <div class="line"><a id="l00286" name="l00286"></a><span class="lineno">  286</span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__sleep.html#gaedc0ed51a5e908ddd660a5d279009abc">best_effort_wfe_or_timeout</a>(<a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> timeout_timestamp);</div>
211 <div class="line"><a id="l00287" name="l00287"></a><span class="lineno">  287</span> </div>
212 <div class="line"><a id="l00306" name="l00306"></a><span class="lineno">  306</span><span class="comment">// PICO_CONFIG: PICO_TIME_DEFAULT_ALARM_POOL_DISABLED, Disable the default alarm pool, type=bool, default=0, advanced=true, group=pico_time</span></div>
213 <div class="line"><a id="l00307" name="l00307"></a><span class="lineno">  307</span><span class="preprocessor">#ifndef PICO_TIME_DEFAULT_ALARM_POOL_DISABLED</span></div>
214 <div class="line"><a id="l00320" name="l00320"></a><span class="lineno"><a class="line" href="group__alarm.html#ga72314cafa18f7b2f90f9200be136ca27">  320</a></span><span class="preprocessor">#define PICO_TIME_DEFAULT_ALARM_POOL_DISABLED 0</span></div>
215 <div class="line"><a id="l00321" name="l00321"></a><span class="lineno">  321</span><span class="preprocessor">#endif</span></div>
216 <div class="line"><a id="l00322" name="l00322"></a><span class="lineno">  322</span> </div>
217 <div class="line"><a id="l00323" name="l00323"></a><span class="lineno">  323</span><span class="comment">// PICO_CONFIG: PICO_TIME_DEFAULT_ALARM_POOL_HARDWARE_ALARM_NUM, Select which HW alarm is used for the default alarm pool, min=0, max=3, default=3, advanced=true, group=pico_time</span></div>
218 <div class="line"><a id="l00324" name="l00324"></a><span class="lineno">  324</span><span class="preprocessor">#ifndef PICO_TIME_DEFAULT_ALARM_POOL_HARDWARE_ALARM_NUM</span></div>
219 <div class="line"><a id="l00330" name="l00330"></a><span class="lineno"><a class="line" href="group__alarm.html#ga40b4a03bf9e967d4e7170d20c5c9fb15">  330</a></span><span class="preprocessor">#define PICO_TIME_DEFAULT_ALARM_POOL_HARDWARE_ALARM_NUM 3</span></div>
220 <div class="line"><a id="l00331" name="l00331"></a><span class="lineno">  331</span><span class="preprocessor">#endif</span></div>
221 <div class="line"><a id="l00332" name="l00332"></a><span class="lineno">  332</span> </div>
222 <div class="line"><a id="l00333" name="l00333"></a><span class="lineno">  333</span><span class="comment">// PICO_CONFIG: PICO_TIME_DEFAULT_ALARM_POOL_MAX_TIMERS, Selects the maximum number of concurrent timers in the default alarm pool, min=0, max=255, default=16, advanced=true, group=pico_time</span></div>
223 <div class="line"><a id="l00334" name="l00334"></a><span class="lineno">  334</span><span class="preprocessor">#ifndef PICO_TIME_DEFAULT_ALARM_POOL_MAX_TIMERS</span></div>
224 <div class="line"><a id="l00343" name="l00343"></a><span class="lineno"><a class="line" href="group__alarm.html#ga4bb3180aa64f3c9af8c521ec1b22bdb2">  343</a></span><span class="preprocessor">#define PICO_TIME_DEFAULT_ALARM_POOL_MAX_TIMERS 16</span></div>
225 <div class="line"><a id="l00344" name="l00344"></a><span class="lineno">  344</span><span class="preprocessor">#endif</span></div>
226 <div class="line"><a id="l00345" name="l00345"></a><span class="lineno">  345</span> </div>
227 <div class="line"><a id="l00359" name="l00359"></a><span class="lineno"><a class="line" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">  359</a></span><span class="keyword">typedef</span> int32_t <a class="code hl_typedef" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a>; <span class="comment">// note this is signed because we use -1 as a meaningful error value</span></div>
228 <div class="line"><a id="l00360" name="l00360"></a><span class="lineno">  360</span> </div>
229 <div class="line"><a id="l00370" name="l00370"></a><span class="lineno"><a class="line" href="group__alarm.html#gade88ed45e9b59ad39d91f17c8709c16a">  370</a></span><span class="keyword">typedef</span> int64_t (*<a class="code hl_typedef" href="group__alarm.html#gade88ed45e9b59ad39d91f17c8709c16a">alarm_callback_t</a>)(<a class="code hl_typedef" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> id, <span class="keywordtype">void</span> *user_data);</div>
230 <div class="line"><a id="l00371" name="l00371"></a><span class="lineno">  371</span> </div>
231 <div class="line"><a id="l00372" name="l00372"></a><span class="lineno">  372</span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="structalarm__pool.html">alarm_pool</a> <a class="code hl_struct" href="structalarm__pool.html">alarm_pool_t</a>;</div>
232 <div class="line"><a id="l00373" name="l00373"></a><span class="lineno">  373</span> </div>
233 <div class="line"><a id="l00378" name="l00378"></a><span class="lineno">  378</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__alarm.html#gab363026fa15b43405538eb087ee7cfa9">alarm_pool_init_default</a>(<span class="keywordtype">void</span>);</div>
234 <div class="line"><a id="l00379" name="l00379"></a><span class="lineno">  379</span> </div>
235 <div class="line"><a id="l00380" name="l00380"></a><span class="lineno">  380</span><span class="preprocessor">#if !PICO_TIME_DEFAULT_ALARM_POOL_DISABLED</span></div>
236 <div class="line"><a id="l00388" name="l00388"></a><span class="lineno">  388</span><a class="code hl_struct" href="structalarm__pool.html">alarm_pool_t</a> *<a class="code hl_function" href="group__alarm.html#ga5092ceb879289c0a597a389f34b4815e">alarm_pool_get_default</a>(<span class="keywordtype">void</span>);</div>
237 <div class="line"><a id="l00389" name="l00389"></a><span class="lineno">  389</span><span class="preprocessor">#endif</span></div>
238 <div class="line"><a id="l00390" name="l00390"></a><span class="lineno">  390</span> </div>
239 <div class="line"><a id="l00409" name="l00409"></a><span class="lineno">  409</span><a class="code hl_struct" href="structalarm__pool.html">alarm_pool_t</a> *<a class="code hl_function" href="group__alarm.html#ga1c0e0970bd838e2319ee73eba7ff3b71">alarm_pool_create</a>(uint hardware_alarm_num, uint max_timers);</div>
240 <div class="line"><a id="l00410" name="l00410"></a><span class="lineno">  410</span> </div>
241 <div class="line"><a id="l00428" name="l00428"></a><span class="lineno">  428</span><a class="code hl_struct" href="structalarm__pool.html">alarm_pool_t</a> *<a class="code hl_function" href="group__alarm.html#ga6eeda3248dca1d0d26e92206faceb23e">alarm_pool_create_with_unused_hardware_alarm</a>(uint max_timers);</div>
242 <div class="line"><a id="l00429" name="l00429"></a><span class="lineno">  429</span> </div>
243 <div class="line"><a id="l00436" name="l00436"></a><span class="lineno">  436</span>uint <a class="code hl_function" href="group__alarm.html#ga2dc626c1e534842c85c3902d212f7eef">alarm_pool_hardware_alarm_num</a>(<a class="code hl_struct" href="structalarm__pool.html">alarm_pool_t</a> *pool);</div>
244 <div class="line"><a id="l00437" name="l00437"></a><span class="lineno">  437</span> </div>
245 <div class="line"><a id="l00444" name="l00444"></a><span class="lineno">  444</span>uint <a class="code hl_function" href="group__alarm.html#ga4918e03a3ddd5c328d65bd014d26856b">alarm_pool_core_num</a>(<a class="code hl_struct" href="structalarm__pool.html">alarm_pool_t</a> *pool);</div>
246 <div class="line"><a id="l00445" name="l00445"></a><span class="lineno">  445</span> </div>
247 <div class="line"><a id="l00451" name="l00451"></a><span class="lineno">  451</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__alarm.html#gae7536c4d34088a2d19b2da92b87cbb4e">alarm_pool_destroy</a>(<a class="code hl_struct" href="structalarm__pool.html">alarm_pool_t</a> *pool);</div>
248 <div class="line"><a id="l00452" name="l00452"></a><span class="lineno">  452</span> </div>
249 <div class="line"><a id="l00476" name="l00476"></a><span class="lineno">  476</span><a class="code hl_typedef" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> <a class="code hl_function" href="group__alarm.html#gab75446a927e4e870ad27fde145a88019">alarm_pool_add_alarm_at</a>(<a class="code hl_struct" href="structalarm__pool.html">alarm_pool_t</a> *pool, <a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> time, <a class="code hl_typedef" href="group__alarm.html#gade88ed45e9b59ad39d91f17c8709c16a">alarm_callback_t</a> callback, <span class="keywordtype">void</span> *user_data, <span class="keywordtype">bool</span> fire_if_past);</div>
250 <div class="line"><a id="l00477" name="l00477"></a><span class="lineno">  477</span> </div>
251 <div class="line"><a id="l00495" name="l00495"></a><span class="lineno">  495</span><a class="code hl_typedef" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> <a class="code hl_function" href="group__alarm.html#ga72bfc8c2dd5bf334cd68af2e349a1b37">alarm_pool_add_alarm_at_force_in_context</a>(<a class="code hl_struct" href="structalarm__pool.html">alarm_pool_t</a> *pool, <a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> time, <a class="code hl_typedef" href="group__alarm.html#gade88ed45e9b59ad39d91f17c8709c16a">alarm_callback_t</a> callback,</div>
252 <div class="line"><a id="l00496" name="l00496"></a><span class="lineno">  496</span>                                                    <span class="keywordtype">void</span> *user_data);</div>
253 <div class="line"><a id="l00520" name="l00520"></a><span class="lineno"><a class="line" href="group__alarm.html#ga0d00072e81de2d54fa690dc4b4bfe408">  520</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <a class="code hl_typedef" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> <a class="code hl_function" href="group__alarm.html#ga0d00072e81de2d54fa690dc4b4bfe408">alarm_pool_add_alarm_in_us</a>(<a class="code hl_struct" href="structalarm__pool.html">alarm_pool_t</a> *pool, uint64_t us, <a class="code hl_typedef" href="group__alarm.html#gade88ed45e9b59ad39d91f17c8709c16a">alarm_callback_t</a> callback, <span class="keywordtype">void</span> *user_data, <span class="keywordtype">bool</span> fire_if_past) {</div>
254 <div class="line"><a id="l00521" name="l00521"></a><span class="lineno">  521</span>    <span class="keywordflow">return</span> <a class="code hl_function" href="group__alarm.html#gab75446a927e4e870ad27fde145a88019">alarm_pool_add_alarm_at</a>(pool, <a class="code hl_function" href="group__timestamp.html#ga729dc88ec38af2d054ba7307214bcf3c">delayed_by_us</a>(<a class="code hl_function" href="group__timestamp.html#ga6a1d4dfb43030b6594fa050f50feb47a">get_absolute_time</a>(), us), callback, user_data, fire_if_past);</div>
255 <div class="line"><a id="l00522" name="l00522"></a><span class="lineno">  522</span>}</div>
256 <div class="line"><a id="l00523" name="l00523"></a><span class="lineno">  523</span> </div>
257 <div class="line"><a id="l00547" name="l00547"></a><span class="lineno"><a class="line" href="group__alarm.html#ga6e32765c525683f216fc42bd1984e239">  547</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <a class="code hl_typedef" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> <a class="code hl_function" href="group__alarm.html#ga6e32765c525683f216fc42bd1984e239">alarm_pool_add_alarm_in_ms</a>(<a class="code hl_struct" href="structalarm__pool.html">alarm_pool_t</a> *pool, uint32_t ms, <a class="code hl_typedef" href="group__alarm.html#gade88ed45e9b59ad39d91f17c8709c16a">alarm_callback_t</a> callback, <span class="keywordtype">void</span> *user_data, <span class="keywordtype">bool</span> fire_if_past) {</div>
258 <div class="line"><a id="l00548" name="l00548"></a><span class="lineno">  548</span>    <span class="keywordflow">return</span> <a class="code hl_function" href="group__alarm.html#gab75446a927e4e870ad27fde145a88019">alarm_pool_add_alarm_at</a>(pool, <a class="code hl_function" href="group__timestamp.html#ga7ee031a9cdeb9a9a6328d1b41d53cf5c">delayed_by_ms</a>(<a class="code hl_function" href="group__timestamp.html#ga6a1d4dfb43030b6594fa050f50feb47a">get_absolute_time</a>(), ms), callback, user_data, fire_if_past);</div>
259 <div class="line"><a id="l00549" name="l00549"></a><span class="lineno">  549</span>}</div>
260 <div class="line"><a id="l00550" name="l00550"></a><span class="lineno">  550</span> </div>
261 <div class="line"><a id="l00559" name="l00559"></a><span class="lineno">  559</span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__alarm.html#ga02cc23b4a3109fb8c2d57e24981f2932">alarm_pool_cancel_alarm</a>(<a class="code hl_struct" href="structalarm__pool.html">alarm_pool_t</a> *pool, <a class="code hl_typedef" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> alarm_id);</div>
262 <div class="line"><a id="l00560" name="l00560"></a><span class="lineno">  560</span> </div>
263 <div class="line"><a id="l00561" name="l00561"></a><span class="lineno">  561</span><span class="preprocessor">#if !PICO_TIME_DEFAULT_ALARM_POOL_DISABLED</span></div>
264 <div class="line"><a id="l00584" name="l00584"></a><span class="lineno"><a class="line" href="group__alarm.html#gae98ddd58a2c1d142eb6db7882512ce8d">  584</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <a class="code hl_typedef" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> <a class="code hl_function" href="group__alarm.html#gae98ddd58a2c1d142eb6db7882512ce8d">add_alarm_at</a>(<a class="code hl_struct" href="structabsolute__time__t.html">absolute_time_t</a> time, <a class="code hl_typedef" href="group__alarm.html#gade88ed45e9b59ad39d91f17c8709c16a">alarm_callback_t</a> callback, <span class="keywordtype">void</span> *user_data, <span class="keywordtype">bool</span> fire_if_past) {</div>
265 <div class="line"><a id="l00585" name="l00585"></a><span class="lineno">  585</span>    <span class="keywordflow">return</span> <a class="code hl_function" href="group__alarm.html#gab75446a927e4e870ad27fde145a88019">alarm_pool_add_alarm_at</a>(<a class="code hl_function" href="group__alarm.html#ga5092ceb879289c0a597a389f34b4815e">alarm_pool_get_default</a>(), time, callback, user_data, fire_if_past);</div>
266 <div class="line"><a id="l00586" name="l00586"></a><span class="lineno">  586</span>}</div>
267 <div class="line"><a id="l00587" name="l00587"></a><span class="lineno">  587</span> </div>
268 <div class="line"><a id="l00610" name="l00610"></a><span class="lineno"><a class="line" href="group__alarm.html#ga69b4481d9d9a906caefb31c54a048575">  610</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <a class="code hl_typedef" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> <a class="code hl_function" href="group__alarm.html#ga69b4481d9d9a906caefb31c54a048575">add_alarm_in_us</a>(uint64_t us, <a class="code hl_typedef" href="group__alarm.html#gade88ed45e9b59ad39d91f17c8709c16a">alarm_callback_t</a> callback, <span class="keywordtype">void</span> *user_data, <span class="keywordtype">bool</span> fire_if_past) {</div>
269 <div class="line"><a id="l00611" name="l00611"></a><span class="lineno">  611</span>    <span class="keywordflow">return</span> <a class="code hl_function" href="group__alarm.html#ga0d00072e81de2d54fa690dc4b4bfe408">alarm_pool_add_alarm_in_us</a>(<a class="code hl_function" href="group__alarm.html#ga5092ceb879289c0a597a389f34b4815e">alarm_pool_get_default</a>(), us, callback, user_data, fire_if_past);</div>
270 <div class="line"><a id="l00612" name="l00612"></a><span class="lineno">  612</span>}</div>
271 <div class="line"><a id="l00613" name="l00613"></a><span class="lineno">  613</span> </div>
272 <div class="line"><a id="l00636" name="l00636"></a><span class="lineno"><a class="line" href="group__alarm.html#ga8bb045ab597f773d7d5fdfea5db94f69">  636</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <a class="code hl_typedef" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> <a class="code hl_function" href="group__alarm.html#ga8bb045ab597f773d7d5fdfea5db94f69">add_alarm_in_ms</a>(uint32_t ms, <a class="code hl_typedef" href="group__alarm.html#gade88ed45e9b59ad39d91f17c8709c16a">alarm_callback_t</a> callback, <span class="keywordtype">void</span> *user_data, <span class="keywordtype">bool</span> fire_if_past) {</div>
273 <div class="line"><a id="l00637" name="l00637"></a><span class="lineno">  637</span>    <span class="keywordflow">return</span> <a class="code hl_function" href="group__alarm.html#ga6e32765c525683f216fc42bd1984e239">alarm_pool_add_alarm_in_ms</a>(<a class="code hl_function" href="group__alarm.html#ga5092ceb879289c0a597a389f34b4815e">alarm_pool_get_default</a>(), ms, callback, user_data, fire_if_past);</div>
274 <div class="line"><a id="l00638" name="l00638"></a><span class="lineno">  638</span>}</div>
275 <div class="line"><a id="l00646" name="l00646"></a><span class="lineno"><a class="line" href="group__alarm.html#gae99f63dc25fe5c3a0d78d9fb90308b1b">  646</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="group__alarm.html#gae99f63dc25fe5c3a0d78d9fb90308b1b">cancel_alarm</a>(<a class="code hl_typedef" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> alarm_id) {</div>
276 <div class="line"><a id="l00647" name="l00647"></a><span class="lineno">  647</span>    <span class="keywordflow">return</span> <a class="code hl_function" href="group__alarm.html#ga02cc23b4a3109fb8c2d57e24981f2932">alarm_pool_cancel_alarm</a>(<a class="code hl_function" href="group__alarm.html#ga5092ceb879289c0a597a389f34b4815e">alarm_pool_get_default</a>(), alarm_id);</div>
277 <div class="line"><a id="l00648" name="l00648"></a><span class="lineno">  648</span>}</div>
278 <div class="line"><a id="l00649" name="l00649"></a><span class="lineno">  649</span> </div>
279 <div class="line"><a id="l00650" name="l00650"></a><span class="lineno">  650</span><span class="preprocessor">#endif</span></div>
280 <div class="line"><a id="l00651" name="l00651"></a><span class="lineno">  651</span> </div>
281 <div class="line"><a id="l00662" name="l00662"></a><span class="lineno">  662</span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="structrepeating__timer.html">repeating_timer</a> <a class="code hl_struct" href="structrepeating__timer.html">repeating_timer_t</a>;</div>
282 <div class="line"><a id="l00663" name="l00663"></a><span class="lineno">  663</span> </div>
283 <div class="line"><a id="l00670" name="l00670"></a><span class="lineno"><a class="line" href="group__repeating__timer.html#ga028fe2b7d00c1927c24131aae7c375f3">  670</a></span><span class="keyword">typedef</span> bool (*<a class="code hl_typedef" href="group__repeating__timer.html#ga028fe2b7d00c1927c24131aae7c375f3">repeating_timer_callback_t</a>)(<a class="code hl_struct" href="structrepeating__timer.html">repeating_timer_t</a> *rt);</div>
284 <div class="line"><a id="l00671" name="l00671"></a><span class="lineno">  671</span> </div>
285 <div class="line"><a id="l00677" name="l00677"></a><span class="lineno"><a class="line" href="structrepeating__timer.html">  677</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structrepeating__timer.html">repeating_timer</a> {</div>
286 <div class="line"><a id="l00678" name="l00678"></a><span class="lineno">  678</span>    int64_t delay_us;</div>
287 <div class="line"><a id="l00679" name="l00679"></a><span class="lineno">  679</span>    <a class="code hl_struct" href="structalarm__pool.html">alarm_pool_t</a> *pool;</div>
288 <div class="line"><a id="l00680" name="l00680"></a><span class="lineno">  680</span>    <a class="code hl_typedef" href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a> alarm_id;</div>
289 <div class="line"><a id="l00681" name="l00681"></a><span class="lineno">  681</span>    <a class="code hl_typedef" href="group__repeating__timer.html#ga028fe2b7d00c1927c24131aae7c375f3">repeating_timer_callback_t</a> callback;</div>
290 <div class="line"><a id="l00682" name="l00682"></a><span class="lineno">  682</span>    <span class="keywordtype">void</span> *user_data;</div>
291 <div class="line"><a id="l00683" name="l00683"></a><span class="lineno">  683</span>};</div>
292 <div class="line"><a id="l00684" name="l00684"></a><span class="lineno">  684</span> </div>
293 <div class="line"><a id="l00703" name="l00703"></a><span class="lineno">  703</span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__repeating__timer.html#ga75dad2018ae1e4c154fb17cd96db9872">alarm_pool_add_repeating_timer_us</a>(<a class="code hl_struct" href="structalarm__pool.html">alarm_pool_t</a> *pool, int64_t delay_us, <a class="code hl_typedef" href="group__repeating__timer.html#ga028fe2b7d00c1927c24131aae7c375f3">repeating_timer_callback_t</a> callback, <span class="keywordtype">void</span> *user_data, <a class="code hl_struct" href="structrepeating__timer.html">repeating_timer_t</a> *out);</div>
294 <div class="line"><a id="l00704" name="l00704"></a><span class="lineno">  704</span> </div>
295 <div class="line"><a id="l00723" name="l00723"></a><span class="lineno"><a class="line" href="group__repeating__timer.html#gae5a6b07212ea5e106a81fc2f814a9e9e">  723</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="group__repeating__timer.html#gae5a6b07212ea5e106a81fc2f814a9e9e">alarm_pool_add_repeating_timer_ms</a>(<a class="code hl_struct" href="structalarm__pool.html">alarm_pool_t</a> *pool, int32_t delay_ms, <a class="code hl_typedef" href="group__repeating__timer.html#ga028fe2b7d00c1927c24131aae7c375f3">repeating_timer_callback_t</a> callback, <span class="keywordtype">void</span> *user_data, <a class="code hl_struct" href="structrepeating__timer.html">repeating_timer_t</a> *out) {</div>
296 <div class="line"><a id="l00724" name="l00724"></a><span class="lineno">  724</span>    <span class="keywordflow">return</span> <a class="code hl_function" href="group__repeating__timer.html#ga75dad2018ae1e4c154fb17cd96db9872">alarm_pool_add_repeating_timer_us</a>(pool, delay_ms * (int64_t)1000, callback, user_data, out);</div>
297 <div class="line"><a id="l00725" name="l00725"></a><span class="lineno">  725</span>}</div>
298 <div class="line"><a id="l00726" name="l00726"></a><span class="lineno">  726</span> </div>
299 <div class="line"><a id="l00727" name="l00727"></a><span class="lineno">  727</span><span class="preprocessor">#if !PICO_TIME_DEFAULT_ALARM_POOL_DISABLED</span></div>
300 <div class="line"><a id="l00745" name="l00745"></a><span class="lineno"><a class="line" href="group__repeating__timer.html#ga8da55f26158144c2a9a813f69a524906">  745</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="group__repeating__timer.html#ga8da55f26158144c2a9a813f69a524906">add_repeating_timer_us</a>(int64_t delay_us, <a class="code hl_typedef" href="group__repeating__timer.html#ga028fe2b7d00c1927c24131aae7c375f3">repeating_timer_callback_t</a> callback, <span class="keywordtype">void</span> *user_data, <a class="code hl_struct" href="structrepeating__timer.html">repeating_timer_t</a> *out) {</div>
301 <div class="line"><a id="l00746" name="l00746"></a><span class="lineno">  746</span>    <span class="keywordflow">return</span> <a class="code hl_function" href="group__repeating__timer.html#ga75dad2018ae1e4c154fb17cd96db9872">alarm_pool_add_repeating_timer_us</a>(<a class="code hl_function" href="group__alarm.html#ga5092ceb879289c0a597a389f34b4815e">alarm_pool_get_default</a>(), delay_us, callback, user_data, out);</div>
302 <div class="line"><a id="l00747" name="l00747"></a><span class="lineno">  747</span>}</div>
303 <div class="line"><a id="l00748" name="l00748"></a><span class="lineno">  748</span> </div>
304 <div class="line"><a id="l00766" name="l00766"></a><span class="lineno"><a class="line" href="group__repeating__timer.html#ga02133dbe7083fcf3c7392a2cfb8243ba">  766</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="group__repeating__timer.html#ga02133dbe7083fcf3c7392a2cfb8243ba">add_repeating_timer_ms</a>(int32_t delay_ms, <a class="code hl_typedef" href="group__repeating__timer.html#ga028fe2b7d00c1927c24131aae7c375f3">repeating_timer_callback_t</a> callback, <span class="keywordtype">void</span> *user_data, <a class="code hl_struct" href="structrepeating__timer.html">repeating_timer_t</a> *out) {</div>
305 <div class="line"><a id="l00767" name="l00767"></a><span class="lineno">  767</span>    <span class="keywordflow">return</span> <a class="code hl_function" href="group__repeating__timer.html#ga75dad2018ae1e4c154fb17cd96db9872">alarm_pool_add_repeating_timer_us</a>(<a class="code hl_function" href="group__alarm.html#ga5092ceb879289c0a597a389f34b4815e">alarm_pool_get_default</a>(), delay_ms * (int64_t)1000, callback, user_data, out);</div>
306 <div class="line"><a id="l00768" name="l00768"></a><span class="lineno">  768</span>}</div>
307 <div class="line"><a id="l00769" name="l00769"></a><span class="lineno">  769</span><span class="preprocessor">#endif</span></div>
308 <div class="line"><a id="l00770" name="l00770"></a><span class="lineno">  770</span> </div>
309 <div class="line"><a id="l00778" name="l00778"></a><span class="lineno">  778</span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__repeating__timer.html#ga9ad5a07a3f2300cc9d46c1c847fae6f1">cancel_repeating_timer</a>(<a class="code hl_struct" href="structrepeating__timer.html">repeating_timer_t</a> *timer);</div>
310 <div class="line"><a id="l00779" name="l00779"></a><span class="lineno">  779</span> </div>
311 <div class="line"><a id="l00780" name="l00780"></a><span class="lineno">  780</span><span class="preprocessor">#ifdef __cplusplus</span></div>
312 <div class="line"><a id="l00781" name="l00781"></a><span class="lineno">  781</span>}</div>
313 <div class="line"><a id="l00782" name="l00782"></a><span class="lineno">  782</span><span class="preprocessor">#endif</span></div>
314 <div class="line"><a id="l00783" name="l00783"></a><span class="lineno">  783</span> </div>
315 <div class="line"><a id="l00784" name="l00784"></a><span class="lineno">  784</span><span class="preprocessor">#endif</span></div>
316 <div class="ttc" id="agroup__alarm_html_ga02cc23b4a3109fb8c2d57e24981f2932"><div class="ttname"><a href="group__alarm.html#ga02cc23b4a3109fb8c2d57e24981f2932">alarm_pool_cancel_alarm</a></div><div class="ttdeci">bool alarm_pool_cancel_alarm(alarm_pool_t *pool, alarm_id_t alarm_id)</div><div class="ttdoc">Cancel an alarm.</div><div class="ttdef"><b>Definition:</b> time.c:293</div></div>
317 <div class="ttc" id="agroup__alarm_html_ga0d00072e81de2d54fa690dc4b4bfe408"><div class="ttname"><a href="group__alarm.html#ga0d00072e81de2d54fa690dc4b4bfe408">alarm_pool_add_alarm_in_us</a></div><div class="ttdeci">static alarm_id_t alarm_pool_add_alarm_in_us(alarm_pool_t *pool, uint64_t us, alarm_callback_t callback, void *user_data, bool fire_if_past)</div><div class="ttdoc">Add an alarm callback to be called after a delay specified in microseconds.</div><div class="ttdef"><b>Definition:</b> time.h:520</div></div>
318 <div class="ttc" id="agroup__alarm_html_ga1c0e0970bd838e2319ee73eba7ff3b71"><div class="ttname"><a href="group__alarm.html#ga1c0e0970bd838e2319ee73eba7ff3b71">alarm_pool_create</a></div><div class="ttdeci">alarm_pool_t * alarm_pool_create(uint hardware_alarm_num, uint max_timers)</div><div class="ttdoc">Create an alarm pool.</div><div class="ttdef"><b>Definition:</b> time.c:180</div></div>
319 <div class="ttc" id="agroup__alarm_html_ga2dc626c1e534842c85c3902d212f7eef"><div class="ttname"><a href="group__alarm.html#ga2dc626c1e534842c85c3902d212f7eef">alarm_pool_hardware_alarm_num</a></div><div class="ttdeci">uint alarm_pool_hardware_alarm_num(alarm_pool_t *pool)</div><div class="ttdoc">Return the hardware alarm used by an alarm pool.</div><div class="ttdef"><b>Definition:</b> time.c:318</div></div>
320 <div class="ttc" id="agroup__alarm_html_ga4918e03a3ddd5c328d65bd014d26856b"><div class="ttname"><a href="group__alarm.html#ga4918e03a3ddd5c328d65bd014d26856b">alarm_pool_core_num</a></div><div class="ttdeci">uint alarm_pool_core_num(alarm_pool_t *pool)</div><div class="ttdoc">Return the core number the alarm pool was initialized on (and hence callbacks are called on)</div><div class="ttdef"><b>Definition:</b> time.c:322</div></div>
321 <div class="ttc" id="agroup__alarm_html_ga5092ceb879289c0a597a389f34b4815e"><div class="ttname"><a href="group__alarm.html#ga5092ceb879289c0a597a389f34b4815e">alarm_pool_get_default</a></div><div class="ttdeci">alarm_pool_t * alarm_pool_get_default(void)</div><div class="ttdoc">The default alarm pool used when alarms are added without specifying an alarm pool,...</div><div class="ttdef"><b>Definition:</b> time.c:93</div></div>
322 <div class="ttc" id="agroup__alarm_html_ga69b4481d9d9a906caefb31c54a048575"><div class="ttname"><a href="group__alarm.html#ga69b4481d9d9a906caefb31c54a048575">add_alarm_in_us</a></div><div class="ttdeci">static alarm_id_t add_alarm_in_us(uint64_t us, alarm_callback_t callback, void *user_data, bool fire_if_past)</div><div class="ttdoc">Add an alarm callback to be called after a delay specified in microseconds.</div><div class="ttdef"><b>Definition:</b> time.h:610</div></div>
323 <div class="ttc" id="agroup__alarm_html_ga6e32765c525683f216fc42bd1984e239"><div class="ttname"><a href="group__alarm.html#ga6e32765c525683f216fc42bd1984e239">alarm_pool_add_alarm_in_ms</a></div><div class="ttdeci">static alarm_id_t alarm_pool_add_alarm_in_ms(alarm_pool_t *pool, uint32_t ms, alarm_callback_t callback, void *user_data, bool fire_if_past)</div><div class="ttdoc">Add an alarm callback to be called after a delay specified in milliseconds.</div><div class="ttdef"><b>Definition:</b> time.h:547</div></div>
324 <div class="ttc" id="agroup__alarm_html_ga6eeda3248dca1d0d26e92206faceb23e"><div class="ttname"><a href="group__alarm.html#ga6eeda3248dca1d0d26e92206faceb23e">alarm_pool_create_with_unused_hardware_alarm</a></div><div class="ttdeci">alarm_pool_t * alarm_pool_create_with_unused_hardware_alarm(uint max_timers)</div><div class="ttdoc">Create an alarm pool, claiming an used hardware alarm to back it.</div><div class="ttdef"><b>Definition:</b> time.c:190</div></div>
325 <div class="ttc" id="agroup__alarm_html_ga72bfc8c2dd5bf334cd68af2e349a1b37"><div class="ttname"><a href="group__alarm.html#ga72bfc8c2dd5bf334cd68af2e349a1b37">alarm_pool_add_alarm_at_force_in_context</a></div><div class="ttdeci">alarm_id_t alarm_pool_add_alarm_at_force_in_context(alarm_pool_t *pool, absolute_time_t time, alarm_callback_t callback, void *user_data)</div><div class="ttdoc">Add an alarm callback to be called at or after a specific time.</div><div class="ttdef"><b>Definition:</b> time.c:273</div></div>
326 <div class="ttc" id="agroup__alarm_html_ga8bb045ab597f773d7d5fdfea5db94f69"><div class="ttname"><a href="group__alarm.html#ga8bb045ab597f773d7d5fdfea5db94f69">add_alarm_in_ms</a></div><div class="ttdeci">static alarm_id_t add_alarm_in_ms(uint32_t ms, alarm_callback_t callback, void *user_data, bool fire_if_past)</div><div class="ttdoc">Add an alarm callback to be called after a delay specified in milliseconds.</div><div class="ttdef"><b>Definition:</b> time.h:636</div></div>
327 <div class="ttc" id="agroup__alarm_html_gaa593548569c182a0d65d2e06a9c3493b"><div class="ttname"><a href="group__alarm.html#gaa593548569c182a0d65d2e06a9c3493b">alarm_id_t</a></div><div class="ttdeci">int32_t alarm_id_t</div><div class="ttdoc">The identifier for an alarm.</div><div class="ttdef"><b>Definition:</b> time.h:359</div></div>
328 <div class="ttc" id="agroup__alarm_html_gab363026fa15b43405538eb087ee7cfa9"><div class="ttname"><a href="group__alarm.html#gab363026fa15b43405538eb087ee7cfa9">alarm_pool_init_default</a></div><div class="ttdeci">void alarm_pool_init_default(void)</div><div class="ttdoc">Create the default alarm pool (if not already created or disabled)</div><div class="ttdef"><b>Definition:</b> time.c:78</div></div>
329 <div class="ttc" id="agroup__alarm_html_gab75446a927e4e870ad27fde145a88019"><div class="ttname"><a href="group__alarm.html#gab75446a927e4e870ad27fde145a88019">alarm_pool_add_alarm_at</a></div><div class="ttdeci">alarm_id_t alarm_pool_add_alarm_at(alarm_pool_t *pool, absolute_time_t time, alarm_callback_t callback, void *user_data, bool fire_if_past)</div><div class="ttdoc">Add an alarm callback to be called at a specific time.</div><div class="ttdef"><b>Definition:</b> time.c:226</div></div>
330 <div class="ttc" id="agroup__alarm_html_gade88ed45e9b59ad39d91f17c8709c16a"><div class="ttname"><a href="group__alarm.html#gade88ed45e9b59ad39d91f17c8709c16a">alarm_callback_t</a></div><div class="ttdeci">int64_t(* alarm_callback_t)(alarm_id_t id, void *user_data)</div><div class="ttdoc">User alarm callback.</div><div class="ttdef"><b>Definition:</b> time.h:370</div></div>
331 <div class="ttc" id="agroup__alarm_html_gae7536c4d34088a2d19b2da92b87cbb4e"><div class="ttname"><a href="group__alarm.html#gae7536c4d34088a2d19b2da92b87cbb4e">alarm_pool_destroy</a></div><div class="ttdeci">void alarm_pool_destroy(alarm_pool_t *pool)</div><div class="ttdoc">Destroy the alarm pool, cancelling all alarms and freeing up the underlying hardware alarm.</div><div class="ttdef"><b>Definition:</b> time.c:208</div></div>
332 <div class="ttc" id="agroup__alarm_html_gae98ddd58a2c1d142eb6db7882512ce8d"><div class="ttname"><a href="group__alarm.html#gae98ddd58a2c1d142eb6db7882512ce8d">add_alarm_at</a></div><div class="ttdeci">static alarm_id_t add_alarm_at(absolute_time_t time, alarm_callback_t callback, void *user_data, bool fire_if_past)</div><div class="ttdoc">Add an alarm callback to be called at a specific time.</div><div class="ttdef"><b>Definition:</b> time.h:584</div></div>
333 <div class="ttc" id="agroup__alarm_html_gae99f63dc25fe5c3a0d78d9fb90308b1b"><div class="ttname"><a href="group__alarm.html#gae99f63dc25fe5c3a0d78d9fb90308b1b">cancel_alarm</a></div><div class="ttdeci">static bool cancel_alarm(alarm_id_t alarm_id)</div><div class="ttdoc">Cancel an alarm from the default alarm pool.</div><div class="ttdef"><b>Definition:</b> time.h:646</div></div>
334 <div class="ttc" id="agroup__hardware__timer_html_ga7bbcd996dbd3dd4adc03a80272fb2fc3"><div class="ttname"><a href="group__hardware__timer.html#ga7bbcd996dbd3dd4adc03a80272fb2fc3">time_us_64</a></div><div class="ttdeci">uint64_t time_us_64(void)</div><div class="ttdoc">Return the current 64 bit timestamp value in microseconds.</div><div class="ttdef"><b>Definition:</b> timer.c:41</div></div>
335 <div class="ttc" id="agroup__repeating__timer_html_ga02133dbe7083fcf3c7392a2cfb8243ba"><div class="ttname"><a href="group__repeating__timer.html#ga02133dbe7083fcf3c7392a2cfb8243ba">add_repeating_timer_ms</a></div><div class="ttdeci">static bool add_repeating_timer_ms(int32_t delay_ms, repeating_timer_callback_t callback, void *user_data, repeating_timer_t *out)</div><div class="ttdoc">Add a repeating timer that is called repeatedly at the specified interval in milliseconds.</div><div class="ttdef"><b>Definition:</b> time.h:766</div></div>
336 <div class="ttc" id="agroup__repeating__timer_html_ga028fe2b7d00c1927c24131aae7c375f3"><div class="ttname"><a href="group__repeating__timer.html#ga028fe2b7d00c1927c24131aae7c375f3">repeating_timer_callback_t</a></div><div class="ttdeci">bool(* repeating_timer_callback_t)(repeating_timer_t *rt)</div><div class="ttdoc">Callback for a repeating timer.</div><div class="ttdef"><b>Definition:</b> time.h:670</div></div>
337 <div class="ttc" id="agroup__repeating__timer_html_ga75dad2018ae1e4c154fb17cd96db9872"><div class="ttname"><a href="group__repeating__timer.html#ga75dad2018ae1e4c154fb17cd96db9872">alarm_pool_add_repeating_timer_us</a></div><div class="ttdeci">bool alarm_pool_add_repeating_timer_us(alarm_pool_t *pool, int64_t delay_us, repeating_timer_callback_t callback, void *user_data, repeating_timer_t *out)</div><div class="ttdoc">Add a repeating timer that is called repeatedly at the specified interval in microseconds.</div><div class="ttdef"><b>Definition:</b> time.c:346</div></div>
338 <div class="ttc" id="agroup__repeating__timer_html_ga8da55f26158144c2a9a813f69a524906"><div class="ttname"><a href="group__repeating__timer.html#ga8da55f26158144c2a9a813f69a524906">add_repeating_timer_us</a></div><div class="ttdeci">static bool add_repeating_timer_us(int64_t delay_us, repeating_timer_callback_t callback, void *user_data, repeating_timer_t *out)</div><div class="ttdoc">Add a repeating timer that is called repeatedly at the specified interval in microseconds.</div><div class="ttdef"><b>Definition:</b> time.h:745</div></div>
339 <div class="ttc" id="agroup__repeating__timer_html_ga9ad5a07a3f2300cc9d46c1c847fae6f1"><div class="ttname"><a href="group__repeating__timer.html#ga9ad5a07a3f2300cc9d46c1c847fae6f1">cancel_repeating_timer</a></div><div class="ttdeci">bool cancel_repeating_timer(repeating_timer_t *timer)</div><div class="ttdoc">Cancel a repeating timer.</div><div class="ttdef"><b>Definition:</b> time.c:359</div></div>
340 <div class="ttc" id="agroup__repeating__timer_html_gae5a6b07212ea5e106a81fc2f814a9e9e"><div class="ttname"><a href="group__repeating__timer.html#gae5a6b07212ea5e106a81fc2f814a9e9e">alarm_pool_add_repeating_timer_ms</a></div><div class="ttdeci">static bool alarm_pool_add_repeating_timer_ms(alarm_pool_t *pool, int32_t delay_ms, repeating_timer_callback_t callback, void *user_data, repeating_timer_t *out)</div><div class="ttdoc">Add a repeating timer that is called repeatedly at the specified interval in milliseconds.</div><div class="ttdef"><b>Definition:</b> time.h:723</div></div>
341 <div class="ttc" id="agroup__sleep_html_ga7abed28d3918fe2b15f8007ba6569172"><div class="ttname"><a href="group__sleep.html#ga7abed28d3918fe2b15f8007ba6569172">sleep_until</a></div><div class="ttdeci">void sleep_until(absolute_time_t target)</div><div class="ttdoc">Wait until after the given timestamp to return.</div><div class="ttdef"><b>Definition:</b> time.c:382</div></div>
342 <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:429</div></div>
343 <div class="ttc" id="agroup__sleep_html_gaedc0ed51a5e908ddd660a5d279009abc"><div class="ttname"><a href="group__sleep.html#gaedc0ed51a5e908ddd660a5d279009abc">best_effort_wfe_or_timeout</a></div><div class="ttdeci">bool best_effort_wfe_or_timeout(absolute_time_t timeout_timestamp)</div><div class="ttdoc">Helper method for blocking on a timeout.</div><div class="ttdef"><b>Definition:</b> time.c:433</div></div>
344 <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:412</div></div>
345 <div class="ttc" id="agroup__timestamp_html_ga0753884ef1d9340edacf53e9c06e42de"><div class="ttname"><a href="group__timestamp.html#ga0753884ef1d9340edacf53e9c06e42de">is_nil_time</a></div><div class="ttdeci">static bool is_nil_time(absolute_time_t t)</div><div class="ttdoc">Determine if the given timestamp is nil.</div><div class="ttdef"><b>Definition:</b> time.h:199</div></div>
346 <div class="ttc" id="agroup__timestamp_html_ga173698876ae00331c92ed4e8c3ba98d1"><div class="ttname"><a href="group__timestamp.html#ga173698876ae00331c92ed4e8c3ba98d1">to_us_since_boot</a></div><div class="ttdeci">static uint64_t to_us_since_boot(absolute_time_t t)</div><div class="ttdoc">convert an absolute_time_t into a number of microseconds since boot.</div><div class="ttdef"><b>Definition:</b> types.h:44</div></div>
347 <div class="ttc" id="agroup__timestamp_html_ga36d9cbebcc55e41921550edbabf17ab2"><div class="ttname"><a href="group__timestamp.html#ga36d9cbebcc55e41921550edbabf17ab2">absolute_time_diff_us</a></div><div class="ttdeci">static int64_t absolute_time_diff_us(absolute_time_t from, absolute_time_t to)</div><div class="ttdoc">Return the difference in microseconds between two timestamps.</div><div class="ttdef"><b>Definition:</b> time.h:156</div></div>
348 <div class="ttc" id="agroup__timestamp_html_ga408e44143880dd2a9ebfe2f3ebeab242"><div class="ttname"><a href="group__timestamp.html#ga408e44143880dd2a9ebfe2f3ebeab242">is_at_the_end_of_time</a></div><div class="ttdeci">static bool is_at_the_end_of_time(absolute_time_t t)</div><div class="ttdoc">Determine if the given timestamp is &quot;at_the_end_of_time&quot;.</div><div class="ttdef"><b>Definition:</b> time.h:184</div></div>
349 <div class="ttc" id="agroup__timestamp_html_ga522e97b4c9dfeb3db0bc702461b61a3a"><div class="ttname"><a href="group__timestamp.html#ga522e97b4c9dfeb3db0bc702461b61a3a">absolute_time_min</a></div><div class="ttdeci">static absolute_time_t absolute_time_min(absolute_time_t a, absolute_time_t b)</div><div class="ttdoc">Return the earlier of two timestamps.</div><div class="ttdef"><b>Definition:</b> time.h:167</div></div>
350 <div class="ttc" id="agroup__timestamp_html_ga6a1d4dfb43030b6594fa050f50feb47a"><div class="ttname"><a href="group__timestamp.html#ga6a1d4dfb43030b6594fa050f50feb47a">get_absolute_time</a></div><div class="ttdeci">static absolute_time_t get_absolute_time(void)</div><div class="ttdoc">Return a representation of the current time.</div><div class="ttdef"><b>Definition:</b> time.h:61</div></div>
351 <div class="ttc" id="agroup__timestamp_html_ga70921b9073202a54eec3494b4d19ec84"><div class="ttname"><a href="group__timestamp.html#ga70921b9073202a54eec3494b4d19ec84">make_timeout_time_us</a></div><div class="ttdeci">static absolute_time_t make_timeout_time_us(uint64_t us)</div><div class="ttdoc">Convenience method to get the timestamp a number of microseconds from the current time.</div><div class="ttdef"><b>Definition:</b> time.h:131</div></div>
352 <div class="ttc" id="agroup__timestamp_html_ga729dc88ec38af2d054ba7307214bcf3c"><div class="ttname"><a href="group__timestamp.html#ga729dc88ec38af2d054ba7307214bcf3c">delayed_by_us</a></div><div class="ttdeci">static absolute_time_t delayed_by_us(const absolute_time_t t, uint64_t us)</div><div class="ttdoc">Return a timestamp value obtained by adding a number of microseconds to another timestamp.</div><div class="ttdef"><b>Definition:</b> time.h:94</div></div>
353 <div class="ttc" id="agroup__timestamp_html_ga7ee031a9cdeb9a9a6328d1b41d53cf5c"><div class="ttname"><a href="group__timestamp.html#ga7ee031a9cdeb9a9a6328d1b41d53cf5c">delayed_by_ms</a></div><div class="ttdeci">static absolute_time_t delayed_by_ms(const absolute_time_t t, uint32_t ms)</div><div class="ttdoc">Return a timestamp value obtained by adding a number of milliseconds to another timestamp.</div><div class="ttdef"><b>Definition:</b> time.h:113</div></div>
354 <div class="ttc" id="agroup__timestamp_html_ga978d7972634296a1870c28b0727beefb"><div class="ttname"><a href="group__timestamp.html#ga978d7972634296a1870c28b0727beefb">nil_time</a></div><div class="ttdeci">const absolute_time_t nil_time</div><div class="ttdoc">The timestamp representing a null timestamp.</div></div>
355 <div class="ttc" id="agroup__timestamp_html_gab11f5a243dd585b6903a87b0127df2cc"><div class="ttname"><a href="group__timestamp.html#gab11f5a243dd585b6903a87b0127df2cc">make_timeout_time_ms</a></div><div class="ttdeci">static absolute_time_t make_timeout_time_ms(uint32_t ms)</div><div class="ttdoc">Convenience method to get the timestamp a number of milliseconds from the current time.</div><div class="ttdef"><b>Definition:</b> time.h:141</div></div>
356 <div class="ttc" id="agroup__timestamp_html_gab12467c48bde27171b552ac4dc8c7d59"><div class="ttname"><a href="group__timestamp.html#gab12467c48bde27171b552ac4dc8c7d59">to_ms_since_boot</a></div><div class="ttdeci">static uint32_t to_ms_since_boot(absolute_time_t t)</div><div class="ttdoc">Convert a timestamp into a number of milliseconds since boot.</div><div class="ttdef"><b>Definition:</b> time.h:82</div></div>
357 <div class="ttc" id="agroup__timestamp_html_gab375b40e949dce1052298f79c66f7120"><div class="ttname"><a href="group__timestamp.html#gab375b40e949dce1052298f79c66f7120">at_the_end_of_time</a></div><div class="ttdeci">const absolute_time_t at_the_end_of_time</div><div class="ttdoc">The timestamp representing the end of time; this is actually not the maximum possible timestamp,...</div></div>
358 <div class="ttc" id="agroup__timestamp_html_gacb69a734d588b758f1ada8af8efe6968"><div class="ttname"><a href="group__timestamp.html#gacb69a734d588b758f1ada8af8efe6968">update_us_since_boot</a></div><div class="ttdeci">static void update_us_since_boot(absolute_time_t *t, uint64_t us_since_boot)</div><div class="ttdoc">update an absolute_time_t value to represent a given number of microseconds since boot</div><div class="ttdef"><b>Definition:</b> types.h:59</div></div>
359 <div class="ttc" id="apico_8h_html"><div class="ttname"><a href="pico_8h.html">pico.h</a></div></div>
360 <div class="ttc" id="arp2__common_2hardware__timer_2include_2hardware_2timer_8h_html"><div class="ttname"><a href="rp2__common_2hardware__timer_2include_2hardware_2timer_8h.html">timer.h</a></div></div>
361 <div class="ttc" id="astructabsolute__time__t_html"><div class="ttname"><a href="structabsolute__time__t.html">absolute_time_t</a></div><div class="ttdef"><b>Definition:</b> types.h:33</div></div>
362 <div class="ttc" id="astructalarm__pool_html"><div class="ttname"><a href="structalarm__pool.html">alarm_pool</a></div><div class="ttdef"><b>Definition:</b> time.c:25</div></div>
363 <div class="ttc" id="astructrepeating__timer_html"><div class="ttname"><a href="structrepeating__timer.html">repeating_timer</a></div><div class="ttdoc">Information about a repeating timer.</div><div class="ttdef"><b>Definition:</b> time.h:677</div></div>
364 </div><!-- fragment --></div><!-- contents -->
365 </div><!-- doc-content -->
366
367         <script src="main.js"></script>
368 </body>
369 </html>
This page took 0.056926 seconds and 4 git commands to generate.