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

293 lignes
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}