\hypertarget{classutl_1_1i2c__i}{}\section{utl\+:\+:i2c\+\_\+i$<$ impl\+\_\+t $>$ Class Template Reference}
\label{classutl_1_1i2c__i}\index{utl\+::i2c\+\_\+i$<$ impl\+\_\+t $>$@{utl\+::i2c\+\_\+i$<$ impl\+\_\+t $>$}}


Abstract base class for i2c bus.  




{\ttfamily \#include $<$i2c.\+h$>$}

Inheritance diagram for utl\+:\+:i2c\+\_\+i$<$ impl\+\_\+t $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classutl_1_1i2c__i}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5}{Sequence}} \{ \mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5ae409eb2ba6eb6801f52763ae370c350e}{Sequence\+::\+B\+Y\+TE}} =0, 
\mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5a0fc437bc317835cad5faafc12a83fad5}{Sequence\+::\+A\+CK}}, 
\mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5a01af7e5aa5863a91810dd4e5d0e383ce}{Sequence\+::\+B\+Y\+T\+En\+A\+CK}}
 \}
\begin{DoxyCompactList}\small\item\em I2C transmit/receive sequence. \end{DoxyCompactList}\item 
using \mbox{\hyperlink{classutl_1_1i2c__i_aa9267a8602702b78f188e0cf61b68a55}{type}} = \mbox{\hyperlink{classutl_1_1i2c__i}{i2c\+\_\+i}}$<$ impl\+\_\+t $>$
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{Indent}\textbf{ Get/\+Set functions}\par
\begin{DoxyCompactItemize}
\item 
uint32\+\_\+t \mbox{\hyperlink{classutl_1_1i2c__i_aac5fed816701cc4543acd717ec804ac0}{clock}} () const
\item 
void \mbox{\hyperlink{classutl_1_1i2c__i_ae4c59938aeeb1f0726195d425a4c0083}{clock}} (uint32\+\_\+t f)
\begin{DoxyCompactList}\small\item\em set clock frequency of the bus \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ User functions}\par
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{classutl_1_1i2c__i_a3591683e5fbf17b582f6ac1f79af871d}{start}} ()
\begin{DoxyCompactList}\small\item\em Send start functionality. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classutl_1_1i2c__i_a1310b52ac908b8c37059fb253cc3f56e}{stop}} ()
\begin{DoxyCompactList}\small\item\em Send stop functionality. \end{DoxyCompactList}\item 
\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}})
\begin{DoxyCompactList}\small\item\em Receive a byte from the i2c bus. \end{DoxyCompactList}\item 
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}})
\begin{DoxyCompactList}\small\item\em Transmit a byte to the i2c bus. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Protected Member Functions}
\begin{Indent}\textbf{ Object lifetime}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classutl_1_1i2c__i_a84375c05d1c40d9992aa1290dd488410}{i2c\+\_\+i}} ()=default
\begin{DoxyCompactList}\small\item\em Allow constructor from derived only. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classutl_1_1i2c__i_a6a07d19db8974ad606031b60a6079957}{$\sim$i2c\+\_\+i}} ()=default
\begin{DoxyCompactList}\small\item\em Allow destructor from derived only. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classutl_1_1i2c__i_adff01408628f58b7c6ce9b0cd63d70df}{i2c\+\_\+i}} (const \mbox{\hyperlink{classutl_1_1i2c__i_aa9267a8602702b78f188e0cf61b68a55}{type}} \&)=delete
\begin{DoxyCompactList}\small\item\em No copies. \end{DoxyCompactList}\item 
\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
\end{DoxyCompactItemize}
\end{Indent}


\subsection{Detailed Description}
\subsubsection*{template$<$typename impl\+\_\+t$>$\newline
class utl\+::i2c\+\_\+i$<$ impl\+\_\+t $>$}

Abstract base class for i2c bus. 

this class force a common interface for I2C communication protocol implementations using C\+R\+TP 
\begin{DoxyParams}{Parameters}
{\em impl\+\_\+t} & The C\+R\+TP type (the derived/implementation class typename). \\
\hline
\end{DoxyParams}


