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.
 
 
 
 

136 lignes
43 KiB

  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: include/utl/com/_1wire_uart.h Source File</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('__1wire__uart_8h_source.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="headertitle">
  88. <div class="title">_1wire_uart.h</div> </div>
  89. </div><!--header-->
  90. <div class="contents">
  91. <a href="__1wire__uart_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#ifndef __utl_com_1wire_uart_h__</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#define __utl_com_1wire_uart_h__</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="impl_8h.html">utl/core/impl.h</a>&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="crtp_8h.html">utl/core/crtp.h</a>&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="__1wire_8h.html">utl/com/_1wire.h</a>&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceutl.html">utl</a> {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Impl_t&gt;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i.html"> 52</a></span>&#160; <span class="keyword">class </span><a class="code" href="classutl_1_1__1wire__uart__i.html">_1wire_uart_i</a> : <span class="keyword">public</span> <a class="code" href="classutl_1_1__1wire__i.html">_1wire_i</a>&lt;_1wire_uart_i&lt;Impl_t&gt;&gt; {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="classutl_1_1__1wire__uart__i.html#a95ab6c8cc60417090b2cc4e5afc62e77">_CRTP_IMPL</a>(Impl_t); </div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i.html#a6ab0ec4032cad68333590f159da83871"> 54</a></span>&#160; <span class="keyword">friend</span> <a class="code" href="classutl_1_1__1wire__i.html">_1wire_i &lt;_1wire_uart_i&lt;Impl_t&gt;</a>&gt;;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i.html#acc885c6ec2395ad20409b01aa4d5f546"> 56</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classutl_1_1__1wire__i.html">type</a> = <a class="code" href="classutl_1_1__1wire__uart__i.html">_1wire_uart_i&lt;Impl_t&gt;</a>; </div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i.html#acc4364e3aa029405a9b2b25e1fea83ac"> 57</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a> = <span class="keyword">typename</span> <a class="code" href="classutl_1_1__1wire__i.html">_1wire_i&lt;type&gt;::Speed</a>; </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keyword">protected</span>:</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="classutl_1_1__1wire__uart__i.html#ae14ed1ce068d5601c5623c410a0dbc0c">_1wire_uart_i</a> () = <span class="keywordflow">default</span>; </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="classutl_1_1__1wire__uart__i.html#afe64da15b5eaf61cd54f357f3ea8b3ea">~_1wire_uart_i</a> () = <span class="keywordflow">default</span>; </div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i.html#a02e0069f537ae7e8cccdf8563537952a"> 89</a></span>&#160; <a class="code" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> <a class="code" href="classutl_1_1__1wire__uart__i.html#a02e0069f537ae7e8cccdf8563537952a">UART_RW</a> (<a class="code" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> byte) { <span class="keywordflow">return</span> impl().UART_RW (byte); }</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i.html#a4379f74ee196e6b8422a74143642004f"> 96</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classutl_1_1__1wire__uart__i.html#a4379f74ee196e6b8422a74143642004f">UART_BR</a> (uint32_t br) { impl().UART_BR (br); }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051"> 103</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051">BR</a> {</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051adf1980b5eb0dee83ef1f76ba38671a43"> 104</a></span>&#160; <a class="code" href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051adf1980b5eb0dee83ef1f76ba38671a43">BR_STD_RST</a> =9600,</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051a6ea7cba754551a703cc94658e151f073"> 105</a></span>&#160; <a class="code" href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051a6ea7cba754551a703cc94658e151f073">BR_OVR_RST</a> =57600,</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051a7ea7463824fb1b6bd5c31e1976351fb0"> 106</a></span>&#160; <a class="code" href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051a7ea7463824fb1b6bd5c31e1976351fb0">BR_STD</a> =115200,</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051a4919b1e0ad524b6d6a791ff6c7f96af7"> 107</a></span>&#160; <a class="code" href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051a4919b1e0ad524b6d6a791ff6c7f96af7">BR_OVR</a> =921600</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; };</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i.html#a14e342fac3c10b66d82d154f47b9db26"> 109</a></span>&#160; <a class="code" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a> <a class="code" href="classutl_1_1__1wire__uart__i.html#a14e342fac3c10b66d82d154f47b9db26">_speed</a> {Speed::STD};</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i.html#a1b807cfc2a67eee08efa48ef36b99f74"> 111</a></span>&#160; <a class="code" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a> <a class="code" href="classutl_1_1__1wire__uart__i.html#a1b807cfc2a67eee08efa48ef36b99f74">speed</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classutl_1_1__1wire__uart__i.html#a14e342fac3c10b66d82d154f47b9db26">_speed</a>; } </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classutl_1_1__1wire__uart__i.html#a1b807cfc2a67eee08efa48ef36b99f74">speed</a> (<a class="code" href="classutl_1_1__1wire__uart__i.html#acc4364e3aa029405a9b2b25e1fea83ac">Speed</a> s); </div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i.html#a7bd53d23f567a31177f29fcbda4da09c"> 136</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classutl_1_1__1wire__uart__i.html#a7bd53d23f567a31177f29fcbda4da09c">bit</a> (<span class="keywordtype">bool</span> b) {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">if</span> (b)</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classutl_1_1__1wire__uart__i.html#a02e0069f537ae7e8cccdf8563537952a">UART_RW</a> (0xFF) &lt; 0xFF) ? 0 : 1;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">else</span> {</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="code" href="classutl_1_1__1wire__uart__i.html#a02e0069f537ae7e8cccdf8563537952a">UART_RW</a> (0x00);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; }</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; }</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classutl_1_1__1wire__uart__i.html#ad40f5180bddd8cd5a55e77f2bfa66ac1">_reset</a> (<a class="code" href="classutl_1_1__1wire__uart__i.html#acc4364e3aa029405a9b2b25e1fea83ac">Speed</a> s);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; };</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Impl_t&gt;</div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i.html#aa56f7a1497c540397bebf008416118b6"> 156</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classutl_1_1__1wire__uart__i.html#a1b807cfc2a67eee08efa48ef36b99f74">_1wire_uart_i&lt;Impl_t&gt;::speed</a> (<a class="code" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a> s) {</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">switch</span> (_speed = s) {</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">case</span> Speed::STD: UART_BR (BR_STD); <span class="keywordflow">break</span>;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">case</span> Speed::OVDR: UART_BR (BR_OVR); <span class="keywordflow">break</span>;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Impl_t&gt;</div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i.html#ad40f5180bddd8cd5a55e77f2bfa66ac1"> 181</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classutl_1_1__1wire__uart__i.html#ad40f5180bddd8cd5a55e77f2bfa66ac1">_1wire_uart_i&lt;Impl_t&gt;::_reset</a> (<a class="code" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a> s) {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="comment">// Select frame to send</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; uint8_t w = ((_speed = s) == Speed::STD) ? 0xF0 : 0xF8;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="comment">// Select baudrate</span></div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; impl().UART_BR ((_speed == Speed::STD) ? BR_STD_RST : BR_OVR_RST);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="comment">// Send frame and check the result</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">return</span> (impl().UART_RW (w) &lt; w);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; }</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html"> 198</a></span>&#160; <span class="keyword">class </span><a class="code" href="classutl_1_1__1wire__uart__i.html">_1wire_uart_i</a>&lt;<a class="code" href="structutl_1_1virtual__tag.html">virtual_tag</a>&gt; : <span class="keyword">public</span> <a class="code" href="classutl_1_1__1wire__i.html">_1wire_i</a>&lt;virtual_tag&gt; {</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html#a1d50d0d5460165c3f6046ce6b663cd5e"> 200</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classutl_1_1__1wire__i_3_01virtual__tag_01_4.html">type</a> = <a class="code" href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html">_1wire_uart_i&lt;virtual_tag&gt;</a>; </div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html#a854a62c6f9e6d62597471b887c541e03"> 201</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classutl_1_1__1wire__i_3_01virtual__tag_01_4.html#a2abb8c6344d17269c55ae0cba63ec512">Speed</a> = <span class="keyword">typename</span> <a class="code" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">_1wire_i&lt;virtual_tag&gt;::Speed</a>; </div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keyword">protected</span>:</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <a class="code" href="classutl_1_1__1wire__uart__i.html#ae14ed1ce068d5601c5623c410a0dbc0c">_1wire_uart_i</a> () = <span class="keywordflow">default</span>; </div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <a class="code" href="classutl_1_1__1wire__uart__i.html#afe64da15b5eaf61cd54f357f3ea8b3ea">~_1wire_uart_i</a> () = <span class="keywordflow">default</span>; </div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keyword">virtual</span> <a class="code" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> <a class="code" href="classutl_1_1__1wire__uart__i.html#a02e0069f537ae7e8cccdf8563537952a">UART_RW</a> (<a class="code" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> byte) =0;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classutl_1_1__1wire__uart__i.html#a4379f74ee196e6b8422a74143642004f">UART_BR</a> (uint32_t br) =0;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html#a3685fa6f0d0c999a8d9527c98b671e51"> 244</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html#a3685fa6f0d0c999a8d9527c98b671e51">BR</a> {</div><div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html#a3685fa6f0d0c999a8d9527c98b671e51ad1db55ca52bab3ce7fc9cebeece09823"> 245</a></span>&#160; <a class="code" href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051adf1980b5eb0dee83ef1f76ba38671a43">BR_STD_RST</a> =9600,</div><div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html#a3685fa6f0d0c999a8d9527c98b671e51ae0d3dbcffc80c340a90ddea06efad084"> 246</a></span>&#160; <a class="code" href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051a6ea7cba754551a703cc94658e151f073">BR_OVR_RST</a> =57600,</div><div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html#a3685fa6f0d0c999a8d9527c98b671e51a9dee26a395424eb26b9b86a8d4752c4c"> 247</a></span>&#160; <a class="code" href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051a7ea7463824fb1b6bd5c31e1976351fb0">BR_STD</a> =115200,</div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html#a3685fa6f0d0c999a8d9527c98b671e51a36ea021ddb9cc702a0d0f4d6be547207"> 248</a></span>&#160; <a class="code" href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051a4919b1e0ad524b6d6a791ff6c7f96af7">BR_OVR</a> =921600</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; };</div><div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html#a0c17e9b5d4e7b240d4bfc9f3cdd5c928"> 250</a></span>&#160; <a class="code" href="classutl_1_1__1wire__i_3_01virtual__tag_01_4.html#a2abb8c6344d17269c55ae0cba63ec512">Speed</a> <a class="code" href="classutl_1_1__1wire__uart__i.html#a14e342fac3c10b66d82d154f47b9db26">_speed</a> {Speed::STD};</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html#aae5fc7143ee609cb5700d70140d2ab3e"> 252</a></span>&#160; <a class="code" href="classutl_1_1__1wire__i_3_01virtual__tag_01_4.html#a2abb8c6344d17269c55ae0cba63ec512">Speed</a> <a class="code" href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html#aae5fc7143ee609cb5700d70140d2ab3e">speed</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classutl_1_1__1wire__uart__i.html#a14e342fac3c10b66d82d154f47b9db26">_speed</a>; } </div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classutl_1_1__1wire__uart__i.html#a1b807cfc2a67eee08efa48ef36b99f74">speed</a> (<a class="code" href="classutl_1_1__1wire__uart__i.html#acc4364e3aa029405a9b2b25e1fea83ac">Speed</a> s); </div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;</div><div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html#af9ce2c52c3446978f9a7436b520f578c"> 277</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html#af9ce2c52c3446978f9a7436b520f578c">bit</a> (<span class="keywordtype">bool</span> b) {</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">if</span> (b)</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classutl_1_1__1wire__uart__i.html#a02e0069f537ae7e8cccdf8563537952a">UART_RW</a> (0xFF) &lt; 0xFF) ? 0 : 1;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">else</span> {</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <a class="code" href="classutl_1_1__1wire__uart__i.html#a02e0069f537ae7e8cccdf8563537952a">UART_RW</a> (0x00);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; }</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; }</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classutl_1_1__1wire__uart__i.html#ad40f5180bddd8cd5a55e77f2bfa66ac1">_reset</a> (<a class="code" href="classutl_1_1__1wire__uart__i.html#acc4364e3aa029405a9b2b25e1fea83ac">Speed</a> s);</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; };</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html#afe3fead0d947a93b1f9e63bc934bb56c"> 296</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classutl_1_1__1wire__uart__i.html#a1b807cfc2a67eee08efa48ef36b99f74">_1wire_uart_i&lt;virtual_tag&gt;::speed</a> (<a class="code" href="classutl_1_1__1wire__i_3_01virtual__tag_01_4.html#a2abb8c6344d17269c55ae0cba63ec512">Speed</a> s) {</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">switch</span> (<a class="code" href="classutl_1_1__1wire__uart__i.html#a14e342fac3c10b66d82d154f47b9db26">_speed</a> = s) {</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">case</span> Speed::STD: <a class="code" href="classutl_1_1__1wire__uart__i.html#a4379f74ee196e6b8422a74143642004f">UART_BR</a> (<a class="code" href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051a7ea7463824fb1b6bd5c31e1976351fb0">BR_STD</a>); <span class="keywordflow">break</span>;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">case</span> Speed::OVDR: <a class="code" href="classutl_1_1__1wire__uart__i.html#a4379f74ee196e6b8422a74143642004f">UART_BR</a> (<a class="code" href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051a4919b1e0ad524b6d6a791ff6c7f96af7">BR_OVR</a>); <span class="keywordflow">break</span>;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; }</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; }</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;</div><div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html#a89c68d8e05df326e3c2b79c454b188af"> 320</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classutl_1_1__1wire__uart__i.html#ad40f5180bddd8cd5a55e77f2bfa66ac1">_1wire_uart_i&lt;virtual_tag&gt;::_reset</a> (<a class="code" href="classutl_1_1__1wire__i_3_01virtual__tag_01_4.html#a2abb8c6344d17269c55ae0cba63ec512">Speed</a> s) {</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="comment">// Select frame to send</span></div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; uint8_t w = ((<a class="code" href="classutl_1_1__1wire__uart__i.html#a14e342fac3c10b66d82d154f47b9db26">_speed</a> = s) == Speed::STD) ? 0xF0 : 0xF8;</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="comment">// Select baudrate</span></div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <a class="code" href="classutl_1_1__1wire__uart__i.html#a4379f74ee196e6b8422a74143642004f">UART_BR</a> ((<a class="code" href="classutl_1_1__1wire__uart__i.html#a14e342fac3c10b66d82d154f47b9db26">_speed</a> == Speed::STD) ? <a class="code" href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051adf1980b5eb0dee83ef1f76ba38671a43">BR_STD_RST</a> : <a class="code" href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051a6ea7cba754551a703cc94658e151f073">BR_OVR_RST</a>);</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="comment">// Send frame and check the result</span></div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classutl_1_1__1wire__uart__i.html#a02e0069f537ae7e8cccdf8563537952a">UART_RW</a> (w) &lt; w);</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; }</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;} <span class="comment">// namespace utl</span></div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* __utl_com_1wire_uart_h__ */</span><span class="preprocessor"></span></div><div class="ttc" id="classutl_1_1__1wire__uart__i_html_a95ab6c8cc60417090b2cc4e5afc62e77"><div class="ttname"><a href="classutl_1_1__1wire__uart__i.html#a95ab6c8cc60417090b2cc4e5afc62e77">utl::_1wire_uart_i::_CRTP_IMPL</a></div><div class="ttdeci">_CRTP_IMPL(Impl_t)</div></div>
  92. <div class="ttc" id="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4_html_af9ce2c52c3446978f9a7436b520f578c"><div class="ttname"><a href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html#af9ce2c52c3446978f9a7436b520f578c">utl::_1wire_uart_i&lt; virtual_tag &gt;::bit</a></div><div class="ttdeci">bool bit(bool b)</div><div class="ttdoc">Send a 1-Wire write bit and read the response. </div><div class="ttdef"><b>Definition:</b> <a href="__1wire__uart_8h_source.html#l00277">_1wire_uart.h:277</a></div></div>
  93. <div class="ttc" id="classutl_1_1__1wire__uart__i_html_acc4364e3aa029405a9b2b25e1fea83ac"><div class="ttname"><a href="classutl_1_1__1wire__uart__i.html#acc4364e3aa029405a9b2b25e1fea83ac">utl::_1wire_uart_i::Speed</a></div><div class="ttdeci">typename _1wire_i&lt; type &gt;::Speed Speed</div><div class="ttdoc">Bring bus speed. </div><div class="ttdef"><b>Definition:</b> <a href="__1wire__uart_8h_source.html#l00057">_1wire_uart.h:57</a></div></div>
  94. <div class="ttc" id="classutl_1_1__1wire__uart__i_html_a4379f74ee196e6b8422a74143642004f"><div class="ttname"><a href="classutl_1_1__1wire__uart__i.html#a4379f74ee196e6b8422a74143642004f">utl::_1wire_uart_i::UART_BR</a></div><div class="ttdeci">void UART_BR(uint32_t br)</div><div class="ttdoc">Implementers&amp;#39;s (driver) baudrate function. </div><div class="ttdef"><b>Definition:</b> <a href="__1wire__uart_8h_source.html#l00096">_1wire_uart.h:96</a></div></div>
  95. <div class="ttc" id="classutl_1_1__1wire__uart__i_html_a3a2efd9546f298b920011b3c6f933051a7ea7463824fb1b6bd5c31e1976351fb0"><div class="ttname"><a href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051a7ea7463824fb1b6bd5c31e1976351fb0">utl::_1wire_uart_i::BR_STD</a></div><div class="ttdef"><b>Definition:</b> <a href="__1wire__uart_8h_source.html#l00106">_1wire_uart.h:106</a></div></div>
  96. <div class="ttc" id="crtp_8h_html"><div class="ttname"><a href="crtp_8h.html">crtp.h</a></div></div>
  97. <div class="ttc" id="classutl_1_1__1wire__i_html_a56bb736aa3620d7795b5914cac5f25cc"><div class="ttname"><a href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">utl::_1wire_i::Speed</a></div><div class="ttdeci">Speed</div><div class="ttdoc">1-wire bus speed </div><div class="ttdef"><b>Definition:</b> <a href="__1wire_8h_source.html#l00064">_1wire.h:64</a></div></div>
  98. <div class="ttc" id="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4_html_aae5fc7143ee609cb5700d70140d2ab3e"><div class="ttname"><a href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html#aae5fc7143ee609cb5700d70140d2ab3e">utl::_1wire_uart_i&lt; virtual_tag &gt;::speed</a></div><div class="ttdeci">Speed speed() const</div><div class="ttdoc">Get the 1-wire bus speed. </div><div class="ttdef"><b>Definition:</b> <a href="__1wire__uart_8h_source.html#l00252">_1wire_uart.h:252</a></div></div>
  99. <div class="ttc" id="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4_html"><div class="ttname"><a href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html">utl::_1wire_uart_i&lt; virtual_tag &gt;</a></div><div class="ttdoc">A virtual base class interface implementation. Using the private virtual interface we provide the int...</div><div class="ttdef"><b>Definition:</b> <a href="__1wire__uart_8h_source.html#l00198">_1wire_uart.h:198</a></div></div>
  100. <div class="ttc" id="classutl_1_1__1wire__uart__i_html_a3a2efd9546f298b920011b3c6f933051a6ea7cba754551a703cc94658e151f073"><div class="ttname"><a href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051a6ea7cba754551a703cc94658e151f073">utl::_1wire_uart_i::BR_OVR_RST</a></div><div class="ttdef"><b>Definition:</b> <a href="__1wire__uart_8h_source.html#l00105">_1wire_uart.h:105</a></div></div>
  101. <div class="ttc" id="classutl_1_1__1wire__uart__i_html_a14e342fac3c10b66d82d154f47b9db26"><div class="ttname"><a href="classutl_1_1__1wire__uart__i.html#a14e342fac3c10b66d82d154f47b9db26">utl::_1wire_uart_i::_speed</a></div><div class="ttdeci">Speed _speed</div><div class="ttdef"><b>Definition:</b> <a href="__1wire__uart_8h_source.html#l00109">_1wire_uart.h:109</a></div></div>
  102. <div class="ttc" id="__1wire_8h_html"><div class="ttname"><a href="__1wire_8h.html">_1wire.h</a></div><div class="ttdoc">An 1-wire interface implementation. </div></div>
  103. <div class="ttc" id="classutl_1_1__1wire__uart__i_html_a3a2efd9546f298b920011b3c6f933051a4919b1e0ad524b6d6a791ff6c7f96af7"><div class="ttname"><a href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051a4919b1e0ad524b6d6a791ff6c7f96af7">utl::_1wire_uart_i::BR_OVR</a></div><div class="ttdef"><b>Definition:</b> <a href="__1wire__uart_8h_source.html#l00107">_1wire_uart.h:107</a></div></div>
  104. <div class="ttc" id="classutl_1_1__1wire__i_3_01virtual__tag_01_4_html"><div class="ttname"><a href="classutl_1_1__1wire__i_3_01virtual__tag_01_4.html">utl::_1wire_i&lt; virtual_tag &gt;</a></div><div class="ttdoc">A virtual base class implementation. </div><div class="ttdef"><b>Definition:</b> <a href="__1wire_8h_source.html#l00260">_1wire.h:260</a></div></div>
  105. <div class="ttc" id="classutl_1_1__1wire__uart__i_html_a7bd53d23f567a31177f29fcbda4da09c"><div class="ttname"><a href="classutl_1_1__1wire__uart__i.html#a7bd53d23f567a31177f29fcbda4da09c">utl::_1wire_uart_i::bit</a></div><div class="ttdeci">bool bit(bool b)</div><div class="ttdoc">Send a 1-Wire write bit and read the response. </div><div class="ttdef"><b>Definition:</b> <a href="__1wire__uart_8h_source.html#l00136">_1wire_uart.h:136</a></div></div>
  106. <div class="ttc" id="namespaceutl_html"><div class="ttname"><a href="namespaceutl.html">utl</a></div><div class="ttdoc">STL&amp;#39;s core language concepts. </div><div class="ttdef"><b>Definition:</b> <a href="__1wire_8h_source.html#l00030">_1wire.h:30</a></div></div>
  107. <div class="ttc" id="classutl_1_1__1wire__uart__i_html_afe64da15b5eaf61cd54f357f3ea8b3ea"><div class="ttname"><a href="classutl_1_1__1wire__uart__i.html#afe64da15b5eaf61cd54f357f3ea8b3ea">utl::_1wire_uart_i::~_1wire_uart_i</a></div><div class="ttdeci">~_1wire_uart_i()=default</div></div>
  108. <div class="ttc" id="classutl_1_1__1wire__uart__i_html_a3a2efd9546f298b920011b3c6f933051"><div class="ttname"><a href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051">utl::_1wire_uart_i::BR</a></div><div class="ttdeci">BR</div><div class="ttdoc">1-wire UART baudrates </div><div class="ttdef"><b>Definition:</b> <a href="__1wire__uart_8h_source.html#l00103">_1wire_uart.h:103</a></div></div>
  109. <div class="ttc" id="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4_html_a3685fa6f0d0c999a8d9527c98b671e51"><div class="ttname"><a href="classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4.html#a3685fa6f0d0c999a8d9527c98b671e51">utl::_1wire_uart_i&lt; virtual_tag &gt;::BR</a></div><div class="ttdeci">BR</div><div class="ttdoc">1-wire UART baudrates </div><div class="ttdef"><b>Definition:</b> <a href="__1wire__uart_8h_source.html#l00244">_1wire_uart.h:244</a></div></div>
  110. <div class="ttc" id="classutl_1_1__1wire__uart__i_html_ad40f5180bddd8cd5a55e77f2bfa66ac1"><div class="ttname"><a href="classutl_1_1__1wire__uart__i.html#ad40f5180bddd8cd5a55e77f2bfa66ac1">utl::_1wire_uart_i::_reset</a></div><div class="ttdeci">bool _reset(Speed s)</div><div class="ttdoc">Generate a 1-wire reset Reset \ / \ X X X / RS: | | | | | | | | | | | bit: ST 0 1 2 3 4 5 6 7 SP &lt; ...</div><div class="ttdef"><b>Definition:</b> <a href="__1wire__uart_8h_source.html#l00181">_1wire_uart.h:181</a></div></div>
  111. <div class="ttc" id="classutl_1_1__1wire__uart__i_html_a02e0069f537ae7e8cccdf8563537952a"><div class="ttname"><a href="classutl_1_1__1wire__uart__i.html#a02e0069f537ae7e8cccdf8563537952a">utl::_1wire_uart_i::UART_RW</a></div><div class="ttdeci">byte_t UART_RW(byte_t byte)</div><div class="ttdoc">Implementers&amp;#39;s (driver) read-write function. We expect the following USART configuration: ...</div><div class="ttdef"><b>Definition:</b> <a href="__1wire__uart_8h_source.html#l00089">_1wire_uart.h:89</a></div></div>
  112. <div class="ttc" id="classutl_1_1__1wire__uart__i_html_a3a2efd9546f298b920011b3c6f933051adf1980b5eb0dee83ef1f76ba38671a43"><div class="ttname"><a href="classutl_1_1__1wire__uart__i.html#a3a2efd9546f298b920011b3c6f933051adf1980b5eb0dee83ef1f76ba38671a43">utl::_1wire_uart_i::BR_STD_RST</a></div><div class="ttdef"><b>Definition:</b> <a href="__1wire__uart_8h_source.html#l00104">_1wire_uart.h:104</a></div></div>
  113. <div class="ttc" id="classutl_1_1__1wire__i_html"><div class="ttname"><a href="classutl_1_1__1wire__i.html">utl::_1wire_i</a></div><div class="ttdoc">Template base class for 1-wire communication interface using CRTP. </div><div class="ttdef"><b>Definition:</b> <a href="__1wire_8h_source.html#l00057">_1wire.h:57</a></div></div>
  114. <div class="ttc" id="namespaceutl_html_a1427cb5a2b13313147a902173b91e3c1"><div class="ttname"><a href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">utl::byte_t</a></div><div class="ttdeci">uint8_t byte_t</div><div class="ttdoc">8 bits wide </div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00031">types.h:31</a></div></div>
  115. <div class="ttc" id="structutl_1_1virtual__tag_html"><div class="ttname"><a href="structutl_1_1virtual__tag.html">utl::virtual_tag</a></div><div class="ttdoc">virtual support tag type </div><div class="ttdef"><b>Definition:</b> <a href="crtp_8h_source.html#l00040">crtp.h:40</a></div></div>
  116. <div class="ttc" id="classutl_1_1__1wire__uart__i_html_ae14ed1ce068d5601c5623c410a0dbc0c"><div class="ttname"><a href="classutl_1_1__1wire__uart__i.html#ae14ed1ce068d5601c5623c410a0dbc0c">utl::_1wire_uart_i::_1wire_uart_i</a></div><div class="ttdeci">_1wire_uart_i()=default</div><div class="ttdoc">Allow constructor from derived only. </div></div>
  117. <div class="ttc" id="classutl_1_1__1wire__uart__i_html_a1b807cfc2a67eee08efa48ef36b99f74"><div class="ttname"><a href="classutl_1_1__1wire__uart__i.html#a1b807cfc2a67eee08efa48ef36b99f74">utl::_1wire_uart_i::speed</a></div><div class="ttdeci">Speed speed() const</div><div class="ttdoc">Get the 1-wire bus speed. </div><div class="ttdef"><b>Definition:</b> <a href="__1wire__uart_8h_source.html#l00111">_1wire_uart.h:111</a></div></div>
  118. <div class="ttc" id="classutl_1_1__1wire__uart__i_html"><div class="ttname"><a href="classutl_1_1__1wire__uart__i.html">utl::_1wire_uart_i</a></div><div class="ttdoc">1-wire UART interface template class using CRTP Using the private virtual interface we provide the in...</div><div class="ttdef"><b>Definition:</b> <a href="__1wire__uart_8h_source.html#l00052">_1wire_uart.h:52</a></div></div>
  119. <div class="ttc" id="impl_8h_html"><div class="ttname"><a href="impl_8h.html">impl.h</a></div><div class="ttdoc">Implementation detail main forward header. </div></div>
  120. <div class="ttc" id="classutl_1_1__1wire__i_3_01virtual__tag_01_4_html_a2abb8c6344d17269c55ae0cba63ec512"><div class="ttname"><a href="classutl_1_1__1wire__i_3_01virtual__tag_01_4.html#a2abb8c6344d17269c55ae0cba63ec512">utl::_1wire_i&lt; virtual_tag &gt;::Speed</a></div><div class="ttdeci">Speed</div><div class="ttdoc">1-wire bus speed </div><div class="ttdef"><b>Definition:</b> <a href="__1wire_8h_source.html#l00265">_1wire.h:265</a></div></div>
  121. </div><!-- fragment --></div><!-- contents -->
  122. </div><!-- doc-content -->
  123. <!-- start footer part -->
  124. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  125. <ul>
  126. <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_82754f54d9380477ef02477185c1f103.html">utl</a></li><li class="navelem"><a class="el" href="dir_b2ad3c1a6521a4924fa9194d98c323e2.html">com</a></li><li class="navelem"><a class="el" href="__1wire__uart_8h.html">_1wire_uart.h</a></li>
  127. <li class="footer">Generated by
  128. <a href="http://www.doxygen.org/index.html">
  129. <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
  130. </ul>
  131. </div>
  132. </body>
  133. </html>