\hypertarget{classutl_1_1spi__bb__i}{}\section{utl\+:\+:spi\+\_\+bb\+\_\+i$<$ impl\+\_\+t, C\+P\+OL, C\+P\+HA, Bit\+Order $>$ Class Template Reference}
\label{classutl_1_1spi__bb__i}\index{utl\+::spi\+\_\+bb\+\_\+i$<$ impl\+\_\+t, C\+P\+O\+L, C\+P\+H\+A, Bit\+Order $>$@{utl\+::spi\+\_\+bb\+\_\+i$<$ impl\+\_\+t, C\+P\+O\+L, C\+P\+H\+A, Bit\+Order $>$}}


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




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

Inheritance diagram for utl\+:\+:spi\+\_\+bb\+\_\+i$<$ impl\+\_\+t, C\+P\+OL, C\+P\+HA, Bit\+Order $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classutl_1_1spi__bb__i}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
using \mbox{\hyperlink{classutl_1_1spi__bb__i_a86ccf004bf5ccc8b7c73bd0f9e8dbaa7}{type}} = \mbox{\hyperlink{classutl_1_1spi__bb__i}{spi\+\_\+bb\+\_\+i}}$<$ impl\+\_\+t, C\+P\+OL, C\+P\+HA, Bit\+Order $>$
\begin{DoxyCompactList}\small\item\em Export type as identity meta-\/function. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{Indent}\textbf{ Object lifetime}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classutl_1_1spi__bb__i_aeac57567cb7db5ebb73bdd8e1f00cb82}{$\sim$spi\+\_\+bb\+\_\+i}} ()=default
\item 
\mbox{\hyperlink{classutl_1_1spi__bb__i_a49a61ba9a8e140e45d73e1f634061c6a}{spi\+\_\+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, spi\+::cpol C\+P\+OL, spi\+::cpha C\+P\+HA, spi\+::bit\+Order Bit\+Order = spi\+::bit\+Order\+::\+M\+S\+B\+\_\+\+First$>$\newline
class utl\+::spi\+\_\+bb\+\_\+i$<$ impl\+\_\+t, C\+P\+O\+L, C\+P\+H\+A, Bit\+Order $>$}

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

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{classutl_1_1spi__i}{spi\+\_\+i}}
\end{DoxySeeAlso}
S\+PI bit banking interface template class using C\+R\+TP. Using the private interface we provide the interface from spi\+\_\+i$<$impl\+\_\+t$>$


\begin{DoxyParams}{Parameters}
{\em impl\+\_\+t} & The C\+R\+TP type (the derived/implementation class typename). \\
\hline
{\em C\+P\+OL} & Clock polarity \\
\hline
{\em C\+P\+HA} & Clock phase \\
\hline
{\em Bit\+Order} & Data transfer bit order \\
\hline
\end{DoxyParams}


Definition at line 56 of file spi\+\_\+bb.\+h.



\subsection{Member Typedef Documentation}
\mbox{\Hypertarget{classutl_1_1spi__bb__i_a86ccf004bf5ccc8b7c73bd0f9e8dbaa7}\label{classutl_1_1spi__bb__i_a86ccf004bf5ccc8b7c73bd0f9e8dbaa7}} 
\index{utl\+::spi\+\_\+bb\+\_\+i@{utl\+::spi\+\_\+bb\+\_\+i}!type@{type}}
\index{type@{type}!utl\+::spi\+\_\+bb\+\_\+i@{utl\+::spi\+\_\+bb\+\_\+i}}
\subsubsection{\texorpdfstring{type}{type}}
{\footnotesize\ttfamily template$<$typename impl\+\_\+t, spi\+::cpol C\+P\+OL, spi\+::cpha C\+P\+HA, spi\+::bit\+Order Bit\+Order = spi\+::bit\+Order\+::\+M\+S\+B\+\_\+\+First$>$ \\
using \mbox{\hyperlink{classutl_1_1spi__bb__i}{utl\+::spi\+\_\+bb\+\_\+i}}$<$ impl\+\_\+t, C\+P\+OL, C\+P\+HA, Bit\+Order $>$\+::\mbox{\hyperlink{classutl_1_1spi__i_aff8ee0a2160cddbb52fce46611a6108f}{type}} =  \mbox{\hyperlink{classutl_1_1spi__bb__i}{spi\+\_\+bb\+\_\+i}}$<$impl\+\_\+t, C\+P\+OL, C\+P\+HA, Bit\+Order$>$}



Export type as identity meta-\/function. 



Definition at line 60 of file spi\+\_\+bb.\+h.



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classutl_1_1spi__bb__i_aeac57567cb7db5ebb73bdd8e1f00cb82}\label{classutl_1_1spi__bb__i_aeac57567cb7db5ebb73bdd8e1f00cb82}} 
\index{utl\+::spi\+\_\+bb\+\_\+i@{utl\+::spi\+\_\+bb\+\_\+i}!````~spi\+\_\+bb\+\_\+i@{$\sim$spi\+\_\+bb\+\_\+i}}
\index{````~spi\+\_\+bb\+\_\+i@{$\sim$spi\+\_\+bb\+\_\+i}!utl\+::spi\+\_\+bb\+\_\+i@{utl\+::spi\+\_\+bb\+\_\+i}}
\subsubsection{\texorpdfstring{$\sim$spi\+\_\+bb\+\_\+i()}{~spi\_bb\_i()}}
{\footnotesize\ttfamily template$<$typename impl\+\_\+t, spi\+::cpol C\+P\+OL, spi\+::cpha C\+P\+HA, spi\+::bit\+Order Bit\+Order = spi\+::bit\+Order\+::\+M\+S\+B\+\_\+\+First$>$ \\
\mbox{\hyperlink{classutl_1_1spi__bb__i}{utl\+::spi\+\_\+bb\+\_\+i}}$<$ impl\+\_\+t, C\+P\+OL, C\+P\+HA, Bit\+Order $>$\+::$\sim$\mbox{\hyperlink{classutl_1_1spi__bb__i}{spi\+\_\+bb\+\_\+i}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [default]}}

A default destructor, allow destructor from derived only \mbox{\Hypertarget{classutl_1_1spi__bb__i_a49a61ba9a8e140e45d73e1f634061c6a}\label{classutl_1_1spi__bb__i_a49a61ba9a8e140e45d73e1f634061c6a}} 
\index{utl\+::spi\+\_\+bb\+\_\+i@{utl\+::spi\+\_\+bb\+\_\+i}!spi\+\_\+bb\+\_\+i@{spi\+\_\+bb\+\_\+i}}
\index{spi\+\_\+bb\+\_\+i@{spi\+\_\+bb\+\_\+i}!utl\+::spi\+\_\+bb\+\_\+i@{utl\+::spi\+\_\+bb\+\_\+i}}
\subsubsection{\texorpdfstring{spi\+\_\+bb\+\_\+i()}{spi\_bb\_i()}}
{\footnotesize\ttfamily template$<$typename impl\+\_\+t, spi\+::cpol C\+P\+OL, spi\+::cpha C\+P\+HA, spi\+::bit\+Order Bit\+Order = spi\+::bit\+Order\+::\+M\+S\+B\+\_\+\+First$>$ \\
\mbox{\hyperlink{classutl_1_1spi__bb__i}{utl\+::spi\+\_\+bb\+\_\+i}}$<$ impl\+\_\+t, C\+P\+OL, C\+P\+HA, Bit\+Order $>$\+::\mbox{\hyperlink{classutl_1_1spi__bb__i}{spi\+\_\+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 69 of file spi\+\_\+bb.\+h.



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