\hypertarget{namespaceutl_1_1spi__i__details}{}\section{utl\+:\+:spi\+\_\+i\+\_\+details Namespace Reference}
\label{namespaceutl_1_1spi__i__details}\index{utl\+::spi\+\_\+i\+\_\+details@{utl\+::spi\+\_\+i\+\_\+details}}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structutl_1_1spi__i__details_1_1is__spi__}{is\+\_\+spi\+\_\+}}
\begin{DoxyCompactList}\small\item\em Primary template to catch any non S\+PI interface types. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{structutl_1_1spi__i__details_1_1is__spi___3_01___tp_00_01meta_1_1void__t_3_01meta_1_1use__if__sa2db29f6d65d34ecf5e49ec30b6600d78}{is\+\_\+spi\+\_\+$<$ \+\_\+\+Tp, meta\+::void\+\_\+t$<$ meta\+::use\+\_\+if\+\_\+same\+\_\+t$<$ try\+\_\+cclock\+\_\+t$<$ \+\_\+\+Tp $>$, uint32\+\_\+t $>$, meta\+::use\+\_\+if\+\_\+same\+\_\+t$<$ try\+\_\+clock\+\_\+t$<$ \+\_\+\+Tp $>$, void $>$, meta\+::use\+\_\+if\+\_\+same\+\_\+t$<$ try\+\_\+tx\+\_\+t$<$ \+\_\+\+Tp $>$, byte\+\_\+t $>$, meta\+::use\+\_\+if\+\_\+same\+\_\+t$<$ try\+\_\+rx\+\_\+t$<$ \+\_\+\+Tp $>$, byte\+\_\+t $>$ $>$ $>$}}
\begin{DoxyCompactList}\small\item\em template to catch a proper S\+PI interface type \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1spi__i__details_ae1a4fad6acf8faccc5e85ee9b710c109}{try\+\_\+cclock\+\_\+t}} = decltype(declval$<$ const \+\_\+\+Tp $>$().clock())
\item 
{\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1spi__i__details_af2f4800aa77af82767a3ac55b9b242a6}{try\+\_\+clock\+\_\+t}} = decltype(declval$<$ \+\_\+\+Tp $>$().clock(declval$<$ uint32\+\_\+t $>$()))
\item 
{\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1spi__i__details_a755d8f10cfde3f5c3b9900eb11c858bd}{try\+\_\+tx\+\_\+t}} = decltype(declval$<$ \+\_\+\+Tp $>$().tx\+\_\+data(declval$<$ \mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}} $>$()))
\item 
{\footnotesize template$<$class \+\_\+\+Tp $>$ }\\using \mbox{\hyperlink{namespaceutl_1_1spi__i__details_a4dcf3c71fddf790e45a3be2c19906c97}{try\+\_\+rx\+\_\+t}} = decltype(declval$<$ \+\_\+\+Tp $>$().rx\+\_\+data())
\end{DoxyCompactItemize}


\subsection{Detailed Description}
i2c interface concept 

\subsection{Typedef Documentation}
\mbox{\Hypertarget{namespaceutl_1_1spi__i__details_ae1a4fad6acf8faccc5e85ee9b710c109}\label{namespaceutl_1_1spi__i__details_ae1a4fad6acf8faccc5e85ee9b710c109}} 
\index{utl\+::spi\+\_\+i\+\_\+details@{utl\+::spi\+\_\+i\+\_\+details}!try\+\_\+cclock\+\_\+t@{try\+\_\+cclock\+\_\+t}}
\index{try\+\_\+cclock\+\_\+t@{try\+\_\+cclock\+\_\+t}!utl\+::spi\+\_\+i\+\_\+details@{utl\+::spi\+\_\+i\+\_\+details}}
\subsubsection{\texorpdfstring{try\+\_\+cclock\+\_\+t}{try\_cclock\_t}}
{\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\
using \mbox{\hyperlink{namespaceutl_1_1spi__i__details_ae1a4fad6acf8faccc5e85ee9b710c109}{utl\+::spi\+\_\+i\+\_\+details\+::try\+\_\+cclock\+\_\+t}} = typedef decltype (declval$<$const \+\_\+\+Tp$>$().clock())}