Definition at line 43 of file i2c.\+h.



\subsection{Member Typedef Documentation}
\mbox{\Hypertarget{classutl_1_1i2c__i_aa9267a8602702b78f188e0cf61b68a55}\label{classutl_1_1i2c__i_aa9267a8602702b78f188e0cf61b68a55}} 
\index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!type@{type}}
\index{type@{type}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
\subsubsection{\texorpdfstring{type}{type}}
{\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
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$>$}

Export type as identity meta-\/function 

Definition at line 47 of file i2c.\+h.



\subsection{Member Enumeration Documentation}
\mbox{\Hypertarget{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5}\label{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5}} 
\index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!Sequence@{Sequence}}
\index{Sequence@{Sequence}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
\subsubsection{\texorpdfstring{Sequence}{Sequence}}
{\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
enum \mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5}{utl\+::i2c\+\_\+i\+::\+Sequence}}\hspace{0.3cm}{\ttfamily [strong]}}



I2C transmit/receive sequence. 

\begin{DoxyEnumFields}{Enumerator}
\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}} 
B\+Y\+TE&Only read/write byte \mbox{[}8 clocks\mbox{]}. \\
\hline

\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}} 
A\+CK&Only send/receive ack \mbox{[}1 clock\mbox{]}. \\
\hline

\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}} 
B\+Y\+T\+En\+A\+CK&Read/\+Write byte and ack \mbox{[}9 clocks\mbox{]}. \\
\hline

\end{DoxyEnumFields}


Definition at line 49 of file i2c.\+h.



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classutl_1_1i2c__i_a84375c05d1c40d9992aa1290dd488410}\label{classutl_1_1i2c__i_a84375c05d1c40d9992aa1290dd488410}} 
\index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!i2c\+\_\+i@{i2c\+\_\+i}}
\index{i2c\+\_\+i@{i2c\+\_\+i}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
\subsubsection{\texorpdfstring{i2c\+\_\+i()}{i2c\_i()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
\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]}}



Allow constructor from derived only. 

\mbox{\Hypertarget{classutl_1_1i2c__i_a6a07d19db8974ad606031b60a6079957}\label{classutl_1_1i2c__i_a6a07d19db8974ad606031b60a6079957}} 
\index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!````~i2c\+\_\+i@{$\sim$i2c\+\_\+i}}
\index{````~i2c\+\_\+i@{$\sim$i2c\+\_\+i}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
\subsubsection{\texorpdfstring{$\sim$i2c\+\_\+i()}{~i2c\_i()}}
{\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
\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]}}



Allow destructor from derived only. 

\mbox{\Hypertarget{classutl_1_1i2c__i_adff01408628f58b7c6ce9b0cd63d70df}\label{classutl_1_1i2c__i_adff01408628f58b7c6ce9b0cd63d70df}} 
\index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!i2c\+\_\+i@{i2c\+\_\+i}}
\index{i2c\+\_\+i@{i2c\+\_\+i}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
\subsubsection{\texorpdfstring{i2c\+\_\+i()}{i2c\_i()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
\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]}}



