\doxysection{SPI\+\_\+\+Interface Class Reference}
\hypertarget{classSPI__Interface}{}\label{classSPI__Interface}\index{SPI\_Interface@{SPI\_Interface}}


{\ttfamily \#include $<$7\+Semi\+\_\+\+SPI\+\_\+\+Interface.\+h$>$}



Inheritance diagram for SPI\+\_\+\+Interface\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=176pt]{classSPI__Interface__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for SPI\+\_\+\+Interface\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=176pt]{classSPI__Interface__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
bool \mbox{\hyperlink{classSPI__Interface_a24b5d68ff8da5578f56ee571d86ab289}{begin\+SPI}} (uint8\+\_\+t cs\+Pin, SPIClass \&spi\+Port, uint32\+\_\+t spi\+Speed, uint8\+\_\+t sck=255, uint8\+\_\+t miso=255, uint8\+\_\+t mosi=255) override
\item 
bool \mbox{\hyperlink{classSPI__Interface_a7235325c5823e1a8880a20686f23c021}{begin\+I2C}} (uint8\+\_\+t, Two\+Wire \&, uint32\+\_\+t, uint8\+\_\+t, uint8\+\_\+t) override
\item 
int8\+\_\+t \mbox{\hyperlink{classSPI__Interface_a1f6007b741f717b88dab3bf727897040}{read}} (uint8\+\_\+t reg, uint8\+\_\+t \texorpdfstring{$\ast$}{*}data, uint32\+\_\+t len) override
\item 
int8\+\_\+t \mbox{\hyperlink{classSPI__Interface_ae48d3d857131fc77c0f32c7ed24c28e1}{write}} (uint8\+\_\+t reg, const uint8\+\_\+t \texorpdfstring{$\ast$}{*}data, uint32\+\_\+t len) override
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classInterface__7Semi}{Interface\+\_\+7\+Semi}}}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{classInterface__7Semi_a886abd3b127910a54640cee60696ffb5}{\texorpdfstring{$\sim$}{\string~}\+Interface\+\_\+7\+Semi}} ()
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
SPIClass \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{classSPI__Interface_a5e9372b9bbb05788a6147ee3fa38d799}{spi}} = nullptr
\item 
uint8\+\_\+t \mbox{\hyperlink{classSPI__Interface_a90f186288944e5595780219c7c3e8a17}{cs}} = 255
\item 
uint32\+\_\+t \mbox{\hyperlink{classSPI__Interface_ad6aba961df73c0efc13421cb93e041c9}{speed}} = 1000000
\end{DoxyCompactItemize}
\doxysubsubsection*{Additional Inherited Members}
\doxysubsection*{Static Protected Member Functions inherited from \mbox{\hyperlink{classInterface__7Semi}{Interface\+\_\+7\+Semi}}}
\begin{DoxyCompactItemize}
\item 
static void \mbox{\hyperlink{classInterface__7Semi_a7e9d62ef33227b06c85288712dc11c59}{delay\+\_\+us}} (uint32\+\_\+t us)
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
7Semi SPI Interface Implementation 

Definition at line \mbox{\hyperlink{7Semi__SPI__Interface_8h_source_l00007}{7}} of file \mbox{\hyperlink{7Semi__SPI__Interface_8h_source}{7\+Semi\+\_\+\+SPI\+\_\+\+Interface.\+h}}.



\doxysubsection{Member Function Documentation}
\Hypertarget{classSPI__Interface_a7235325c5823e1a8880a20686f23c021}\label{classSPI__Interface_a7235325c5823e1a8880a20686f23c021} 
\index{SPI\_Interface@{SPI\_Interface}!beginI2C@{beginI2C}}
\index{beginI2C@{beginI2C}!SPI\_Interface@{SPI\_Interface}}
\doxysubsubsection{\texorpdfstring{beginI2C()}{beginI2C()}}
{\footnotesize\ttfamily bool SPI\+\_\+\+Interface\+::begin\+I2C (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{address,  }\item[{Two\+Wire \&}]{wire,  }\item[{uint32\+\_\+t}]{speed,  }\item[{uint8\+\_\+t}]{sda,  }\item[{uint8\+\_\+t}]{scl }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [virtual]}}

