Micro template library A library for building device drivers
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 

293 líneas
17 KiB

  1. \hypertarget{classutl_1_1i2c__i}{}\section{utl\+:\+:i2c\+\_\+i$<$ impl\+\_\+t $>$ Class Template Reference}
  2. \label{classutl_1_1i2c__i}\index{utl\+::i2c\+\_\+i$<$ impl\+\_\+t $>$@{utl\+::i2c\+\_\+i$<$ impl\+\_\+t $>$}}
  3. Abstract base class for i2c bus.
  4. {\ttfamily \#include $<$i2c.\+h$>$}
  5. Inheritance diagram for utl\+:\+:i2c\+\_\+i$<$ impl\+\_\+t $>$\+:\begin{figure}[H]
  6. \begin{center}
  7. \leavevmode
  8. \includegraphics[height=2.000000cm]{classutl_1_1i2c__i}
  9. \end{center}
  10. \end{figure}
  11. \subsection*{Public Types}
  12. \begin{DoxyCompactItemize}
  13. \item
  14. enum \mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5}{Sequence}} \{ \mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5ae409eb2ba6eb6801f52763ae370c350e}{Sequence\+::\+B\+Y\+TE}} =0,
  15. \mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5a0fc437bc317835cad5faafc12a83fad5}{Sequence\+::\+A\+CK}},
  16. \mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5a01af7e5aa5863a91810dd4e5d0e383ce}{Sequence\+::\+B\+Y\+T\+En\+A\+CK}}
  17. \}
  18. \begin{DoxyCompactList}\small\item\em I2C transmit/receive sequence. \end{DoxyCompactList}\item
  19. using \mbox{\hyperlink{classutl_1_1i2c__i_aa9267a8602702b78f188e0cf61b68a55}{type}} = \mbox{\hyperlink{classutl_1_1i2c__i}{i2c\+\_\+i}}$<$ impl\+\_\+t $>$
  20. \end{DoxyCompactItemize}
  21. \subsection*{Public Member Functions}
  22. \begin{Indent}\textbf{ Get/\+Set functions}\par
  23. \begin{DoxyCompactItemize}
  24. \item
  25. uint32\+\_\+t \mbox{\hyperlink{classutl_1_1i2c__i_aac5fed816701cc4543acd717ec804ac0}{clock}} () const
  26. \item
  27. void \mbox{\hyperlink{classutl_1_1i2c__i_ae4c59938aeeb1f0726195d425a4c0083}{clock}} (uint32\+\_\+t f)
  28. \begin{DoxyCompactList}\small\item\em set clock frequency of the bus \end{DoxyCompactList}\end{DoxyCompactItemize}
  29. \end{Indent}
  30. \begin{Indent}\textbf{ User functions}\par
  31. \begin{DoxyCompactItemize}
  32. \item
  33. void \mbox{\hyperlink{classutl_1_1i2c__i_a3591683e5fbf17b582f6ac1f79af871d}{start}} ()
  34. \begin{DoxyCompactList}\small\item\em Send start functionality. \end{DoxyCompactList}\item
  35. void \mbox{\hyperlink{classutl_1_1i2c__i_a1310b52ac908b8c37059fb253cc3f56e}{stop}} ()
  36. \begin{DoxyCompactList}\small\item\em Send stop functionality. \end{DoxyCompactList}\item
  37. \mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}} \mbox{\hyperlink{classutl_1_1i2c__i_ab2f6a579096b4872f5dfd1530e200eda}{rx\+\_\+data}} (bool ack, \mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5}{Sequence}} seq=\mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5a01af7e5aa5863a91810dd4e5d0e383ce}{Sequence\+::\+B\+Y\+T\+En\+A\+CK}})
  38. \begin{DoxyCompactList}\small\item\em Receive a byte from the i2c bus. \end{DoxyCompactList}\item
  39. bool \mbox{\hyperlink{classutl_1_1i2c__i_aaf0b0ceec57fd8014ea3e6b58e9bfe3d}{tx\+\_\+data}} (\mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}} byte, \mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5}{Sequence}} seq=\mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5a01af7e5aa5863a91810dd4e5d0e383ce}{Sequence\+::\+B\+Y\+T\+En\+A\+CK}})
  40. \begin{DoxyCompactList}\small\item\em Transmit a byte to the i2c bus. \end{DoxyCompactList}\end{DoxyCompactItemize}
  41. \end{Indent}
  42. \subsection*{Protected Member Functions}
  43. \begin{Indent}\textbf{ Object lifetime}\par
  44. \begin{DoxyCompactItemize}
  45. \item
  46. \mbox{\hyperlink{classutl_1_1i2c__i_a84375c05d1c40d9992aa1290dd488410}{i2c\+\_\+i}} ()=default
  47. \begin{DoxyCompactList}\small\item\em Allow constructor from derived only. \end{DoxyCompactList}\item
  48. \mbox{\hyperlink{classutl_1_1i2c__i_a6a07d19db8974ad606031b60a6079957}{$\sim$i2c\+\_\+i}} ()=default
  49. \begin{DoxyCompactList}\small\item\em Allow destructor from derived only. \end{DoxyCompactList}\item
  50. \mbox{\hyperlink{classutl_1_1i2c__i_adff01408628f58b7c6ce9b0cd63d70df}{i2c\+\_\+i}} (const \mbox{\hyperlink{classutl_1_1i2c__i_aa9267a8602702b78f188e0cf61b68a55}{type}} \&)=delete
  51. \begin{DoxyCompactList}\small\item\em No copies. \end{DoxyCompactList}\item
  52. \mbox{\hyperlink{classutl_1_1i2c__i_aa9267a8602702b78f188e0cf61b68a55}{type}} \& \mbox{\hyperlink{classutl_1_1i2c__i_aee83d11e02c3a0639dd3ed1ea440ed24}{operator=}} (const \mbox{\hyperlink{classutl_1_1i2c__i_aa9267a8602702b78f188e0cf61b68a55}{type}} \&)=delete
  53. \end{DoxyCompactItemize}
  54. \end{Indent}
  55. \subsection{Detailed Description}
  56. \subsubsection*{template$<$typename impl\+\_\+t$>$\newline
  57. class utl\+::i2c\+\_\+i$<$ impl\+\_\+t $>$}
  58. Abstract base class for i2c bus.
  59. this class force a common interface for I2C communication protocol implementations using C\+R\+TP
  60. \begin{DoxyParams}{Parameters}
  61. {\em impl\+\_\+t} & The C\+R\+TP type (the derived/implementation class typename). \\
  62. \hline
  63. \end{DoxyParams}
  64. Definition at line 43 of file i2c.\+h.
  65. \subsection{Member Typedef Documentation}
  66. \mbox{\Hypertarget{classutl_1_1i2c__i_aa9267a8602702b78f188e0cf61b68a55}\label{classutl_1_1i2c__i_aa9267a8602702b78f188e0cf61b68a55}}
  67. \index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!type@{type}}
  68. \index{type@{type}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
  69. \subsubsection{\texorpdfstring{type}{type}}
  70. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  71. using \mbox{\hyperlink{classutl_1_1i2c__i}{utl\+::i2c\+\_\+i}}$<$ impl\+\_\+t $>$\+::\mbox{\hyperlink{classutl_1_1i2c__i_aa9267a8602702b78f188e0cf61b68a55}{type}} = \mbox{\hyperlink{classutl_1_1i2c__i}{i2c\+\_\+i}}$<$impl\+\_\+t$>$}
  72. Export type as identity meta-\/function
  73. Definition at line 47 of file i2c.\+h.
  74. \subsection{Member Enumeration Documentation}
  75. \mbox{\Hypertarget{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5}\label{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5}}
  76. \index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!Sequence@{Sequence}}
  77. \index{Sequence@{Sequence}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
  78. \subsubsection{\texorpdfstring{Sequence}{Sequence}}
  79. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  80. enum \mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5}{utl\+::i2c\+\_\+i\+::\+Sequence}}\hspace{0.3cm}{\ttfamily [strong]}}
  81. I2C transmit/receive sequence.
  82. \begin{DoxyEnumFields}{Enumerator}
  83. \raisebox{\heightof{T}}[0pt][0pt]{\index{B\+Y\+TE@{B\+Y\+TE}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}\index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!B\+Y\+TE@{B\+Y\+TE}}}\mbox{\Hypertarget{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5ae409eb2ba6eb6801f52763ae370c350e}\label{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5ae409eb2ba6eb6801f52763ae370c350e}}
  84. B\+Y\+TE&Only read/write byte \mbox{[}8 clocks\mbox{]}. \\
  85. \hline
  86. \raisebox{\heightof{T}}[0pt][0pt]{\index{A\+CK@{A\+CK}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}\index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!A\+CK@{A\+CK}}}\mbox{\Hypertarget{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5a0fc437bc317835cad5faafc12a83fad5}\label{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5a0fc437bc317835cad5faafc12a83fad5}}
  87. A\+CK&Only send/receive ack \mbox{[}1 clock\mbox{]}. \\
  88. \hline
  89. \raisebox{\heightof{T}}[0pt][0pt]{\index{B\+Y\+T\+En\+A\+CK@{B\+Y\+T\+En\+A\+CK}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}\index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!B\+Y\+T\+En\+A\+CK@{B\+Y\+T\+En\+A\+CK}}}\mbox{\Hypertarget{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5a01af7e5aa5863a91810dd4e5d0e383ce}\label{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5a01af7e5aa5863a91810dd4e5d0e383ce}}
  90. B\+Y\+T\+En\+A\+CK&Read/\+Write byte and ack \mbox{[}9 clocks\mbox{]}. \\
  91. \hline
  92. \end{DoxyEnumFields}
  93. Definition at line 49 of file i2c.\+h.
  94. \subsection{Constructor \& Destructor Documentation}
  95. \mbox{\Hypertarget{classutl_1_1i2c__i_a84375c05d1c40d9992aa1290dd488410}\label{classutl_1_1i2c__i_a84375c05d1c40d9992aa1290dd488410}}
  96. \index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!i2c\+\_\+i@{i2c\+\_\+i}}
  97. \index{i2c\+\_\+i@{i2c\+\_\+i}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
  98. \subsubsection{\texorpdfstring{i2c\+\_\+i()}{i2c\_i()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
  99. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  100. \mbox{\hyperlink{classutl_1_1i2c__i}{utl\+::i2c\+\_\+i}}$<$ impl\+\_\+t $>$\+::\mbox{\hyperlink{classutl_1_1i2c__i}{i2c\+\_\+i}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [default]}}
  101. Allow constructor from derived only.
  102. \mbox{\Hypertarget{classutl_1_1i2c__i_a6a07d19db8974ad606031b60a6079957}\label{classutl_1_1i2c__i_a6a07d19db8974ad606031b60a6079957}}
  103. \index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!````~i2c\+\_\+i@{$\sim$i2c\+\_\+i}}
  104. \index{````~i2c\+\_\+i@{$\sim$i2c\+\_\+i}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
  105. \subsubsection{\texorpdfstring{$\sim$i2c\+\_\+i()}{~i2c\_i()}}
  106. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  107. \mbox{\hyperlink{classutl_1_1i2c__i}{utl\+::i2c\+\_\+i}}$<$ impl\+\_\+t $>$\+::$\sim$\mbox{\hyperlink{classutl_1_1i2c__i}{i2c\+\_\+i}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [default]}}
  108. Allow destructor from derived only.
  109. \mbox{\Hypertarget{classutl_1_1i2c__i_adff01408628f58b7c6ce9b0cd63d70df}\label{classutl_1_1i2c__i_adff01408628f58b7c6ce9b0cd63d70df}}
  110. \index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!i2c\+\_\+i@{i2c\+\_\+i}}
  111. \index{i2c\+\_\+i@{i2c\+\_\+i}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
  112. \subsubsection{\texorpdfstring{i2c\+\_\+i()}{i2c\_i()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
  113. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  114. \mbox{\hyperlink{classutl_1_1i2c__i}{utl\+::i2c\+\_\+i}}$<$ impl\+\_\+t $>$\+::\mbox{\hyperlink{classutl_1_1i2c__i}{i2c\+\_\+i}} (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1i2c__i_aa9267a8602702b78f188e0cf61b68a55}{type}} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [delete]}}
  115. No copies.
  116. \subsection{Member Function Documentation}
  117. \mbox{\Hypertarget{classutl_1_1i2c__i_aac5fed816701cc4543acd717ec804ac0}\label{classutl_1_1i2c__i_aac5fed816701cc4543acd717ec804ac0}}
  118. \index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!clock@{clock}}
  119. \index{clock@{clock}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
  120. \subsubsection{\texorpdfstring{clock()}{clock()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
  121. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  122. uint32\+\_\+t \mbox{\hyperlink{classutl_1_1i2c__i}{utl\+::i2c\+\_\+i}}$<$ impl\+\_\+t $>$\+::clock (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}
  123. \begin{DoxyReturn}{Returns}
  124. clock frequency of the bus
  125. \end{DoxyReturn}
  126. Definition at line 87 of file i2c.\+h.
  127. \mbox{\Hypertarget{classutl_1_1i2c__i_ae4c59938aeeb1f0726195d425a4c0083}\label{classutl_1_1i2c__i_ae4c59938aeeb1f0726195d425a4c0083}}
  128. \index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!clock@{clock}}
  129. \index{clock@{clock}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
  130. \subsubsection{\texorpdfstring{clock()}{clock()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
  131. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  132. void \mbox{\hyperlink{classutl_1_1i2c__i}{utl\+::i2c\+\_\+i}}$<$ impl\+\_\+t $>$\+::clock (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{f }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  133. set clock frequency of the bus
  134. Definition at line 88 of file i2c.\+h.
  135. \mbox{\Hypertarget{classutl_1_1i2c__i_aee83d11e02c3a0639dd3ed1ea440ed24}\label{classutl_1_1i2c__i_aee83d11e02c3a0639dd3ed1ea440ed24}}
  136. \index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!operator=@{operator=}}
  137. \index{operator=@{operator=}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
  138. \subsubsection{\texorpdfstring{operator=()}{operator=()}}
  139. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  140. \mbox{\hyperlink{classutl_1_1i2c__i_aa9267a8602702b78f188e0cf61b68a55}{type}}\& \mbox{\hyperlink{classutl_1_1i2c__i}{utl\+::i2c\+\_\+i}}$<$ impl\+\_\+t $>$\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classutl_1_1i2c__i_aa9267a8602702b78f188e0cf61b68a55}{type}} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [delete]}}
  141. \mbox{\Hypertarget{classutl_1_1i2c__i_ab2f6a579096b4872f5dfd1530e200eda}\label{classutl_1_1i2c__i_ab2f6a579096b4872f5dfd1530e200eda}}
  142. \index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!rx\+\_\+data@{rx\+\_\+data}}
  143. \index{rx\+\_\+data@{rx\+\_\+data}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
  144. \subsubsection{\texorpdfstring{rx\+\_\+data()}{rx\_data()}}
  145. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  146. \mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}} \mbox{\hyperlink{classutl_1_1i2c__i}{utl\+::i2c\+\_\+i}}$<$ impl\+\_\+t $>$\+::rx\+\_\+data (\begin{DoxyParamCaption}\item[{bool}]{ack, }\item[{\mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5}{Sequence}}}]{seq = {\ttfamily \mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5a01af7e5aa5863a91810dd4e5d0e383ce}{Sequence\+::\+B\+Y\+T\+En\+A\+CK}}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  147. Receive a byte from the i2c bus.
  148. \begin{DoxyParams}{Parameters}
  149. {\em ack} & Optional ack bit. \begin{DoxyItemize}
  150. \item 1 A\+CK the reception \item 0 Don\textquotesingle{}t A\+CK the reception. \end{DoxyItemize}
  151. \\
  152. \hline
  153. {\em seq} & The operation sequence to execute \begin{DoxyItemize}
  154. \item \mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5ae409eb2ba6eb6801f52763ae370c350e}{Sequence\+::\+B\+Y\+TE}} Receive only the byte, do not send ack clock \item \mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5a0fc437bc317835cad5faafc12a83fad5}{Sequence\+::\+A\+CK}} Send only the ack bit \item \mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5a01af7e5aa5863a91810dd4e5d0e383ce}{Sequence\+::\+B\+Y\+T\+En\+A\+CK}} Receive the byte and send the ack bit \end{DoxyItemize}
  155. \\
  156. \hline
  157. \end{DoxyParams}
  158. \begin{DoxyReturn}{Returns}
  159. The byte received.
  160. \end{DoxyReturn}
  161. Definition at line 111 of file i2c.\+h.
  162. \mbox{\Hypertarget{classutl_1_1i2c__i_a3591683e5fbf17b582f6ac1f79af871d}\label{classutl_1_1i2c__i_a3591683e5fbf17b582f6ac1f79af871d}}
  163. \index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!start@{start}}
  164. \index{start@{start}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
  165. \subsubsection{\texorpdfstring{start()}{start()}}
  166. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  167. void \mbox{\hyperlink{classutl_1_1i2c__i}{utl\+::i2c\+\_\+i}}$<$ impl\+\_\+t $>$\+::start (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  168. Send start functionality.
  169. Definition at line 96 of file i2c.\+h.
  170. \mbox{\Hypertarget{classutl_1_1i2c__i_a1310b52ac908b8c37059fb253cc3f56e}\label{classutl_1_1i2c__i_a1310b52ac908b8c37059fb253cc3f56e}}
  171. \index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!stop@{stop}}
  172. \index{stop@{stop}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
  173. \subsubsection{\texorpdfstring{stop()}{stop()}}
  174. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  175. void \mbox{\hyperlink{classutl_1_1i2c__i}{utl\+::i2c\+\_\+i}}$<$ impl\+\_\+t $>$\+::stop (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  176. Send stop functionality.
  177. Definition at line 97 of file i2c.\+h.
  178. \mbox{\Hypertarget{classutl_1_1i2c__i_aaf0b0ceec57fd8014ea3e6b58e9bfe3d}\label{classutl_1_1i2c__i_aaf0b0ceec57fd8014ea3e6b58e9bfe3d}}
  179. \index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!tx\+\_\+data@{tx\+\_\+data}}
  180. \index{tx\+\_\+data@{tx\+\_\+data}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
  181. \subsubsection{\texorpdfstring{tx\+\_\+data()}{tx\_data()}}
  182. {\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
  183. bool \mbox{\hyperlink{classutl_1_1i2c__i}{utl\+::i2c\+\_\+i}}$<$ impl\+\_\+t $>$\+::tx\+\_\+data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}}}]{byte, }\item[{\mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5}{Sequence}}}]{seq = {\ttfamily \mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5a01af7e5aa5863a91810dd4e5d0e383ce}{Sequence\+::\+B\+Y\+T\+En\+A\+CK}}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  184. Transmit a byte to the i2c bus.
  185. \begin{DoxyParams}{Parameters}
  186. {\em byte} & The byte to send. \\
  187. \hline
  188. {\em seq} & The operation sequence to execute \begin{DoxyItemize}
  189. \item \mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5ae409eb2ba6eb6801f52763ae370c350e}{Sequence\+::\+B\+Y\+TE}} Transmit only the byte, do not read ack bit \item \mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5a0fc437bc317835cad5faafc12a83fad5}{Sequence\+::\+A\+CK}} Read only the ack bit \item \mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5a01af7e5aa5863a91810dd4e5d0e383ce}{Sequence\+::\+B\+Y\+T\+En\+A\+CK}} Transmit the byte and read the ack bit \end{DoxyItemize}
  190. \\
  191. \hline
  192. \end{DoxyParams}
  193. \begin{DoxyReturn}{Returns}
  194. Slave\textquotesingle{}s A\+CK bit \begin{DoxyItemize}
  195. \item false Slave didn\textquotesingle{}t A\+CK \item true Slave did A\+CK \end{DoxyItemize}
  196. \end{DoxyReturn}
  197. Definition at line 127 of file i2c.\+h.
  198. The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
  199. \item
  200. include/utl/com/\mbox{\hyperlink{i2c_8h}{i2c.\+h}}\end{DoxyCompactItemize}