Micro template library A library for building device drivers
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

classutl_1_1spi__i.html 33 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.14"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>uTL: utl::spi_i&lt; impl_t &gt; Class Template Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="navtree.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="resize.js"></script>
  14. <script type="text/javascript" src="navtreedata.js"></script>
  15. <script type="text/javascript" src="navtree.js"></script>
  16. <script type="text/javascript">
  17. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  18. $(document).ready(initResizable);
  19. /* @license-end */</script>
  20. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  21. <script type="text/javascript" src="search/searchdata.js"></script>
  22. <script type="text/javascript" src="search/search.js"></script>
  23. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  24. </head>
  25. <body>
  26. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  27. <div id="titlearea">
  28. <table cellspacing="0" cellpadding="0">
  29. <tbody>
  30. <tr style="height: 56px;">
  31. <td id="projectalign" style="padding-left: 0.5em;">
  32. <div id="projectname">uTL
  33. </div>
  34. <div id="projectbrief">micro Template library</div>
  35. </td>
  36. </tr>
  37. </tbody>
  38. </table>
  39. </div>
  40. <!-- end header part -->
  41. <!-- Generated by Doxygen 1.8.14 -->
  42. <script type="text/javascript">
  43. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  44. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  45. /* @license-end */
  46. </script>
  47. <script type="text/javascript" src="menudata.js"></script>
  48. <script type="text/javascript" src="menu.js"></script>
  49. <script type="text/javascript">
  50. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  51. $(function() {
  52. initMenu('',true,false,'search.php','Search');
  53. $(document).ready(function() { init_search(); });
  54. });
  55. /* @license-end */</script>
  56. <div id="main-nav"></div>
  57. </div><!-- top -->
  58. <div id="side-nav" class="ui-resizable side-nav-resizable">
  59. <div id="nav-tree">
  60. <div id="nav-tree-contents">
  61. <div id="nav-sync" class="sync"></div>
  62. </div>
  63. </div>
  64. <div id="splitbar" style="-moz-user-select:none;"
  65. class="ui-resizable-handle">
  66. </div>
  67. </div>
  68. <script type="text/javascript">
  69. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  70. $(document).ready(function(){initNavTree('classutl_1_1spi__i.html','');});
  71. /* @license-end */
  72. </script>
  73. <div id="doc-content">
  74. <!-- window showing the filter options -->
  75. <div id="MSearchSelectWindow"
  76. onmouseover="return searchBox.OnSearchSelectShow()"
  77. onmouseout="return searchBox.OnSearchSelectHide()"
  78. onkeydown="return searchBox.OnSearchSelectKey(event)">
  79. </div>
  80. <!-- iframe showing the search results (closed by default) -->
  81. <div id="MSearchResultsWindow">
  82. <iframe src="javascript:void(0)" frameborder="0"
  83. name="MSearchResults" id="MSearchResults">
  84. </iframe>
  85. </div>
  86. <div class="header">
  87. <div class="summary">
  88. <a href="#pub-types">Public Types</a> &#124;
  89. <a href="#pri-methods">Private Member Functions</a> &#124;
  90. <a href="classutl_1_1spi__i-members.html">List of all members</a> </div>
  91. <div class="headertitle">
  92. <div class="title">utl::spi_i&lt; impl_t &gt; Class Template Reference</div> </div>
  93. </div><!--header-->
  94. <div class="contents">
  95. <p><code>#include &lt;<a class="el" href="spi_8h_source.html">spi.h</a>&gt;</code></p>
  96. <table class="memberdecls">
  97. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
  98. Public Types</h2></td></tr>
  99. <tr class="memitem:aff8ee0a2160cddbb52fce46611a6108f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1spi__i.html#aff8ee0a2160cddbb52fce46611a6108f">type</a> = <a class="el" href="classutl_1_1spi__i.html">spi_i</a>&lt; impl_t &gt;</td></tr>
  100. <tr class="memdesc:aff8ee0a2160cddbb52fce46611a6108f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Export type as identity meta-function. <a href="#aff8ee0a2160cddbb52fce46611a6108f">More...</a><br /></td></tr>
  101. <tr class="separator:aff8ee0a2160cddbb52fce46611a6108f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  102. </table><table class="memberdecls">
  103. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  104. Public Member Functions</h2></td></tr>
  105. <tr><td colspan="2"><div class="groupHeader">Get/Set functions provided by the interface</div></td></tr>
  106. <tr class="memitem:a24cdd0c5ce4ed45a6c1b88ea43328634"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1spi__i.html#a24cdd0c5ce4ed45a6c1b88ea43328634">clock</a> () const</td></tr>
  107. <tr class="separator:a24cdd0c5ce4ed45a6c1b88ea43328634"><td class="memSeparator" colspan="2">&#160;</td></tr>
  108. <tr class="memitem:a0ebb46a523ace45fd69950f90f9b3af4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1spi__i.html#a0ebb46a523ace45fd69950f90f9b3af4">clock</a> (uint32_t c)</td></tr>
  109. <tr class="memdesc:a0ebb46a523ace45fd69950f90f9b3af4"><td class="mdescLeft">&#160;</td><td class="mdescRight">set clock frequency of the bus <a href="#a0ebb46a523ace45fd69950f90f9b3af4">More...</a><br /></td></tr>
  110. <tr class="separator:a0ebb46a523ace45fd69950f90f9b3af4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  111. <tr><td colspan="2"><div class="groupHeader">I/O functions provided by the interface</div></td></tr>
  112. <tr class="memitem:ac8376d88480a992ac47699637e1a29a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1spi__i.html#ac8376d88480a992ac47699637e1a29a5">tx_data</a> (<a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> out)</td></tr>
  113. <tr class="separator:ac8376d88480a992ac47699637e1a29a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  114. <tr class="memitem:af3e303c2982202261700044d31596248"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1spi__i.html#af3e303c2982202261700044d31596248">tx_data</a> (const <a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> *out, <a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> *in, <a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> n)</td></tr>
  115. <tr class="memdesc:af3e303c2982202261700044d31596248"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit a number of bytes to the spi bus and read the response. <a href="#af3e303c2982202261700044d31596248">More...</a><br /></td></tr>
  116. <tr class="separator:af3e303c2982202261700044d31596248"><td class="memSeparator" colspan="2">&#160;</td></tr>
  117. <tr class="memitem:a846dead32b91efcb48eed614daf68e8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1spi__i.html#a846dead32b91efcb48eed614daf68e8f">rx_data</a> ()</td></tr>
  118. <tr class="separator:a846dead32b91efcb48eed614daf68e8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  119. <tr class="memitem:a2053009da5364ead720aebd7cc537c21"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1spi__i.html#a2053009da5364ead720aebd7cc537c21">rx_data</a> (<a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> *in, <a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> n)</td></tr>
  120. <tr class="memdesc:a2053009da5364ead720aebd7cc537c21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive a number of bytes from the spi bus while transmitting 0xFFs. <a href="#a2053009da5364ead720aebd7cc537c21">More...</a><br /></td></tr>
  121. <tr class="separator:a2053009da5364ead720aebd7cc537c21"><td class="memSeparator" colspan="2">&#160;</td></tr>
  122. </table><table class="memberdecls">
  123. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
  124. Protected Member Functions</h2></td></tr>
  125. <tr><td colspan="2"><div class="groupHeader">Object lifetime</div></td></tr>
  126. <tr class="memitem:ad66605cdf90f6d24cad3dc5ecda94b77"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1spi__i.html#ad66605cdf90f6d24cad3dc5ecda94b77">spi_i</a> ()=default</td></tr>
  127. <tr class="memdesc:ad66605cdf90f6d24cad3dc5ecda94b77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow constructor from derived only. <a href="#ad66605cdf90f6d24cad3dc5ecda94b77">More...</a><br /></td></tr>
  128. <tr class="separator:ad66605cdf90f6d24cad3dc5ecda94b77"><td class="memSeparator" colspan="2">&#160;</td></tr>
  129. <tr class="memitem:ae77cb8be7d648a62a1ad252d829eccfb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1spi__i.html#ae77cb8be7d648a62a1ad252d829eccfb">~spi_i</a> ()=default</td></tr>
  130. <tr class="memdesc:ae77cb8be7d648a62a1ad252d829eccfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow destructor from derived only. <a href="#ae77cb8be7d648a62a1ad252d829eccfb">More...</a><br /></td></tr>
  131. <tr class="separator:ae77cb8be7d648a62a1ad252d829eccfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  132. <tr class="memitem:a1d6facb9b9adf91a6589fe029325bd55"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1spi__i.html#a1d6facb9b9adf91a6589fe029325bd55">spi_i</a> (const <a class="el" href="classutl_1_1spi__i.html#aff8ee0a2160cddbb52fce46611a6108f">type</a> &amp;)=delete</td></tr>
  133. <tr class="memdesc:a1d6facb9b9adf91a6589fe029325bd55"><td class="mdescLeft">&#160;</td><td class="mdescRight">No copies. <a href="#a1d6facb9b9adf91a6589fe029325bd55">More...</a><br /></td></tr>
  134. <tr class="separator:a1d6facb9b9adf91a6589fe029325bd55"><td class="memSeparator" colspan="2">&#160;</td></tr>
  135. <tr class="memitem:aa5cf05ce005cb23e6317b3eef70bf4b0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1spi__i.html#aff8ee0a2160cddbb52fce46611a6108f">type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1spi__i.html#aa5cf05ce005cb23e6317b3eef70bf4b0">operator=</a> (const <a class="el" href="classutl_1_1spi__i.html#aff8ee0a2160cddbb52fce46611a6108f">type</a> &amp;)=delete</td></tr>
  136. <tr class="separator:aa5cf05ce005cb23e6317b3eef70bf4b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. </table><table class="memberdecls">
  138. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
  139. Private Member Functions</h2></td></tr>
  140. <tr class="memitem:adfab771b0e399b9f482e42aaa5e9db11"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1spi__i.html#adfab771b0e399b9f482e42aaa5e9db11">_CRTP_IMPL</a> (impl_t)</td></tr>
  141. <tr class="separator:adfab771b0e399b9f482e42aaa5e9db11"><td class="memSeparator" colspan="2">&#160;</td></tr>
  142. <tr><td colspan="2"><div class="groupHeader">Implementation requirements</div></td></tr>
  143. <tr><td colspan="2"><div class="groupText"><dl class="section note"><dt>Note</dt><dd>In order for the implementation to have the following as private members it also need to declare this class as friend </dd></dl>
  144. </div></td></tr>
  145. <tr class="memitem:a68a21ac9727eed3802ce7d1181ac4f8c"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1spi__i.html#a68a21ac9727eed3802ce7d1181ac4f8c">_clock</a> () const</td></tr>
  146. <tr class="memdesc:a68a21ac9727eed3802ce7d1181ac4f8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">clock frequency of the bus [Hz] <a href="#a68a21ac9727eed3802ce7d1181ac4f8c">More...</a><br /></td></tr>
  147. <tr class="separator:a68a21ac9727eed3802ce7d1181ac4f8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  148. <tr class="memitem:af0a9bfc5d02ccd2bfbe8044132884578"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1spi__i.html#af0a9bfc5d02ccd2bfbe8044132884578">_clock</a> (uint32_t c)</td></tr>
  149. <tr class="memdesc:af0a9bfc5d02ccd2bfbe8044132884578"><td class="mdescLeft">&#160;</td><td class="mdescRight">set clock frequency of the bus [Hz] <a href="#af0a9bfc5d02ccd2bfbe8044132884578">More...</a><br /></td></tr>
  150. <tr class="separator:af0a9bfc5d02ccd2bfbe8044132884578"><td class="memSeparator" colspan="2">&#160;</td></tr>
  151. <tr class="memitem:acf3ffd9c79d4cdeac100cf3273120689"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1spi__i.html#acf3ffd9c79d4cdeac100cf3273120689">_tx_data</a> (<a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> b)</td></tr>
  152. <tr class="separator:acf3ffd9c79d4cdeac100cf3273120689"><td class="memSeparator" colspan="2">&#160;</td></tr>
  153. </table>
  154. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  155. <div class="textblock"><h3>template&lt;typename impl_t&gt;<br />
  156. class utl::spi_i&lt; impl_t &gt;</h3>
  157. <p>Template base class for SPI communication interface using CRTP This class force a common interface for SPI communication protocol implementations. </p><dl class="params"><dt>Parameters</dt><dd>
  158. <table class="params">
  159. <tr><td class="paramname">impl_t</td><td>The CRTP type (the derived/implementation class typename). </td></tr>
  160. </table>
  161. </dd>
  162. </dl>
  163. <p class="definition">Definition at line <a class="el" href="spi_8h_source.html#l00067">67</a> of file <a class="el" href="spi_8h_source.html">spi.h</a>.</p>
  164. </div><h2 class="groupheader">Member Typedef Documentation</h2>
  165. <a id="aff8ee0a2160cddbb52fce46611a6108f"></a>
  166. <h2 class="memtitle"><span class="permalink"><a href="#aff8ee0a2160cddbb52fce46611a6108f">&#9670;&nbsp;</a></span>type</h2>
  167. <div class="memitem">
  168. <div class="memproto">
  169. <div class="memtemplate">
  170. template&lt;typename impl_t&gt; </div>
  171. <table class="memname">
  172. <tr>
  173. <td class="memname">using <a class="el" href="classutl_1_1spi__i.html">utl::spi_i</a>&lt; impl_t &gt;::<a class="el" href="classutl_1_1spi__i.html#aff8ee0a2160cddbb52fce46611a6108f">type</a> = <a class="el" href="classutl_1_1spi__i.html">spi_i</a>&lt;impl_t&gt;</td>
  174. </tr>
  175. </table>
  176. </div><div class="memdoc">
  177. <p>Export type as identity meta-function. </p>
  178. <p class="definition">Definition at line <a class="el" href="spi_8h_source.html#l00071">71</a> of file <a class="el" href="spi_8h_source.html">spi.h</a>.</p>
  179. </div>
  180. </div>
  181. <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  182. <a id="ad66605cdf90f6d24cad3dc5ecda94b77"></a>
  183. <h2 class="memtitle"><span class="permalink"><a href="#ad66605cdf90f6d24cad3dc5ecda94b77">&#9670;&nbsp;</a></span>spi_i() <span class="overload">[1/2]</span></h2>
  184. <div class="memitem">
  185. <div class="memproto">
  186. <div class="memtemplate">
  187. template&lt;typename impl_t&gt; </div>
  188. <table class="mlabels">
  189. <tr>
  190. <td class="mlabels-left">
  191. <table class="memname">
  192. <tr>
  193. <td class="memname"><a class="el" href="classutl_1_1spi__i.html">utl::spi_i</a>&lt; impl_t &gt;::<a class="el" href="classutl_1_1spi__i.html">spi_i</a> </td>
  194. <td>(</td>
  195. <td class="paramname"></td><td>)</td>
  196. <td></td>
  197. </tr>
  198. </table>
  199. </td>
  200. <td class="mlabels-right">
  201. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">default</span></span> </td>
  202. </tr>
  203. </table>
  204. </div><div class="memdoc">
  205. <p>Allow constructor from derived only. </p>
  206. </div>
  207. </div>
  208. <a id="ae77cb8be7d648a62a1ad252d829eccfb"></a>
  209. <h2 class="memtitle"><span class="permalink"><a href="#ae77cb8be7d648a62a1ad252d829eccfb">&#9670;&nbsp;</a></span>~spi_i()</h2>
  210. <div class="memitem">
  211. <div class="memproto">
  212. <div class="memtemplate">
  213. template&lt;typename impl_t&gt; </div>
  214. <table class="mlabels">
  215. <tr>
  216. <td class="mlabels-left">
  217. <table class="memname">
  218. <tr>
  219. <td class="memname"><a class="el" href="classutl_1_1spi__i.html">utl::spi_i</a>&lt; impl_t &gt;::~<a class="el" href="classutl_1_1spi__i.html">spi_i</a> </td>
  220. <td>(</td>
  221. <td class="paramname"></td><td>)</td>
  222. <td></td>
  223. </tr>
  224. </table>
  225. </td>
  226. <td class="mlabels-right">
  227. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">default</span></span> </td>
  228. </tr>
  229. </table>
  230. </div><div class="memdoc">
  231. <p>Allow destructor from derived only. </p>
  232. </div>
  233. </div>
  234. <a id="a1d6facb9b9adf91a6589fe029325bd55"></a>
  235. <h2 class="memtitle"><span class="permalink"><a href="#a1d6facb9b9adf91a6589fe029325bd55">&#9670;&nbsp;</a></span>spi_i() <span class="overload">[2/2]</span></h2>
  236. <div class="memitem">
  237. <div class="memproto">
  238. <div class="memtemplate">
  239. template&lt;typename impl_t&gt; </div>
  240. <table class="mlabels">
  241. <tr>
  242. <td class="mlabels-left">
  243. <table class="memname">
  244. <tr>
  245. <td class="memname"><a class="el" href="classutl_1_1spi__i.html">utl::spi_i</a>&lt; impl_t &gt;::<a class="el" href="classutl_1_1spi__i.html">spi_i</a> </td>
  246. <td>(</td>
  247. <td class="paramtype">const <a class="el" href="classutl_1_1spi__i.html#aff8ee0a2160cddbb52fce46611a6108f">type</a> &amp;&#160;</td>
  248. <td class="paramname"></td><td>)</td>
  249. <td></td>
  250. </tr>
  251. </table>
  252. </td>
  253. <td class="mlabels-right">
  254. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">delete</span></span> </td>
  255. </tr>
  256. </table>
  257. </div><div class="memdoc">
  258. <p>No copies. </p>
  259. </div>
  260. </div>
  261. <h2 class="groupheader">Member Function Documentation</h2>
  262. <a id="a68a21ac9727eed3802ce7d1181ac4f8c"></a>
  263. <h2 class="memtitle"><span class="permalink"><a href="#a68a21ac9727eed3802ce7d1181ac4f8c">&#9670;&nbsp;</a></span>_clock() <span class="overload">[1/2]</span></h2>
  264. <div class="memitem">
  265. <div class="memproto">
  266. <div class="memtemplate">
  267. template&lt;typename impl_t&gt; </div>
  268. <table class="mlabels">
  269. <tr>
  270. <td class="mlabels-left">
  271. <table class="memname">
  272. <tr>
  273. <td class="memname">uint32_t <a class="el" href="classutl_1_1spi__i.html">utl::spi_i</a>&lt; impl_t &gt;::_clock </td>
  274. <td>(</td>
  275. <td class="paramname"></td><td>)</td>
  276. <td> const</td>
  277. </tr>
  278. </table>
  279. </td>
  280. <td class="mlabels-right">
  281. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
  282. </tr>
  283. </table>
  284. </div><div class="memdoc">
  285. <p>clock frequency of the bus [Hz] </p>
  286. <p class="definition">Definition at line <a class="el" href="spi_8h_source.html#l00092">92</a> of file <a class="el" href="spi_8h_source.html">spi.h</a>.</p>
  287. </div>
  288. </div>
  289. <a id="af0a9bfc5d02ccd2bfbe8044132884578"></a>
  290. <h2 class="memtitle"><span class="permalink"><a href="#af0a9bfc5d02ccd2bfbe8044132884578">&#9670;&nbsp;</a></span>_clock() <span class="overload">[2/2]</span></h2>
  291. <div class="memitem">
  292. <div class="memproto">
  293. <div class="memtemplate">
  294. template&lt;typename impl_t&gt; </div>
  295. <table class="mlabels">
  296. <tr>
  297. <td class="mlabels-left">
  298. <table class="memname">
  299. <tr>
  300. <td class="memname">void <a class="el" href="classutl_1_1spi__i.html">utl::spi_i</a>&lt; impl_t &gt;::_clock </td>
  301. <td>(</td>
  302. <td class="paramtype">uint32_t&#160;</td>
  303. <td class="paramname"><em>c</em></td><td>)</td>
  304. <td></td>
  305. </tr>
  306. </table>
  307. </td>
  308. <td class="mlabels-right">
  309. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
  310. </tr>
  311. </table>
  312. </div><div class="memdoc">
  313. <p>set clock frequency of the bus [Hz] </p>
  314. <p class="definition">Definition at line <a class="el" href="spi_8h_source.html#l00093">93</a> of file <a class="el" href="spi_8h_source.html">spi.h</a>.</p>
  315. </div>
  316. </div>
  317. <a id="adfab771b0e399b9f482e42aaa5e9db11"></a>
  318. <h2 class="memtitle"><span class="permalink"><a href="#adfab771b0e399b9f482e42aaa5e9db11">&#9670;&nbsp;</a></span>_CRTP_IMPL()</h2>
  319. <div class="memitem">
  320. <div class="memproto">
  321. <div class="memtemplate">
  322. template&lt;typename impl_t&gt; </div>
  323. <table class="mlabels">
  324. <tr>
  325. <td class="mlabels-left">
  326. <table class="memname">
  327. <tr>
  328. <td class="memname"><a class="el" href="classutl_1_1spi__i.html">utl::spi_i</a>&lt; impl_t &gt;::_CRTP_IMPL </td>
  329. <td>(</td>
  330. <td class="paramtype">impl_t&#160;</td>
  331. <td class="paramname"></td><td>)</td>
  332. <td></td>
  333. </tr>
  334. </table>
  335. </td>
  336. <td class="mlabels-right">
  337. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  338. </tr>
  339. </table>
  340. </div><div class="memdoc">
  341. </div>
  342. </div>
  343. <a id="acf3ffd9c79d4cdeac100cf3273120689"></a>
  344. <h2 class="memtitle"><span class="permalink"><a href="#acf3ffd9c79d4cdeac100cf3273120689">&#9670;&nbsp;</a></span>_tx_data()</h2>
  345. <div class="memitem">
  346. <div class="memproto">
  347. <div class="memtemplate">
  348. template&lt;typename impl_t&gt; </div>
  349. <table class="mlabels">
  350. <tr>
  351. <td class="mlabels-left">
  352. <table class="memname">
  353. <tr>
  354. <td class="memname"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> <a class="el" href="classutl_1_1spi__i.html">utl::spi_i</a>&lt; impl_t &gt;::_tx_data </td>
  355. <td>(</td>
  356. <td class="paramtype"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a>&#160;</td>
  357. <td class="paramname"><em>b</em></td><td>)</td>
  358. <td></td>
  359. </tr>
  360. </table>
  361. </td>
  362. <td class="mlabels-right">
  363. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
  364. </tr>
  365. </table>
  366. </div><div class="memdoc">
  367. <p>Transmit a byte on the bus and return the response </p>
  368. <p class="definition">Definition at line <a class="el" href="spi_8h_source.html#l00094">94</a> of file <a class="el" href="spi_8h_source.html">spi.h</a>.</p>
  369. </div>
  370. </div>
  371. <a id="a24cdd0c5ce4ed45a6c1b88ea43328634"></a>
  372. <h2 class="memtitle"><span class="permalink"><a href="#a24cdd0c5ce4ed45a6c1b88ea43328634">&#9670;&nbsp;</a></span>clock() <span class="overload">[1/2]</span></h2>
  373. <div class="memitem">
  374. <div class="memproto">
  375. <div class="memtemplate">
  376. template&lt;typename impl_t&gt; </div>
  377. <table class="mlabels">
  378. <tr>
  379. <td class="mlabels-left">
  380. <table class="memname">
  381. <tr>
  382. <td class="memname">uint32_t <a class="el" href="classutl_1_1spi__i.html">utl::spi_i</a>&lt; impl_t &gt;::clock </td>
  383. <td>(</td>
  384. <td class="paramname"></td><td>)</td>
  385. <td> const</td>
  386. </tr>
  387. </table>
  388. </td>
  389. <td class="mlabels-right">
  390. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  391. </tr>
  392. </table>
  393. </div><div class="memdoc">
  394. <dl class="section return"><dt>Returns</dt><dd>clock frequency of the bus </dd></dl>
  395. <p class="definition">Definition at line <a class="el" href="spi_8h_source.html#l00102">102</a> of file <a class="el" href="spi_8h_source.html">spi.h</a>.</p>
  396. </div>
  397. </div>
  398. <a id="a0ebb46a523ace45fd69950f90f9b3af4"></a>
  399. <h2 class="memtitle"><span class="permalink"><a href="#a0ebb46a523ace45fd69950f90f9b3af4">&#9670;&nbsp;</a></span>clock() <span class="overload">[2/2]</span></h2>
  400. <div class="memitem">
  401. <div class="memproto">
  402. <div class="memtemplate">
  403. template&lt;typename impl_t&gt; </div>
  404. <table class="mlabels">
  405. <tr>
  406. <td class="mlabels-left">
  407. <table class="memname">
  408. <tr>
  409. <td class="memname">void <a class="el" href="classutl_1_1spi__i.html">utl::spi_i</a>&lt; impl_t &gt;::clock </td>
  410. <td>(</td>
  411. <td class="paramtype">uint32_t&#160;</td>
  412. <td class="paramname"><em>c</em></td><td>)</td>
  413. <td></td>
  414. </tr>
  415. </table>
  416. </td>
  417. <td class="mlabels-right">
  418. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  419. </tr>
  420. </table>
  421. </div><div class="memdoc">
  422. <p>set clock frequency of the bus </p>
  423. <p class="definition">Definition at line <a class="el" href="spi_8h_source.html#l00103">103</a> of file <a class="el" href="spi_8h_source.html">spi.h</a>.</p>
  424. </div>
  425. </div>
  426. <a id="aa5cf05ce005cb23e6317b3eef70bf4b0"></a>
  427. <h2 class="memtitle"><span class="permalink"><a href="#aa5cf05ce005cb23e6317b3eef70bf4b0">&#9670;&nbsp;</a></span>operator=()</h2>
  428. <div class="memitem">
  429. <div class="memproto">
  430. <div class="memtemplate">
  431. template&lt;typename impl_t&gt; </div>
  432. <table class="mlabels">
  433. <tr>
  434. <td class="mlabels-left">
  435. <table class="memname">
  436. <tr>
  437. <td class="memname"><a class="el" href="classutl_1_1spi__i.html#aff8ee0a2160cddbb52fce46611a6108f">type</a>&amp; <a class="el" href="classutl_1_1spi__i.html">utl::spi_i</a>&lt; impl_t &gt;::operator= </td>
  438. <td>(</td>
  439. <td class="paramtype">const <a class="el" href="classutl_1_1spi__i.html#aff8ee0a2160cddbb52fce46611a6108f">type</a> &amp;&#160;</td>
  440. <td class="paramname"></td><td>)</td>
  441. <td></td>
  442. </tr>
  443. </table>
  444. </td>
  445. <td class="mlabels-right">
  446. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">delete</span></span> </td>
  447. </tr>
  448. </table>
  449. </div><div class="memdoc">
  450. </div>
  451. </div>
  452. <a id="a846dead32b91efcb48eed614daf68e8f"></a>
  453. <h2 class="memtitle"><span class="permalink"><a href="#a846dead32b91efcb48eed614daf68e8f">&#9670;&nbsp;</a></span>rx_data() <span class="overload">[1/2]</span></h2>
  454. <div class="memitem">
  455. <div class="memproto">
  456. <div class="memtemplate">
  457. template&lt;typename impl_t&gt; </div>
  458. <table class="mlabels">
  459. <tr>
  460. <td class="mlabels-left">
  461. <table class="memname">
  462. <tr>
  463. <td class="memname"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> <a class="el" href="classutl_1_1spi__i.html">utl::spi_i</a>&lt; impl_t &gt;::rx_data </td>
  464. <td>(</td>
  465. <td class="paramname"></td><td>)</td>
  466. <td></td>
  467. </tr>
  468. </table>
  469. </td>
  470. <td class="mlabels-right">
  471. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  472. </tr>
  473. </table>
  474. </div><div class="memdoc">
  475. <p>Receive a byte from spi bus while transmitting 0xFF </p>
  476. <p class="definition">Definition at line <a class="el" href="spi_8h_source.html#l00129">129</a> of file <a class="el" href="spi_8h_source.html">spi.h</a>.</p>
  477. </div>
  478. </div>
  479. <a id="a2053009da5364ead720aebd7cc537c21"></a>
  480. <h2 class="memtitle"><span class="permalink"><a href="#a2053009da5364ead720aebd7cc537c21">&#9670;&nbsp;</a></span>rx_data() <span class="overload">[2/2]</span></h2>
  481. <div class="memitem">
  482. <div class="memproto">
  483. <div class="memtemplate">
  484. template&lt;typename _I &gt; </div>
  485. <table class="memname">
  486. <tr>
  487. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1spi__i.html">utl::spi_i</a>&lt; _I &gt;::rx_data </td>
  488. <td>(</td>
  489. <td class="paramtype"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> *&#160;</td>
  490. <td class="paramname"><em>in</em>, </td>
  491. </tr>
  492. <tr>
  493. <td class="paramkey"></td>
  494. <td></td>
  495. <td class="paramtype"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td>
  496. <td class="paramname"><em>n</em>&#160;</td>
  497. </tr>
  498. <tr>
  499. <td></td>
  500. <td>)</td>
  501. <td></td><td></td>
  502. </tr>
  503. </table>
  504. </div><div class="memdoc">
  505. <p>Receive a number of bytes from the spi bus while transmitting 0xFFs. </p>
  506. <dl class="params"><dt>Parameters</dt><dd>
  507. <table class="params">
  508. <tr><td class="paramname">in</td><td>Pointer to buffer to store the data </td></tr>
  509. <tr><td class="paramname">n</td><td>The number of bytes to read </td></tr>
  510. </table>
  511. </dd>
  512. </dl>
  513. <dl class="section return"><dt>Returns</dt><dd>The number of received bytes. </dd></dl>
  514. <p class="definition">Definition at line <a class="el" href="spi_8h_source.html#l00165">165</a> of file <a class="el" href="spi_8h_source.html">spi.h</a>.</p>
  515. </div>
  516. </div>
  517. <a id="ac8376d88480a992ac47699637e1a29a5"></a>
  518. <h2 class="memtitle"><span class="permalink"><a href="#ac8376d88480a992ac47699637e1a29a5">&#9670;&nbsp;</a></span>tx_data() <span class="overload">[1/2]</span></h2>
  519. <div class="memitem">
  520. <div class="memproto">
  521. <div class="memtemplate">
  522. template&lt;typename impl_t&gt; </div>
  523. <table class="mlabels">
  524. <tr>
  525. <td class="mlabels-left">
  526. <table class="memname">
  527. <tr>
  528. <td class="memname"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> <a class="el" href="classutl_1_1spi__i.html">utl::spi_i</a>&lt; impl_t &gt;::tx_data </td>
  529. <td>(</td>
  530. <td class="paramtype"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a>&#160;</td>
  531. <td class="paramname"><em>out</em></td><td>)</td>
  532. <td></td>
  533. </tr>
  534. </table>
  535. </td>
  536. <td class="mlabels-right">
  537. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  538. </tr>
  539. </table>
  540. </div><div class="memdoc">
  541. <p>Transmit a byte to spi bus and return the response </p>
  542. <p class="definition">Definition at line <a class="el" href="spi_8h_source.html#l00114">114</a> of file <a class="el" href="spi_8h_source.html">spi.h</a>.</p>
  543. </div>
  544. </div>
  545. <a id="af3e303c2982202261700044d31596248"></a>
  546. <h2 class="memtitle"><span class="permalink"><a href="#af3e303c2982202261700044d31596248">&#9670;&nbsp;</a></span>tx_data() <span class="overload">[2/2]</span></h2>
  547. <div class="memitem">
  548. <div class="memproto">
  549. <div class="memtemplate">
  550. template&lt;typename _I &gt; </div>
  551. <table class="memname">
  552. <tr>
  553. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1spi__i.html">utl::spi_i</a>&lt; _I &gt;::tx_data </td>
  554. <td>(</td>
  555. <td class="paramtype">const <a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> *&#160;</td>
  556. <td class="paramname"><em>out</em>, </td>
  557. </tr>
  558. <tr>
  559. <td class="paramkey"></td>
  560. <td></td>
  561. <td class="paramtype"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> *&#160;</td>
  562. <td class="paramname"><em>in</em>, </td>
  563. </tr>
  564. <tr>
  565. <td class="paramkey"></td>
  566. <td></td>
  567. <td class="paramtype"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td>
  568. <td class="paramname"><em>n</em>&#160;</td>
  569. </tr>
  570. <tr>
  571. <td></td>
  572. <td>)</td>
  573. <td></td><td></td>
  574. </tr>
  575. </table>
  576. </div><div class="memdoc">
  577. <p>Transmit a number of bytes to the spi bus and read the response. </p>
  578. <dl class="params"><dt>Parameters</dt><dd>
  579. <table class="params">
  580. <tr><td class="paramname">out</td><td>Pointer to data to send to the bus </td></tr>
  581. <tr><td class="paramname">in</td><td>Pointer to buffer to store the data from the bus </td></tr>
  582. <tr><td class="paramname">n</td><td>The number of bytes to transmit/receive </td></tr>
  583. </table>
  584. </dd>
  585. </dl>
  586. <dl class="section return"><dt>Returns</dt><dd>The number of bytes. </dd></dl>
  587. <p class="definition">Definition at line <a class="el" href="spi_8h_source.html#l00152">152</a> of file <a class="el" href="spi_8h_source.html">spi.h</a>.</p>
  588. </div>
  589. </div>
  590. <hr/>The documentation for this class was generated from the following file:<ul>
  591. <li>include/utl/com/<a class="el" href="spi_8h_source.html">spi.h</a></li>
  592. </ul>
  593. </div><!-- contents -->
  594. </div><!-- doc-content -->
  595. <!-- start footer part -->
  596. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  597. <ul>
  598. <li class="navelem"><a class="el" href="namespaceutl.html">utl</a></li><li class="navelem"><a class="el" href="classutl_1_1spi__i.html">spi_i</a></li>
  599. <li class="footer">Generated by
  600. <a href="http://www.doxygen.org/index.html">
  601. <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
  602. </ul>
  603. </div>
  604. </body>
  605. </html>