Definition at line 298 of file spi.\+h.

\mbox{\Hypertarget{namespaceutl_1_1spi__i__details_af2f4800aa77af82767a3ac55b9b242a6}\label{namespaceutl_1_1spi__i__details_af2f4800aa77af82767a3ac55b9b242a6}} 
\index{utl\+::spi\+\_\+i\+\_\+details@{utl\+::spi\+\_\+i\+\_\+details}!try\+\_\+clock\+\_\+t@{try\+\_\+clock\+\_\+t}}
\index{try\+\_\+clock\+\_\+t@{try\+\_\+clock\+\_\+t}!utl\+::spi\+\_\+i\+\_\+details@{utl\+::spi\+\_\+i\+\_\+details}}
\subsubsection{\texorpdfstring{try\+\_\+clock\+\_\+t}{try\_clock\_t}}
{\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\
using \mbox{\hyperlink{namespaceutl_1_1spi__i__details_af2f4800aa77af82767a3ac55b9b242a6}{utl\+::spi\+\_\+i\+\_\+details\+::try\+\_\+clock\+\_\+t}} = typedef decltype (declval$<$\+\_\+\+Tp$>$().clock(declval$<$uint32\+\_\+t$>$()))}



Definition at line 299 of file spi.\+h.

\mbox{\Hypertarget{namespaceutl_1_1spi__i__details_a4dcf3c71fddf790e45a3be2c19906c97}\label{namespaceutl_1_1spi__i__details_a4dcf3c71fddf790e45a3be2c19906c97}} 
\index{utl\+::spi\+\_\+i\+\_\+details@{utl\+::spi\+\_\+i\+\_\+details}!try\+\_\+rx\+\_\+t@{try\+\_\+rx\+\_\+t}}
\index{try\+\_\+rx\+\_\+t@{try\+\_\+rx\+\_\+t}!utl\+::spi\+\_\+i\+\_\+details@{utl\+::spi\+\_\+i\+\_\+details}}
\subsubsection{\texorpdfstring{try\+\_\+rx\+\_\+t}{try\_rx\_t}}
{\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\
using \mbox{\hyperlink{namespaceutl_1_1spi__i__details_a4dcf3c71fddf790e45a3be2c19906c97}{utl\+::spi\+\_\+i\+\_\+details\+::try\+\_\+rx\+\_\+t}} = typedef decltype (declval$<$\+\_\+\+Tp$>$().rx\+\_\+data())}



Definition at line 301 of file spi.\+h.

\mbox{\Hypertarget{namespaceutl_1_1spi__i__details_a755d8f10cfde3f5c3b9900eb11c858bd}\label{namespaceutl_1_1spi__i__details_a755d8f10cfde3f5c3b9900eb11c858bd}} 
\index{utl\+::spi\+\_\+i\+\_\+details@{utl\+::spi\+\_\+i\+\_\+details}!try\+\_\+tx\+\_\+t@{try\+\_\+tx\+\_\+t}}
\index{try\+\_\+tx\+\_\+t@{try\+\_\+tx\+\_\+t}!utl\+::spi\+\_\+i\+\_\+details@{utl\+::spi\+\_\+i\+\_\+details}}
\subsubsection{\texorpdfstring{try\+\_\+tx\+\_\+t}{try\_tx\_t}}
{\footnotesize\ttfamily template$<$class \+\_\+\+Tp $>$ \\
using \mbox{\hyperlink{namespaceutl_1_1spi__i__details_a755d8f10cfde3f5c3b9900eb11c858bd}{utl\+::spi\+\_\+i\+\_\+details\+::try\+\_\+tx\+\_\+t}} = typedef decltype (declval$<$\+\_\+\+Tp$>$().tx\+\_\+data(declval$<$\mbox{\hyperlink{namespaceutl_a1427cb5a2b13313147a902173b91e3c1}{byte\+\_\+t}}$>$()))}



Definition at line 300 of file spi.\+h.