No copies. 



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classutl_1_1i2c__i_aac5fed816701cc4543acd717ec804ac0}\label{classutl_1_1i2c__i_aac5fed816701cc4543acd717ec804ac0}} 
\index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!clock@{clock}}
\index{clock@{clock}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
\subsubsection{\texorpdfstring{clock()}{clock()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
uint32\+\_\+t \mbox{\hyperlink{classutl_1_1i2c__i}{utl\+::i2c\+\_\+i}}$<$ impl\+\_\+t $>$\+::clock (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\begin{DoxyReturn}{Returns}
clock frequency of the bus 
\end{DoxyReturn}


Definition at line 87 of file i2c.\+h.

\mbox{\Hypertarget{classutl_1_1i2c__i_ae4c59938aeeb1f0726195d425a4c0083}\label{classutl_1_1i2c__i_ae4c59938aeeb1f0726195d425a4c0083}} 
\index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!clock@{clock}}
\index{clock@{clock}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
\subsubsection{\texorpdfstring{clock()}{clock()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
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]}}



set clock frequency of the bus 



Definition at line 88 of file i2c.\+h.

\mbox{\Hypertarget{classutl_1_1i2c__i_aee83d11e02c3a0639dd3ed1ea440ed24}\label{classutl_1_1i2c__i_aee83d11e02c3a0639dd3ed1ea440ed24}} 
\index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!operator=@{operator=}}
\index{operator=@{operator=}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
\subsubsection{\texorpdfstring{operator=()}{operator=()}}
{\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
\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]}}

\mbox{\Hypertarget{classutl_1_1i2c__i_ab2f6a579096b4872f5dfd1530e200eda}\label{classutl_1_1i2c__i_ab2f6a579096b4872f5dfd1530e200eda}} 
\index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!rx\+\_\+data@{rx\+\_\+data}}
\index{rx\+\_\+data@{rx\+\_\+data}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
\subsubsection{\texorpdfstring{rx\+\_\+data()}{rx\_data()}}
{\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
\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]}}



Receive a byte from the i2c bus. 


\begin{DoxyParams}{Parameters}
{\em ack} & Optional ack bit. \begin{DoxyItemize}
\item 1 A\+CK the reception \item 0 Don\textquotesingle{}t A\+CK the reception. \end{DoxyItemize}
\\
\hline
{\em seq} & The operation sequence to execute \begin{DoxyItemize}
\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}
\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The byte received. 
\end{DoxyReturn}


Definition at line 111 of file i2c.\+h.

\mbox{\Hypertarget{classutl_1_1i2c__i_a3591683e5fbf17b582f6ac1f79af871d}\label{classutl_1_1i2c__i_a3591683e5fbf17b582f6ac1f79af871d}} 
\index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!start@{start}}
\index{start@{start}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
\subsubsection{\texorpdfstring{start()}{start()}}
{\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
void \mbox{\hyperlink{classutl_1_1i2c__i}{utl\+::i2c\+\_\+i}}$<$ impl\+\_\+t $>$\+::start (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Send start functionality. 



Definition at line 96 of file i2c.\+h.

\mbox{\Hypertarget{classutl_1_1i2c__i_a1310b52ac908b8c37059fb253cc3f56e}\label{classutl_1_1i2c__i_a1310b52ac908b8c37059fb253cc3f56e}} 
\index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!stop@{stop}}
\index{stop@{stop}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
\subsubsection{\texorpdfstring{stop()}{stop()}}
{\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
void \mbox{\hyperlink{classutl_1_1i2c__i}{utl\+::i2c\+\_\+i}}$<$ impl\+\_\+t $>$\+::stop (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Send stop functionality. 



Definition at line 97 of file i2c.\+h.

\mbox{\Hypertarget{classutl_1_1i2c__i_aaf0b0ceec57fd8014ea3e6b58e9bfe3d}\label{classutl_1_1i2c__i_aaf0b0ceec57fd8014ea3e6b58e9bfe3d}} 
\index{utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}!tx\+\_\+data@{tx\+\_\+data}}
\index{tx\+\_\+data@{tx\+\_\+data}!utl\+::i2c\+\_\+i@{utl\+::i2c\+\_\+i}}
\subsubsection{\texorpdfstring{tx\+\_\+data()}{tx\_data()}}
{\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
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]}}



Transmit a byte to the i2c bus. 


\begin{DoxyParams}{Parameters}
{\em byte} & The byte to send. \\
\hline
{\em seq} & The operation sequence to execute \begin{DoxyItemize}
\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}
\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Slave\textquotesingle{}s A\+CK bit \begin{DoxyItemize}
\item false Slave didn\textquotesingle{}t A\+CK \item true Slave did A\+CK \end{DoxyItemize}

\end{DoxyReturn}


Definition at line 127 of file i2c.\+h.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
include/utl/com/\mbox{\hyperlink{i2c_8h}{i2c.\+h}}\end{DoxyCompactItemize}
