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.
 
 
 
 

481 lines
36 KiB

  1. \hypertarget{classutl_1_1__1wire__i}{}\section{utl\+:\+:\+\_\+1wire\+\_\+i$<$ impl\+\_\+t $>$ Class Template Reference}
  2. \label{classutl_1_1__1wire__i}\index{utl\+::\+\_\+1wire\+\_\+i$<$ impl\+\_\+t $>$@{utl\+::\+\_\+1wire\+\_\+i$<$ impl\+\_\+t $>$}}
  3. Template base class for 1-\/wire communication interface using C\+R\+TP.
  4. {\ttfamily \#include $<$\+\_\+1wire.\+h$>$}
  5. \subsection*{Public Types}
  6. \begin{DoxyCompactItemize}
  7. \item
  8. enum \mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{Speed}} \{ \mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}{Speed\+::\+S\+TD}} =0,
  9. \mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cca1cbf38b04c4249d8ec27d1ec96aaff68}{Speed\+::\+O\+V\+DR}}
  10. \}
  11. \begin{DoxyCompactList}\small\item\em 1-\/wire bus speed \end{DoxyCompactList}\item
  12. using \mbox{\hyperlink{classutl_1_1__1wire__i_afb63e64403924897a8277eb4159ebd44}{type}} = \mbox{\hyperlink{classutl_1_1__1wire__i}{\+\_\+1wire\+\_\+i}}
  13. \begin{DoxyCompactList}\small\item\em Export type as identity meta-\/function. \end{DoxyCompactList}\end{DoxyCompactItemize}
  14. \subsection*{Public Member Functions}
  15. \begin{Indent}\textbf{ User functionality provided by the interface}\par
  16. \begin{DoxyCompactItemize}
  17. \item
  18. bool \mbox{\hyperlink{classutl_1_1__1wire__i_a0a7ef731162e81e0e2e07ae9cb9e6ffa}{reset}} (\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{Speed}} s=\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}{Speed\+::\+S\+TD}})
  19. \begin{DoxyCompactList}\small\item\em Generate a 1-\/wire reset. \end{DoxyCompactList}\item
  20. \mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}} \mbox{\hyperlink{classutl_1_1__1wire__i_a59e7196e10e53467b62ed369ff78f07d}{tx\+\_\+data}} (\mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}} out, \mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{Speed}} s=\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}{Speed\+::\+S\+TD}})
  21. \item
  22. \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} \mbox{\hyperlink{classutl_1_1__1wire__i_ab3bd112ff66074bdaf7357b91ca692a8}{tx\+\_\+data}} (const \mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}} $\ast$out, \mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}} $\ast$in, \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} n, \mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{Speed}} s=\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}{Speed\+::\+S\+TD}})
  23. \item
  24. \mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}} \mbox{\hyperlink{classutl_1_1__1wire__i_a2585e7166d14b7f36bd47db2e43cc0b1}{rx\+\_\+data}} (\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{Speed}} s=\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}{Speed\+::\+S\+TD}})
  25. \item
  26. \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} \mbox{\hyperlink{classutl_1_1__1wire__i_ad20382d5d50ee7d457bc4079b9c38a2a}{rx\+\_\+data}} (\mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}} $\ast$in, \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} n, \mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{Speed}} s=\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}{Speed\+::\+S\+TD}})
  27. \item
  28. void \mbox{\hyperlink{classutl_1_1__1wire__i_aa2d87a149c4e5dcfefc5a8cde6eaefb2}{match}} (\mbox{\hyperlink{classutl_1_1__1wire__id__t}{\+\_\+1wire\+\_\+id\+\_\+t}} \&id, \mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{Speed}} s=\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}{Speed\+::\+S\+TD}})
  29. \item
  30. void \mbox{\hyperlink{classutl_1_1__1wire__i_ac88f67dd75dc23d39123ac584dce6b40}{match\+\_\+n\+\_\+ovdr}} (\mbox{\hyperlink{classutl_1_1__1wire__id__t}{\+\_\+1wire\+\_\+id\+\_\+t}} \&id)
  31. \item
  32. void \mbox{\hyperlink{classutl_1_1__1wire__i_a0a405f818fd45eb2799e6b4477021a0a}{skip}} (\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{Speed}} s=\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}{Speed\+::\+S\+TD}})
  33. \item
  34. void \mbox{\hyperlink{classutl_1_1__1wire__i_a8b0b0ea95c02a40721f1e159119b3506}{skip\+\_\+n\+\_\+ovdr}} ()
  35. \item
  36. \mbox{\hyperlink{classutl_1_1__1wire__id__t}{\+\_\+1wire\+\_\+id\+\_\+t}} \mbox{\hyperlink{classutl_1_1__1wire__i_a4b6d225963095d36eda832a1e0adba55}{first}} (\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{Speed}} s=\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}{Speed\+::\+S\+TD}}, bool alarm=false)
  37. \begin{DoxyCompactList}\small\item\em \textquotesingle{}first\textquotesingle{} 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. \end{DoxyCompactList}\item
  38. \mbox{\hyperlink{classutl_1_1__1wire__id__t}{\+\_\+1wire\+\_\+id\+\_\+t}} \mbox{\hyperlink{classutl_1_1__1wire__i_a3e302085f12a39fef8a378e1dac42f45}{next}} (\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{Speed}} s=\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}{Speed\+::\+S\+TD}}, bool alarm=false)
  39. \begin{DoxyCompactList}\small\item\em \textquotesingle{}next\textquotesingle{} operation, to search on the 1-\/\+Wire for the next device. This search is usually performed after a \textquotesingle{}first\textquotesingle{} operation or another \textquotesingle{}next\textquotesingle{} operation. Based on maxim-\/ic application note 187. \end{DoxyCompactList}\end{DoxyCompactItemize}
  40. \end{Indent}
  41. \subsection*{Protected Member Functions}
  42. \begin{Indent}\textbf{ Object lifetime}\par
  43. \begin{DoxyCompactItemize}
  44. \item
  45. \mbox{\hyperlink{classutl_1_1__1wire__i_a4839577d00fdcefb51ac8d4cd91f0f1a}{\+\_\+1wire\+\_\+i}} ()=default
  46. \begin{DoxyCompactList}\small\item\em Allow constructor from derived only. \end{DoxyCompactList}\item
  47. \mbox{\hyperlink{classutl_1_1__1wire__i_afb146fda251b25c9fc812718f6c5b3e1}{$\sim$\+\_\+1wire\+\_\+i}} ()=default
  48. \begin{DoxyCompactList}\small\item\em Allow destructor from derived only. \end{DoxyCompactList}\item
  49. \mbox{\hyperlink{classutl_1_1__1wire__i_adc539ccd0e41f8f830bd96c362094c14}{\+\_\+1wire\+\_\+i}} (const \mbox{\hyperlink{classutl_1_1__1wire__i}{\+\_\+1wire\+\_\+i}} \&)=delete
  50. \begin{DoxyCompactList}\small\item\em No copies. \end{DoxyCompactList}\item
  51. \mbox{\hyperlink{classutl_1_1__1wire__i}{\+\_\+1wire\+\_\+i}} \& \mbox{\hyperlink{classutl_1_1__1wire__i_a96222b5bd731c2b242e428aabda40642}{operator=}} (const \mbox{\hyperlink{classutl_1_1__1wire__i}{\+\_\+1wire\+\_\+i}} \&)=delete
  52. \end{DoxyCompactItemize}
  53. \end{Indent}
  54. \subsection*{Friends api to provide functionality to all class specializations}
  55. \begin{DoxyCompactItemize}
  56. \item
  57. {\footnotesize template$<$typename \+\_\+T $>$ }\\\mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}} \mbox{\hyperlink{classutl_1_1__1wire__i_aedee6f129425833a172784ec3c6e21e9}{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+touch}} (\+\_\+T \&, \mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}}, typename \+\_\+\+T\+::\+Speed)
  58. \item
  59. {\footnotesize template$<$typename \+\_\+T $>$ }\\void \mbox{\hyperlink{classutl_1_1__1wire__i_a6deca63bf5935ba3c3aa07f6ca23e33a}{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+match}} (\+\_\+T \&obj, \mbox{\hyperlink{classutl_1_1__1wire__id__t}{\+\_\+1wire\+\_\+id\+\_\+t}} \&id, typename \+\_\+\+T\+::\+Speed s)
  60. \item
  61. {\footnotesize template$<$typename \+\_\+T $>$ }\\void \mbox{\hyperlink{classutl_1_1__1wire__i_a6b70d3457970aa791dd68e20800b6d0d}{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+match\+\_\+n\+\_\+ovdr}} (\+\_\+T \&obj, \mbox{\hyperlink{classutl_1_1__1wire__id__t}{\+\_\+1wire\+\_\+id\+\_\+t}} \&id)
  62. \item
  63. {\footnotesize template$<$typename \+\_\+T $>$ }\\void \mbox{\hyperlink{classutl_1_1__1wire__i_a9041b1220dfa52b4f4b161b718c3d33a}{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+skip}} (\+\_\+T \&obj, typename \+\_\+\+T\+::\+Speed s)
  64. \item
  65. {\footnotesize template$<$typename \+\_\+T $>$ }\\void \mbox{\hyperlink{classutl_1_1__1wire__i_af4dfbd90b0d5606f1f2e515d38a43d66}{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+skip\+\_\+n\+\_\+ovdr}} (\+\_\+T \&obj)
  66. \item
  67. {\footnotesize template$<$typename \+\_\+T $>$ }\\\mbox{\hyperlink{classutl_1_1__1wire__id__t}{\+\_\+1wire\+\_\+id\+\_\+t}} \mbox{\hyperlink{classutl_1_1__1wire__i_a05f0872f43d7b305269904d1522fa437}{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+first}} (\+\_\+T \&, typename \+\_\+\+T\+::\+Speed, bool)
  68. \item
  69. {\footnotesize template$<$typename \+\_\+T $>$ }\\\mbox{\hyperlink{classutl_1_1__1wire__id__t}{\+\_\+1wire\+\_\+id\+\_\+t}} \mbox{\hyperlink{classutl_1_1__1wire__i_af9a6a28b49cd3f51736f7c1f8e67327a}{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+next}} (\+\_\+T \&, typename \+\_\+\+T\+::\+Speed, bool)
  70. \end{DoxyCompactItemize}
  71. \subsection{Detailed Description}
  72. \subsubsection*{template$<$typename impl\+\_\+t$>$\newline
  73. class utl\+::\+\_\+1wire\+\_\+i$<$ impl\+\_\+t $>$}
  74. Template base class for 1-\/wire communication interface using C\+R\+TP.
  75. \begin{DoxyParams}{Parameters}
  76. {\em impl\+\_\+t} & The C\+R\+TP type (the derived/implementation class typename). \\
  77. \hline
  78. \end{DoxyParams}
  79. Definition at line 57 of file \+\_\+1wire.\+h.
  80. \subsection{Member Typedef Documentation}
  81. \mbox{\Hypertarget{classutl_1_1__1wire__i_afb63e64403924897a8277eb4159ebd44}\label{classutl_1_1__1wire__i_afb63e64403924897a8277eb4159ebd44}}
  82. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!type@{type}}
  83. \index{type@{type}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  84. \subsubsection{\texorpdfstring{type}{type}}
  85. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  86. using \mbox{\hyperlink{classutl_1_1__1wire__i}{utl\+::\+\_\+1wire\+\_\+i}}$<$ impl\+\_\+t $>$\+::\mbox{\hyperlink{classutl_1_1__1wire__i_afb63e64403924897a8277eb4159ebd44}{type}} = \mbox{\hyperlink{classutl_1_1__1wire__i}{\+\_\+1wire\+\_\+i}}}
  87. Export type as identity meta-\/function.
  88. Definition at line 61 of file \+\_\+1wire.\+h.
  89. \subsection{Member Enumeration Documentation}
  90. \mbox{\Hypertarget{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}\label{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}}
  91. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!Speed@{Speed}}
  92. \index{Speed@{Speed}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  93. \subsubsection{\texorpdfstring{Speed}{Speed}}
  94. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  95. enum \mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{utl\+::\+\_\+1wire\+\_\+i\+::\+Speed}}\hspace{0.3cm}{\ttfamily [strong]}}
  96. 1-\/wire bus speed
  97. \begin{DoxyEnumFields}{Enumerator}
  98. \raisebox{\heightof{T}}[0pt][0pt]{\index{S\+TD@{S\+TD}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}\index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!S\+TD@{S\+TD}}}\mbox{\Hypertarget{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}\label{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}}
  99. S\+TD&\\
  100. \hline
  101. \raisebox{\heightof{T}}[0pt][0pt]{\index{O\+V\+DR@{O\+V\+DR}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}\index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!O\+V\+DR@{O\+V\+DR}}}\mbox{\Hypertarget{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cca1cbf38b04c4249d8ec27d1ec96aaff68}\label{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cca1cbf38b04c4249d8ec27d1ec96aaff68}}
  102. O\+V\+DR&\\
  103. \hline
  104. \end{DoxyEnumFields}
  105. Definition at line 64 of file \+\_\+1wire.\+h.
  106. \subsection{Constructor \& Destructor Documentation}
  107. \mbox{\Hypertarget{classutl_1_1__1wire__i_a4839577d00fdcefb51ac8d4cd91f0f1a}\label{classutl_1_1__1wire__i_a4839577d00fdcefb51ac8d4cd91f0f1a}}
  108. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!\+\_\+1wire\+\_\+i@{\+\_\+1wire\+\_\+i}}
  109. \index{\+\_\+1wire\+\_\+i@{\+\_\+1wire\+\_\+i}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  110. \subsubsection{\texorpdfstring{\+\_\+1wire\+\_\+i()}{\_1wire\_i()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
  111. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  112. \mbox{\hyperlink{classutl_1_1__1wire__i}{utl\+::\+\_\+1wire\+\_\+i}}$<$ impl\+\_\+t $>$\+::\mbox{\hyperlink{classutl_1_1__1wire__i}{\+\_\+1wire\+\_\+i}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [default]}}
  113. Allow constructor from derived only.
  114. \mbox{\Hypertarget{classutl_1_1__1wire__i_afb146fda251b25c9fc812718f6c5b3e1}\label{classutl_1_1__1wire__i_afb146fda251b25c9fc812718f6c5b3e1}}
  115. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!````~\+\_\+1wire\+\_\+i@{$\sim$\+\_\+1wire\+\_\+i}}
  116. \index{````~\+\_\+1wire\+\_\+i@{$\sim$\+\_\+1wire\+\_\+i}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  117. \subsubsection{\texorpdfstring{$\sim$\+\_\+1wire\+\_\+i()}{~\_1wire\_i()}}
  118. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  119. \mbox{\hyperlink{classutl_1_1__1wire__i}{utl\+::\+\_\+1wire\+\_\+i}}$<$ impl\+\_\+t $>$\+::$\sim$\mbox{\hyperlink{classutl_1_1__1wire__i}{\+\_\+1wire\+\_\+i}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [default]}}
  120. Allow destructor from derived only.
  121. \mbox{\Hypertarget{classutl_1_1__1wire__i_adc539ccd0e41f8f830bd96c362094c14}\label{classutl_1_1__1wire__i_adc539ccd0e41f8f830bd96c362094c14}}
  122. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!\+\_\+1wire\+\_\+i@{\+\_\+1wire\+\_\+i}}
  123. \index{\+\_\+1wire\+\_\+i@{\+\_\+1wire\+\_\+i}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  124. \subsubsection{\texorpdfstring{\+\_\+1wire\+\_\+i()}{\_1wire\_i()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
  125. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  126. \mbox{\hyperlink{classutl_1_1__1wire__i}{utl\+::\+\_\+1wire\+\_\+i}}$<$ impl\+\_\+t $>$\+::\mbox{\hyperlink{classutl_1_1__1wire__i}{\+\_\+1wire\+\_\+i}} (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1__1wire__i}{\+\_\+1wire\+\_\+i}}$<$ impl\+\_\+t $>$ \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [delete]}}
  127. No copies.
  128. \subsection{Member Function Documentation}
  129. \mbox{\Hypertarget{classutl_1_1__1wire__i_a4b6d225963095d36eda832a1e0adba55}\label{classutl_1_1__1wire__i_a4b6d225963095d36eda832a1e0adba55}}
  130. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!first@{first}}
  131. \index{first@{first}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  132. \subsubsection{\texorpdfstring{first()}{first()}}
  133. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  134. \mbox{\hyperlink{classutl_1_1__1wire__id__t}{\+\_\+1wire\+\_\+id\+\_\+t}} \mbox{\hyperlink{classutl_1_1__1wire__i}{utl\+::\+\_\+1wire\+\_\+i}}$<$ impl\+\_\+t $>$\+::first (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{Speed}}}]{s = {\ttfamily \mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}{Speed\+::\+S\+TD}}}, }\item[{bool}]{alarm = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  135. \textquotesingle{}first\textquotesingle{} 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.
  136. \begin{DoxyParams}{Parameters}
  137. {\em s} & The bus speed \\
  138. \hline
  139. {\em alarm} & If set, search for alarm devices \\
  140. \hline
  141. \end{DoxyParams}
  142. \begin{DoxyReturn}{Returns}
  143. ID The rom\+ID \begin{DoxyItemize}
  144. \item null\+Dev Indicate no \mbox{[}more\mbox{]} device\mbox{[}s\mbox{]} \end{DoxyItemize}
  145. \end{DoxyReturn}
  146. Definition at line 207 of file \+\_\+1wire.\+h.
  147. \mbox{\Hypertarget{classutl_1_1__1wire__i_aa2d87a149c4e5dcfefc5a8cde6eaefb2}\label{classutl_1_1__1wire__i_aa2d87a149c4e5dcfefc5a8cde6eaefb2}}
  148. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!match@{match}}
  149. \index{match@{match}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  150. \subsubsection{\texorpdfstring{match()}{match()}}
  151. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  152. void \mbox{\hyperlink{classutl_1_1__1wire__i}{utl\+::\+\_\+1wire\+\_\+i}}$<$ impl\+\_\+t $>$\+::match (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classutl_1_1__1wire__id__t}{\+\_\+1wire\+\_\+id\+\_\+t}} \&}]{id, }\item[{\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{Speed}}}]{s = {\ttfamily \mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}{Speed\+::\+S\+TD}}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  153. Send match rom command
  154. \begin{DoxyParams}{Parameters}
  155. {\em id} & The ID to select on the bus \\
  156. \hline
  157. {\em s} & The speed to use for the command \\
  158. \hline
  159. \end{DoxyParams}
  160. Definition at line 173 of file \+\_\+1wire.\+h.
  161. \mbox{\Hypertarget{classutl_1_1__1wire__i_ac88f67dd75dc23d39123ac584dce6b40}\label{classutl_1_1__1wire__i_ac88f67dd75dc23d39123ac584dce6b40}}
  162. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!match\+\_\+n\+\_\+ovdr@{match\+\_\+n\+\_\+ovdr}}
  163. \index{match\+\_\+n\+\_\+ovdr@{match\+\_\+n\+\_\+ovdr}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  164. \subsubsection{\texorpdfstring{match\+\_\+n\+\_\+ovdr()}{match\_n\_ovdr()}}
  165. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  166. void \mbox{\hyperlink{classutl_1_1__1wire__i}{utl\+::\+\_\+1wire\+\_\+i}}$<$ impl\+\_\+t $>$\+::match\+\_\+n\+\_\+ovdr (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classutl_1_1__1wire__id__t}{\+\_\+1wire\+\_\+id\+\_\+t}} \&}]{id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  167. Match and overdrive sequence
  168. \begin{DoxyParams}{Parameters}
  169. {\em obj} & The object from which we call private members \\
  170. \hline
  171. {\em id} & The ID to select on the bus \\
  172. \hline
  173. \end{DoxyParams}
  174. Definition at line 181 of file \+\_\+1wire.\+h.
  175. \mbox{\Hypertarget{classutl_1_1__1wire__i_a3e302085f12a39fef8a378e1dac42f45}\label{classutl_1_1__1wire__i_a3e302085f12a39fef8a378e1dac42f45}}
  176. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!next@{next}}
  177. \index{next@{next}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  178. \subsubsection{\texorpdfstring{next()}{next()}}
  179. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  180. \mbox{\hyperlink{classutl_1_1__1wire__id__t}{\+\_\+1wire\+\_\+id\+\_\+t}} \mbox{\hyperlink{classutl_1_1__1wire__i}{utl\+::\+\_\+1wire\+\_\+i}}$<$ impl\+\_\+t $>$\+::next (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{Speed}}}]{s = {\ttfamily \mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}{Speed\+::\+S\+TD}}}, }\item[{bool}]{alarm = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  181. \textquotesingle{}next\textquotesingle{} operation, to search on the 1-\/\+Wire for the next device. This search is usually performed after a \textquotesingle{}first\textquotesingle{} operation or another \textquotesingle{}next\textquotesingle{} operation. Based on maxim-\/ic application note 187.
  182. \begin{DoxyParams}{Parameters}
  183. {\em s} & The bus speed \\
  184. \hline
  185. {\em alarm} & If set, search for alarm devices \\
  186. \hline
  187. \end{DoxyParams}
  188. \begin{DoxyReturn}{Returns}
  189. ID The rom\+ID \begin{DoxyItemize}
  190. \item null\+Dev Indicate no \mbox{[}more\mbox{]} device\mbox{[}s\mbox{]} \end{DoxyItemize}
  191. \end{DoxyReturn}
  192. Definition at line 220 of file \+\_\+1wire.\+h.
  193. \mbox{\Hypertarget{classutl_1_1__1wire__i_a96222b5bd731c2b242e428aabda40642}\label{classutl_1_1__1wire__i_a96222b5bd731c2b242e428aabda40642}}
  194. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!operator=@{operator=}}
  195. \index{operator=@{operator=}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  196. \subsubsection{\texorpdfstring{operator=()}{operator=()}}
  197. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  198. \mbox{\hyperlink{classutl_1_1__1wire__i}{\+\_\+1wire\+\_\+i}}\& \mbox{\hyperlink{classutl_1_1__1wire__i}{utl\+::\+\_\+1wire\+\_\+i}}$<$ impl\+\_\+t $>$\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1__1wire__i}{\+\_\+1wire\+\_\+i}}$<$ impl\+\_\+t $>$ \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [delete]}}
  199. \mbox{\Hypertarget{classutl_1_1__1wire__i_a0a7ef731162e81e0e2e07ae9cb9e6ffa}\label{classutl_1_1__1wire__i_a0a7ef731162e81e0e2e07ae9cb9e6ffa}}
  200. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!reset@{reset}}
  201. \index{reset@{reset}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  202. \subsubsection{\texorpdfstring{reset()}{reset()}}
  203. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  204. bool \mbox{\hyperlink{classutl_1_1__1wire__i}{utl\+::\+\_\+1wire\+\_\+i}}$<$ impl\+\_\+t $>$\+::reset (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{Speed}}}]{s = {\ttfamily \mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}{Speed\+::\+S\+TD}}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  205. Generate a 1-\/wire reset.
  206. \begin{DoxyParams}{Parameters}
  207. {\em s} & Bus speed \\
  208. \hline
  209. \end{DoxyParams}
  210. \begin{DoxyReturn}{Returns}
  211. The status of the operation \begin{DoxyItemize}
  212. \item 0 Fail \item 1 Success \end{DoxyItemize}
  213. \end{DoxyReturn}
  214. Definition at line 128 of file \+\_\+1wire.\+h.
  215. \mbox{\Hypertarget{classutl_1_1__1wire__i_a2585e7166d14b7f36bd47db2e43cc0b1}\label{classutl_1_1__1wire__i_a2585e7166d14b7f36bd47db2e43cc0b1}}
  216. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!rx\+\_\+data@{rx\+\_\+data}}
  217. \index{rx\+\_\+data@{rx\+\_\+data}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  218. \subsubsection{\texorpdfstring{rx\+\_\+data()}{rx\_data()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
  219. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  220. \mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}} \mbox{\hyperlink{classutl_1_1__1wire__i}{utl\+::\+\_\+1wire\+\_\+i}}$<$ impl\+\_\+t $>$\+::rx\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{Speed}}}]{s = {\ttfamily \mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}{Speed\+::\+S\+TD}}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  221. Receive a byte from 1-\/\+Wire bus while transmitting 0x\+FF
  222. \begin{DoxyParams}{Parameters}
  223. {\em s} & Bus speed to use \\
  224. \hline
  225. \end{DoxyParams}
  226. \begin{DoxyReturn}{Returns}
  227. The byte received.
  228. \end{DoxyReturn}
  229. Definition at line 156 of file \+\_\+1wire.\+h.
  230. \mbox{\Hypertarget{classutl_1_1__1wire__i_ad20382d5d50ee7d457bc4079b9c38a2a}\label{classutl_1_1__1wire__i_ad20382d5d50ee7d457bc4079b9c38a2a}}
  231. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!rx\+\_\+data@{rx\+\_\+data}}
  232. \index{rx\+\_\+data@{rx\+\_\+data}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  233. \subsubsection{\texorpdfstring{rx\+\_\+data()}{rx\_data()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
  234. {\footnotesize\ttfamily template$<$typename \+\_\+I $>$ \\
  235. \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} \mbox{\hyperlink{classutl_1_1__1wire__i}{utl\+::\+\_\+1wire\+\_\+i}}$<$ \+\_\+I $>$\+::rx\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}} $\ast$}]{in, }\item[{\mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}}}]{n, }\item[{\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{Speed}}}]{s = {\ttfamily \mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}{Speed\+::\+S\+TD}}} }\end{DoxyParamCaption})}
  236. Receive a number of bytes from 1-\/wire bus while transmitting 0x\+F\+Fs
  237. \begin{DoxyParams}{Parameters}
  238. {\em in} & Pointer to data to store \\
  239. \hline
  240. {\em n} & Number of bytes \\
  241. \hline
  242. {\em s} & Speed to use \\
  243. \hline
  244. \end{DoxyParams}
  245. \begin{DoxyReturn}{Returns}
  246. The number of transmitted bytes
  247. \end{DoxyReturn}
  248. Definition at line 248 of file \+\_\+1wire.\+h.
  249. \mbox{\Hypertarget{classutl_1_1__1wire__i_a0a405f818fd45eb2799e6b4477021a0a}\label{classutl_1_1__1wire__i_a0a405f818fd45eb2799e6b4477021a0a}}
  250. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!skip@{skip}}
  251. \index{skip@{skip}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  252. \subsubsection{\texorpdfstring{skip()}{skip()}}
  253. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  254. void \mbox{\hyperlink{classutl_1_1__1wire__i}{utl\+::\+\_\+1wire\+\_\+i}}$<$ impl\+\_\+t $>$\+::skip (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{Speed}}}]{s = {\ttfamily \mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}{Speed\+::\+S\+TD}}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  255. Send skip command to the bus
  256. \begin{DoxyParams}{Parameters}
  257. {\em id} & The ID to select on the bus \\
  258. \hline
  259. \end{DoxyParams}
  260. Definition at line 188 of file \+\_\+1wire.\+h.
  261. \mbox{\Hypertarget{classutl_1_1__1wire__i_a8b0b0ea95c02a40721f1e159119b3506}\label{classutl_1_1__1wire__i_a8b0b0ea95c02a40721f1e159119b3506}}
  262. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!skip\+\_\+n\+\_\+ovdr@{skip\+\_\+n\+\_\+ovdr}}
  263. \index{skip\+\_\+n\+\_\+ovdr@{skip\+\_\+n\+\_\+ovdr}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  264. \subsubsection{\texorpdfstring{skip\+\_\+n\+\_\+ovdr()}{skip\_n\_ovdr()}}
  265. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  266. void \mbox{\hyperlink{classutl_1_1__1wire__i}{utl\+::\+\_\+1wire\+\_\+i}}$<$ impl\+\_\+t $>$\+::skip\+\_\+n\+\_\+ovdr (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  267. Send the Skip and Overdrive sequence
  268. Definition at line 194 of file \+\_\+1wire.\+h.
  269. \mbox{\Hypertarget{classutl_1_1__1wire__i_a59e7196e10e53467b62ed369ff78f07d}\label{classutl_1_1__1wire__i_a59e7196e10e53467b62ed369ff78f07d}}
  270. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!tx\+\_\+data@{tx\+\_\+data}}
  271. \index{tx\+\_\+data@{tx\+\_\+data}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  272. \subsubsection{\texorpdfstring{tx\+\_\+data()}{tx\_data()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
  273. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  274. \mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}} \mbox{\hyperlink{classutl_1_1__1wire__i}{utl\+::\+\_\+1wire\+\_\+i}}$<$ impl\+\_\+t $>$\+::tx\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}}}]{out, }\item[{\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{Speed}}}]{s = {\ttfamily \mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}{Speed\+::\+S\+TD}}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  275. Transmit a byte to 1-\/\+Wire bus and read the response
  276. \begin{DoxyParams}{Parameters}
  277. {\em out} & The byte to write \\
  278. \hline
  279. {\em s} & Bus speed to use \\
  280. \hline
  281. \end{DoxyParams}
  282. \begin{DoxyReturn}{Returns}
  283. The byte received.
  284. \end{DoxyReturn}
  285. Definition at line 138 of file \+\_\+1wire.\+h.
  286. \mbox{\Hypertarget{classutl_1_1__1wire__i_ab3bd112ff66074bdaf7357b91ca692a8}\label{classutl_1_1__1wire__i_ab3bd112ff66074bdaf7357b91ca692a8}}
  287. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!tx\+\_\+data@{tx\+\_\+data}}
  288. \index{tx\+\_\+data@{tx\+\_\+data}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  289. \subsubsection{\texorpdfstring{tx\+\_\+data()}{tx\_data()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
  290. {\footnotesize\ttfamily template$<$typename \+\_\+I $>$ \\
  291. \mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}} \mbox{\hyperlink{classutl_1_1__1wire__i}{utl\+::\+\_\+1wire\+\_\+i}}$<$ \+\_\+I $>$\+::tx\+\_\+data (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}} $\ast$}]{out, }\item[{\mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}} $\ast$}]{in, }\item[{\mbox{\hyperlink{namespaceutl_a22cbecb50ee5c1032de66133e96cbac6}{size\+\_\+t}}}]{n, }\item[{\mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25cc}{Speed}}}]{s = {\ttfamily \mbox{\hyperlink{classutl_1_1__1wire__i_a56bb736aa3620d7795b5914cac5f25ccac6ce23be5d350ce18a665427d2d950f7}{Speed\+::\+S\+TD}}} }\end{DoxyParamCaption})}
  292. Transmit a number of bytes to 1-\/wire bus and read the response
  293. \begin{DoxyParams}{Parameters}
  294. {\em out} & Pointer to data to transmit \\
  295. \hline
  296. {\em in} & Pointer to data to store \\
  297. \hline
  298. {\em n} & Number of bytes \\
  299. \hline
  300. {\em s} & Speed to use \\
  301. \hline
  302. \end{DoxyParams}
  303. \begin{DoxyReturn}{Returns}
  304. The number of transmitted bytes
  305. \end{DoxyReturn}
  306. Definition at line 241 of file \+\_\+1wire.\+h.
  307. \subsection{Friends And Related Function Documentation}
  308. \mbox{\Hypertarget{classutl_1_1__1wire__i_a05f0872f43d7b305269904d1522fa437}\label{classutl_1_1__1wire__i_a05f0872f43d7b305269904d1522fa437}}
  309. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+first@{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+first}}
  310. \index{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+first@{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+first}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  311. \subsubsection{\texorpdfstring{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+first}{\_1wire\_i\_det::\_first}}
  312. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  313. template$<$typename \+\_\+T $>$ \\
  314. \mbox{\hyperlink{classutl_1_1__1wire__id__t}{\+\_\+1wire\+\_\+id\+\_\+t}} \mbox{\hyperlink{namespaceutl_1_1__1wire__i__det_a237719ffa105f988cb175d6720712a4a}{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+first}} (\begin{DoxyParamCaption}\item[{\+\_\+T \&}]{, }\item[{typename \+\_\+\+T\+::\+Speed}]{, }\item[{bool}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}
  315. \mbox{\Hypertarget{classutl_1_1__1wire__i_a6deca63bf5935ba3c3aa07f6ca23e33a}\label{classutl_1_1__1wire__i_a6deca63bf5935ba3c3aa07f6ca23e33a}}
  316. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+match@{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+match}}
  317. \index{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+match@{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+match}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  318. \subsubsection{\texorpdfstring{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+match}{\_1wire\_i\_det::\_match}}
  319. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  320. template$<$typename \+\_\+T $>$ \\
  321. void \mbox{\hyperlink{namespaceutl_1_1__1wire__i__det_a1b07e623a39ce82f1514846169f3a954}{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+match}} (\begin{DoxyParamCaption}\item[{\+\_\+T \&}]{obj, }\item[{\mbox{\hyperlink{classutl_1_1__1wire__id__t}{\+\_\+1wire\+\_\+id\+\_\+t}} \&}]{id, }\item[{typename \+\_\+\+T\+::\+Speed}]{s }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}
  322. \mbox{\Hypertarget{classutl_1_1__1wire__i_a6b70d3457970aa791dd68e20800b6d0d}\label{classutl_1_1__1wire__i_a6b70d3457970aa791dd68e20800b6d0d}}
  323. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+match\+\_\+n\+\_\+ovdr@{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+match\+\_\+n\+\_\+ovdr}}
  324. \index{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+match\+\_\+n\+\_\+ovdr@{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+match\+\_\+n\+\_\+ovdr}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  325. \subsubsection{\texorpdfstring{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+match\+\_\+n\+\_\+ovdr}{\_1wire\_i\_det::\_match\_n\_ovdr}}
  326. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  327. template$<$typename \+\_\+T $>$ \\
  328. void \mbox{\hyperlink{namespaceutl_1_1__1wire__i__det_a1e14f734d5e232c914be6ea97982aa40}{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+match\+\_\+n\+\_\+ovdr}} (\begin{DoxyParamCaption}\item[{\+\_\+T \&}]{obj, }\item[{\mbox{\hyperlink{classutl_1_1__1wire__id__t}{\+\_\+1wire\+\_\+id\+\_\+t}} \&}]{id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}
  329. \mbox{\Hypertarget{classutl_1_1__1wire__i_af9a6a28b49cd3f51736f7c1f8e67327a}\label{classutl_1_1__1wire__i_af9a6a28b49cd3f51736f7c1f8e67327a}}
  330. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+next@{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+next}}
  331. \index{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+next@{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+next}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  332. \subsubsection{\texorpdfstring{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+next}{\_1wire\_i\_det::\_next}}
  333. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  334. template$<$typename \+\_\+T $>$ \\
  335. \mbox{\hyperlink{classutl_1_1__1wire__id__t}{\+\_\+1wire\+\_\+id\+\_\+t}} \mbox{\hyperlink{namespaceutl_1_1__1wire__i__det_a1f7b692a40769ebe59343613b147e01d}{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+next}} (\begin{DoxyParamCaption}\item[{\+\_\+T \&}]{, }\item[{typename \+\_\+\+T\+::\+Speed}]{, }\item[{bool}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}
  336. \mbox{\Hypertarget{classutl_1_1__1wire__i_a9041b1220dfa52b4f4b161b718c3d33a}\label{classutl_1_1__1wire__i_a9041b1220dfa52b4f4b161b718c3d33a}}
  337. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+skip@{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+skip}}
  338. \index{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+skip@{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+skip}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  339. \subsubsection{\texorpdfstring{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+skip}{\_1wire\_i\_det::\_skip}}
  340. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  341. template$<$typename \+\_\+T $>$ \\
  342. void \mbox{\hyperlink{namespaceutl_1_1__1wire__i__det_a9ea80f4ef2422a7fd71788c42b228053}{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+skip}} (\begin{DoxyParamCaption}\item[{\+\_\+T \&}]{obj, }\item[{typename \+\_\+\+T\+::\+Speed}]{s }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}
  343. \mbox{\Hypertarget{classutl_1_1__1wire__i_af4dfbd90b0d5606f1f2e515d38a43d66}\label{classutl_1_1__1wire__i_af4dfbd90b0d5606f1f2e515d38a43d66}}
  344. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+skip\+\_\+n\+\_\+ovdr@{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+skip\+\_\+n\+\_\+ovdr}}
  345. \index{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+skip\+\_\+n\+\_\+ovdr@{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+skip\+\_\+n\+\_\+ovdr}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  346. \subsubsection{\texorpdfstring{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+skip\+\_\+n\+\_\+ovdr}{\_1wire\_i\_det::\_skip\_n\_ovdr}}
  347. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  348. template$<$typename \+\_\+T $>$ \\
  349. void \mbox{\hyperlink{namespaceutl_1_1__1wire__i__det_ace224a4d329166bfd9f3448e492baf2b}{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+skip\+\_\+n\+\_\+ovdr}} (\begin{DoxyParamCaption}\item[{\+\_\+T \&}]{obj }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}
  350. \mbox{\Hypertarget{classutl_1_1__1wire__i_aedee6f129425833a172784ec3c6e21e9}\label{classutl_1_1__1wire__i_aedee6f129425833a172784ec3c6e21e9}}
  351. \index{utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}!\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+touch@{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+touch}}
  352. \index{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+touch@{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+touch}!utl\+::\+\_\+1wire\+\_\+i@{utl\+::\+\_\+1wire\+\_\+i}}
  353. \subsubsection{\texorpdfstring{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+touch}{\_1wire\_i\_det::\_touch}}
  354. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  355. template$<$typename \+\_\+T $>$ \\
  356. \mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}} \mbox{\hyperlink{namespaceutl_1_1__1wire__i__det_a85a3a19778edb037f6341f37135a5494}{\+\_\+1wire\+\_\+i\+\_\+det\+::\+\_\+touch}} (\begin{DoxyParamCaption}\item[{\+\_\+T \&}]{, }\item[{\mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}}}]{, }\item[{typename \+\_\+\+T\+::\+Speed}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}
  357. The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
  358. \item
  359. include/utl/com/\mbox{\hyperlink{__1wire_8h}{\+\_\+1wire.\+h}}\end{DoxyCompactItemize}