Micro template library A library for building device drivers
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

1481 lines
76 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: utl::_1wire_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_1__1wire__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="#pri-attribs">Private Attributes</a> &#124;
  91. <a href="classutl_1_1__1wire__i-members.html">List of all members</a> </div>
  92. <div class="headertitle">
  93. <div class="title">utl::_1wire_i&lt; impl_t &gt; Class Template Reference</div> </div>
  94. </div><!--header-->
  95. <div class="contents">
  96. <p>Template base class for 1-wire communication interface using CRTP.
  97. <a href="classutl_1_1__1wire__i.html#details">More...</a></p>
  98. <p><code>#include &lt;<a class="el" href="__1wire_8h_source.html">_1wire.h</a>&gt;</code></p>
  99. <div class="dynheader">
  100. Inheritance diagram for utl::_1wire_i&lt; impl_t &gt;:</div>
  101. <div class="dyncontent">
  102. <div class="center">
  103. <img src="classutl_1_1__1wire__i.png" usemap="#utl::_5F1wire_5Fi_3C_20impl_5Ft_20_3E_map" alt=""/>
  104. <map id="utl::_5F1wire_5Fi_3C_20impl_5Ft_20_3E_map" name="utl::_5F1wire_5Fi_3C_20impl_5Ft_20_3E_map">
  105. <area href="classutl_1_1__1wire__uart__i.html" title="1-wire UART interface template class using CRTP Using the private virtual interface we provide the in..." alt="utl::_1wire_uart_i&lt; Impl_t &gt;" shape="rect" coords="0,56,164,80"/>
  106. </map>
  107. </div></div>
  108. <table class="memberdecls">
  109. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
  110. Public Types</h2></td></tr>
  111. <tr class="memitem:a56bb736aa3620d7795b5914cac5f25cc"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a> { <a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7">Speed::STD</a> =0,
  112. <a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cca1cbf38b04c4249d8ec27d1ec96aaff68">Speed::OVDR</a>
  113. }</td></tr>
  114. <tr class="memdesc:a56bb736aa3620d7795b5914cac5f25cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">1-wire bus speed <a href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">More...</a><br /></td></tr>
  115. <tr class="separator:a56bb736aa3620d7795b5914cac5f25cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
  116. <tr class="memitem:afb63e64403924897a8277eb4159ebd44"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#afb63e64403924897a8277eb4159ebd44">type</a> = <a class="el" href="classutl_1_1__1wire__i.html">_1wire_i</a></td></tr>
  117. <tr class="memdesc:afb63e64403924897a8277eb4159ebd44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Export type as identity meta-function. <a href="#afb63e64403924897a8277eb4159ebd44">More...</a><br /></td></tr>
  118. <tr class="separator:afb63e64403924897a8277eb4159ebd44"><td class="memSeparator" colspan="2">&#160;</td></tr>
  119. </table><table class="memberdecls">
  120. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  121. Public Member Functions</h2></td></tr>
  122. <tr><td colspan="2"><div class="groupHeader">User functionality provided by the interface</div></td></tr>
  123. <tr class="memitem:a0a7ef731162e81e0e2e07ae9cb9e6ffa"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#a0a7ef731162e81e0e2e07ae9cb9e6ffa">reset</a> (<a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a> s=<a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7">Speed::STD</a>)</td></tr>
  124. <tr class="memdesc:a0a7ef731162e81e0e2e07ae9cb9e6ffa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a 1-wire reset. <a href="#a0a7ef731162e81e0e2e07ae9cb9e6ffa">More...</a><br /></td></tr>
  125. <tr class="separator:a0a7ef731162e81e0e2e07ae9cb9e6ffa"><td class="memSeparator" colspan="2">&#160;</td></tr>
  126. <tr class="memitem:a59e7196e10e53467b62ed369ff78f07d"><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_1__1wire__i.html#a59e7196e10e53467b62ed369ff78f07d">tx_data</a> (<a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> out, <a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a> s=<a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7">Speed::STD</a>)</td></tr>
  127. <tr class="separator:a59e7196e10e53467b62ed369ff78f07d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  128. <tr class="memitem:ab3bd112ff66074bdaf7357b91ca692a8"><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_1__1wire__i.html#ab3bd112ff66074bdaf7357b91ca692a8">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, <a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a> s=<a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7">Speed::STD</a>)</td></tr>
  129. <tr class="separator:ab3bd112ff66074bdaf7357b91ca692a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  130. <tr class="memitem:a2585e7166d14b7f36bd47db2e43cc0b1"><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_1__1wire__i.html#a2585e7166d14b7f36bd47db2e43cc0b1">rx_data</a> (<a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a> s=<a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7">Speed::STD</a>)</td></tr>
  131. <tr class="separator:a2585e7166d14b7f36bd47db2e43cc0b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  132. <tr class="memitem:ad20382d5d50ee7d457bc4079b9c38a2a"><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_1__1wire__i.html#ad20382d5d50ee7d457bc4079b9c38a2a">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, <a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a> s=<a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7">Speed::STD</a>)</td></tr>
  133. <tr class="separator:ad20382d5d50ee7d457bc4079b9c38a2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  134. <tr class="memitem:aa2d87a149c4e5dcfefc5a8cde6eaefb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#aa2d87a149c4e5dcfefc5a8cde6eaefb2">match</a> (<a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a> &amp;id, <a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a> s=<a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7">Speed::STD</a>)</td></tr>
  135. <tr class="separator:aa2d87a149c4e5dcfefc5a8cde6eaefb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  136. <tr class="memitem:ac88f67dd75dc23d39123ac584dce6b40"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#ac88f67dd75dc23d39123ac584dce6b40">match_n_ovdr</a> (<a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a> &amp;id)</td></tr>
  137. <tr class="separator:ac88f67dd75dc23d39123ac584dce6b40"><td class="memSeparator" colspan="2">&#160;</td></tr>
  138. <tr class="memitem:a0a405f818fd45eb2799e6b4477021a0a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#a0a405f818fd45eb2799e6b4477021a0a">skip</a> (<a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a> s=<a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7">Speed::STD</a>)</td></tr>
  139. <tr class="separator:a0a405f818fd45eb2799e6b4477021a0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  140. <tr class="memitem:a8b0b0ea95c02a40721f1e159119b3506"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#a8b0b0ea95c02a40721f1e159119b3506">skip_n_ovdr</a> ()</td></tr>
  141. <tr class="separator:a8b0b0ea95c02a40721f1e159119b3506"><td class="memSeparator" colspan="2">&#160;</td></tr>
  142. <tr class="memitem:a4b6d225963095d36eda832a1e0adba55"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#a4b6d225963095d36eda832a1e0adba55">first</a> (<a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a> s=<a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7">Speed::STD</a>, bool alarm=false)</td></tr>
  143. <tr class="memdesc:a4b6d225963095d36eda832a1e0adba55"><td class="mdescLeft">&#160;</td><td class="mdescRight">'first' operation, to search on the 1-Wire for the first device. This is performed by setting dec_, pos_ and cur_ to zero and then doing the search. <a href="#a4b6d225963095d36eda832a1e0adba55">More...</a><br /></td></tr>
  144. <tr class="separator:a4b6d225963095d36eda832a1e0adba55"><td class="memSeparator" colspan="2">&#160;</td></tr>
  145. <tr class="memitem:a3e302085f12a39fef8a378e1dac42f45"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#a3e302085f12a39fef8a378e1dac42f45">next</a> (<a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a> s=<a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7">Speed::STD</a>, bool alarm=false)</td></tr>
  146. <tr class="memdesc:a3e302085f12a39fef8a378e1dac42f45"><td class="mdescLeft">&#160;</td><td class="mdescRight">'next' operation, to search on the 1-Wire for the next device. This search is usually performed after a 'first' operation or another 'next' operation. Based on maxim-ic application note 187. <a href="#a3e302085f12a39fef8a378e1dac42f45">More...</a><br /></td></tr>
  147. <tr class="separator:a3e302085f12a39fef8a378e1dac42f45"><td class="memSeparator" colspan="2">&#160;</td></tr>
  148. </table><table class="memberdecls">
  149. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
  150. Protected Member Functions</h2></td></tr>
  151. <tr><td colspan="2"><div class="groupHeader">Object lifetime</div></td></tr>
  152. <tr class="memitem:a4839577d00fdcefb51ac8d4cd91f0f1a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#a4839577d00fdcefb51ac8d4cd91f0f1a">_1wire_i</a> ()=default</td></tr>
  153. <tr class="memdesc:a4839577d00fdcefb51ac8d4cd91f0f1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow constructor from derived only. <a href="#a4839577d00fdcefb51ac8d4cd91f0f1a">More...</a><br /></td></tr>
  154. <tr class="separator:a4839577d00fdcefb51ac8d4cd91f0f1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  155. <tr class="memitem:afb146fda251b25c9fc812718f6c5b3e1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#afb146fda251b25c9fc812718f6c5b3e1">~_1wire_i</a> ()=default</td></tr>
  156. <tr class="memdesc:afb146fda251b25c9fc812718f6c5b3e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow destructor from derived only. <a href="#afb146fda251b25c9fc812718f6c5b3e1">More...</a><br /></td></tr>
  157. <tr class="separator:afb146fda251b25c9fc812718f6c5b3e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  158. <tr class="memitem:adc539ccd0e41f8f830bd96c362094c14"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#adc539ccd0e41f8f830bd96c362094c14">_1wire_i</a> (const <a class="el" href="classutl_1_1__1wire__i.html">_1wire_i</a> &amp;)=delete</td></tr>
  159. <tr class="memdesc:adc539ccd0e41f8f830bd96c362094c14"><td class="mdescLeft">&#160;</td><td class="mdescRight">No copies. <a href="#adc539ccd0e41f8f830bd96c362094c14">More...</a><br /></td></tr>
  160. <tr class="separator:adc539ccd0e41f8f830bd96c362094c14"><td class="memSeparator" colspan="2">&#160;</td></tr>
  161. <tr class="memitem:a96222b5bd731c2b242e428aabda40642"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1__1wire__i.html">_1wire_i</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#a96222b5bd731c2b242e428aabda40642">operator=</a> (const <a class="el" href="classutl_1_1__1wire__i.html">_1wire_i</a> &amp;)=delete</td></tr>
  162. <tr class="separator:a96222b5bd731c2b242e428aabda40642"><td class="memSeparator" colspan="2">&#160;</td></tr>
  163. </table><table class="memberdecls">
  164. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
  165. Private Member Functions</h2></td></tr>
  166. <tr class="memitem:ad8858b769d4cd8da78e1cb4669992da2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#ad8858b769d4cd8da78e1cb4669992da2">_CRTP_IMPL</a> (impl_t)</td></tr>
  167. <tr class="separator:ad8858b769d4cd8da78e1cb4669992da2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  168. <tr><td colspan="2"><div class="groupHeader">Implementation requirements</div></td></tr>
  169. <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 too it need to declare this class as friend </dd></dl>
  170. </div></td></tr>
  171. <tr class="memitem:ae770650b54374721e04f96994385c570"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#ae770650b54374721e04f96994385c570">speed</a> () const</td></tr>
  172. <tr class="memdesc:ae770650b54374721e04f96994385c570"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the 1-wire bus speed. <a href="#ae770650b54374721e04f96994385c570">More...</a><br /></td></tr>
  173. <tr class="separator:ae770650b54374721e04f96994385c570"><td class="memSeparator" colspan="2">&#160;</td></tr>
  174. <tr class="memitem:adc5c34170794ae99562211faea68a4a6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#adc5c34170794ae99562211faea68a4a6">speed</a> (<a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a> s)</td></tr>
  175. <tr class="separator:adc5c34170794ae99562211faea68a4a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  176. <tr class="memitem:a197e062037f88871de9205519ec78122"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#a197e062037f88871de9205519ec78122">bit</a> (bool b)</td></tr>
  177. <tr class="memdesc:a197e062037f88871de9205519ec78122"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a bit to the 1-Wire bus, return response/write status and provide the recovery time. <a href="#a197e062037f88871de9205519ec78122">More...</a><br /></td></tr>
  178. <tr class="separator:a197e062037f88871de9205519ec78122"><td class="memSeparator" colspan="2">&#160;</td></tr>
  179. <tr class="memitem:a39d0afaf58820696acad93cf98a6b321"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#a39d0afaf58820696acad93cf98a6b321">_reset</a> (<a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a> s)</td></tr>
  180. <tr class="separator:a39d0afaf58820696acad93cf98a6b321"><td class="memSeparator" colspan="2">&#160;</td></tr>
  181. </table><table class="memberdecls">
  182. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
  183. Private Attributes</h2></td></tr>
  184. <tr class="memitem:acb00f6ded645dffafe56ea5e8502511a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#acb00f6ded645dffafe56ea5e8502511a">dec_</a> {<a class="el" href="classutl_1_1__1wire__id__t.html#adad08aa5ce38e1a87800de57a91db81b">_1wire_id_t::nullDev</a>()}</td></tr>
  185. <tr class="separator:acb00f6ded645dffafe56ea5e8502511a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  186. <tr class="memitem:a51ed80ef816ea8a4f5a3cdb4d87b0875"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#a51ed80ef816ea8a4f5a3cdb4d87b0875">pos_</a> {<a class="el" href="classutl_1_1__1wire__id__t.html#adad08aa5ce38e1a87800de57a91db81b">_1wire_id_t::nullDev</a>()}</td></tr>
  187. <tr class="separator:a51ed80ef816ea8a4f5a3cdb4d87b0875"><td class="memSeparator" colspan="2">&#160;</td></tr>
  188. <tr class="memitem:af9adb646cdda935d9a5a26656669e785"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#af9adb646cdda935d9a5a26656669e785">cur_</a> {<a class="el" href="classutl_1_1__1wire__id__t.html#adad08aa5ce38e1a87800de57a91db81b">_1wire_id_t::nullDev</a>()}</td></tr>
  189. <tr class="separator:af9adb646cdda935d9a5a26656669e785"><td class="memSeparator" colspan="2">&#160;</td></tr>
  190. </table><table class="memberdecls">
  191. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
  192. Friends api to provide functionality to all class specializations</h2></td></tr>
  193. <tr class="memitem:a915f13cf9dbb891eeac73b527a5b9614"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#a915f13cf9dbb891eeac73b527a5b9614">Command</a> { <br />
  194. &#160;&#160;<a class="el" href="classutl_1_1__1wire__i.html#a915f13cf9dbb891eeac73b527a5b9614a07e40db0f36ce4354babe1809f31e20b">CMD_READ_ROM</a> = 0x33,
  195. <a class="el" href="classutl_1_1__1wire__i.html#a915f13cf9dbb891eeac73b527a5b9614af450a6ccd821f0c2e769e67b99df4cc7">CMD_OVDR_SKIP</a> = 0x3C,
  196. <a class="el" href="classutl_1_1__1wire__i.html#a915f13cf9dbb891eeac73b527a5b9614a15131061d5cc629dbd1f2b7c2ff1b79b">CMD_MATCH</a> = 0x55,
  197. <a class="el" href="classutl_1_1__1wire__i.html#a915f13cf9dbb891eeac73b527a5b9614a8aba49759413e945e43c6114f60a6617">CMD_OVDR_MATCH</a> = 0x69,
  198. <br />
  199. &#160;&#160;<a class="el" href="classutl_1_1__1wire__i.html#a915f13cf9dbb891eeac73b527a5b9614a440008f9edb49be5eca22c50302dff44">CMD_SKIP</a> = 0xCC,
  200. <a class="el" href="classutl_1_1__1wire__i.html#a915f13cf9dbb891eeac73b527a5b9614aab6cb0f1201ca9efeaef8899dab0a637">CMD_ALARM_SEARCH</a> = 0xEC,
  201. <a class="el" href="classutl_1_1__1wire__i.html#a915f13cf9dbb891eeac73b527a5b9614a8eb4090d17ac88370c93f3246c146e75">CMD_SEARCH_ROM</a> = 0xF0
  202. <br />
  203. }</td></tr>
  204. <tr class="separator:a915f13cf9dbb891eeac73b527a5b9614"><td class="memSeparator" colspan="2">&#160;</td></tr>
  205. <tr class="memitem:aedee6f129425833a172784ec3c6e21e9"><td class="memTemplParams" colspan="2">template&lt;typename _T &gt; </td></tr>
  206. <tr class="memitem:aedee6f129425833a172784ec3c6e21e9"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#aedee6f129425833a172784ec3c6e21e9">_1wire_i_det::_touch</a> (_T &amp;, <a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a>, typename _T::Speed)</td></tr>
  207. <tr class="separator:aedee6f129425833a172784ec3c6e21e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  208. <tr class="memitem:a6deca63bf5935ba3c3aa07f6ca23e33a"><td class="memTemplParams" colspan="2">template&lt;typename _T &gt; </td></tr>
  209. <tr class="memitem:a6deca63bf5935ba3c3aa07f6ca23e33a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#a6deca63bf5935ba3c3aa07f6ca23e33a">_1wire_i_det::_match</a> (_T &amp;obj, <a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a> &amp;id, typename _T::Speed s)</td></tr>
  210. <tr class="separator:a6deca63bf5935ba3c3aa07f6ca23e33a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  211. <tr class="memitem:a6b70d3457970aa791dd68e20800b6d0d"><td class="memTemplParams" colspan="2">template&lt;typename _T &gt; </td></tr>
  212. <tr class="memitem:a6b70d3457970aa791dd68e20800b6d0d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#a6b70d3457970aa791dd68e20800b6d0d">_1wire_i_det::_match_n_ovdr</a> (_T &amp;obj, <a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a> &amp;id)</td></tr>
  213. <tr class="separator:a6b70d3457970aa791dd68e20800b6d0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  214. <tr class="memitem:a9041b1220dfa52b4f4b161b718c3d33a"><td class="memTemplParams" colspan="2">template&lt;typename _T &gt; </td></tr>
  215. <tr class="memitem:a9041b1220dfa52b4f4b161b718c3d33a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#a9041b1220dfa52b4f4b161b718c3d33a">_1wire_i_det::_skip</a> (_T &amp;obj, typename _T::Speed s)</td></tr>
  216. <tr class="separator:a9041b1220dfa52b4f4b161b718c3d33a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  217. <tr class="memitem:af4dfbd90b0d5606f1f2e515d38a43d66"><td class="memTemplParams" colspan="2">template&lt;typename _T &gt; </td></tr>
  218. <tr class="memitem:af4dfbd90b0d5606f1f2e515d38a43d66"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#af4dfbd90b0d5606f1f2e515d38a43d66">_1wire_i_det::_skip_n_ovdr</a> (_T &amp;obj)</td></tr>
  219. <tr class="separator:af4dfbd90b0d5606f1f2e515d38a43d66"><td class="memSeparator" colspan="2">&#160;</td></tr>
  220. <tr class="memitem:a05f0872f43d7b305269904d1522fa437"><td class="memTemplParams" colspan="2">template&lt;typename _T &gt; </td></tr>
  221. <tr class="memitem:a05f0872f43d7b305269904d1522fa437"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#a05f0872f43d7b305269904d1522fa437">_1wire_i_det::_first</a> (_T &amp;, typename _T::Speed, bool)</td></tr>
  222. <tr class="separator:a05f0872f43d7b305269904d1522fa437"><td class="memSeparator" colspan="2">&#160;</td></tr>
  223. <tr class="memitem:af9a6a28b49cd3f51736f7c1f8e67327a"><td class="memTemplParams" colspan="2">template&lt;typename _T &gt; </td></tr>
  224. <tr class="memitem:af9a6a28b49cd3f51736f7c1f8e67327a"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classutl_1_1__1wire__i.html#af9a6a28b49cd3f51736f7c1f8e67327a">_1wire_i_det::_next</a> (_T &amp;, typename _T::Speed, bool)</td></tr>
  225. <tr class="separator:af9a6a28b49cd3f51736f7c1f8e67327a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  226. </table>
  227. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  228. <div class="textblock"><h3>template&lt;typename impl_t&gt;<br />
  229. class utl::_1wire_i&lt; impl_t &gt;</h3>
  230. <p>Template base class for 1-wire communication interface using CRTP. </p>
  231. <dl class="params"><dt>Parameters</dt><dd>
  232. <table class="params">
  233. <tr><td class="paramname">impl_t</td><td>The CRTP type (the derived/implementation class typename). </td></tr>
  234. </table>
  235. </dd>
  236. </dl>
  237. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00057">57</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  238. </div><h2 class="groupheader">Member Typedef Documentation</h2>
  239. <a id="afb63e64403924897a8277eb4159ebd44"></a>
  240. <h2 class="memtitle"><span class="permalink"><a href="#afb63e64403924897a8277eb4159ebd44">&#9670;&nbsp;</a></span>type</h2>
  241. <div class="memitem">
  242. <div class="memproto">
  243. <div class="memtemplate">
  244. template&lt;typename impl_t&gt; </div>
  245. <table class="memname">
  246. <tr>
  247. <td class="memname">using <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::<a class="el" href="classutl_1_1__1wire__i.html#afb63e64403924897a8277eb4159ebd44">type</a> = <a class="el" href="classutl_1_1__1wire__i.html">_1wire_i</a></td>
  248. </tr>
  249. </table>
  250. </div><div class="memdoc">
  251. <p>Export type as identity meta-function. </p>
  252. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00061">61</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  253. </div>
  254. </div>
  255. <h2 class="groupheader">Member Enumeration Documentation</h2>
  256. <a id="a915f13cf9dbb891eeac73b527a5b9614"></a>
  257. <h2 class="memtitle"><span class="permalink"><a href="#a915f13cf9dbb891eeac73b527a5b9614">&#9670;&nbsp;</a></span>Command</h2>
  258. <div class="memitem">
  259. <div class="memproto">
  260. <div class="memtemplate">
  261. template&lt;typename impl_t&gt; </div>
  262. <table class="mlabels">
  263. <tr>
  264. <td class="mlabels-left">
  265. <table class="memname">
  266. <tr>
  267. <td class="memname">enum <a class="el" href="classutl_1_1__1wire__i.html#a915f13cf9dbb891eeac73b527a5b9614">utl::_1wire_i::Command</a></td>
  268. </tr>
  269. </table>
  270. </td>
  271. <td class="mlabels-right">
  272. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  273. </tr>
  274. </table>
  275. </div><div class="memdoc">
  276. <table class="fieldtable">
  277. <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a915f13cf9dbb891eeac73b527a5b9614a07e40db0f36ce4354babe1809f31e20b"></a>CMD_READ_ROM&#160;</td><td class="fielddoc"></td></tr>
  278. <tr><td class="fieldname"><a id="a915f13cf9dbb891eeac73b527a5b9614af450a6ccd821f0c2e769e67b99df4cc7"></a>CMD_OVDR_SKIP&#160;</td><td class="fielddoc"></td></tr>
  279. <tr><td class="fieldname"><a id="a915f13cf9dbb891eeac73b527a5b9614a15131061d5cc629dbd1f2b7c2ff1b79b"></a>CMD_MATCH&#160;</td><td class="fielddoc"></td></tr>
  280. <tr><td class="fieldname"><a id="a915f13cf9dbb891eeac73b527a5b9614a8aba49759413e945e43c6114f60a6617"></a>CMD_OVDR_MATCH&#160;</td><td class="fielddoc"></td></tr>
  281. <tr><td class="fieldname"><a id="a915f13cf9dbb891eeac73b527a5b9614a440008f9edb49be5eca22c50302dff44"></a>CMD_SKIP&#160;</td><td class="fielddoc"></td></tr>
  282. <tr><td class="fieldname"><a id="a915f13cf9dbb891eeac73b527a5b9614aab6cb0f1201ca9efeaef8899dab0a637"></a>CMD_ALARM_SEARCH&#160;</td><td class="fielddoc"></td></tr>
  283. <tr><td class="fieldname"><a id="a915f13cf9dbb891eeac73b527a5b9614a8eb4090d17ac88370c93f3246c146e75"></a>CMD_SEARCH_ROM&#160;</td><td class="fielddoc"></td></tr>
  284. </table>
  285. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00097">97</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  286. </div>
  287. </div>
  288. <a id="a56bb736aa3620d7795b5914cac5f25cc"></a>
  289. <h2 class="memtitle"><span class="permalink"><a href="#a56bb736aa3620d7795b5914cac5f25cc">&#9670;&nbsp;</a></span>Speed</h2>
  290. <div class="memitem">
  291. <div class="memproto">
  292. <div class="memtemplate">
  293. template&lt;typename impl_t&gt; </div>
  294. <table class="mlabels">
  295. <tr>
  296. <td class="mlabels-left">
  297. <table class="memname">
  298. <tr>
  299. <td class="memname">enum <a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">utl::_1wire_i::Speed</a></td>
  300. </tr>
  301. </table>
  302. </td>
  303. <td class="mlabels-right">
  304. <span class="mlabels"><span class="mlabel">strong</span></span> </td>
  305. </tr>
  306. </table>
  307. </div><div class="memdoc">
  308. <p>1-wire bus speed </p>
  309. <table class="fieldtable">
  310. <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7"></a>STD&#160;</td><td class="fielddoc"></td></tr>
  311. <tr><td class="fieldname"><a id="a56bb736aa3620d7795b5914cac5f25cca1cbf38b04c4249d8ec27d1ec96aaff68"></a>OVDR&#160;</td><td class="fielddoc"></td></tr>
  312. </table>
  313. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00064">64</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  314. </div>
  315. </div>
  316. <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  317. <a id="a4839577d00fdcefb51ac8d4cd91f0f1a"></a>
  318. <h2 class="memtitle"><span class="permalink"><a href="#a4839577d00fdcefb51ac8d4cd91f0f1a">&#9670;&nbsp;</a></span>_1wire_i() <span class="overload">[1/2]</span></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_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::<a class="el" href="classutl_1_1__1wire__i.html">_1wire_i</a> </td>
  329. <td>(</td>
  330. <td class="paramname"></td><td>)</td>
  331. <td></td>
  332. </tr>
  333. </table>
  334. </td>
  335. <td class="mlabels-right">
  336. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">default</span></span> </td>
  337. </tr>
  338. </table>
  339. </div><div class="memdoc">
  340. <p>Allow constructor from derived only. </p>
  341. </div>
  342. </div>
  343. <a id="afb146fda251b25c9fc812718f6c5b3e1"></a>
  344. <h2 class="memtitle"><span class="permalink"><a href="#afb146fda251b25c9fc812718f6c5b3e1">&#9670;&nbsp;</a></span>~_1wire_i()</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="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::~<a class="el" href="classutl_1_1__1wire__i.html">_1wire_i</a> </td>
  355. <td>(</td>
  356. <td class="paramname"></td><td>)</td>
  357. <td></td>
  358. </tr>
  359. </table>
  360. </td>
  361. <td class="mlabels-right">
  362. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">default</span></span> </td>
  363. </tr>
  364. </table>
  365. </div><div class="memdoc">
  366. <p>Allow destructor from derived only. </p>
  367. </div>
  368. </div>
  369. <a id="adc539ccd0e41f8f830bd96c362094c14"></a>
  370. <h2 class="memtitle"><span class="permalink"><a href="#adc539ccd0e41f8f830bd96c362094c14">&#9670;&nbsp;</a></span>_1wire_i() <span class="overload">[2/2]</span></h2>
  371. <div class="memitem">
  372. <div class="memproto">
  373. <div class="memtemplate">
  374. template&lt;typename impl_t&gt; </div>
  375. <table class="mlabels">
  376. <tr>
  377. <td class="mlabels-left">
  378. <table class="memname">
  379. <tr>
  380. <td class="memname"><a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::<a class="el" href="classutl_1_1__1wire__i.html">_1wire_i</a> </td>
  381. <td>(</td>
  382. <td class="paramtype">const <a class="el" href="classutl_1_1__1wire__i.html">_1wire_i</a>&lt; impl_t &gt; &amp;&#160;</td>
  383. <td class="paramname"></td><td>)</td>
  384. <td></td>
  385. </tr>
  386. </table>
  387. </td>
  388. <td class="mlabels-right">
  389. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">delete</span></span> </td>
  390. </tr>
  391. </table>
  392. </div><div class="memdoc">
  393. <p>No copies. </p>
  394. </div>
  395. </div>
  396. <h2 class="groupheader">Member Function Documentation</h2>
  397. <a id="ad8858b769d4cd8da78e1cb4669992da2"></a>
  398. <h2 class="memtitle"><span class="permalink"><a href="#ad8858b769d4cd8da78e1cb4669992da2">&#9670;&nbsp;</a></span>_CRTP_IMPL()</h2>
  399. <div class="memitem">
  400. <div class="memproto">
  401. <div class="memtemplate">
  402. template&lt;typename impl_t&gt; </div>
  403. <table class="mlabels">
  404. <tr>
  405. <td class="mlabels-left">
  406. <table class="memname">
  407. <tr>
  408. <td class="memname"><a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::_CRTP_IMPL </td>
  409. <td>(</td>
  410. <td class="paramtype">impl_t&#160;</td>
  411. <td class="paramname"></td><td>)</td>
  412. <td></td>
  413. </tr>
  414. </table>
  415. </td>
  416. <td class="mlabels-right">
  417. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  418. </tr>
  419. </table>
  420. </div><div class="memdoc">
  421. </div>
  422. </div>
  423. <a id="a39d0afaf58820696acad93cf98a6b321"></a>
  424. <h2 class="memtitle"><span class="permalink"><a href="#a39d0afaf58820696acad93cf98a6b321">&#9670;&nbsp;</a></span>_reset()</h2>
  425. <div class="memitem">
  426. <div class="memproto">
  427. <div class="memtemplate">
  428. template&lt;typename impl_t&gt; </div>
  429. <table class="mlabels">
  430. <tr>
  431. <td class="mlabels-left">
  432. <table class="memname">
  433. <tr>
  434. <td class="memname">bool <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::_reset </td>
  435. <td>(</td>
  436. <td class="paramtype"><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a>&#160;</td>
  437. <td class="paramname"><em>s</em></td><td>)</td>
  438. <td></td>
  439. </tr>
  440. </table>
  441. </td>
  442. <td class="mlabels-right">
  443. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
  444. </tr>
  445. </table>
  446. </div><div class="memdoc">
  447. <p>Generate a 1-wire reset and return the operation status </p>
  448. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00089">89</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  449. </div>
  450. </div>
  451. <a id="a197e062037f88871de9205519ec78122"></a>
  452. <h2 class="memtitle"><span class="permalink"><a href="#a197e062037f88871de9205519ec78122">&#9670;&nbsp;</a></span>bit()</h2>
  453. <div class="memitem">
  454. <div class="memproto">
  455. <div class="memtemplate">
  456. template&lt;typename impl_t&gt; </div>
  457. <table class="mlabels">
  458. <tr>
  459. <td class="mlabels-left">
  460. <table class="memname">
  461. <tr>
  462. <td class="memname">bool <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::bit </td>
  463. <td>(</td>
  464. <td class="paramtype">bool&#160;</td>
  465. <td class="paramname"><em>b</em></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 class="mlabel">private</span></span> </td>
  472. </tr>
  473. </table>
  474. </div><div class="memdoc">
  475. <p>Write a bit to the 1-Wire bus, return response/write status and provide the recovery time. </p>
  476. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00088">88</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  477. </div>
  478. </div>
  479. <a id="a4b6d225963095d36eda832a1e0adba55"></a>
  480. <h2 class="memtitle"><span class="permalink"><a href="#a4b6d225963095d36eda832a1e0adba55">&#9670;&nbsp;</a></span>first()</h2>
  481. <div class="memitem">
  482. <div class="memproto">
  483. <div class="memtemplate">
  484. template&lt;typename impl_t&gt; </div>
  485. <table class="mlabels">
  486. <tr>
  487. <td class="mlabels-left">
  488. <table class="memname">
  489. <tr>
  490. <td class="memname"><a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a> <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::first </td>
  491. <td>(</td>
  492. <td class="paramtype"><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a>&#160;</td>
  493. <td class="paramname"><em>s</em> = <code><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7">Speed::STD</a></code>, </td>
  494. </tr>
  495. <tr>
  496. <td class="paramkey"></td>
  497. <td></td>
  498. <td class="paramtype">bool&#160;</td>
  499. <td class="paramname"><em>alarm</em> = <code>false</code>&#160;</td>
  500. </tr>
  501. <tr>
  502. <td></td>
  503. <td>)</td>
  504. <td></td><td></td>
  505. </tr>
  506. </table>
  507. </td>
  508. <td class="mlabels-right">
  509. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  510. </tr>
  511. </table>
  512. </div><div class="memdoc">
  513. <p>'first' operation, to search on the 1-Wire for the first device. This is performed by setting dec_, pos_ and cur_ to zero and then doing the search. </p>
  514. <dl class="params"><dt>Parameters</dt><dd>
  515. <table class="params">
  516. <tr><td class="paramname">s</td><td>The bus speed </td></tr>
  517. <tr><td class="paramname">alarm</td><td>If set, search for alarm devices </td></tr>
  518. </table>
  519. </dd>
  520. </dl>
  521. <dl class="section return"><dt>Returns</dt><dd>ID The romID <ul>
  522. <li>nullDev Indicate no [more] device[s] </li>
  523. </ul>
  524. </dd></dl>
  525. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00207">207</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  526. </div>
  527. </div>
  528. <a id="aa2d87a149c4e5dcfefc5a8cde6eaefb2"></a>
  529. <h2 class="memtitle"><span class="permalink"><a href="#aa2d87a149c4e5dcfefc5a8cde6eaefb2">&#9670;&nbsp;</a></span>match()</h2>
  530. <div class="memitem">
  531. <div class="memproto">
  532. <div class="memtemplate">
  533. template&lt;typename impl_t&gt; </div>
  534. <table class="mlabels">
  535. <tr>
  536. <td class="mlabels-left">
  537. <table class="memname">
  538. <tr>
  539. <td class="memname">void <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::match </td>
  540. <td>(</td>
  541. <td class="paramtype"><a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a> &amp;&#160;</td>
  542. <td class="paramname"><em>id</em>, </td>
  543. </tr>
  544. <tr>
  545. <td class="paramkey"></td>
  546. <td></td>
  547. <td class="paramtype"><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a>&#160;</td>
  548. <td class="paramname"><em>s</em> = <code><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7">Speed::STD</a></code>&#160;</td>
  549. </tr>
  550. <tr>
  551. <td></td>
  552. <td>)</td>
  553. <td></td><td></td>
  554. </tr>
  555. </table>
  556. </td>
  557. <td class="mlabels-right">
  558. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  559. </tr>
  560. </table>
  561. </div><div class="memdoc">
  562. <p>Send match rom command </p><dl class="params"><dt>Parameters</dt><dd>
  563. <table class="params">
  564. <tr><td class="paramname">id</td><td>The ID to select on the bus </td></tr>
  565. <tr><td class="paramname">s</td><td>The speed to use for the command </td></tr>
  566. </table>
  567. </dd>
  568. </dl>
  569. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00173">173</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  570. </div>
  571. </div>
  572. <a id="ac88f67dd75dc23d39123ac584dce6b40"></a>
  573. <h2 class="memtitle"><span class="permalink"><a href="#ac88f67dd75dc23d39123ac584dce6b40">&#9670;&nbsp;</a></span>match_n_ovdr()</h2>
  574. <div class="memitem">
  575. <div class="memproto">
  576. <div class="memtemplate">
  577. template&lt;typename impl_t&gt; </div>
  578. <table class="mlabels">
  579. <tr>
  580. <td class="mlabels-left">
  581. <table class="memname">
  582. <tr>
  583. <td class="memname">void <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::match_n_ovdr </td>
  584. <td>(</td>
  585. <td class="paramtype"><a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a> &amp;&#160;</td>
  586. <td class="paramname"><em>id</em></td><td>)</td>
  587. <td></td>
  588. </tr>
  589. </table>
  590. </td>
  591. <td class="mlabels-right">
  592. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  593. </tr>
  594. </table>
  595. </div><div class="memdoc">
  596. <p>Match and overdrive sequence </p><dl class="params"><dt>Parameters</dt><dd>
  597. <table class="params">
  598. <tr><td class="paramname">obj</td><td>The object from which we call private members </td></tr>
  599. <tr><td class="paramname">id</td><td>The ID to select on the bus </td></tr>
  600. </table>
  601. </dd>
  602. </dl>
  603. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00181">181</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  604. </div>
  605. </div>
  606. <a id="a3e302085f12a39fef8a378e1dac42f45"></a>
  607. <h2 class="memtitle"><span class="permalink"><a href="#a3e302085f12a39fef8a378e1dac42f45">&#9670;&nbsp;</a></span>next()</h2>
  608. <div class="memitem">
  609. <div class="memproto">
  610. <div class="memtemplate">
  611. template&lt;typename impl_t&gt; </div>
  612. <table class="mlabels">
  613. <tr>
  614. <td class="mlabels-left">
  615. <table class="memname">
  616. <tr>
  617. <td class="memname"><a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a> <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::next </td>
  618. <td>(</td>
  619. <td class="paramtype"><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a>&#160;</td>
  620. <td class="paramname"><em>s</em> = <code><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7">Speed::STD</a></code>, </td>
  621. </tr>
  622. <tr>
  623. <td class="paramkey"></td>
  624. <td></td>
  625. <td class="paramtype">bool&#160;</td>
  626. <td class="paramname"><em>alarm</em> = <code>false</code>&#160;</td>
  627. </tr>
  628. <tr>
  629. <td></td>
  630. <td>)</td>
  631. <td></td><td></td>
  632. </tr>
  633. </table>
  634. </td>
  635. <td class="mlabels-right">
  636. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  637. </tr>
  638. </table>
  639. </div><div class="memdoc">
  640. <p>'next' operation, to search on the 1-Wire for the next device. This search is usually performed after a 'first' operation or another 'next' operation. Based on maxim-ic application note 187. </p>
  641. <dl class="params"><dt>Parameters</dt><dd>
  642. <table class="params">
  643. <tr><td class="paramname">s</td><td>The bus speed </td></tr>
  644. <tr><td class="paramname">alarm</td><td>If set, search for alarm devices </td></tr>
  645. </table>
  646. </dd>
  647. </dl>
  648. <dl class="section return"><dt>Returns</dt><dd>ID The romID <ul>
  649. <li>nullDev Indicate no [more] device[s] </li>
  650. </ul>
  651. </dd></dl>
  652. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00220">220</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  653. </div>
  654. </div>
  655. <a id="a96222b5bd731c2b242e428aabda40642"></a>
  656. <h2 class="memtitle"><span class="permalink"><a href="#a96222b5bd731c2b242e428aabda40642">&#9670;&nbsp;</a></span>operator=()</h2>
  657. <div class="memitem">
  658. <div class="memproto">
  659. <div class="memtemplate">
  660. template&lt;typename impl_t&gt; </div>
  661. <table class="mlabels">
  662. <tr>
  663. <td class="mlabels-left">
  664. <table class="memname">
  665. <tr>
  666. <td class="memname"><a class="el" href="classutl_1_1__1wire__i.html">_1wire_i</a>&amp; <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::operator= </td>
  667. <td>(</td>
  668. <td class="paramtype">const <a class="el" href="classutl_1_1__1wire__i.html">_1wire_i</a>&lt; impl_t &gt; &amp;&#160;</td>
  669. <td class="paramname"></td><td>)</td>
  670. <td></td>
  671. </tr>
  672. </table>
  673. </td>
  674. <td class="mlabels-right">
  675. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">delete</span></span> </td>
  676. </tr>
  677. </table>
  678. </div><div class="memdoc">
  679. </div>
  680. </div>
  681. <a id="a0a7ef731162e81e0e2e07ae9cb9e6ffa"></a>
  682. <h2 class="memtitle"><span class="permalink"><a href="#a0a7ef731162e81e0e2e07ae9cb9e6ffa">&#9670;&nbsp;</a></span>reset()</h2>
  683. <div class="memitem">
  684. <div class="memproto">
  685. <div class="memtemplate">
  686. template&lt;typename impl_t&gt; </div>
  687. <table class="mlabels">
  688. <tr>
  689. <td class="mlabels-left">
  690. <table class="memname">
  691. <tr>
  692. <td class="memname">bool <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::reset </td>
  693. <td>(</td>
  694. <td class="paramtype"><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a>&#160;</td>
  695. <td class="paramname"><em>s</em> = <code><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7">Speed::STD</a></code></td><td>)</td>
  696. <td></td>
  697. </tr>
  698. </table>
  699. </td>
  700. <td class="mlabels-right">
  701. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  702. </tr>
  703. </table>
  704. </div><div class="memdoc">
  705. <p>Generate a 1-wire reset. </p>
  706. <dl class="params"><dt>Parameters</dt><dd>
  707. <table class="params">
  708. <tr><td class="paramname">s</td><td>Bus speed </td></tr>
  709. </table>
  710. </dd>
  711. </dl>
  712. <dl class="section return"><dt>Returns</dt><dd>The status of the operation <ul>
  713. <li>0 Fail </li>
  714. <li>1 Success </li>
  715. </ul>
  716. </dd></dl>
  717. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00128">128</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  718. </div>
  719. </div>
  720. <a id="a2585e7166d14b7f36bd47db2e43cc0b1"></a>
  721. <h2 class="memtitle"><span class="permalink"><a href="#a2585e7166d14b7f36bd47db2e43cc0b1">&#9670;&nbsp;</a></span>rx_data() <span class="overload">[1/2]</span></h2>
  722. <div class="memitem">
  723. <div class="memproto">
  724. <div class="memtemplate">
  725. template&lt;typename impl_t&gt; </div>
  726. <table class="mlabels">
  727. <tr>
  728. <td class="mlabels-left">
  729. <table class="memname">
  730. <tr>
  731. <td class="memname"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::rx_data </td>
  732. <td>(</td>
  733. <td class="paramtype"><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a>&#160;</td>
  734. <td class="paramname"><em>s</em> = <code><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7">Speed::STD</a></code></td><td>)</td>
  735. <td></td>
  736. </tr>
  737. </table>
  738. </td>
  739. <td class="mlabels-right">
  740. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  741. </tr>
  742. </table>
  743. </div><div class="memdoc">
  744. <p>Receive a byte from 1-Wire bus while transmitting 0xFF </p><dl class="params"><dt>Parameters</dt><dd>
  745. <table class="params">
  746. <tr><td class="paramname">s</td><td>Bus speed to use </td></tr>
  747. </table>
  748. </dd>
  749. </dl>
  750. <dl class="section return"><dt>Returns</dt><dd>The byte received. </dd></dl>
  751. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00156">156</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  752. </div>
  753. </div>
  754. <a id="ad20382d5d50ee7d457bc4079b9c38a2a"></a>
  755. <h2 class="memtitle"><span class="permalink"><a href="#ad20382d5d50ee7d457bc4079b9c38a2a">&#9670;&nbsp;</a></span>rx_data() <span class="overload">[2/2]</span></h2>
  756. <div class="memitem">
  757. <div class="memproto">
  758. <div class="memtemplate">
  759. template&lt;typename _I &gt; </div>
  760. <table class="memname">
  761. <tr>
  762. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; _I &gt;::rx_data </td>
  763. <td>(</td>
  764. <td class="paramtype"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> *&#160;</td>
  765. <td class="paramname"><em>in</em>, </td>
  766. </tr>
  767. <tr>
  768. <td class="paramkey"></td>
  769. <td></td>
  770. <td class="paramtype"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td>
  771. <td class="paramname"><em>n</em>, </td>
  772. </tr>
  773. <tr>
  774. <td class="paramkey"></td>
  775. <td></td>
  776. <td class="paramtype"><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a>&#160;</td>
  777. <td class="paramname"><em>s</em> = <code><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7">Speed::STD</a></code>&#160;</td>
  778. </tr>
  779. <tr>
  780. <td></td>
  781. <td>)</td>
  782. <td></td><td></td>
  783. </tr>
  784. </table>
  785. </div><div class="memdoc">
  786. <p>Receive a number of bytes from 1-wire bus while transmitting 0xFFs </p><dl class="params"><dt>Parameters</dt><dd>
  787. <table class="params">
  788. <tr><td class="paramname">in</td><td>Pointer to data to store </td></tr>
  789. <tr><td class="paramname">n</td><td>Number of bytes </td></tr>
  790. <tr><td class="paramname">s</td><td>Speed to use </td></tr>
  791. </table>
  792. </dd>
  793. </dl>
  794. <dl class="section return"><dt>Returns</dt><dd>The number of transmitted bytes </dd></dl>
  795. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00248">248</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  796. </div>
  797. </div>
  798. <a id="a0a405f818fd45eb2799e6b4477021a0a"></a>
  799. <h2 class="memtitle"><span class="permalink"><a href="#a0a405f818fd45eb2799e6b4477021a0a">&#9670;&nbsp;</a></span>skip()</h2>
  800. <div class="memitem">
  801. <div class="memproto">
  802. <div class="memtemplate">
  803. template&lt;typename impl_t&gt; </div>
  804. <table class="mlabels">
  805. <tr>
  806. <td class="mlabels-left">
  807. <table class="memname">
  808. <tr>
  809. <td class="memname">void <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::skip </td>
  810. <td>(</td>
  811. <td class="paramtype"><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a>&#160;</td>
  812. <td class="paramname"><em>s</em> = <code><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7">Speed::STD</a></code></td><td>)</td>
  813. <td></td>
  814. </tr>
  815. </table>
  816. </td>
  817. <td class="mlabels-right">
  818. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  819. </tr>
  820. </table>
  821. </div><div class="memdoc">
  822. <p>Send skip command to the bus </p><dl class="params"><dt>Parameters</dt><dd>
  823. <table class="params">
  824. <tr><td class="paramname">id</td><td>The ID to select on the bus </td></tr>
  825. </table>
  826. </dd>
  827. </dl>
  828. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00188">188</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  829. </div>
  830. </div>
  831. <a id="a8b0b0ea95c02a40721f1e159119b3506"></a>
  832. <h2 class="memtitle"><span class="permalink"><a href="#a8b0b0ea95c02a40721f1e159119b3506">&#9670;&nbsp;</a></span>skip_n_ovdr()</h2>
  833. <div class="memitem">
  834. <div class="memproto">
  835. <div class="memtemplate">
  836. template&lt;typename impl_t&gt; </div>
  837. <table class="mlabels">
  838. <tr>
  839. <td class="mlabels-left">
  840. <table class="memname">
  841. <tr>
  842. <td class="memname">void <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::skip_n_ovdr </td>
  843. <td>(</td>
  844. <td class="paramname"></td><td>)</td>
  845. <td></td>
  846. </tr>
  847. </table>
  848. </td>
  849. <td class="mlabels-right">
  850. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  851. </tr>
  852. </table>
  853. </div><div class="memdoc">
  854. <p>Send the Skip and Overdrive sequence </p>
  855. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00194">194</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  856. </div>
  857. </div>
  858. <a id="ae770650b54374721e04f96994385c570"></a>
  859. <h2 class="memtitle"><span class="permalink"><a href="#ae770650b54374721e04f96994385c570">&#9670;&nbsp;</a></span>speed() <span class="overload">[1/2]</span></h2>
  860. <div class="memitem">
  861. <div class="memproto">
  862. <div class="memtemplate">
  863. template&lt;typename impl_t&gt; </div>
  864. <table class="mlabels">
  865. <tr>
  866. <td class="mlabels-left">
  867. <table class="memname">
  868. <tr>
  869. <td class="memname"><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a> <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::speed </td>
  870. <td>(</td>
  871. <td class="paramname"></td><td>)</td>
  872. <td> const</td>
  873. </tr>
  874. </table>
  875. </td>
  876. <td class="mlabels-right">
  877. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
  878. </tr>
  879. </table>
  880. </div><div class="memdoc">
  881. <p>Get the 1-wire bus speed. </p>
  882. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00085">85</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  883. </div>
  884. </div>
  885. <a id="adc5c34170794ae99562211faea68a4a6"></a>
  886. <h2 class="memtitle"><span class="permalink"><a href="#adc5c34170794ae99562211faea68a4a6">&#9670;&nbsp;</a></span>speed() <span class="overload">[2/2]</span></h2>
  887. <div class="memitem">
  888. <div class="memproto">
  889. <div class="memtemplate">
  890. template&lt;typename impl_t&gt; </div>
  891. <table class="mlabels">
  892. <tr>
  893. <td class="mlabels-left">
  894. <table class="memname">
  895. <tr>
  896. <td class="memname">void <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::speed </td>
  897. <td>(</td>
  898. <td class="paramtype"><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a>&#160;</td>
  899. <td class="paramname"><em>s</em></td><td>)</td>
  900. <td></td>
  901. </tr>
  902. </table>
  903. </td>
  904. <td class="mlabels-right">
  905. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
  906. </tr>
  907. </table>
  908. </div><div class="memdoc">
  909. <p>Set the 1-wire bus speed </p>
  910. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00086">86</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  911. </div>
  912. </div>
  913. <a id="a59e7196e10e53467b62ed369ff78f07d"></a>
  914. <h2 class="memtitle"><span class="permalink"><a href="#a59e7196e10e53467b62ed369ff78f07d">&#9670;&nbsp;</a></span>tx_data() <span class="overload">[1/2]</span></h2>
  915. <div class="memitem">
  916. <div class="memproto">
  917. <div class="memtemplate">
  918. template&lt;typename impl_t&gt; </div>
  919. <table class="mlabels">
  920. <tr>
  921. <td class="mlabels-left">
  922. <table class="memname">
  923. <tr>
  924. <td class="memname"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::tx_data </td>
  925. <td>(</td>
  926. <td class="paramtype"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a>&#160;</td>
  927. <td class="paramname"><em>out</em>, </td>
  928. </tr>
  929. <tr>
  930. <td class="paramkey"></td>
  931. <td></td>
  932. <td class="paramtype"><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a>&#160;</td>
  933. <td class="paramname"><em>s</em> = <code><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7">Speed::STD</a></code>&#160;</td>
  934. </tr>
  935. <tr>
  936. <td></td>
  937. <td>)</td>
  938. <td></td><td></td>
  939. </tr>
  940. </table>
  941. </td>
  942. <td class="mlabels-right">
  943. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  944. </tr>
  945. </table>
  946. </div><div class="memdoc">
  947. <p>Transmit a byte to 1-Wire bus and read the response </p><dl class="params"><dt>Parameters</dt><dd>
  948. <table class="params">
  949. <tr><td class="paramname">out</td><td>The byte to write </td></tr>
  950. <tr><td class="paramname">s</td><td>Bus speed to use </td></tr>
  951. </table>
  952. </dd>
  953. </dl>
  954. <dl class="section return"><dt>Returns</dt><dd>The byte received. </dd></dl>
  955. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00138">138</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  956. </div>
  957. </div>
  958. <a id="ab3bd112ff66074bdaf7357b91ca692a8"></a>
  959. <h2 class="memtitle"><span class="permalink"><a href="#ab3bd112ff66074bdaf7357b91ca692a8">&#9670;&nbsp;</a></span>tx_data() <span class="overload">[2/2]</span></h2>
  960. <div class="memitem">
  961. <div class="memproto">
  962. <div class="memtemplate">
  963. template&lt;typename _I &gt; </div>
  964. <table class="memname">
  965. <tr>
  966. <td class="memname"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a> <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; _I &gt;::tx_data </td>
  967. <td>(</td>
  968. <td class="paramtype">const <a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> *&#160;</td>
  969. <td class="paramname"><em>out</em>, </td>
  970. </tr>
  971. <tr>
  972. <td class="paramkey"></td>
  973. <td></td>
  974. <td class="paramtype"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> *&#160;</td>
  975. <td class="paramname"><em>in</em>, </td>
  976. </tr>
  977. <tr>
  978. <td class="paramkey"></td>
  979. <td></td>
  980. <td class="paramtype"><a class="el" href="namespaceutl.html#a22cbecb50ee5c1032de66133e96cbac6">size_t</a>&#160;</td>
  981. <td class="paramname"><em>n</em>, </td>
  982. </tr>
  983. <tr>
  984. <td class="paramkey"></td>
  985. <td></td>
  986. <td class="paramtype"><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25cc">Speed</a>&#160;</td>
  987. <td class="paramname"><em>s</em> = <code><a class="el" href="classutl_1_1__1wire__i.html#a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7">Speed::STD</a></code>&#160;</td>
  988. </tr>
  989. <tr>
  990. <td></td>
  991. <td>)</td>
  992. <td></td><td></td>
  993. </tr>
  994. </table>
  995. </div><div class="memdoc">
  996. <p>Transmit a number of bytes to 1-wire bus and read the response </p><dl class="params"><dt>Parameters</dt><dd>
  997. <table class="params">
  998. <tr><td class="paramname">out</td><td>Pointer to data to transmit </td></tr>
  999. <tr><td class="paramname">in</td><td>Pointer to data to store </td></tr>
  1000. <tr><td class="paramname">n</td><td>Number of bytes </td></tr>
  1001. <tr><td class="paramname">s</td><td>Speed to use </td></tr>
  1002. </table>
  1003. </dd>
  1004. </dl>
  1005. <dl class="section return"><dt>Returns</dt><dd>The number of transmitted bytes </dd></dl>
  1006. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00241">241</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  1007. </div>
  1008. </div>
  1009. <h2 class="groupheader">Friends And Related Function Documentation</h2>
  1010. <a id="a05f0872f43d7b305269904d1522fa437"></a>
  1011. <h2 class="memtitle"><span class="permalink"><a href="#a05f0872f43d7b305269904d1522fa437">&#9670;&nbsp;</a></span>_1wire_i_det::_first</h2>
  1012. <div class="memitem">
  1013. <div class="memproto">
  1014. <div class="memtemplate">
  1015. template&lt;typename impl_t&gt; </div>
  1016. <div class="memtemplate">
  1017. template&lt;typename _T &gt; </div>
  1018. <table class="mlabels">
  1019. <tr>
  1020. <td class="mlabels-left">
  1021. <table class="memname">
  1022. <tr>
  1023. <td class="memname"><a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a> <a class="el" href="namespaceutl_1_1__1wire__i__det.html#a237719ffa105f988cb175d6720712a4a">_1wire_i_det::_first</a> </td>
  1024. <td>(</td>
  1025. <td class="paramtype">_T &amp;&#160;</td>
  1026. <td class="paramname">, </td>
  1027. </tr>
  1028. <tr>
  1029. <td class="paramkey"></td>
  1030. <td></td>
  1031. <td class="paramtype">typename _T::Speed&#160;</td>
  1032. <td class="paramname">, </td>
  1033. </tr>
  1034. <tr>
  1035. <td class="paramkey"></td>
  1036. <td></td>
  1037. <td class="paramtype">bool&#160;</td>
  1038. <td class="paramname">&#160;</td>
  1039. </tr>
  1040. <tr>
  1041. <td></td>
  1042. <td>)</td>
  1043. <td></td><td></td>
  1044. </tr>
  1045. </table>
  1046. </td>
  1047. <td class="mlabels-right">
  1048. <span class="mlabels"><span class="mlabel">friend</span></span> </td>
  1049. </tr>
  1050. </table>
  1051. </div><div class="memdoc">
  1052. </div>
  1053. </div>
  1054. <a id="a6deca63bf5935ba3c3aa07f6ca23e33a"></a>
  1055. <h2 class="memtitle"><span class="permalink"><a href="#a6deca63bf5935ba3c3aa07f6ca23e33a">&#9670;&nbsp;</a></span>_1wire_i_det::_match</h2>
  1056. <div class="memitem">
  1057. <div class="memproto">
  1058. <div class="memtemplate">
  1059. template&lt;typename impl_t&gt; </div>
  1060. <div class="memtemplate">
  1061. template&lt;typename _T &gt; </div>
  1062. <table class="mlabels">
  1063. <tr>
  1064. <td class="mlabels-left">
  1065. <table class="memname">
  1066. <tr>
  1067. <td class="memname">void <a class="el" href="namespaceutl_1_1__1wire__i__det.html#a1b07e623a39ce82f1514846169f3a954">_1wire_i_det::_match</a> </td>
  1068. <td>(</td>
  1069. <td class="paramtype">_T &amp;&#160;</td>
  1070. <td class="paramname"><em>obj</em>, </td>
  1071. </tr>
  1072. <tr>
  1073. <td class="paramkey"></td>
  1074. <td></td>
  1075. <td class="paramtype"><a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a> &amp;&#160;</td>
  1076. <td class="paramname"><em>id</em>, </td>
  1077. </tr>
  1078. <tr>
  1079. <td class="paramkey"></td>
  1080. <td></td>
  1081. <td class="paramtype">typename _T::Speed&#160;</td>
  1082. <td class="paramname"><em>s</em>&#160;</td>
  1083. </tr>
  1084. <tr>
  1085. <td></td>
  1086. <td>)</td>
  1087. <td></td><td></td>
  1088. </tr>
  1089. </table>
  1090. </td>
  1091. <td class="mlabels-right">
  1092. <span class="mlabels"><span class="mlabel">friend</span></span> </td>
  1093. </tr>
  1094. </table>
  1095. </div><div class="memdoc">
  1096. </div>
  1097. </div>
  1098. <a id="a6b70d3457970aa791dd68e20800b6d0d"></a>
  1099. <h2 class="memtitle"><span class="permalink"><a href="#a6b70d3457970aa791dd68e20800b6d0d">&#9670;&nbsp;</a></span>_1wire_i_det::_match_n_ovdr</h2>
  1100. <div class="memitem">
  1101. <div class="memproto">
  1102. <div class="memtemplate">
  1103. template&lt;typename impl_t&gt; </div>
  1104. <div class="memtemplate">
  1105. template&lt;typename _T &gt; </div>
  1106. <table class="mlabels">
  1107. <tr>
  1108. <td class="mlabels-left">
  1109. <table class="memname">
  1110. <tr>
  1111. <td class="memname">void <a class="el" href="namespaceutl_1_1__1wire__i__det.html#a1e14f734d5e232c914be6ea97982aa40">_1wire_i_det::_match_n_ovdr</a> </td>
  1112. <td>(</td>
  1113. <td class="paramtype">_T &amp;&#160;</td>
  1114. <td class="paramname"><em>obj</em>, </td>
  1115. </tr>
  1116. <tr>
  1117. <td class="paramkey"></td>
  1118. <td></td>
  1119. <td class="paramtype"><a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a> &amp;&#160;</td>
  1120. <td class="paramname"><em>id</em>&#160;</td>
  1121. </tr>
  1122. <tr>
  1123. <td></td>
  1124. <td>)</td>
  1125. <td></td><td></td>
  1126. </tr>
  1127. </table>
  1128. </td>
  1129. <td class="mlabels-right">
  1130. <span class="mlabels"><span class="mlabel">friend</span></span> </td>
  1131. </tr>
  1132. </table>
  1133. </div><div class="memdoc">
  1134. </div>
  1135. </div>
  1136. <a id="af9a6a28b49cd3f51736f7c1f8e67327a"></a>
  1137. <h2 class="memtitle"><span class="permalink"><a href="#af9a6a28b49cd3f51736f7c1f8e67327a">&#9670;&nbsp;</a></span>_1wire_i_det::_next</h2>
  1138. <div class="memitem">
  1139. <div class="memproto">
  1140. <div class="memtemplate">
  1141. template&lt;typename impl_t&gt; </div>
  1142. <div class="memtemplate">
  1143. template&lt;typename _T &gt; </div>
  1144. <table class="mlabels">
  1145. <tr>
  1146. <td class="mlabels-left">
  1147. <table class="memname">
  1148. <tr>
  1149. <td class="memname"><a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a> <a class="el" href="namespaceutl_1_1__1wire__i__det.html#a1f7b692a40769ebe59343613b147e01d">_1wire_i_det::_next</a> </td>
  1150. <td>(</td>
  1151. <td class="paramtype">_T &amp;&#160;</td>
  1152. <td class="paramname">, </td>
  1153. </tr>
  1154. <tr>
  1155. <td class="paramkey"></td>
  1156. <td></td>
  1157. <td class="paramtype">typename _T::Speed&#160;</td>
  1158. <td class="paramname">, </td>
  1159. </tr>
  1160. <tr>
  1161. <td class="paramkey"></td>
  1162. <td></td>
  1163. <td class="paramtype">bool&#160;</td>
  1164. <td class="paramname">&#160;</td>
  1165. </tr>
  1166. <tr>
  1167. <td></td>
  1168. <td>)</td>
  1169. <td></td><td></td>
  1170. </tr>
  1171. </table>
  1172. </td>
  1173. <td class="mlabels-right">
  1174. <span class="mlabels"><span class="mlabel">friend</span></span> </td>
  1175. </tr>
  1176. </table>
  1177. </div><div class="memdoc">
  1178. </div>
  1179. </div>
  1180. <a id="a9041b1220dfa52b4f4b161b718c3d33a"></a>
  1181. <h2 class="memtitle"><span class="permalink"><a href="#a9041b1220dfa52b4f4b161b718c3d33a">&#9670;&nbsp;</a></span>_1wire_i_det::_skip</h2>
  1182. <div class="memitem">
  1183. <div class="memproto">
  1184. <div class="memtemplate">
  1185. template&lt;typename impl_t&gt; </div>
  1186. <div class="memtemplate">
  1187. template&lt;typename _T &gt; </div>
  1188. <table class="mlabels">
  1189. <tr>
  1190. <td class="mlabels-left">
  1191. <table class="memname">
  1192. <tr>
  1193. <td class="memname">void <a class="el" href="namespaceutl_1_1__1wire__i__det.html#a9ea80f4ef2422a7fd71788c42b228053">_1wire_i_det::_skip</a> </td>
  1194. <td>(</td>
  1195. <td class="paramtype">_T &amp;&#160;</td>
  1196. <td class="paramname"><em>obj</em>, </td>
  1197. </tr>
  1198. <tr>
  1199. <td class="paramkey"></td>
  1200. <td></td>
  1201. <td class="paramtype">typename _T::Speed&#160;</td>
  1202. <td class="paramname"><em>s</em>&#160;</td>
  1203. </tr>
  1204. <tr>
  1205. <td></td>
  1206. <td>)</td>
  1207. <td></td><td></td>
  1208. </tr>
  1209. </table>
  1210. </td>
  1211. <td class="mlabels-right">
  1212. <span class="mlabels"><span class="mlabel">friend</span></span> </td>
  1213. </tr>
  1214. </table>
  1215. </div><div class="memdoc">
  1216. </div>
  1217. </div>
  1218. <a id="af4dfbd90b0d5606f1f2e515d38a43d66"></a>
  1219. <h2 class="memtitle"><span class="permalink"><a href="#af4dfbd90b0d5606f1f2e515d38a43d66">&#9670;&nbsp;</a></span>_1wire_i_det::_skip_n_ovdr</h2>
  1220. <div class="memitem">
  1221. <div class="memproto">
  1222. <div class="memtemplate">
  1223. template&lt;typename impl_t&gt; </div>
  1224. <div class="memtemplate">
  1225. template&lt;typename _T &gt; </div>
  1226. <table class="mlabels">
  1227. <tr>
  1228. <td class="mlabels-left">
  1229. <table class="memname">
  1230. <tr>
  1231. <td class="memname">void <a class="el" href="namespaceutl_1_1__1wire__i__det.html#ace224a4d329166bfd9f3448e492baf2b">_1wire_i_det::_skip_n_ovdr</a> </td>
  1232. <td>(</td>
  1233. <td class="paramtype">_T &amp;&#160;</td>
  1234. <td class="paramname"><em>obj</em></td><td>)</td>
  1235. <td></td>
  1236. </tr>
  1237. </table>
  1238. </td>
  1239. <td class="mlabels-right">
  1240. <span class="mlabels"><span class="mlabel">friend</span></span> </td>
  1241. </tr>
  1242. </table>
  1243. </div><div class="memdoc">
  1244. </div>
  1245. </div>
  1246. <a id="aedee6f129425833a172784ec3c6e21e9"></a>
  1247. <h2 class="memtitle"><span class="permalink"><a href="#aedee6f129425833a172784ec3c6e21e9">&#9670;&nbsp;</a></span>_1wire_i_det::_touch</h2>
  1248. <div class="memitem">
  1249. <div class="memproto">
  1250. <div class="memtemplate">
  1251. template&lt;typename impl_t&gt; </div>
  1252. <div class="memtemplate">
  1253. template&lt;typename _T &gt; </div>
  1254. <table class="mlabels">
  1255. <tr>
  1256. <td class="mlabels-left">
  1257. <table class="memname">
  1258. <tr>
  1259. <td class="memname"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> <a class="el" href="namespaceutl_1_1__1wire__i__det.html#a85a3a19778edb037f6341f37135a5494">_1wire_i_det::_touch</a> </td>
  1260. <td>(</td>
  1261. <td class="paramtype">_T &amp;&#160;</td>
  1262. <td class="paramname">, </td>
  1263. </tr>
  1264. <tr>
  1265. <td class="paramkey"></td>
  1266. <td></td>
  1267. <td class="paramtype"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a>&#160;</td>
  1268. <td class="paramname">, </td>
  1269. </tr>
  1270. <tr>
  1271. <td class="paramkey"></td>
  1272. <td></td>
  1273. <td class="paramtype">typename _T::Speed&#160;</td>
  1274. <td class="paramname">&#160;</td>
  1275. </tr>
  1276. <tr>
  1277. <td></td>
  1278. <td>)</td>
  1279. <td></td><td></td>
  1280. </tr>
  1281. </table>
  1282. </td>
  1283. <td class="mlabels-right">
  1284. <span class="mlabels"><span class="mlabel">friend</span></span> </td>
  1285. </tr>
  1286. </table>
  1287. </div><div class="memdoc">
  1288. </div>
  1289. </div>
  1290. <h2 class="groupheader">Member Data Documentation</h2>
  1291. <a id="af9adb646cdda935d9a5a26656669e785"></a>
  1292. <h2 class="memtitle"><span class="permalink"><a href="#af9adb646cdda935d9a5a26656669e785">&#9670;&nbsp;</a></span>cur_</h2>
  1293. <div class="memitem">
  1294. <div class="memproto">
  1295. <div class="memtemplate">
  1296. template&lt;typename impl_t&gt; </div>
  1297. <table class="mlabels">
  1298. <tr>
  1299. <td class="mlabels-left">
  1300. <table class="memname">
  1301. <tr>
  1302. <td class="memname"><a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a> <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::cur_ {<a class="el" href="classutl_1_1__1wire__id__t.html#adad08aa5ce38e1a87800de57a91db81b">_1wire_id_t::nullDev</a>()}</td>
  1303. </tr>
  1304. </table>
  1305. </td>
  1306. <td class="mlabels-right">
  1307. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  1308. </tr>
  1309. </table>
  1310. </div><div class="memdoc">
  1311. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00237">237</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  1312. </div>
  1313. </div>
  1314. <a id="acb00f6ded645dffafe56ea5e8502511a"></a>
  1315. <h2 class="memtitle"><span class="permalink"><a href="#acb00f6ded645dffafe56ea5e8502511a">&#9670;&nbsp;</a></span>dec_</h2>
  1316. <div class="memitem">
  1317. <div class="memproto">
  1318. <div class="memtemplate">
  1319. template&lt;typename impl_t&gt; </div>
  1320. <table class="mlabels">
  1321. <tr>
  1322. <td class="mlabels-left">
  1323. <table class="memname">
  1324. <tr>
  1325. <td class="memname"><a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a> <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::dec_ {<a class="el" href="classutl_1_1__1wire__id__t.html#adad08aa5ce38e1a87800de57a91db81b">_1wire_id_t::nullDev</a>()}</td>
  1326. </tr>
  1327. </table>
  1328. </td>
  1329. <td class="mlabels-right">
  1330. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  1331. </tr>
  1332. </table>
  1333. </div><div class="memdoc">
  1334. <p>Hold the algorithm's select bit when a discrepancy is detected. We use this variable to navigate to the ROM tree as we store the path we take each time (0-1). Each bit represent a bit position in the ROM ID. </p>
  1335. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00226">226</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  1336. </div>
  1337. </div>
  1338. <a id="a51ed80ef816ea8a4f5a3cdb4d87b0875"></a>
  1339. <h2 class="memtitle"><span class="permalink"><a href="#a51ed80ef816ea8a4f5a3cdb4d87b0875">&#9670;&nbsp;</a></span>pos_</h2>
  1340. <div class="memitem">
  1341. <div class="memproto">
  1342. <div class="memtemplate">
  1343. template&lt;typename impl_t&gt; </div>
  1344. <table class="mlabels">
  1345. <tr>
  1346. <td class="mlabels-left">
  1347. <table class="memname">
  1348. <tr>
  1349. <td class="memname"><a class="el" href="classutl_1_1__1wire__id__t.html">_1wire_id_t</a> <a class="el" href="classutl_1_1__1wire__i.html">utl::_1wire_i</a>&lt; impl_t &gt;::pos_ {<a class="el" href="classutl_1_1__1wire__id__t.html#adad08aa5ce38e1a87800de57a91db81b">_1wire_id_t::nullDev</a>()}</td>
  1350. </tr>
  1351. </table>
  1352. </td>
  1353. <td class="mlabels-right">
  1354. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  1355. </tr>
  1356. </table>
  1357. </div><div class="memdoc">
  1358. <p>Hold the discrepancy position. We use this variable to navigate to the ROM tree as we store the crossroads(1) we encounter. Each bit represent a bit position in the ROM ID. </p>
  1359. <p class="definition">Definition at line <a class="el" href="__1wire_8h_source.html#l00232">232</a> of file <a class="el" href="__1wire_8h_source.html">_1wire.h</a>.</p>
  1360. </div>
  1361. </div>
  1362. <hr/>The documentation for this class was generated from the following file:<ul>
  1363. <li>include/utl/com/<a class="el" href="__1wire_8h_source.html">_1wire.h</a></li>
  1364. </ul>
  1365. </div><!-- contents -->
  1366. </div><!-- doc-content -->
  1367. <!-- start footer part -->
  1368. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  1369. <ul>
  1370. <li class="navelem"><a class="el" href="namespaceutl.html">utl</a></li><li class="navelem"><a class="el" href="classutl_1_1__1wire__i.html">_1wire_i</a></li>
  1371. <li class="footer">Generated by
  1372. <a href="http://www.doxygen.org/index.html">
  1373. <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
  1374. </ul>
  1375. </div>
  1376. </body>
  1377. </html>