]> Git Repo - pico-vscode.git/blob - web/docs/group__interp__config.html
Merge branch 'main' into main
[pico-vscode.git] / web / docs / group__interp__config.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: interp_config</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                                 v2.0.0
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('group__interp__config.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="summary">
106 <a href="#func-members">Functions</a>  </div>
107   <div class="headertitle"><div class="title">interp_config<div class="ingroups"><a class="el" href="group__hardware.html">Hardware APIs</a> &raquo; <a class="el" href="group__hardware__interp.html">hardware_interp</a></div></div></div>
108 </div><!--header-->
109 <div class="contents">
110
111 <p>Interpolator configuration.  
112 <a href="#details">More...</a></p>
113 <table class="memberdecls">
114 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
115 Functions</h2></td></tr>
116 <tr class="memitem:ga30d763b581c679c02cefe2fa90d8c8a7"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__interp__config.html#ga30d763b581c679c02cefe2fa90d8c8a7">interp_config_set_shift</a> (<a class="el" href="structinterp__config.html">interp_config</a> *c, uint shift)</td></tr>
117 <tr class="memdesc:ga30d763b581c679c02cefe2fa90d8c8a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the interpolator shift value.  <a href="group__interp__config.html#ga30d763b581c679c02cefe2fa90d8c8a7">More...</a><br /></td></tr>
118 <tr class="separator:ga30d763b581c679c02cefe2fa90d8c8a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
119 <tr class="memitem:ga32f22fb5240d4b53a62a0dfcb838b56d"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__interp__config.html#ga32f22fb5240d4b53a62a0dfcb838b56d">interp_config_set_mask</a> (<a class="el" href="structinterp__config.html">interp_config</a> *c, uint mask_lsb, uint mask_msb)</td></tr>
120 <tr class="memdesc:ga32f22fb5240d4b53a62a0dfcb838b56d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the interpolator mask range.  <a href="group__interp__config.html#ga32f22fb5240d4b53a62a0dfcb838b56d">More...</a><br /></td></tr>
121 <tr class="separator:ga32f22fb5240d4b53a62a0dfcb838b56d"><td class="memSeparator" colspan="2">&#160;</td></tr>
122 <tr class="memitem:gaeb64e0515ebeabd2fdd4c64712c6e3f9"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__interp__config.html#gaeb64e0515ebeabd2fdd4c64712c6e3f9">interp_config_set_cross_input</a> (<a class="el" href="structinterp__config.html">interp_config</a> *c, bool cross_input)</td></tr>
123 <tr class="memdesc:gaeb64e0515ebeabd2fdd4c64712c6e3f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable cross input.  <a href="group__interp__config.html#gaeb64e0515ebeabd2fdd4c64712c6e3f9">More...</a><br /></td></tr>
124 <tr class="separator:gaeb64e0515ebeabd2fdd4c64712c6e3f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
125 <tr class="memitem:gadfdf4d9fff3f9a2154645f71ca47ddb1"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__interp__config.html#gadfdf4d9fff3f9a2154645f71ca47ddb1">interp_config_set_cross_result</a> (<a class="el" href="structinterp__config.html">interp_config</a> *c, bool cross_result)</td></tr>
126 <tr class="memdesc:gadfdf4d9fff3f9a2154645f71ca47ddb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable cross results.  <a href="group__interp__config.html#gadfdf4d9fff3f9a2154645f71ca47ddb1">More...</a><br /></td></tr>
127 <tr class="separator:gadfdf4d9fff3f9a2154645f71ca47ddb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
128 <tr class="memitem:gaba828dabbf74d63c7d0677411840e8ea"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__interp__config.html#gaba828dabbf74d63c7d0677411840e8ea">interp_config_set_signed</a> (<a class="el" href="structinterp__config.html">interp_config</a> *c, bool _signed)</td></tr>
129 <tr class="memdesc:gaba828dabbf74d63c7d0677411840e8ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set sign extension.  <a href="group__interp__config.html#gaba828dabbf74d63c7d0677411840e8ea">More...</a><br /></td></tr>
130 <tr class="separator:gaba828dabbf74d63c7d0677411840e8ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
131 <tr class="memitem:ga881f960275b1e17ff004103640bc0258"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__interp__config.html#ga881f960275b1e17ff004103640bc0258">interp_config_set_add_raw</a> (<a class="el" href="structinterp__config.html">interp_config</a> *c, bool add_raw)</td></tr>
132 <tr class="memdesc:ga881f960275b1e17ff004103640bc0258"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set raw add option.  <a href="group__interp__config.html#ga881f960275b1e17ff004103640bc0258">More...</a><br /></td></tr>
133 <tr class="separator:ga881f960275b1e17ff004103640bc0258"><td class="memSeparator" colspan="2">&#160;</td></tr>
134 <tr class="memitem:ga494025486e3c301b46f241852dc7af46"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__interp__config.html#ga494025486e3c301b46f241852dc7af46">interp_config_set_blend</a> (<a class="el" href="structinterp__config.html">interp_config</a> *c, bool blend)</td></tr>
135 <tr class="memdesc:ga494025486e3c301b46f241852dc7af46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set blend mode.  <a href="group__interp__config.html#ga494025486e3c301b46f241852dc7af46">More...</a><br /></td></tr>
136 <tr class="separator:ga494025486e3c301b46f241852dc7af46"><td class="memSeparator" colspan="2">&#160;</td></tr>
137 <tr class="memitem:ga0e94b2b16fb356cfa09703bb0bd0285e"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__interp__config.html#ga0e94b2b16fb356cfa09703bb0bd0285e">interp_config_set_clamp</a> (<a class="el" href="structinterp__config.html">interp_config</a> *c, bool clamp)</td></tr>
138 <tr class="memdesc:ga0e94b2b16fb356cfa09703bb0bd0285e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set interpolator clamp mode (Interpolator 1 only)  <a href="group__interp__config.html#ga0e94b2b16fb356cfa09703bb0bd0285e">More...</a><br /></td></tr>
139 <tr class="separator:ga0e94b2b16fb356cfa09703bb0bd0285e"><td class="memSeparator" colspan="2">&#160;</td></tr>
140 <tr class="memitem:ga1f8df0132623c69cffd0e66e1b679fae"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__interp__config.html#ga1f8df0132623c69cffd0e66e1b679fae">interp_config_set_force_bits</a> (<a class="el" href="structinterp__config.html">interp_config</a> *c, uint bits)</td></tr>
141 <tr class="memdesc:ga1f8df0132623c69cffd0e66e1b679fae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set interpolator Force bits.  <a href="group__interp__config.html#ga1f8df0132623c69cffd0e66e1b679fae">More...</a><br /></td></tr>
142 <tr class="separator:ga1f8df0132623c69cffd0e66e1b679fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
143 <tr class="memitem:ga171e5080ebbdf84745bd5c6a4fada90e"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structinterp__config.html">interp_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__interp__config.html#ga171e5080ebbdf84745bd5c6a4fada90e">interp_default_config</a> (void)</td></tr>
144 <tr class="memdesc:ga171e5080ebbdf84745bd5c6a4fada90e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a default configuration.  <a href="group__interp__config.html#ga171e5080ebbdf84745bd5c6a4fada90e">More...</a><br /></td></tr>
145 <tr class="separator:ga171e5080ebbdf84745bd5c6a4fada90e"><td class="memSeparator" colspan="2">&#160;</td></tr>
146 <tr class="memitem:gace3f9a4de8e142d76cd54a54ad67a296"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__interp__config.html#gace3f9a4de8e142d76cd54a54ad67a296">interp_set_config</a> (<a class="el" href="structinterp__hw__t.html">interp_hw_t</a> *interp, uint lane, <a class="el" href="structinterp__config.html">interp_config</a> *config)</td></tr>
147 <tr class="memdesc:gace3f9a4de8e142d76cd54a54ad67a296"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send configuration to a lane.  <a href="group__interp__config.html#gace3f9a4de8e142d76cd54a54ad67a296">More...</a><br /></td></tr>
148 <tr class="separator:gace3f9a4de8e142d76cd54a54ad67a296"><td class="memSeparator" colspan="2">&#160;</td></tr>
149 </table>
150 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
151 <p >Interpolator configuration. </p>
152 <p >Each interpolator needs to be configured, these functions provide handy helpers to set up configuration structures. </p>
153 <h2 class="groupheader">Function Documentation</h2>
154 <a id="ga881f960275b1e17ff004103640bc0258" name="ga881f960275b1e17ff004103640bc0258"></a>
155 <h2 class="memtitle"><span class="permalink"><a href="#ga881f960275b1e17ff004103640bc0258">&#9670;&nbsp;</a></span>interp_config_set_add_raw()</h2>
156
157 <div class="memitem">
158 <div class="memproto">
159 <table class="mlabels">
160   <tr>
161   <td class="mlabels-left">
162       <table class="memname">
163         <tr>
164           <td class="memname">static void interp_config_set_add_raw </td>
165           <td>(</td>
166           <td class="paramtype"><a class="el" href="structinterp__config.html">interp_config</a> *&#160;</td>
167           <td class="paramname"><em>c</em>, </td>
168         </tr>
169         <tr>
170           <td class="paramkey"></td>
171           <td></td>
172           <td class="paramtype">bool&#160;</td>
173           <td class="paramname"><em>add_raw</em>&#160;</td>
174         </tr>
175         <tr>
176           <td></td>
177           <td>)</td>
178           <td></td><td></td>
179         </tr>
180       </table>
181   </td>
182   <td class="mlabels-right">
183 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
184   </tr>
185 </table>
186 </div><div class="memdoc">
187
188 <p>Set raw add option. </p>
189 <p >When enabled, mask + shift is bypassed for LANE0 result. This does not affect the FULL result.</p>
190 <dl class="params"><dt>Parameters</dt><dd>
191   <table class="params">
192     <tr><td class="paramname">c</td><td>Pointer to interpolation config </td></tr>
193     <tr><td class="paramname">add_raw</td><td>If true, enable raw add option. </td></tr>
194   </table>
195   </dd>
196 </dl>
197
198 </div>
199 </div>
200 <a id="ga494025486e3c301b46f241852dc7af46" name="ga494025486e3c301b46f241852dc7af46"></a>
201 <h2 class="memtitle"><span class="permalink"><a href="#ga494025486e3c301b46f241852dc7af46">&#9670;&nbsp;</a></span>interp_config_set_blend()</h2>
202
203 <div class="memitem">
204 <div class="memproto">
205 <table class="mlabels">
206   <tr>
207   <td class="mlabels-left">
208       <table class="memname">
209         <tr>
210           <td class="memname">static void interp_config_set_blend </td>
211           <td>(</td>
212           <td class="paramtype"><a class="el" href="structinterp__config.html">interp_config</a> *&#160;</td>
213           <td class="paramname"><em>c</em>, </td>
214         </tr>
215         <tr>
216           <td class="paramkey"></td>
217           <td></td>
218           <td class="paramtype">bool&#160;</td>
219           <td class="paramname"><em>blend</em>&#160;</td>
220         </tr>
221         <tr>
222           <td></td>
223           <td>)</td>
224           <td></td><td></td>
225         </tr>
226       </table>
227   </td>
228   <td class="mlabels-right">
229 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
230   </tr>
231 </table>
232 </div><div class="memdoc">
233
234 <p>Set blend mode. </p>
235 <p >If enabled, LANE1 result is a linear interpolation between BASE0 and BASE1, controlled by the 8 LSBs of lane 1 shift and mask value (a fractional number between 0 and 255/256ths)</p>
236 <p >LANE0 result does not have BASE0 added (yields only the 8 LSBs of lane 1 shift+mask value)</p>
237 <p >FULL result does not have lane 1 shift+mask value added (BASE2 + lane 0 shift+mask)</p>
238 <p >LANE1 SIGNED flag controls whether the interpolation is signed or unsig</p>
239 <dl class="params"><dt>Parameters</dt><dd>
240   <table class="params">
241     <tr><td class="paramname">c</td><td>Pointer to interpolation config </td></tr>
242     <tr><td class="paramname">blend</td><td>Set true to enable blend mode. </td></tr>
243   </table>
244   </dd>
245 </dl>
246
247 </div>
248 </div>
249 <a id="ga0e94b2b16fb356cfa09703bb0bd0285e" name="ga0e94b2b16fb356cfa09703bb0bd0285e"></a>
250 <h2 class="memtitle"><span class="permalink"><a href="#ga0e94b2b16fb356cfa09703bb0bd0285e">&#9670;&nbsp;</a></span>interp_config_set_clamp()</h2>
251
252 <div class="memitem">
253 <div class="memproto">
254 <table class="mlabels">
255   <tr>
256   <td class="mlabels-left">
257       <table class="memname">
258         <tr>
259           <td class="memname">static void interp_config_set_clamp </td>
260           <td>(</td>
261           <td class="paramtype"><a class="el" href="structinterp__config.html">interp_config</a> *&#160;</td>
262           <td class="paramname"><em>c</em>, </td>
263         </tr>
264         <tr>
265           <td class="paramkey"></td>
266           <td></td>
267           <td class="paramtype">bool&#160;</td>
268           <td class="paramname"><em>clamp</em>&#160;</td>
269         </tr>
270         <tr>
271           <td></td>
272           <td>)</td>
273           <td></td><td></td>
274         </tr>
275       </table>
276   </td>
277   <td class="mlabels-right">
278 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
279   </tr>
280 </table>
281 </div><div class="memdoc">
282
283 <p>Set interpolator clamp mode (Interpolator 1 only) </p>
284 <p >Only present on INTERP1 on each core. If CLAMP mode is enabled:</p><ul>
285 <li>LANE0 result is a shifted and masked ACCUM0, clamped by a lower bound of BASE0 and an upper bound of BASE1.</li>
286 <li>Signedness of these comparisons is determined by LANE0_CTRL_SIGNED</li>
287 </ul>
288 <dl class="params"><dt>Parameters</dt><dd>
289   <table class="params">
290     <tr><td class="paramname">c</td><td>Pointer to interpolation config </td></tr>
291     <tr><td class="paramname">clamp</td><td>Set true to enable clamp mode </td></tr>
292   </table>
293   </dd>
294 </dl>
295
296 </div>
297 </div>
298 <a id="gaeb64e0515ebeabd2fdd4c64712c6e3f9" name="gaeb64e0515ebeabd2fdd4c64712c6e3f9"></a>
299 <h2 class="memtitle"><span class="permalink"><a href="#gaeb64e0515ebeabd2fdd4c64712c6e3f9">&#9670;&nbsp;</a></span>interp_config_set_cross_input()</h2>
300
301 <div class="memitem">
302 <div class="memproto">
303 <table class="mlabels">
304   <tr>
305   <td class="mlabels-left">
306       <table class="memname">
307         <tr>
308           <td class="memname">static void interp_config_set_cross_input </td>
309           <td>(</td>
310           <td class="paramtype"><a class="el" href="structinterp__config.html">interp_config</a> *&#160;</td>
311           <td class="paramname"><em>c</em>, </td>
312         </tr>
313         <tr>
314           <td class="paramkey"></td>
315           <td></td>
316           <td class="paramtype">bool&#160;</td>
317           <td class="paramname"><em>cross_input</em>&#160;</td>
318         </tr>
319         <tr>
320           <td></td>
321           <td>)</td>
322           <td></td><td></td>
323         </tr>
324       </table>
325   </td>
326   <td class="mlabels-right">
327 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
328   </tr>
329 </table>
330 </div><div class="memdoc">
331
332 <p>Enable cross input. </p>
333 <p >Allows feeding of the accumulator content from the other lane back in to this lanes shift+mask hardware. This will take effect even if the interp_config_set_add_raw option is set as the cross input mux is before the shift+mask bypass</p>
334 <dl class="params"><dt>Parameters</dt><dd>
335   <table class="params">
336     <tr><td class="paramname">c</td><td>Pointer to interpolation config </td></tr>
337     <tr><td class="paramname">cross_input</td><td>If true, enable the cross input. </td></tr>
338   </table>
339   </dd>
340 </dl>
341
342 </div>
343 </div>
344 <a id="gadfdf4d9fff3f9a2154645f71ca47ddb1" name="gadfdf4d9fff3f9a2154645f71ca47ddb1"></a>
345 <h2 class="memtitle"><span class="permalink"><a href="#gadfdf4d9fff3f9a2154645f71ca47ddb1">&#9670;&nbsp;</a></span>interp_config_set_cross_result()</h2>
346
347 <div class="memitem">
348 <div class="memproto">
349 <table class="mlabels">
350   <tr>
351   <td class="mlabels-left">
352       <table class="memname">
353         <tr>
354           <td class="memname">static void interp_config_set_cross_result </td>
355           <td>(</td>
356           <td class="paramtype"><a class="el" href="structinterp__config.html">interp_config</a> *&#160;</td>
357           <td class="paramname"><em>c</em>, </td>
358         </tr>
359         <tr>
360           <td class="paramkey"></td>
361           <td></td>
362           <td class="paramtype">bool&#160;</td>
363           <td class="paramname"><em>cross_result</em>&#160;</td>
364         </tr>
365         <tr>
366           <td></td>
367           <td>)</td>
368           <td></td><td></td>
369         </tr>
370       </table>
371   </td>
372   <td class="mlabels-right">
373 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
374   </tr>
375 </table>
376 </div><div class="memdoc">
377
378 <p>Enable cross results. </p>
379 <p >Allows feeding of the other lane’s result into this lane’s accumulator on a POP operation.</p>
380 <dl class="params"><dt>Parameters</dt><dd>
381   <table class="params">
382     <tr><td class="paramname">c</td><td>Pointer to interpolation config </td></tr>
383     <tr><td class="paramname">cross_result</td><td>If true, enables the cross result </td></tr>
384   </table>
385   </dd>
386 </dl>
387
388 </div>
389 </div>
390 <a id="ga1f8df0132623c69cffd0e66e1b679fae" name="ga1f8df0132623c69cffd0e66e1b679fae"></a>
391 <h2 class="memtitle"><span class="permalink"><a href="#ga1f8df0132623c69cffd0e66e1b679fae">&#9670;&nbsp;</a></span>interp_config_set_force_bits()</h2>
392
393 <div class="memitem">
394 <div class="memproto">
395 <table class="mlabels">
396   <tr>
397   <td class="mlabels-left">
398       <table class="memname">
399         <tr>
400           <td class="memname">static void interp_config_set_force_bits </td>
401           <td>(</td>
402           <td class="paramtype"><a class="el" href="structinterp__config.html">interp_config</a> *&#160;</td>
403           <td class="paramname"><em>c</em>, </td>
404         </tr>
405         <tr>
406           <td class="paramkey"></td>
407           <td></td>
408           <td class="paramtype">uint&#160;</td>
409           <td class="paramname"><em>bits</em>&#160;</td>
410         </tr>
411         <tr>
412           <td></td>
413           <td>)</td>
414           <td></td><td></td>
415         </tr>
416       </table>
417   </td>
418   <td class="mlabels-right">
419 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
420   </tr>
421 </table>
422 </div><div class="memdoc">
423
424 <p>Set interpolator Force bits. </p>
425 <p >ORed into bits 29:28 of the lane result presented to the processor on the bus.</p>
426 <p >No effect on the internal 32-bit datapath. Handy for using a lane to generate sequence of pointers into flash or SRAM</p>
427 <dl class="params"><dt>Parameters</dt><dd>
428   <table class="params">
429     <tr><td class="paramname">c</td><td>Pointer to interpolation config </td></tr>
430     <tr><td class="paramname">bits</td><td>Sets the force bits to that specified. Range 0-3 (two bits) </td></tr>
431   </table>
432   </dd>
433 </dl>
434
435 </div>
436 </div>
437 <a id="ga32f22fb5240d4b53a62a0dfcb838b56d" name="ga32f22fb5240d4b53a62a0dfcb838b56d"></a>
438 <h2 class="memtitle"><span class="permalink"><a href="#ga32f22fb5240d4b53a62a0dfcb838b56d">&#9670;&nbsp;</a></span>interp_config_set_mask()</h2>
439
440 <div class="memitem">
441 <div class="memproto">
442 <table class="mlabels">
443   <tr>
444   <td class="mlabels-left">
445       <table class="memname">
446         <tr>
447           <td class="memname">static void interp_config_set_mask </td>
448           <td>(</td>
449           <td class="paramtype"><a class="el" href="structinterp__config.html">interp_config</a> *&#160;</td>
450           <td class="paramname"><em>c</em>, </td>
451         </tr>
452         <tr>
453           <td class="paramkey"></td>
454           <td></td>
455           <td class="paramtype">uint&#160;</td>
456           <td class="paramname"><em>mask_lsb</em>, </td>
457         </tr>
458         <tr>
459           <td class="paramkey"></td>
460           <td></td>
461           <td class="paramtype">uint&#160;</td>
462           <td class="paramname"><em>mask_msb</em>&#160;</td>
463         </tr>
464         <tr>
465           <td></td>
466           <td>)</td>
467           <td></td><td></td>
468         </tr>
469       </table>
470   </td>
471   <td class="mlabels-right">
472 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
473   </tr>
474 </table>
475 </div><div class="memdoc">
476
477 <p>Set the interpolator mask range. </p>
478 <p >Sets the range of bits (least to most) that are allowed to pass through the interpolator</p>
479 <dl class="params"><dt>Parameters</dt><dd>
480   <table class="params">
481     <tr><td class="paramname">c</td><td>Pointer to interpolation config </td></tr>
482     <tr><td class="paramname">mask_lsb</td><td>The least significant bit allowed to pass </td></tr>
483     <tr><td class="paramname">mask_msb</td><td>The most significant bit allowed to pass </td></tr>
484   </table>
485   </dd>
486 </dl>
487
488 </div>
489 </div>
490 <a id="ga30d763b581c679c02cefe2fa90d8c8a7" name="ga30d763b581c679c02cefe2fa90d8c8a7"></a>
491 <h2 class="memtitle"><span class="permalink"><a href="#ga30d763b581c679c02cefe2fa90d8c8a7">&#9670;&nbsp;</a></span>interp_config_set_shift()</h2>
492
493 <div class="memitem">
494 <div class="memproto">
495 <table class="mlabels">
496   <tr>
497   <td class="mlabels-left">
498       <table class="memname">
499         <tr>
500           <td class="memname">static void interp_config_set_shift </td>
501           <td>(</td>
502           <td class="paramtype"><a class="el" href="structinterp__config.html">interp_config</a> *&#160;</td>
503           <td class="paramname"><em>c</em>, </td>
504         </tr>
505         <tr>
506           <td class="paramkey"></td>
507           <td></td>
508           <td class="paramtype">uint&#160;</td>
509           <td class="paramname"><em>shift</em>&#160;</td>
510         </tr>
511         <tr>
512           <td></td>
513           <td>)</td>
514           <td></td><td></td>
515         </tr>
516       </table>
517   </td>
518   <td class="mlabels-right">
519 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
520   </tr>
521 </table>
522 </div><div class="memdoc">
523
524 <p>Set the interpolator shift value. </p>
525 <p >Sets the number of bits the accumulator is shifted before masking, on each iteration.</p>
526 <dl class="params"><dt>Parameters</dt><dd>
527   <table class="params">
528     <tr><td class="paramname">c</td><td>Pointer to an interpolator config </td></tr>
529     <tr><td class="paramname">shift</td><td>Number of bits </td></tr>
530   </table>
531   </dd>
532 </dl>
533
534 </div>
535 </div>
536 <a id="gaba828dabbf74d63c7d0677411840e8ea" name="gaba828dabbf74d63c7d0677411840e8ea"></a>
537 <h2 class="memtitle"><span class="permalink"><a href="#gaba828dabbf74d63c7d0677411840e8ea">&#9670;&nbsp;</a></span>interp_config_set_signed()</h2>
538
539 <div class="memitem">
540 <div class="memproto">
541 <table class="mlabels">
542   <tr>
543   <td class="mlabels-left">
544       <table class="memname">
545         <tr>
546           <td class="memname">static void interp_config_set_signed </td>
547           <td>(</td>
548           <td class="paramtype"><a class="el" href="structinterp__config.html">interp_config</a> *&#160;</td>
549           <td class="paramname"><em>c</em>, </td>
550         </tr>
551         <tr>
552           <td class="paramkey"></td>
553           <td></td>
554           <td class="paramtype">bool&#160;</td>
555           <td class="paramname"><em>_signed</em>&#160;</td>
556         </tr>
557         <tr>
558           <td></td>
559           <td>)</td>
560           <td></td><td></td>
561         </tr>
562       </table>
563   </td>
564   <td class="mlabels-right">
565 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
566   </tr>
567 </table>
568 </div><div class="memdoc">
569
570 <p>Set sign extension. </p>
571 <p >Enables signed mode, where the shifted and masked accumulator value is sign-extended to 32 bits before adding to BASE1, and LANE1 PEEK/POP results appear extended to 32 bits when read by processor.</p>
572 <dl class="params"><dt>Parameters</dt><dd>
573   <table class="params">
574     <tr><td class="paramname">c</td><td>Pointer to interpolation config </td></tr>
575     <tr><td class="paramname">_signed</td><td>If true, enables sign extension </td></tr>
576   </table>
577   </dd>
578 </dl>
579
580 </div>
581 </div>
582 <a id="ga171e5080ebbdf84745bd5c6a4fada90e" name="ga171e5080ebbdf84745bd5c6a4fada90e"></a>
583 <h2 class="memtitle"><span class="permalink"><a href="#ga171e5080ebbdf84745bd5c6a4fada90e">&#9670;&nbsp;</a></span>interp_default_config()</h2>
584
585 <div class="memitem">
586 <div class="memproto">
587 <table class="mlabels">
588   <tr>
589   <td class="mlabels-left">
590       <table class="memname">
591         <tr>
592           <td class="memname">static <a class="el" href="structinterp__config.html">interp_config</a> interp_default_config </td>
593           <td>(</td>
594           <td class="paramtype">void&#160;</td>
595           <td class="paramname"></td><td>)</td>
596           <td></td>
597         </tr>
598       </table>
599   </td>
600   <td class="mlabels-right">
601 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
602   </tr>
603 </table>
604 </div><div class="memdoc">
605
606 <p>Get a default configuration. </p>
607 <dl class="section return"><dt>Returns</dt><dd>A default interpolation configuration </dd></dl>
608
609 </div>
610 </div>
611 <a id="gace3f9a4de8e142d76cd54a54ad67a296" name="gace3f9a4de8e142d76cd54a54ad67a296"></a>
612 <h2 class="memtitle"><span class="permalink"><a href="#gace3f9a4de8e142d76cd54a54ad67a296">&#9670;&nbsp;</a></span>interp_set_config()</h2>
613
614 <div class="memitem">
615 <div class="memproto">
616 <table class="mlabels">
617   <tr>
618   <td class="mlabels-left">
619       <table class="memname">
620         <tr>
621           <td class="memname">static void interp_set_config </td>
622           <td>(</td>
623           <td class="paramtype"><a class="el" href="structinterp__hw__t.html">interp_hw_t</a> *&#160;</td>
624           <td class="paramname"><em>interp</em>, </td>
625         </tr>
626         <tr>
627           <td class="paramkey"></td>
628           <td></td>
629           <td class="paramtype">uint&#160;</td>
630           <td class="paramname"><em>lane</em>, </td>
631         </tr>
632         <tr>
633           <td class="paramkey"></td>
634           <td></td>
635           <td class="paramtype"><a class="el" href="structinterp__config.html">interp_config</a> *&#160;</td>
636           <td class="paramname"><em>config</em>&#160;</td>
637         </tr>
638         <tr>
639           <td></td>
640           <td>)</td>
641           <td></td><td></td>
642         </tr>
643       </table>
644   </td>
645   <td class="mlabels-right">
646 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
647   </tr>
648 </table>
649 </div><div class="memdoc">
650
651 <p>Send configuration to a lane. </p>
652 <p >If an invalid configuration is specified (ie a lane specific item is set on wrong lane), depending on setup this function can panic.</p>
653 <dl class="params"><dt>Parameters</dt><dd>
654   <table class="params">
655     <tr><td class="paramname">interp</td><td>Interpolator instance, interp0 or interp1. </td></tr>
656     <tr><td class="paramname">lane</td><td>The lane to set </td></tr>
657     <tr><td class="paramname">config</td><td>Pointer to interpolation config </td></tr>
658   </table>
659   </dd>
660 </dl>
661
662 </div>
663 </div>
664 </div><!-- contents -->
665 </div><!-- doc-content -->
666
667         <script src="main.js"></script>
668 </body>
669 </html>
This page took 0.071953 seconds and 4 git commands to generate.