150 lines
8.3 KiB
TeX
150 lines
8.3 KiB
TeX
\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}
|