\hypertarget{utils_8h}{}\doxysection{utils.\+h File Reference}
\label{utils_8h}\index{utils.h@{utils.h}}
{\ttfamily \#include $<$Arduino.\+h$>$}\newline
{\ttfamily \#include $<$I\+P\+Address.\+h$>$}\newline
{\ttfamily \#include \char`\"{}a\+J\+S\+O\+N.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}options.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}item.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}Streaming.\+h\char`\"{}}\newline
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{utils_8h_a2a280bfe12bc6e732a7c4d3d62443a14}{Q}}(x)~\#x
\item 
\#define \mbox{\hyperlink{utils_8h_a2117b58e19182dff91ad3558e650541d}{Q\+U\+O\+TE}}(x)~\mbox{\hyperlink{utils_8h_a2a280bfe12bc6e732a7c4d3d62443a14}{Q}}(x)
\item 
\#define \mbox{\hyperlink{utils_8h_ad15c9a08925b1c0365fb1bd9ac826670}{V\+A\+L\+U\+E\+\_\+\+T\+O\+\_\+\+S\+T\+R\+I\+NG}}(x)~\#x
\item 
\#define \mbox{\hyperlink{utils_8h_ad705dc78222473228fa826e42eca95f1}{V\+A\+L\+UE}}(x)~\mbox{\hyperlink{utils_8h_ad15c9a08925b1c0365fb1bd9ac826670}{V\+A\+L\+U\+E\+\_\+\+T\+O\+\_\+\+S\+T\+R\+I\+NG}}(x)
\item 
\#define \mbox{\hyperlink{utils_8h_a9a89328d94ddd2cdd4b39db22da01f79}{V\+A\+R\+\_\+\+N\+A\+M\+E\+\_\+\+V\+A\+L\+UE}}(var)~\#var \char`\"{}=\char`\"{}  \mbox{\hyperlink{utils_8h_ad705dc78222473228fa826e42eca95f1}{V\+A\+L\+UE}}(var)
\item 
\#define \mbox{\hyperlink{utils_8h_af725dabbb9d86c575157b3bbc24d6d55}{serial\+Param\+Type}}~uint16\+\_\+t
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{utils_8h_a2598bacb04e8f77e8b41cee61ef359fc}{topic\+Type}} \{ \mbox{\hyperlink{utils_8h_a2598bacb04e8f77e8b41cee61ef359fca3fa22e2ae357981afc104dc67d764c85}{T\+\_\+\+D\+EV}} = 1, 
\mbox{\hyperlink{utils_8h_a2598bacb04e8f77e8b41cee61ef359fca26fa2da957fe6c55420ed0e1a7dd7a15}{T\+\_\+\+B\+C\+ST}} = 2, 
\mbox{\hyperlink{utils_8h_a2598bacb04e8f77e8b41cee61ef359fca27b2310c69298d62ed18dd416476a44d}{T\+\_\+\+O\+UT}} = 3
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{utils_8h_ab5fb614b925280fc7c8d0e5314dd3b7a}{Print\+Bytes}} (uint8\+\_\+t $\ast$addr, uint8\+\_\+t count, bool newline)
\item 
void \mbox{\hyperlink{utils_8h_a85a33f14fc0eefef02be4c6bacf5c8f0}{Set\+Bytes}} (uint8\+\_\+t $\ast$addr, uint8\+\_\+t count, char $\ast$out)
\item 
void \mbox{\hyperlink{utils_8h_a4dd6705cb24a3eab32d9abc8393844b3}{Set\+Addr}} (char $\ast$out, uint8\+\_\+t $\ast$addr)
\item 
uint8\+\_\+t \mbox{\hyperlink{utils_8h_a215fd13be95cb1c21fe50b3693b85557}{H\+E\+X2\+D\+EC}} (char i)
\item 
int \mbox{\hyperlink{utils_8h_a6037cfc7913c0856e93dbf8fc2133aac}{get\+Int}} (char $\ast$$\ast$chan)
\item 
\mbox{\hyperlink{classitem_cmd}{item\+Cmd}} \mbox{\hyperlink{utils_8h_af97ce3611cbf9e3f12566a1d2a6c965b}{get\+Number}} (char $\ast$$\ast$chan)
\item 
unsigned long \mbox{\hyperlink{utils_8h_a3c97971726a07a7d14fb701f4a4638f0}{free\+Ram}} ()
\item 
void \mbox{\hyperlink{utils_8h_a1938abf1ef99f35bd2578e3db1bcf7b8}{parse\+Bytes}} (const char $\ast$str, char separator, byte $\ast$bytes, int max\+Bytes, int base)
\item 
int \mbox{\hyperlink{utils_8h_aadf1050416e46077ad59157173438dad}{log}} (const char $\ast$str,...)
\item 
void \mbox{\hyperlink{utils_8h_a6c16341dd45c4e557f951818d8d09810}{print\+Float\+Value\+To\+Str}} (float value, char $\ast$valstr)
\item 
void \mbox{\hyperlink{utils_8h_a1380fbc9c2170180770dd1bdcc5ac647}{Read\+Unique\+ID}} (uint32\+\_\+t $\ast$pdw\+Unique\+ID)
\item 
int \mbox{\hyperlink{utils_8h_ad620f6746f5f0d6b62a801dd26c8ed53}{\+\_\+inet\+\_\+aton}} (const char $\ast$a\+I\+P\+Addr\+String, I\+P\+Address \&a\+Result)
\item 
char $\ast$ \mbox{\hyperlink{utils_8h_a62c963f0eca4136cc72f0f882c13e7af}{\+\_\+inet\+\_\+ntoa\+\_\+r}} (I\+P\+Address addr, char $\ast$buf, int buflen)
\item 
void \mbox{\hyperlink{utils_8h_af0df006a5ae8d0d730134afdaf1c64dd}{print\+I\+P\+Address}} (I\+P\+Address ip\+Address)
\item 
char $\ast$ \mbox{\hyperlink{utils_8h_aa0045f41bb76629662ed1ee7952f856e}{set\+Topic}} (char $\ast$buf, int8\+\_\+t buflen, \mbox{\hyperlink{utils_8h_a2598bacb04e8f77e8b41cee61ef359fc}{topic\+Type}} tt, const char $\ast$suffix=N\+U\+LL)
\item 
void \mbox{\hyperlink{utils_8h_afb183532261be04b86e9e535010db6a9}{print\+Ulong\+Value\+To\+Str}} (char $\ast$valstr, unsigned long value)
\item 
void \mbox{\hyperlink{utils_8h_af585ed9b15b9980b72fbec6d9c9dba67}{scan\+\_\+i2c\+\_\+bus}} ()
\item 
void \mbox{\hyperlink{utils_8h_a7facb8f2c84692ab65024785eb64b541}{soft\+Reboot\+Func}} ()
\item 
bool \mbox{\hyperlink{utils_8h_ac1da7fe353a40e62dd3a8a0761d12b22}{is\+Time\+Over}} (uint32\+\_\+t timestamp, uint32\+\_\+t curr\+Time, uint32\+\_\+t time, uint32\+\_\+t modulo=0)
\item 
bool \mbox{\hyperlink{utils_8h_a9843f57c765644bc93e675922da82beb}{execute\+Command}} (a\+Json\+Object $\ast$cmd, int8\+\_\+t toggle=-\/1)
\item 
bool \mbox{\hyperlink{utils_8h_abb40f2502eb474ec60da7058025ce541}{execute\+Command}} (a\+Json\+Object $\ast$cmd, int8\+\_\+t toggle, \mbox{\hyperlink{classitem_cmd}{item\+Cmd}} \+\_\+item\+Cmd, a\+Json\+Object $\ast$default\+Item=N\+U\+LL, a\+Json\+Object $\ast$default\+Emit=N\+U\+LL)
\item 
\mbox{\hyperlink{classitem_cmd}{item\+Cmd}} \mbox{\hyperlink{utils_8h_ace8fa23ff29c3feb89c5d500ef87b914}{map\+Int}} (int32\+\_\+t arg, a\+Json\+Object $\ast$map)
\item 
unsigned long \mbox{\hyperlink{utils_8h_a2b226ab4fb09687005316a874e2627d0}{millis\+NZ}} (uint8\+\_\+t shift=0)
\item 
\mbox{\hyperlink{utils_8h_af725dabbb9d86c575157b3bbc24d6d55}{serial\+Param\+Type}} \mbox{\hyperlink{utils_8h_a7a7f700c0c11e53e4fde708443be96ff}{str2\+Serial\+Param}} (char $\ast$str)
\item 
String \mbox{\hyperlink{utils_8h_a19f2c10a5d113a7b031d5bb3387ea27c}{to\+String}} (const I\+P\+Address \&address)
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{utils_8h_a2a280bfe12bc6e732a7c4d3d62443a14}\label{utils_8h_a2a280bfe12bc6e732a7c4d3d62443a14}} 
\index{utils.h@{utils.h}!Q@{Q}}
\index{Q@{Q}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{Q}{Q}}
{\footnotesize\ttfamily \#define Q(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~\#x}

\mbox{\Hypertarget{utils_8h_a2117b58e19182dff91ad3558e650541d}\label{utils_8h_a2117b58e19182dff91ad3558e650541d}} 
\index{utils.h@{utils.h}!QUOTE@{QUOTE}}
\index{QUOTE@{QUOTE}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{QUOTE}{QUOTE}}
{\footnotesize\ttfamily \#define Q\+U\+O\+TE(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~\mbox{\hyperlink{utils_8h_a2a280bfe12bc6e732a7c4d3d62443a14}{Q}}(x)}

\mbox{\Hypertarget{utils_8h_af725dabbb9d86c575157b3bbc24d6d55}\label{utils_8h_af725dabbb9d86c575157b3bbc24d6d55}} 
\index{utils.h@{utils.h}!serialParamType@{serialParamType}}
\index{serialParamType@{serialParamType}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{serialParamType}{serialParamType}}
{\footnotesize\ttfamily \#define serial\+Param\+Type~uint16\+\_\+t}

\mbox{\Hypertarget{utils_8h_ad705dc78222473228fa826e42eca95f1}\label{utils_8h_ad705dc78222473228fa826e42eca95f1}} 
\index{utils.h@{utils.h}!VALUE@{VALUE}}
\index{VALUE@{VALUE}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{VALUE}{VALUE}}
{\footnotesize\ttfamily \#define V\+A\+L\+UE(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~\mbox{\hyperlink{utils_8h_ad15c9a08925b1c0365fb1bd9ac826670}{V\+A\+L\+U\+E\+\_\+\+T\+O\+\_\+\+S\+T\+R\+I\+NG}}(x)}

\mbox{\Hypertarget{utils_8h_ad15c9a08925b1c0365fb1bd9ac826670}\label{utils_8h_ad15c9a08925b1c0365fb1bd9ac826670}} 
\index{utils.h@{utils.h}!VALUE\_TO\_STRING@{VALUE\_TO\_STRING}}
\index{VALUE\_TO\_STRING@{VALUE\_TO\_STRING}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{VALUE\_TO\_STRING}{VALUE\_TO\_STRING}}
{\footnotesize\ttfamily \#define V\+A\+L\+U\+E\+\_\+\+T\+O\+\_\+\+S\+T\+R\+I\+NG(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~\#x}

\mbox{\Hypertarget{utils_8h_a9a89328d94ddd2cdd4b39db22da01f79}\label{utils_8h_a9a89328d94ddd2cdd4b39db22da01f79}} 
\index{utils.h@{utils.h}!VAR\_NAME\_VALUE@{VAR\_NAME\_VALUE}}
\index{VAR\_NAME\_VALUE@{VAR\_NAME\_VALUE}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{VAR\_NAME\_VALUE}{VAR\_NAME\_VALUE}}
{\footnotesize\ttfamily \#define V\+A\+R\+\_\+\+N\+A\+M\+E\+\_\+\+V\+A\+L\+UE(\begin{DoxyParamCaption}\item[{}]{var }\end{DoxyParamCaption})~\#var \char`\"{}=\char`\"{}  \mbox{\hyperlink{utils_8h_ad705dc78222473228fa826e42eca95f1}{V\+A\+L\+UE}}(var)}



\doxysubsection{Enumeration Type Documentation}
\mbox{\Hypertarget{utils_8h_a2598bacb04e8f77e8b41cee61ef359fc}\label{utils_8h_a2598bacb04e8f77e8b41cee61ef359fc}} 
\index{utils.h@{utils.h}!topicType@{topicType}}
\index{topicType@{topicType}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{topicType}{topicType}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{utils_8h_a2598bacb04e8f77e8b41cee61ef359fc}{topic\+Type}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{T\_DEV@{T\_DEV}!utils.h@{utils.h}}\index{utils.h@{utils.h}!T\_DEV@{T\_DEV}}}\mbox{\Hypertarget{utils_8h_a2598bacb04e8f77e8b41cee61ef359fca3fa22e2ae357981afc104dc67d764c85}\label{utils_8h_a2598bacb04e8f77e8b41cee61ef359fca3fa22e2ae357981afc104dc67d764c85}} 
T\+\_\+\+D\+EV&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{T\_BCST@{T\_BCST}!utils.h@{utils.h}}\index{utils.h@{utils.h}!T\_BCST@{T\_BCST}}}\mbox{\Hypertarget{utils_8h_a2598bacb04e8f77e8b41cee61ef359fca26fa2da957fe6c55420ed0e1a7dd7a15}\label{utils_8h_a2598bacb04e8f77e8b41cee61ef359fca26fa2da957fe6c55420ed0e1a7dd7a15}} 
T\+\_\+\+B\+C\+ST&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{T\_OUT@{T\_OUT}!utils.h@{utils.h}}\index{utils.h@{utils.h}!T\_OUT@{T\_OUT}}}\mbox{\Hypertarget{utils_8h_a2598bacb04e8f77e8b41cee61ef359fca27b2310c69298d62ed18dd416476a44d}\label{utils_8h_a2598bacb04e8f77e8b41cee61ef359fca27b2310c69298d62ed18dd416476a44d}} 
T\+\_\+\+O\+UT&\\
\hline

\end{DoxyEnumFields}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{utils_8h_ad620f6746f5f0d6b62a801dd26c8ed53}\label{utils_8h_ad620f6746f5f0d6b62a801dd26c8ed53}} 
\index{utils.h@{utils.h}!\_inet\_aton@{\_inet\_aton}}
\index{\_inet\_aton@{\_inet\_aton}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{\_inet\_aton()}{\_inet\_aton()}}
{\footnotesize\ttfamily int \+\_\+inet\+\_\+aton (\begin{DoxyParamCaption}\item[{const char $\ast$}]{a\+I\+P\+Addr\+String,  }\item[{I\+P\+Address \&}]{a\+Result }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_a62c963f0eca4136cc72f0f882c13e7af}\label{utils_8h_a62c963f0eca4136cc72f0f882c13e7af}} 
\index{utils.h@{utils.h}!\_inet\_ntoa\_r@{\_inet\_ntoa\_r}}
\index{\_inet\_ntoa\_r@{\_inet\_ntoa\_r}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{\_inet\_ntoa\_r()}{\_inet\_ntoa\_r()}}
{\footnotesize\ttfamily char$\ast$ \+\_\+inet\+\_\+ntoa\+\_\+r (\begin{DoxyParamCaption}\item[{I\+P\+Address}]{addr,  }\item[{char $\ast$}]{buf,  }\item[{int}]{buflen }\end{DoxyParamCaption})}

Same as ipaddr\+\_\+ntoa, but reentrant since a user-\/supplied buffer is used.


\begin{DoxyParams}{Parameters}
{\em addr} & ip address in network order to convert \\
\hline
{\em buf} & target buffer where the string is stored \\
\hline
{\em buflen} & length of buf \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
either pointer to buf which now holds the A\+S\+C\+II representation of addr or N\+U\+LL if buf was too small 
\end{DoxyReturn}
\mbox{\Hypertarget{utils_8h_abb40f2502eb474ec60da7058025ce541}\label{utils_8h_abb40f2502eb474ec60da7058025ce541}} 
\index{utils.h@{utils.h}!executeCommand@{executeCommand}}
\index{executeCommand@{executeCommand}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{executeCommand()}{executeCommand()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily bool execute\+Command (\begin{DoxyParamCaption}\item[{a\+Json\+Object $\ast$}]{cmd,  }\item[{int8\+\_\+t}]{toggle,  }\item[{\mbox{\hyperlink{classitem_cmd}{item\+Cmd}}}]{\+\_\+item\+Cmd,  }\item[{a\+Json\+Object $\ast$}]{default\+Item = {\ttfamily NULL},  }\item[{a\+Json\+Object $\ast$}]{default\+Emit = {\ttfamily NULL} }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_a9843f57c765644bc93e675922da82beb}\label{utils_8h_a9843f57c765644bc93e675922da82beb}} 
\index{utils.h@{utils.h}!executeCommand@{executeCommand}}
\index{executeCommand@{executeCommand}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{executeCommand()}{executeCommand()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily bool execute\+Command (\begin{DoxyParamCaption}\item[{a\+Json\+Object $\ast$}]{cmd,  }\item[{int8\+\_\+t}]{toggle = {\ttfamily -\/1} }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_a3c97971726a07a7d14fb701f4a4638f0}\label{utils_8h_a3c97971726a07a7d14fb701f4a4638f0}} 
\index{utils.h@{utils.h}!freeRam@{freeRam}}
\index{freeRam@{freeRam}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{freeRam()}{freeRam()}}
{\footnotesize\ttfamily unsigned long free\+Ram (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_a6037cfc7913c0856e93dbf8fc2133aac}\label{utils_8h_a6037cfc7913c0856e93dbf8fc2133aac}} 
\index{utils.h@{utils.h}!getInt@{getInt}}
\index{getInt@{getInt}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{getInt()}{getInt()}}
{\footnotesize\ttfamily int get\+Int (\begin{DoxyParamCaption}\item[{char $\ast$$\ast$}]{chan }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_af97ce3611cbf9e3f12566a1d2a6c965b}\label{utils_8h_af97ce3611cbf9e3f12566a1d2a6c965b}} 
\index{utils.h@{utils.h}!getNumber@{getNumber}}
\index{getNumber@{getNumber}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{getNumber()}{getNumber()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classitem_cmd}{item\+Cmd}} get\+Number (\begin{DoxyParamCaption}\item[{char $\ast$$\ast$}]{chan }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_a215fd13be95cb1c21fe50b3693b85557}\label{utils_8h_a215fd13be95cb1c21fe50b3693b85557}} 
\index{utils.h@{utils.h}!HEX2DEC@{HEX2DEC}}
\index{HEX2DEC@{HEX2DEC}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{HEX2DEC()}{HEX2DEC()}}
{\footnotesize\ttfamily uint8\+\_\+t H\+E\+X2\+D\+EC (\begin{DoxyParamCaption}\item[{char}]{i }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_ac1da7fe353a40e62dd3a8a0761d12b22}\label{utils_8h_ac1da7fe353a40e62dd3a8a0761d12b22}} 
\index{utils.h@{utils.h}!isTimeOver@{isTimeOver}}
\index{isTimeOver@{isTimeOver}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{isTimeOver()}{isTimeOver()}}
{\footnotesize\ttfamily bool is\+Time\+Over (\begin{DoxyParamCaption}\item[{uint32\+\_\+t}]{timestamp,  }\item[{uint32\+\_\+t}]{curr\+Time,  }\item[{uint32\+\_\+t}]{time,  }\item[{uint32\+\_\+t}]{modulo = {\ttfamily 0} }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_aadf1050416e46077ad59157173438dad}\label{utils_8h_aadf1050416e46077ad59157173438dad}} 
\index{utils.h@{utils.h}!log@{log}}
\index{log@{log}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{log()}{log()}}
{\footnotesize\ttfamily int log (\begin{DoxyParamCaption}\item[{const char $\ast$}]{str,  }\item[{}]{... }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_ace8fa23ff29c3feb89c5d500ef87b914}\label{utils_8h_ace8fa23ff29c3feb89c5d500ef87b914}} 
\index{utils.h@{utils.h}!mapInt@{mapInt}}
\index{mapInt@{mapInt}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{mapInt()}{mapInt()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classitem_cmd}{item\+Cmd}} map\+Int (\begin{DoxyParamCaption}\item[{int32\+\_\+t}]{arg,  }\item[{a\+Json\+Object $\ast$}]{map }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_a2b226ab4fb09687005316a874e2627d0}\label{utils_8h_a2b226ab4fb09687005316a874e2627d0}} 
\index{utils.h@{utils.h}!millisNZ@{millisNZ}}
\index{millisNZ@{millisNZ}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{millisNZ()}{millisNZ()}}
{\footnotesize\ttfamily unsigned long millis\+NZ (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{shift = {\ttfamily 0} }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_a1938abf1ef99f35bd2578e3db1bcf7b8}\label{utils_8h_a1938abf1ef99f35bd2578e3db1bcf7b8}} 
\index{utils.h@{utils.h}!parseBytes@{parseBytes}}
\index{parseBytes@{parseBytes}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{parseBytes()}{parseBytes()}}
{\footnotesize\ttfamily void parse\+Bytes (\begin{DoxyParamCaption}\item[{const char $\ast$}]{str,  }\item[{char}]{separator,  }\item[{byte $\ast$}]{bytes,  }\item[{int}]{max\+Bytes,  }\item[{int}]{base }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_ab5fb614b925280fc7c8d0e5314dd3b7a}\label{utils_8h_ab5fb614b925280fc7c8d0e5314dd3b7a}} 
\index{utils.h@{utils.h}!PrintBytes@{PrintBytes}}
\index{PrintBytes@{PrintBytes}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{PrintBytes()}{PrintBytes()}}
{\footnotesize\ttfamily void Print\+Bytes (\begin{DoxyParamCaption}\item[{uint8\+\_\+t $\ast$}]{addr,  }\item[{uint8\+\_\+t}]{count,  }\item[{bool}]{newline }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_a6c16341dd45c4e557f951818d8d09810}\label{utils_8h_a6c16341dd45c4e557f951818d8d09810}} 
\index{utils.h@{utils.h}!printFloatValueToStr@{printFloatValueToStr}}
\index{printFloatValueToStr@{printFloatValueToStr}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{printFloatValueToStr()}{printFloatValueToStr()}}
{\footnotesize\ttfamily void print\+Float\+Value\+To\+Str (\begin{DoxyParamCaption}\item[{float}]{value,  }\item[{char $\ast$}]{valstr }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_af0df006a5ae8d0d730134afdaf1c64dd}\label{utils_8h_af0df006a5ae8d0d730134afdaf1c64dd}} 
\index{utils.h@{utils.h}!printIPAddress@{printIPAddress}}
\index{printIPAddress@{printIPAddress}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{printIPAddress()}{printIPAddress()}}
{\footnotesize\ttfamily void print\+I\+P\+Address (\begin{DoxyParamCaption}\item[{I\+P\+Address}]{ip\+Address }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_afb183532261be04b86e9e535010db6a9}\label{utils_8h_afb183532261be04b86e9e535010db6a9}} 
\index{utils.h@{utils.h}!printUlongValueToStr@{printUlongValueToStr}}
\index{printUlongValueToStr@{printUlongValueToStr}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{printUlongValueToStr()}{printUlongValueToStr()}}
{\footnotesize\ttfamily void print\+Ulong\+Value\+To\+Str (\begin{DoxyParamCaption}\item[{char $\ast$}]{valstr,  }\item[{unsigned long}]{value }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_a1380fbc9c2170180770dd1bdcc5ac647}\label{utils_8h_a1380fbc9c2170180770dd1bdcc5ac647}} 
\index{utils.h@{utils.h}!ReadUniqueID@{ReadUniqueID}}
\index{ReadUniqueID@{ReadUniqueID}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{ReadUniqueID()}{ReadUniqueID()}}
{\footnotesize\ttfamily void Read\+Unique\+ID (\begin{DoxyParamCaption}\item[{uint32\+\_\+t $\ast$}]{pdw\+Unique\+ID }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_af585ed9b15b9980b72fbec6d9c9dba67}\label{utils_8h_af585ed9b15b9980b72fbec6d9c9dba67}} 
\index{utils.h@{utils.h}!scan\_i2c\_bus@{scan\_i2c\_bus}}
\index{scan\_i2c\_bus@{scan\_i2c\_bus}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{scan\_i2c\_bus()}{scan\_i2c\_bus()}}
{\footnotesize\ttfamily void scan\+\_\+i2c\+\_\+bus (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_a4dd6705cb24a3eab32d9abc8393844b3}\label{utils_8h_a4dd6705cb24a3eab32d9abc8393844b3}} 
\index{utils.h@{utils.h}!SetAddr@{SetAddr}}
\index{SetAddr@{SetAddr}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{SetAddr()}{SetAddr()}}
{\footnotesize\ttfamily void Set\+Addr (\begin{DoxyParamCaption}\item[{char $\ast$}]{out,  }\item[{uint8\+\_\+t $\ast$}]{addr }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_a85a33f14fc0eefef02be4c6bacf5c8f0}\label{utils_8h_a85a33f14fc0eefef02be4c6bacf5c8f0}} 
\index{utils.h@{utils.h}!SetBytes@{SetBytes}}
\index{SetBytes@{SetBytes}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{SetBytes()}{SetBytes()}}
{\footnotesize\ttfamily void Set\+Bytes (\begin{DoxyParamCaption}\item[{uint8\+\_\+t $\ast$}]{addr,  }\item[{uint8\+\_\+t}]{count,  }\item[{char $\ast$}]{out }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_aa0045f41bb76629662ed1ee7952f856e}\label{utils_8h_aa0045f41bb76629662ed1ee7952f856e}} 
\index{utils.h@{utils.h}!setTopic@{setTopic}}
\index{setTopic@{setTopic}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{setTopic()}{setTopic()}}
{\footnotesize\ttfamily char$\ast$ set\+Topic (\begin{DoxyParamCaption}\item[{char $\ast$}]{buf,  }\item[{int8\+\_\+t}]{buflen,  }\item[{\mbox{\hyperlink{utils_8h_a2598bacb04e8f77e8b41cee61ef359fc}{topic\+Type}}}]{tt,  }\item[{const char $\ast$}]{suffix = {\ttfamily NULL} }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_a7facb8f2c84692ab65024785eb64b541}\label{utils_8h_a7facb8f2c84692ab65024785eb64b541}} 
\index{utils.h@{utils.h}!softRebootFunc@{softRebootFunc}}
\index{softRebootFunc@{softRebootFunc}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{softRebootFunc()}{softRebootFunc()}}
{\footnotesize\ttfamily void soft\+Reboot\+Func (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_a7a7f700c0c11e53e4fde708443be96ff}\label{utils_8h_a7a7f700c0c11e53e4fde708443be96ff}} 
\index{utils.h@{utils.h}!str2SerialParam@{str2SerialParam}}
\index{str2SerialParam@{str2SerialParam}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{str2SerialParam()}{str2SerialParam()}}
{\footnotesize\ttfamily \mbox{\hyperlink{utils_8h_af725dabbb9d86c575157b3bbc24d6d55}{serial\+Param\+Type}} str2\+Serial\+Param (\begin{DoxyParamCaption}\item[{char $\ast$}]{str }\end{DoxyParamCaption})}

\mbox{\Hypertarget{utils_8h_a19f2c10a5d113a7b031d5bb3387ea27c}\label{utils_8h_a19f2c10a5d113a7b031d5bb3387ea27c}} 
\index{utils.h@{utils.h}!toString@{toString}}
\index{toString@{toString}!utils.h@{utils.h}}
\doxysubsubsection{\texorpdfstring{toString()}{toString()}}
{\footnotesize\ttfamily String to\+String (\begin{DoxyParamCaption}\item[{const I\+P\+Address \&}]{address }\end{DoxyParamCaption})}

