projet crepp_git/crepp-projects/my-sensors · branche main
_my_hw_h_a_l_8h.tex Voir sur GitLab
\hypertarget{_my_hw_h_a_l_8h}{}\doxysection{hal/architecture/\+My\+Hw\+H\+AL.h File Reference}
\label{_my_hw_h_a_l_8h}\index{hal/architecture/MyHwHAL.h@{hal/architecture/MyHwHAL.h}}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=235pt]{_my_hw_h_a_l_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{_my_hw_h_a_l_8h_ad3af9b2993e4ba889db63d5089b2013d}\label{_my_hw_h_a_l_8h_ad3af9b2993e4ba889db63d5089b2013d}} 
\#define \mbox{\hyperlink{_my_hw_h_a_l_8h_ad3af9b2993e4ba889db63d5089b2013d}{I\+N\+V\+A\+L\+I\+D\+\_\+\+I\+N\+T\+E\+R\+R\+U\+P\+T\+\_\+\+N\+UM}}~(0x\+F\+Fu)
\begin{DoxyCompactList}\small\item\em Invalid interrupt. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{_my_hw_h_a_l_8h_a66193564024708e723203e37bb8bbf7e}\label{_my_hw_h_a_l_8h_a66193564024708e723203e37bb8bbf7e}} 
\#define \mbox{\hyperlink{_my_hw_h_a_l_8h_a66193564024708e723203e37bb8bbf7e}{M\+Y\+\_\+\+H\+W\+I\+D\+\_\+\+P\+A\+D\+D\+I\+N\+G\+\_\+\+B\+Y\+TE}}~(0x\+A\+Au)
\begin{DoxyCompactList}\small\item\em Hw\+ID padding byte. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{_my_hw_h_a_l_8h_a773518011c640581f16cf5a261c81e9d}\label{_my_hw_h_a_l_8h_a773518011c640581f16cf5a261c81e9d}} 
\#define \mbox{\hyperlink{_my_hw_h_a_l_8h_a773518011c640581f16cf5a261c81e9d}{I\+R\+Q\+\_\+\+H\+A\+N\+D\+L\+E\+R\+\_\+\+A\+T\+TR}}
\begin{DoxyCompactList}\small\item\em E\+S\+P8266/\+E\+S\+P32 I\+RQ handlers need to be stored in I\+R\+AM. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{_my_hw_h_a_l_8h_a636c78f44b21d19db62e011747f5a76c}\label{_my_hw_h_a_l_8h_a636c78f44b21d19db62e011747f5a76c}} 
typedef uint8\+\_\+t \mbox{\hyperlink{_my_hw_h_a_l_8h_a636c78f44b21d19db62e011747f5a76c}{unique\+\_\+id\+\_\+t}}\mbox{[}16\mbox{]}
\begin{DoxyCompactList}\small\item\em unique ID \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int8\+\_\+t \mbox{\hyperlink{_my_hw_h_a_l_8h_a5fbfd429e72b5ee85a7e6be9c8310edb}{hw\+Sleep}} (uint32\+\_\+t ms)
\item 
int8\+\_\+t \mbox{\hyperlink{_my_hw_h_a_l_8h_a4f35c7c602efa6d406faa0be5da62237}{hw\+Sleep}} (const uint8\+\_\+t interrupt, const uint8\+\_\+t mode, uint32\+\_\+t ms)
\item 
int8\+\_\+t \mbox{\hyperlink{_my_hw_h_a_l_8h_a4a36c47466df62533a501cadb4905148}{hw\+Sleep}} (const uint8\+\_\+t interrupt1, const uint8\+\_\+t mode1, const uint8\+\_\+t interrupt2, const uint8\+\_\+t mode2, uint32\+\_\+t ms)
\item 
bool \mbox{\hyperlink{_my_hw_h_a_l_8h_a143fdf678fc5920a2a53319365f3c089}{hw\+Unique\+ID}} (\mbox{\hyperlink{_my_hw_h_a_l_8h_a636c78f44b21d19db62e011747f5a76c}{unique\+\_\+id\+\_\+t}} $\ast$unique\+ID)
\item 
uint16\+\_\+t \mbox{\hyperlink{_my_hw_h_a_l_8h_a943e5fae6d2a4461f16de76e3d8521c4}{hw\+C\+P\+U\+Voltage}} (void)
\item 
uint16\+\_\+t \mbox{\hyperlink{_my_hw_h_a_l_8h_a326ae7cc863292e860623bc38de1c664}{hw\+C\+P\+U\+Frequency}} (void)
\item 
int8\+\_\+t \mbox{\hyperlink{_my_hw_h_a_l_8h_a7a5c5f9d1f888aec7b4781c6ea67cbf6}{hw\+C\+P\+U\+Temperature}} (void)
\item 
uint16\+\_\+t \mbox{\hyperlink{_my_hw_h_a_l_8h_a9e4b59ca4fa43dc12e24431f0e425d0f}{hw\+Free\+Mem}} (void)
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
My\+Sensors hardware abstraction layer 

