\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 \doxymbox{\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 \doxymbox{\hyperlink{classSPI__Interface_a7235325c5823e1a8880a20686f23c021}{begin\+I2C}} (uint8\+\_\+t, Two\+Wire \&, uint32\+\_\+t, uint8\+\_\+t, uint8\+\_\+t) override
\item 
int8\+\_\+t \doxymbox{\hyperlink{classSPI__Interface_a1f6007b741f717b88dab3bf727897040}{read}} (uint8\+\_\+t reg, uint8\+\_\+t \texorpdfstring{$\ast$}{*}data, uint32\+\_\+t len) override
\item 
int8\+\_\+t \doxymbox{\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 \doxymbox{\hyperlink{classInterface__7Semi}{Interface\+\_\+7\+Semi}}}
\begin{DoxyCompactItemize}
\item 
virtual \doxymbox{\hyperlink{classInterface__7Semi_a886abd3b127910a54640cee60696ffb5}{\texorpdfstring{$\sim$}{\string~}\+Interface\+\_\+7\+Semi}} ()
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
SPIClass \texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{classSPI__Interface_a5e9372b9bbb05788a6147ee3fa38d799}{spi}} = nullptr
\item 
uint8\+\_\+t \doxymbox{\hyperlink{classSPI__Interface_a90f186288944e5595780219c7c3e8a17}{cs}} = 255
\item 
uint32\+\_\+t \doxymbox{\hyperlink{classSPI__Interface_ad6aba961df73c0efc13421cb93e041c9}{speed}} = 1000000
\end{DoxyCompactItemize}
\doxysubsubsection*{Additional Inherited Members}
\doxysubsection*{Static Protected Member Functions inherited from \doxymbox{\hyperlink{classInterface__7Semi}{Interface\+\_\+7\+Semi}}}
\begin{DoxyCompactItemize}
\item 
static void \doxymbox{\hyperlink{classInterface__7Semi_a7e9d62ef33227b06c85288712dc11c59}{delay\+\_\+us}} (uint32\+\_\+t us)
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
7Semi SPI Interface Implementation 

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



\label{classSPI__Interface_doc-func-members}
\Hypertarget{classSPI__Interface_doc-func-members}
\doxysubsection{Member Function Documentation}
\Hypertarget{classSPI__Interface_a7235325c5823e1a8880a20686f23c021}\index{SPI\_Interface@{SPI\_Interface}!beginI2C@{beginI2C}}
\index{beginI2C@{beginI2C}!SPI\_Interface@{SPI\_Interface}}
\doxysubsubsection{\texorpdfstring{beginI2C()}{beginI2C()}}
{\footnotesize\ttfamily \label{classSPI__Interface_a7235325c5823e1a8880a20686f23c021} 
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 \doxymbox{\hyperlink{classInterface__7Semi_acaf46ee0d90f79c3d0e0e68f777b5696}{Interface\+\_\+7\+Semi}}.



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

\Hypertarget{classSPI__Interface_a24b5d68ff8da5578f56ee571d86ab289}\index{SPI\_Interface@{SPI\_Interface}!beginSPI@{beginSPI}}
\index{beginSPI@{beginSPI}!SPI\_Interface@{SPI\_Interface}}
\doxysubsubsection{\texorpdfstring{beginSPI()}{beginSPI()}}
{\footnotesize\ttfamily \label{classSPI__Interface_a24b5d68ff8da5578f56ee571d86ab289} 
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 \doxymbox{\hyperlink{classInterface__7Semi_a41d682876fe9f25b928835bb25816a80}{Interface\+\_\+7\+Semi}}.



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

\Hypertarget{classSPI__Interface_a1f6007b741f717b88dab3bf727897040}\index{SPI\_Interface@{SPI\_Interface}!read@{read}}
\index{read@{read}!SPI\_Interface@{SPI\_Interface}}
\doxysubsubsection{\texorpdfstring{read()}{read()}}
{\footnotesize\ttfamily \label{classSPI__Interface_a1f6007b741f717b88dab3bf727897040} 
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 \doxymbox{\hyperlink{classInterface__7Semi_a8e267174d883544c418ce925f8c55e0f}{Interface\+\_\+7\+Semi}}.



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

\Hypertarget{classSPI__Interface_ae48d3d857131fc77c0f32c7ed24c28e1}\index{SPI\_Interface@{SPI\_Interface}!write@{write}}
\index{write@{write}!SPI\_Interface@{SPI\_Interface}}
\doxysubsubsection{\texorpdfstring{write()}{write()}}
{\footnotesize\ttfamily \label{classSPI__Interface_ae48d3d857131fc77c0f32c7ed24c28e1} 
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 \doxymbox{\hyperlink{classInterface__7Semi_a35047310c257c82ae7f60d143326daa0}{Interface\+\_\+7\+Semi}}.



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



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



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

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



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

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



Definition at line \doxymbox{\hyperlink{7Semi__SPI__Interface_8h_source_l00011}{11}} of file \doxymbox{\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/\+\doxymbox{\hyperlink{7Semi__SPI__Interface_8h}{7\+Semi\+\_\+\+SPI\+\_\+\+Interface.\+h}}\end{DoxyCompactItemize}