\doxylink{classSPI__Interface_a7235325c5823e1a8880a20686f23c021}{begin\+I2\+C()}


\begin{DoxyItemize}
\item Initializes I2C peripheral
\item Configures SDA / SCL pins if supported
\item Sets communication clock
\end{DoxyItemize}

Returns\+:
\begin{DoxyItemize}
\item true → Initialization successful
\item false → Initialization failed 
\end{DoxyItemize}

Implements \mbox{\hyperlink{classInterface__7Semi_acaf46ee0d90f79c3d0e0e68f777b5696}{Interface\+\_\+7\+Semi}}.



Definition at line \mbox{\hyperlink{7Semi__SPI__Interface_8h_source_l00051}{51}} of file \mbox{\hyperlink{7Semi__SPI__Interface_8h_source}{7\+Semi\+\_\+\+SPI\+\_\+\+Interface.\+h}}.

\Hypertarget{classSPI__Interface_a24b5d68ff8da5578f56ee571d86ab289}\label{classSPI__Interface_a24b5d68ff8da5578f56ee571d86ab289} 
\index{SPI\_Interface@{SPI\_Interface}!beginSPI@{beginSPI}}
\index{beginSPI@{beginSPI}!SPI\_Interface@{SPI\_Interface}}
\doxysubsubsection{\texorpdfstring{beginSPI()}{beginSPI()}}
{\footnotesize\ttfamily bool SPI\+\_\+\+Interface\+::begin\+SPI (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{cs\+Pin,  }\item[{SPIClass \&}]{spi\+Port,  }\item[{uint32\+\_\+t}]{spi\+Speed,  }\item[{uint8\+\_\+t}]{sck = {\ttfamily 255},  }\item[{uint8\+\_\+t}]{miso = {\ttfamily 255},  }\item[{uint8\+\_\+t}]{mosi = {\ttfamily 255} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [virtual]}}

\doxylink{classSPI__Interface_a24b5d68ff8da5578f56ee571d86ab289}{begin\+SPI()}


\begin{DoxyItemize}
\item Initialize SPI interface
\item Configure CS and SPI bus 
\end{DoxyItemize}

Implements \mbox{\hyperlink{classInterface__7Semi_a41d682876fe9f25b928835bb25816a80}{Interface\+\_\+7\+Semi}}.



Definition at line \mbox{\hyperlink{7Semi__SPI__Interface_8h_source_l00021}{21}} of file \mbox{\hyperlink{7Semi__SPI__Interface_8h_source}{7\+Semi\+\_\+\+SPI\+\_\+\+Interface.\+h}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classSPI__Interface_a24b5d68ff8da5578f56ee571d86ab289_icgraph}
\end{center}
\end{figure}
\Hypertarget{classSPI__Interface_a1f6007b741f717b88dab3bf727897040}\label{classSPI__Interface_a1f6007b741f717b88dab3bf727897040} 
\index{SPI\_Interface@{SPI\_Interface}!read@{read}}
\index{read@{read}!SPI\_Interface@{SPI\_Interface}}
\doxysubsubsection{\texorpdfstring{read()}{read()}}
{\footnotesize\ttfamily int8\+\_\+t SPI\+\_\+\+Interface\+::read (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{reg,  }\item[{uint8\+\_\+t \texorpdfstring{$\ast$}{*}}]{data,  }\item[{uint32\+\_\+t}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [virtual]}}

\doxylink{classSPI__Interface_a1f6007b741f717b88dab3bf727897040}{read()}


\begin{DoxyItemize}
\item Read multiple bytes from register 
\end{DoxyItemize}Send register address (read)

Read data

Implements \mbox{\hyperlink{classInterface__7Semi_a8e267174d883544c418ce925f8c55e0f}{Interface\+\_\+7\+Semi}}.



Definition at line \mbox{\hyperlink{7Semi__SPI__Interface_8h_source_l00062}{62}} of file \mbox{\hyperlink{7Semi__SPI__Interface_8h_source}{7\+Semi\+\_\+\+SPI\+\_\+\+Interface.\+h}}.

\Hypertarget{classSPI__Interface_ae48d3d857131fc77c0f32c7ed24c28e1}\label{classSPI__Interface_ae48d3d857131fc77c0f32c7ed24c28e1} 
\index{SPI\_Interface@{SPI\_Interface}!write@{write}}
\index{write@{write}!SPI\_Interface@{SPI\_Interface}}
\doxysubsubsection{\texorpdfstring{write()}{write()}}
{\footnotesize\ttfamily int8\+\_\+t SPI\+\_\+\+Interface\+::write (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{reg,  }\item[{const uint8\+\_\+t \texorpdfstring{$\ast$}{*}}]{data,  }\item[{uint32\+\_\+t}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [virtual]}}

\doxylink{classSPI__Interface_ae48d3d857131fc77c0f32c7ed24c28e1}{write()}


\begin{DoxyItemize}
\item Write multiple bytes to register 
\end{DoxyItemize}Send register address (write)

Write data

Implements \mbox{\hyperlink{classInterface__7Semi_a35047310c257c82ae7f60d143326daa0}{Interface\+\_\+7\+Semi}}.



Definition at line \mbox{\hyperlink{7Semi__SPI__Interface_8h_source_l00108}{108}} of file \mbox{\hyperlink{7Semi__SPI__Interface_8h_source}{7\+Semi\+\_\+\+SPI\+\_\+\+Interface.\+h}}.



\doxysubsection{Member Data Documentation}
\Hypertarget{classSPI__Interface_a90f186288944e5595780219c7c3e8a17}\label{classSPI__Interface_a90f186288944e5595780219c7c3e8a17} 
\index{SPI\_Interface@{SPI\_Interface}!cs@{cs}}
\index{cs@{cs}!SPI\_Interface@{SPI\_Interface}}
\doxysubsubsection{\texorpdfstring{cs}{cs}}
{\footnotesize\ttfamily uint8\+\_\+t SPI\+\_\+\+Interface\+::cs = 255}



Definition at line \mbox{\hyperlink{7Semi__SPI__Interface_8h_source_l00012}{12}} of file \mbox{\hyperlink{7Semi__SPI__Interface_8h_source}{7\+Semi\+\_\+\+SPI\+\_\+\+Interface.\+h}}.

\Hypertarget{classSPI__Interface_ad6aba961df73c0efc13421cb93e041c9}\label{classSPI__Interface_ad6aba961df73c0efc13421cb93e041c9} 
\index{SPI\_Interface@{SPI\_Interface}!speed@{speed}}
\index{speed@{speed}!SPI\_Interface@{SPI\_Interface}}
\doxysubsubsection{\texorpdfstring{speed}{speed}}
{\footnotesize\ttfamily uint32\+\_\+t SPI\+\_\+\+Interface\+::speed = 1000000}



Definition at line \mbox{\hyperlink{7Semi__SPI__Interface_8h_source_l00013}{13}} of file \mbox{\hyperlink{7Semi__SPI__Interface_8h_source}{7\+Semi\+\_\+\+SPI\+\_\+\+Interface.\+h}}.

\Hypertarget{classSPI__Interface_a5e9372b9bbb05788a6147ee3fa38d799}\label{classSPI__Interface_a5e9372b9bbb05788a6147ee3fa38d799} 
\index{SPI\_Interface@{SPI\_Interface}!spi@{spi}}
\index{spi@{spi}!SPI\_Interface@{SPI\_Interface}}
\doxysubsubsection{\texorpdfstring{spi}{spi}}
{\footnotesize\ttfamily SPIClass\texorpdfstring{$\ast$}{*} SPI\+\_\+\+Interface\+::spi = nullptr}



Definition at line \mbox{\hyperlink{7Semi__SPI__Interface_8h_source_l00011}{11}} of file \mbox{\hyperlink{7Semi__SPI__Interface_8h_source}{7\+Semi\+\_\+\+SPI\+\_\+\+Interface.\+h}}.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
src/\mbox{\hyperlink{7Semi__SPI__Interface_8h}{7\+Semi\+\_\+\+SPI\+\_\+\+Interface.\+h}}\end{DoxyCompactItemize}
