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


A bit banking implementation of i2c bus inherited from \mbox{\hyperlink{classutl_1_1i2c__i}{i2c\+\_\+i}} base class.  




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

Inheritance diagram for utl\+:\+:i2c\+\_\+bb\+\_\+i$<$ impl\+\_\+t $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classutl_1_1i2c__bb__i}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{classutl_1_1i2c__bb__i_a4369b434fde250d503bfdc07d5c6a26d}{S\+D\+A\+Mode}} \{ \mbox{\hyperlink{classutl_1_1i2c__bb__i_a4369b434fde250d503bfdc07d5c6a26daa84cc046d48610b05c21fd3670d0c829}{S\+D\+A\+Mode\+::\+I\+N\+P\+UT}} =0, 
\mbox{\hyperlink{classutl_1_1i2c__bb__i_a4369b434fde250d503bfdc07d5c6a26da50a87f0d71f7221582dad4bf507a0f34}{S\+D\+A\+Mode\+::\+O\+U\+T\+P\+UT}}
 \}
\begin{DoxyCompactList}\small\item\em S\+DA pin direction enumerator. \end{DoxyCompactList}\item 
using \mbox{\hyperlink{classutl_1_1i2c__bb__i_a428c847d950993fa2cd005416edfb720}{type}} = \mbox{\hyperlink{classutl_1_1i2c__bb__i}{i2c\+\_\+bb\+\_\+i}}$<$ impl\+\_\+t $>$
\begin{DoxyCompactList}\small\item\em Export type as identity meta-\/function. \end{DoxyCompactList}\item 
using \mbox{\hyperlink{classutl_1_1i2c__bb__i_ad2872b7e17116f8379144488fe135052}{Sequence}} = typename \mbox{\hyperlink{classutl_1_1i2c__i}{i2c\+\_\+i}}$<$ \mbox{\hyperlink{classutl_1_1i2c__i_aa9267a8602702b78f188e0cf61b68a55}{type}} $>$\+::\mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5}{Sequence}}
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{Indent}\textbf{ Object lifetime}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classutl_1_1i2c__bb__i_ac2d9b97778a5dd57eb5e6425b4b0833c}{$\sim$i2c\+\_\+bb\+\_\+i}} () noexcept=default
\begin{DoxyCompactList}\small\item\em A default destructor, allow destructor from derived only. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classutl_1_1i2c__bb__i_ab657379ca2e4b3624e2d4520542a9464}{i2c\+\_\+bb\+\_\+i}} (uint32\+\_\+t clk) noexcept
\begin{DoxyCompactList}\small\item\em A default constructor. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Additional Inherited Members}


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

A bit banking implementation of i2c bus inherited from \mbox{\hyperlink{classutl_1_1i2c__i}{i2c\+\_\+i}} base class. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{classutl_1_1i2c__i}{i2c\+\_\+i}}
\end{DoxySeeAlso}
I2C bit banking interface template class providing an I2C using bit banking 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 47 of file i2c\+\_\+bb.\+h.



\subsection{Member Typedef Documentation}
\mbox{\Hypertarget{classutl_1_1i2c__bb__i_ad2872b7e17116f8379144488fe135052}\label{classutl_1_1i2c__bb__i_ad2872b7e17116f8379144488fe135052}} 
\index{utl\+::i2c\+\_\+bb\+\_\+i@{utl\+::i2c\+\_\+bb\+\_\+i}!Sequence@{Sequence}}
\index{Sequence@{Sequence}!utl\+::i2c\+\_\+bb\+\_\+i@{utl\+::i2c\+\_\+bb\+\_\+i}}
\subsubsection{\texorpdfstring{Sequence}{Sequence}}
{\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
using \mbox{\hyperlink{classutl_1_1i2c__bb__i}{utl\+::i2c\+\_\+bb\+\_\+i}}$<$ impl\+\_\+t $>$\+::\mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5}{Sequence}} =  typename \mbox{\hyperlink{classutl_1_1i2c__i}{i2c\+\_\+i}}$<$\mbox{\hyperlink{classutl_1_1i2c__i_aa9267a8602702b78f188e0cf61b68a55}{type}}$>$\+::\mbox{\hyperlink{classutl_1_1i2c__i_a7e2dde443c6c9bde4a2293beb22950c5}{Sequence}}}



Definition at line 53 of file i2c\+\_\+bb.\+h.

\mbox{\Hypertarget{classutl_1_1i2c__bb__i_a428c847d950993fa2cd005416edfb720}\label{classutl_1_1i2c__bb__i_a428c847d950993fa2cd005416edfb720}} 
\index{utl\+::i2c\+\_\+bb\+\_\+i@{utl\+::i2c\+\_\+bb\+\_\+i}!type@{type}}
\index{type@{type}!utl\+::i2c\+\_\+bb\+\_\+i@{utl\+::i2c\+\_\+bb\+\_\+i}}
\subsubsection{\texorpdfstring{type}{type}}
{\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
using \mbox{\hyperlink{classutl_1_1i2c__bb__i}{utl\+::i2c\+\_\+bb\+\_\+i}}$<$ impl\+\_\+t $>$\+::\mbox{\hyperlink{classutl_1_1i2c__i_aa9267a8602702b78f188e0cf61b68a55}{type}} =  \mbox{\hyperlink{classutl_1_1i2c__bb__i}{i2c\+\_\+bb\+\_\+i}}$<$impl\+\_\+t$>$}