\doxysubsection{Function Documentation}
\mbox{\Hypertarget{_my_hw_h_a_l_8h_a326ae7cc863292e860623bc38de1c664}\label{_my_hw_h_a_l_8h_a326ae7cc863292e860623bc38de1c664}} 
\index{MyHwHAL.h@{MyHwHAL.h}!hwCPUFrequency@{hwCPUFrequency}}
\index{hwCPUFrequency@{hwCPUFrequency}!MyHwHAL.h@{MyHwHAL.h}}
\doxysubsubsection{\texorpdfstring{hwCPUFrequency()}{hwCPUFrequency()}}
{\footnotesize\ttfamily uint16\+\_\+t hw\+C\+P\+U\+Frequency (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}

C\+PU frequency \begin{DoxyReturn}{Returns}
C\+PU frequency in 1/10\+Mhz 
\end{DoxyReturn}
\mbox{\Hypertarget{_my_hw_h_a_l_8h_a7a5c5f9d1f888aec7b4781c6ea67cbf6}\label{_my_hw_h_a_l_8h_a7a5c5f9d1f888aec7b4781c6ea67cbf6}} 
\index{MyHwHAL.h@{MyHwHAL.h}!hwCPUTemperature@{hwCPUTemperature}}
\index{hwCPUTemperature@{hwCPUTemperature}!MyHwHAL.h@{MyHwHAL.h}}
\doxysubsubsection{\texorpdfstring{hwCPUTemperature()}{hwCPUTemperature()}}
{\footnotesize\ttfamily int8\+\_\+t hw\+C\+P\+U\+Temperature (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}

C\+PU temperature (if available) Adjust calibration parameters via M\+Y\+\_\+$<$\+A\+R\+C\+H$>$\+\_\+\+T\+E\+M\+P\+E\+R\+A\+T\+U\+R\+E\+\_\+\+O\+F\+F\+S\+ET and M\+Y\+\_\+$<$\+A\+R\+C\+H$>$\+\_\+\+T\+E\+M\+P\+E\+R\+A\+T\+U\+R\+E\+\_\+\+G\+A\+IN \begin{DoxyReturn}{Returns}
C\+PU temperature in °C, -\/127 if not available 
\end{DoxyReturn}
\mbox{\Hypertarget{_my_hw_h_a_l_8h_a943e5fae6d2a4461f16de76e3d8521c4}\label{_my_hw_h_a_l_8h_a943e5fae6d2a4461f16de76e3d8521c4}} 
\index{MyHwHAL.h@{MyHwHAL.h}!hwCPUVoltage@{hwCPUVoltage}}
\index{hwCPUVoltage@{hwCPUVoltage}!MyHwHAL.h@{MyHwHAL.h}}
\doxysubsubsection{\texorpdfstring{hwCPUVoltage()}{hwCPUVoltage()}}
{\footnotesize\ttfamily uint16\+\_\+t hw\+C\+P\+U\+Voltage (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}

C\+PU voltage \begin{DoxyReturn}{Returns}
C\+PU voltage in mV 
\end{DoxyReturn}
\mbox{\Hypertarget{_my_hw_h_a_l_8h_a9e4b59ca4fa43dc12e24431f0e425d0f}\label{_my_hw_h_a_l_8h_a9e4b59ca4fa43dc12e24431f0e425d0f}} 
\index{MyHwHAL.h@{MyHwHAL.h}!hwFreeMem@{hwFreeMem}}
\index{hwFreeMem@{hwFreeMem}!MyHwHAL.h@{MyHwHAL.h}}
\doxysubsubsection{\texorpdfstring{hwFreeMem()}{hwFreeMem()}}
{\footnotesize\ttfamily uint16\+\_\+t hw\+Free\+Mem (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}

Report free memory (if function available) \begin{DoxyReturn}{Returns}
free memory in bytes 
\end{DoxyReturn}
\mbox{\Hypertarget{_my_hw_h_a_l_8h_a4f35c7c602efa6d406faa0be5da62237}\label{_my_hw_h_a_l_8h_a4f35c7c602efa6d406faa0be5da62237}} 
\index{MyHwHAL.h@{MyHwHAL.h}!hwSleep@{hwSleep}}
\index{hwSleep@{hwSleep}!MyHwHAL.h@{MyHwHAL.h}}
\doxysubsubsection{\texorpdfstring{hwSleep()}{hwSleep()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily int8\+\_\+t hw\+Sleep (\begin{DoxyParamCaption}\item[{const uint8\+\_\+t}]{interrupt,  }\item[{const uint8\+\_\+t}]{mode,  }\item[{uint32\+\_\+t}]{ms }\end{DoxyParamCaption})}

Sleep for a defined time, using minimum power, or until woken by interrupt. 
\begin{DoxyParams}{Parameters}
{\em interrupt} & Interrupt number, which can wake the mcu from sleep. \\
\hline
{\em mode} & Interrupt mode, as passed to attach\+Interrupt. \\
\hline
{\em ms} & Time to sleep, in \mbox{[}ms\mbox{]}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
M\+Y\+\_\+\+W\+A\+K\+E\+\_\+\+U\+P\+\_\+\+B\+Y\+\_\+\+T\+I\+M\+ER when woken by timer, or interrupt number when woken by interrupt. 
\end{DoxyReturn}
\mbox{\Hypertarget{_my_hw_h_a_l_8h_a4a36c47466df62533a501cadb4905148}\label{_my_hw_h_a_l_8h_a4a36c47466df62533a501cadb4905148}} 
\index{MyHwHAL.h@{MyHwHAL.h}!hwSleep@{hwSleep}}
\index{hwSleep@{hwSleep}!MyHwHAL.h@{MyHwHAL.h}}
\doxysubsubsection{\texorpdfstring{hwSleep()}{hwSleep()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily int8\+\_\+t hw\+Sleep (\begin{DoxyParamCaption}\item[{const uint8\+\_\+t}]{interrupt1,  }\item[{const uint8\+\_\+t}]{mode1,  }\item[{const uint8\+\_\+t}]{interrupt2,  }\item[{const uint8\+\_\+t}]{mode2,  }\item[{uint32\+\_\+t}]{ms }\end{DoxyParamCaption})}

Sleep for a defined time, using minimum power, or until woken by one of the interrupts. 
\begin{DoxyParams}{Parameters}
{\em interrupt1} & Interrupt1 number, which can wake the mcu from sleep. \\
\hline
{\em mode1} & Interrupt1 mode, as passed to attach\+Interrupt. \\
\hline
{\em interrupt2} & Interrupt2 number, which can wake the mcu from sleep. \\
\hline
{\em mode2} & Interrupt2 mode, as passed to attach\+Interrupt. \\
\hline
{\em ms} & Time to sleep, in \mbox{[}ms\mbox{]}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
M\+Y\+\_\+\+W\+A\+K\+E\+\_\+\+U\+P\+\_\+\+B\+Y\+\_\+\+T\+I\+M\+ER when woken by timer, or interrupt number when woken by interrupt. 
\end{DoxyReturn}
\mbox{\Hypertarget{_my_hw_h_a_l_8h_a5fbfd429e72b5ee85a7e6be9c8310edb}\label{_my_hw_h_a_l_8h_a5fbfd429e72b5ee85a7e6be9c8310edb}} 
\index{MyHwHAL.h@{MyHwHAL.h}!hwSleep@{hwSleep}}
\index{hwSleep@{hwSleep}!MyHwHAL.h@{MyHwHAL.h}}
\doxysubsubsection{\texorpdfstring{hwSleep()}{hwSleep()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily int8\+\_\+t hw\+Sleep (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{ms }\end{DoxyParamCaption})}

Sleep for a defined time, using minimum power. 
\begin{DoxyParams}{Parameters}
{\em ms} & Time to sleep, in \mbox{[}ms\mbox{]}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
M\+Y\+\_\+\+W\+A\+K\+E\+\_\+\+U\+P\+\_\+\+B\+Y\+\_\+\+T\+I\+M\+ER. 
\end{DoxyReturn}
\mbox{\Hypertarget{_my_hw_h_a_l_8h_a143fdf678fc5920a2a53319365f3c089}\label{_my_hw_h_a_l_8h_a143fdf678fc5920a2a53319365f3c089}} 
\index{MyHwHAL.h@{MyHwHAL.h}!hwUniqueID@{hwUniqueID}}
\index{hwUniqueID@{hwUniqueID}!MyHwHAL.h@{MyHwHAL.h}}
\doxysubsubsection{\texorpdfstring{hwUniqueID()}{hwUniqueID()}}
{\footnotesize\ttfamily bool hw\+Unique\+ID (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{_my_hw_h_a_l_8h_a636c78f44b21d19db62e011747f5a76c}{unique\+\_\+id\+\_\+t}} $\ast$}]{unique\+ID }\end{DoxyParamCaption})}

Retrieve unique hardware ID 
\begin{DoxyParams}{Parameters}
{\em unique\+ID} & unique ID \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if unique ID successfully retrieved 
\end{DoxyReturn}