Export type as identity meta-\/function. 



Definition at line 52 of file i2c\+\_\+bb.\+h.



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



S\+DA pin direction enumerator. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{I\+N\+P\+UT@{I\+N\+P\+UT}!utl\+::i2c\+\_\+bb\+\_\+i@{utl\+::i2c\+\_\+bb\+\_\+i}}\index{utl\+::i2c\+\_\+bb\+\_\+i@{utl\+::i2c\+\_\+bb\+\_\+i}!I\+N\+P\+UT@{I\+N\+P\+UT}}}\mbox{\Hypertarget{classutl_1_1i2c__bb__i_a4369b434fde250d503bfdc07d5c6a26daa84cc046d48610b05c21fd3670d0c829}\label{classutl_1_1i2c__bb__i_a4369b434fde250d503bfdc07d5c6a26daa84cc046d48610b05c21fd3670d0c829}} 
I\+N\+P\+UT&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{O\+U\+T\+P\+UT@{O\+U\+T\+P\+UT}!utl\+::i2c\+\_\+bb\+\_\+i@{utl\+::i2c\+\_\+bb\+\_\+i}}\index{utl\+::i2c\+\_\+bb\+\_\+i@{utl\+::i2c\+\_\+bb\+\_\+i}!O\+U\+T\+P\+UT@{O\+U\+T\+P\+UT}}}\mbox{\Hypertarget{classutl_1_1i2c__bb__i_a4369b434fde250d503bfdc07d5c6a26da50a87f0d71f7221582dad4bf507a0f34}\label{classutl_1_1i2c__bb__i_a4369b434fde250d503bfdc07d5c6a26da50a87f0d71f7221582dad4bf507a0f34}} 
O\+U\+T\+P\+UT&\\
\hline

\end{DoxyEnumFields}


Definition at line 55 of file i2c\+\_\+bb.\+h.



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classutl_1_1i2c__bb__i_ac2d9b97778a5dd57eb5e6425b4b0833c}\label{classutl_1_1i2c__bb__i_ac2d9b97778a5dd57eb5e6425b4b0833c}} 
\index{utl\+::i2c\+\_\+bb\+\_\+i@{utl\+::i2c\+\_\+bb\+\_\+i}!````~i2c\+\_\+bb\+\_\+i@{$\sim$i2c\+\_\+bb\+\_\+i}}
\index{````~i2c\+\_\+bb\+\_\+i@{$\sim$i2c\+\_\+bb\+\_\+i}!utl\+::i2c\+\_\+bb\+\_\+i@{utl\+::i2c\+\_\+bb\+\_\+i}}
\subsubsection{\texorpdfstring{$\sim$i2c\+\_\+bb\+\_\+i()}{~i2c\_bb\_i()}}
{\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
\mbox{\hyperlink{classutl_1_1i2c__bb__i}{utl\+::i2c\+\_\+bb\+\_\+i}}$<$ impl\+\_\+t $>$\+::$\sim$\mbox{\hyperlink{classutl_1_1i2c__bb__i}{i2c\+\_\+bb\+\_\+i}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [default]}, {\ttfamily [noexcept]}}



A default destructor, allow destructor from derived only. 

\mbox{\Hypertarget{classutl_1_1i2c__bb__i_ab657379ca2e4b3624e2d4520542a9464}\label{classutl_1_1i2c__bb__i_ab657379ca2e4b3624e2d4520542a9464}} 
\index{utl\+::i2c\+\_\+bb\+\_\+i@{utl\+::i2c\+\_\+bb\+\_\+i}!i2c\+\_\+bb\+\_\+i@{i2c\+\_\+bb\+\_\+i}}
\index{i2c\+\_\+bb\+\_\+i@{i2c\+\_\+bb\+\_\+i}!utl\+::i2c\+\_\+bb\+\_\+i@{utl\+::i2c\+\_\+bb\+\_\+i}}
\subsubsection{\texorpdfstring{i2c\+\_\+bb\+\_\+i()}{i2c\_bb\_i()}}
{\footnotesize\ttfamily template$<$typename impl\+\_\+t$>$ \\
\mbox{\hyperlink{classutl_1_1i2c__bb__i}{utl\+::i2c\+\_\+bb\+\_\+i}}$<$ impl\+\_\+t $>$\+::\mbox{\hyperlink{classutl_1_1i2c__bb__i}{i2c\+\_\+bb\+\_\+i}} (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{clk }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}, {\ttfamily [noexcept]}}



A default constructor. 



Definition at line 68 of file i2c\+\_\+bb.\+h.



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