Files
lighthub/docs/latex/main_8cpp.tex
2020-11-21 20:01:02 +03:00

724 lines
47 KiB
TeX

\hypertarget{main_8cpp}{}\doxysection{main.\+cpp File Reference}
\label{main_8cpp}\index{main.cpp@{main.cpp}}
{\ttfamily \#include \char`\"{}main.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}statusled.\+h\char`\"{}}\newline
{\ttfamily \#include $<$Dhcp.\+h$>$}\newline
Include dependency graph for main.\+cpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{main_8cpp__incl}
\end{center}
\end{figure}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item
Pub\+Sub\+Client \mbox{\hyperlink{main_8cpp_a18e15522dd78764c518fd5526cc2d446}{mqtt\+Client}} (\mbox{\hyperlink{main_8cpp_a2a65545cb474469b22d80319e302a2f8}{eth\+Client}})
\item
void \mbox{\hyperlink{main_8cpp_a19861585da4d4540b8f7c2601895607d}{clean\+Conf}} ()
\item
bool \mbox{\hyperlink{main_8cpp_a9b73380a4525361ce5634b890e83c8d2}{is\+Not\+Retaining\+Status}} ()
\item
void \mbox{\hyperlink{main_8cpp_a6f06b273defaebb581fdf1adc8969f40}{mqtt\+Callback}} (char $\ast$topic, byte $\ast$payload, unsigned int length)
\item
void \mbox{\hyperlink{main_8cpp_ad04c200b33c848aace1315bdf676201e}{print\+M\+A\+C\+Address}} ()
\item
char $\ast$ \mbox{\hyperlink{main_8cpp_a900f9d7a9963ef64b642248a76175af7}{get\+String\+From\+Config}} (a\+Json\+Object $\ast$\mbox{\hyperlink{item_8cpp_a8d3c3518d793541417a4845125da1ae1}{a}}, int i)
\item
char $\ast$ \mbox{\hyperlink{main_8cpp_a7d5e0e0612ab235c45bea4406faa5f76}{get\+String\+From\+Config}} (a\+Json\+Object $\ast$\mbox{\hyperlink{item_8cpp_a8d3c3518d793541417a4845125da1ae1}{a}}, char $\ast$name)
\item
void \mbox{\hyperlink{main_8cpp_acfca2f2b3c22e56799e7fd1f66952729}{setup\+O\+TA}} (void)
\item
void \mbox{\hyperlink{main_8cpp_afa048a9d2e392a67cb5af8ab00b3ec0f}{setup\+Syslog}} ()
\item
\mbox{\hyperlink{main_8h_a98b39d850b041da059cf5de62463a473}{lan\+\_\+status}} \mbox{\hyperlink{main_8cpp_ac90757e5d1212e1b230bb4db8924d310}{lan\+Loop}} ()
\item
void \mbox{\hyperlink{main_8cpp_af1a9158faed86994ef3c4f248bdd86c8}{on\+M\+Q\+T\+T\+Connect}} ()
\item
void \mbox{\hyperlink{main_8cpp_aed1aedfd8ec1c64e58ca24e5de9470b2}{ip\+\_\+ready\+\_\+config\+\_\+loaded\+\_\+connecting\+\_\+to\+\_\+broker}} ()
\item
void \mbox{\hyperlink{main_8cpp_ae886a24c554e48191a1ea668c43d2287}{on\+Initial\+State\+Init\+L\+AN}} ()
\item
void \mbox{\hyperlink{main_8cpp_a8a8de594b1a60fc6867b639d1c50a34b}{reset\+Hard}} ()
\item
void \mbox{\hyperlink{main_8cpp_abbcbfa3bc0f5d93f1f1d84c3fdc23608}{Changed}} (int i, Device\+Address addr, float current\+Temp)
\item
void \mbox{\hyperlink{main_8cpp_a21fea6de1fe7b59684f3d18e3f4764d7}{cmd\+Function\+Help}} (int arg\+\_\+cnt, char $\ast$$\ast$args)
\item
void \mbox{\hyperlink{main_8cpp_ab6cb5750ee8902ca29b51dd013bb74b9}{print\+Curent\+Lan\+Config}} ()
\item
void \mbox{\hyperlink{main_8cpp_ab854d947e87c345f801a07f196e50a67}{cmd\+Function\+Kill}} (int arg\+\_\+cnt, char $\ast$$\ast$args)
\item
void \mbox{\hyperlink{main_8cpp_a1f823c0616ac50cfe9d6d262c313b416}{cmd\+Function\+Reboot}} (int arg\+\_\+cnt, char $\ast$$\ast$args)
\item
void \mbox{\hyperlink{main_8cpp_a82529a2f0678bfb6b0808935865ba42d}{apply\+Config}} ()
\item
void \mbox{\hyperlink{main_8cpp_ae22f686238cf5f09109b12f4b628ccea}{print\+Config\+Summary}} ()
\item
void \mbox{\hyperlink{main_8cpp_a3e35733dfdfb0fc4a3c55ab4bfc34fc1}{cmd\+Function\+Load}} (int arg\+\_\+cnt, char $\ast$$\ast$args)
\item
int \mbox{\hyperlink{main_8cpp_a92e24c034fb886c8155d50831bae5823}{load\+Config\+From\+E\+E\+P\+R\+OM}} ()
\item
void \mbox{\hyperlink{main_8cpp_a1ebb3f04dc34df941a4bf974f7ad9443}{cmd\+Function\+Req}} (int arg\+\_\+cnt, char $\ast$$\ast$args)
\item
int \mbox{\hyperlink{main_8cpp_aec955c97b23e5875d0fdb3c00e789903}{mqtt\+Config\+Request}} (int arg\+\_\+cnt, char $\ast$$\ast$args)
\item
int \mbox{\hyperlink{main_8cpp_ad60a48a0c509facdc6dc61df64d49fae}{mqtt\+Config\+Resp}} (char $\ast$as)
\item
void \mbox{\hyperlink{main_8cpp_a66af021e24df0f8f82d9550cdb6bf865}{cmd\+Function\+Save}} (int arg\+\_\+cnt, char $\ast$$\ast$args)
\item
void \mbox{\hyperlink{main_8cpp_a5c6faf75e381fd57cf83b6efb002ceb4}{cmd\+Function\+Ip}} (int arg\+\_\+cnt, char $\ast$$\ast$args)
\item
void \mbox{\hyperlink{main_8cpp_ab2e128aecd2d6a7c32257adb25b6bc0d}{cmd\+Function\+Clear\+E\+E\+P\+R\+OM}} (int arg\+\_\+cnt, char $\ast$$\ast$args)
\item
void \mbox{\hyperlink{main_8cpp_a46b3fce70062889d311e18a31d1dac28}{cmd\+Function\+Pwd}} (int arg\+\_\+cnt, char $\ast$$\ast$args)
\item
void \mbox{\hyperlink{main_8cpp_aea9177f835f6f4ad83d8f71dc0a4db77}{cmd\+Function\+Set\+Mac}} (int arg\+\_\+cnt, char $\ast$$\ast$args)
\item
void \mbox{\hyperlink{main_8cpp_a84a345181b5379a4dc0eec58f348deb7}{cmd\+Function\+Get}} (int arg\+\_\+cnt, char $\ast$$\ast$args)
\item
void \mbox{\hyperlink{main_8cpp_a2d4b5aa8fbc197c31397235607aeba13}{print\+Bool}} (bool arg)
\item
void \mbox{\hyperlink{main_8cpp_a3d9b2a443a58bf0d3e28c174d2c43b8f}{save\+Flash}} (short n, char $\ast$str)
\item
int \mbox{\hyperlink{main_8cpp_aff5e7d5d674ed8a8fedcde644c725f68}{load\+Flash}} (short n, char $\ast$str, short l)
\item
void \mbox{\hyperlink{main_8cpp_a881f36fdc5bf71038ea93823437e7751}{save\+Flash}} (short n, I\+P\+Address \&ip)
\item
int \mbox{\hyperlink{main_8cpp_a4ae13d2288d58c3ea8b731270fa798d3}{ip\+Load\+From\+Flash}} (short n, I\+P\+Address \&ip)
\item
\mbox{\hyperlink{main_8h_a98b39d850b041da059cf5de62463a473}{lan\+\_\+status}} \mbox{\hyperlink{main_8cpp_aa6db506a9d019ba9decab546c15eb819}{load\+Config\+From\+Http}} (int arg\+\_\+cnt, char $\ast$$\ast$args)
\item
void \mbox{\hyperlink{main_8cpp_a1c43d8a4afead0d0df29635242290377}{pre\+Transmission}} ()
\item
void \mbox{\hyperlink{main_8cpp_a33b535e84f654e423bb627b25b7b3759}{post\+Transmission}} ()
\item
void \mbox{\hyperlink{main_8cpp_aa34675c2dc6eb3d0744844d8e67e3af8}{setup\+\_\+main}} ()
\item
void \mbox{\hyperlink{main_8cpp_a1cff64c0263246441c972f03e6893714}{print\+Firmware\+Version\+And\+Build\+Options}} ()
\item
void \mbox{\hyperlink{main_8cpp_a2cf2114e80da1894dc41209a4b66a08f}{publish\+Stat}} ()
\item
void \mbox{\hyperlink{main_8cpp_a2186513a50a77b9bd9bb453d4584c5f8}{setup\+Mac\+Address}} ()
\item
void \mbox{\hyperlink{main_8cpp_abec54b31996557c73a31054ce068c8fa}{setup\+Cmd\+Arduino}} ()
\item
void \mbox{\hyperlink{main_8cpp_a840f282fdf876a88d5ff634fd74f10be}{loop\+\_\+main}} ()
\item
void \mbox{\hyperlink{main_8cpp_a58e08cc15112818913fe96d75642265e}{ow\+Idle}} (void)
\item
void \mbox{\hyperlink{main_8cpp_ae161ded98969a4b68b902b79633edc3b}{ethernet\+Idle}} (void)
\item
void \mbox{\hyperlink{main_8cpp_aa557ba1fef085fb9865ffd399c738dbf}{modbus\+Idle}} (void)
\item
void \mbox{\hyperlink{main_8cpp_ad146ac5b8d70c1a9a590ba4029c3548e}{input\+Loop}} (void)
\item
void \mbox{\hyperlink{main_8cpp_a312b53e977f386af72ed576bca617fef}{input\+Setup}} (void)
\item
void \mbox{\hyperlink{main_8cpp_aec2ff7b5df24b3ae0cfe8d556088fd7c}{polling\+Loop}} (void)
\item
bool \mbox{\hyperlink{main_8cpp_a5976046ebb500523e75d64f9c858d73d}{is\+Thermostat\+With\+Min\+Array\+Size}} (a\+Json\+Object $\ast$item, int minimal\+Array\+Size)
\item
bool \mbox{\hyperlink{main_8cpp_a35f5a9d31c8cb726a3c7e77e7ad9c4b2}{thermo\+Disabled\+Or\+Disconnected}} (a\+Json\+Object $\ast$thermo\+Extension\+Array, int thermo\+State\+Command)
\item
void \mbox{\hyperlink{main_8cpp_a2d1cd6009a6e25d3605fee3e54065577}{thermo\+Loop}} (void)
\item
short \mbox{\hyperlink{main_8cpp_a73643474e211698e96d2a6ac69264b46}{thermo\+Set\+Cur\+Temp}} (char $\ast$name, float t)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item
Ethernet\+Client \mbox{\hyperlink{main_8cpp_a2a65545cb474469b22d80319e302a2f8}{eth\+Client}}
\item
\mbox{\hyperlink{class_streamlog}{Streamlog}} \mbox{\hyperlink{main_8h_a9f5fbaf4b0a3b028eb31e734a5899428}{debug\+Serial}} \& \mbox{\hyperlink{main_8cpp_a525e5725911fc3939bb449849aa1b5ab}{debug\+Serial\+Port}}
\item
\mbox{\hyperlink{classstatus_l_e_d}{status\+L\+ED}} \mbox{\hyperlink{main_8cpp_a1c77e6f587043bdec86e0cabd956e2e2}{L\+ED}} (\mbox{\hyperlink{statusled_8h_abfe826857256aa93aa762e7d98390743}{led\+R\+ED}})
\item
\mbox{\hyperlink{main_8h_a98b39d850b041da059cf5de62463a473}{lan\+\_\+status}} \mbox{\hyperlink{main_8cpp_a7bbda7cf303a1bc3222e7a270f9040bd}{lan\+Status}} = \mbox{\hyperlink{main_8h_a98b39d850b041da059cf5de62463a473a11ea6a01636f6011440e189d5ba5f34f}{I\+N\+I\+T\+I\+A\+L\+\_\+\+S\+T\+A\+TE}}
\item
const char configserver\mbox{[}$\,$\mbox{]} \mbox{\hyperlink{main_8cpp_adf233b4843635c473146d0fd1d2a8b46}{P\+R\+O\+G\+M\+EM}} = \mbox{\hyperlink{options_8h_a979988f1e12c581103bd7dcd41be2a4a}{C\+O\+N\+F\+I\+G\+\_\+\+S\+E\+R\+V\+ER}}
\item
char $\ast$ \mbox{\hyperlink{main_8cpp_a5da66826e811349c98b2daf2bafb78c2}{device\+Name}} = N\+U\+LL
\item
a\+Json\+Object $\ast$ \mbox{\hyperlink{main_8cpp_addabf1c5a7be47e4e89beb38a435cb51}{topics}} = N\+U\+LL
\item
a\+Json\+Object $\ast$ \mbox{\hyperlink{main_8cpp_a2e223992d94c34788bec64fb05f780ba}{root}} = N\+U\+LL
\item
a\+Json\+Object $\ast$ \mbox{\hyperlink{main_8cpp_a012787f09a43864616e2b44349b29352}{items}} = N\+U\+LL
\item
a\+Json\+Object $\ast$ \mbox{\hyperlink{main_8cpp_a9e63aa63a6b8b667a41f94bec231d7aa}{inputs}} = N\+U\+LL
\item
a\+Json\+Object $\ast$ \mbox{\hyperlink{main_8cpp_a5a49c3c9f18e1b12e3706522c19c62c3}{mqtt\+Arr}} = N\+U\+LL
\item
a\+Json\+Object $\ast$ \mbox{\hyperlink{main_8cpp_aabc7159a42d55e7c474862449404d65c}{modbus\+Obj}} = N\+U\+LL
\item
a\+Json\+Object $\ast$ \mbox{\hyperlink{main_8cpp_a564a174b067eee3b33b1162935884d55}{ow\+Arr}} = N\+U\+LL
\item
a\+Json\+Object $\ast$ \mbox{\hyperlink{main_8cpp_a077dba54087a1a3694f810ba9fd06933}{dmx\+Arr}} = N\+U\+LL
\item
uint32\+\_\+t \mbox{\hyperlink{main_8cpp_a44ea85dd3be07c7cf3ad07d3565c8663}{next\+Polling\+Check}} = 0
\item
uint32\+\_\+t \mbox{\hyperlink{main_8cpp_ab97b60e63c8bfbdd8baaf7d1ad94501f}{next\+Input\+Check}} = 0
\item
uint32\+\_\+t \mbox{\hyperlink{main_8cpp_a718a0d8e0b8df891d3f1e4ac55c786ca}{next\+Lan\+Check\+Time}} = 0
\item
uint32\+\_\+t \mbox{\hyperlink{main_8cpp_a8389528c25c33724774418d61bb3ac35}{next\+Thermostat\+Check}} = 0
\item
uint32\+\_\+t \mbox{\hyperlink{main_8cpp_a1faa7904cff01b8c7c39eeedcc205325}{next\+Sensor\+Check}} =0
\item
uint32\+\_\+t \mbox{\hyperlink{main_8cpp_ae4b71bfb7d27827d7d6c40fc3b745510}{Wi\+Fi\+Awaiting\+Time}} =0
\item
a\+Json\+Object $\ast$ \mbox{\hyperlink{main_8cpp_aa8f2c895949680c2aadc4843bb350347}{polling\+Item}} = N\+U\+LL
\item
bool \mbox{\hyperlink{main_8cpp_a9638cf28423f00ad98377d1d89cba57e}{ow\+Ready}} = false
\item
bool \mbox{\hyperlink{main_8cpp_a459dec3d2fac52eba9bf53c19d14bcc7}{config\+Ok}} = false
\item
bool \mbox{\hyperlink{main_8cpp_a235b23edd19d4c133a8d49bc1b09cedb}{config\+Loaded}} = false
\item
bool \mbox{\hyperlink{main_8cpp_ad40189c6dffdd91758f3686c80484ac7}{initialized\+Listeners}} = false
\item
int8\+\_\+t \mbox{\hyperlink{main_8cpp_a525d99b2753ef2f4055ea4475dbc10d7}{ethernet\+Idle\+Count}} =0
\item
int8\+\_\+t \mbox{\hyperlink{main_8cpp_a58655351bd1d5333e5eb92d4c29f4263}{config\+Locked}} = 0
\item
Modbus\+Master \mbox{\hyperlink{main_8cpp_aed3ca48125de3e138d26fa4884c35c93}{node}}
\item
byte \mbox{\hyperlink{main_8cpp_a775118f5b90a904c7e65066faabab1a2}{mac}} \mbox{[}6\mbox{]}
\item
bool \mbox{\hyperlink{main_8cpp_a6a547b8f65552a00acceaae5fb86fb0d}{wifi\+Initialized}}
\item
int \mbox{\hyperlink{main_8cpp_ac2567a764f7c3bef5306a430ba615de9}{mqtt\+Error\+Rate}}
\end{DoxyCompactItemize}
\doxysubsection{Function Documentation}
\mbox{\Hypertarget{main_8cpp_a82529a2f0678bfb6b0808935865ba42d}\label{main_8cpp_a82529a2f0678bfb6b0808935865ba42d}}
\index{main.cpp@{main.cpp}!applyConfig@{applyConfig}}
\index{applyConfig@{applyConfig}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{applyConfig()}{applyConfig()}}
{\footnotesize\ttfamily void apply\+Config (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_abbcbfa3bc0f5d93f1f1d84c3fdc23608}\label{main_8cpp_abbcbfa3bc0f5d93f1f1d84c3fdc23608}}
\index{main.cpp@{main.cpp}!Changed@{Changed}}
\index{Changed@{Changed}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{Changed()}{Changed()}}
{\footnotesize\ttfamily void Changed (\begin{DoxyParamCaption}\item[{int}]{i, }\item[{Device\+Address}]{addr, }\item[{float}]{current\+Temp }\end{DoxyParamCaption})}
T\+O\+DO\+: Refactore using Items interface\mbox{\Hypertarget{main_8cpp_a19861585da4d4540b8f7c2601895607d}\label{main_8cpp_a19861585da4d4540b8f7c2601895607d}}
\index{main.cpp@{main.cpp}!cleanConf@{cleanConf}}
\index{cleanConf@{cleanConf}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{cleanConf()}{cleanConf()}}
{\footnotesize\ttfamily void clean\+Conf (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_ab2e128aecd2d6a7c32257adb25b6bc0d}\label{main_8cpp_ab2e128aecd2d6a7c32257adb25b6bc0d}}
\index{main.cpp@{main.cpp}!cmdFunctionClearEEPROM@{cmdFunctionClearEEPROM}}
\index{cmdFunctionClearEEPROM@{cmdFunctionClearEEPROM}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{cmdFunctionClearEEPROM()}{cmdFunctionClearEEPROM()}}
{\footnotesize\ttfamily void cmd\+Function\+Clear\+E\+E\+P\+R\+OM (\begin{DoxyParamCaption}\item[{int}]{arg\+\_\+cnt, }\item[{char $\ast$$\ast$}]{args }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a84a345181b5379a4dc0eec58f348deb7}\label{main_8cpp_a84a345181b5379a4dc0eec58f348deb7}}
\index{main.cpp@{main.cpp}!cmdFunctionGet@{cmdFunctionGet}}
\index{cmdFunctionGet@{cmdFunctionGet}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{cmdFunctionGet()}{cmdFunctionGet()}}
{\footnotesize\ttfamily void cmd\+Function\+Get (\begin{DoxyParamCaption}\item[{int}]{arg\+\_\+cnt, }\item[{char $\ast$$\ast$}]{args }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a21fea6de1fe7b59684f3d18e3f4764d7}\label{main_8cpp_a21fea6de1fe7b59684f3d18e3f4764d7}}
\index{main.cpp@{main.cpp}!cmdFunctionHelp@{cmdFunctionHelp}}
\index{cmdFunctionHelp@{cmdFunctionHelp}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{cmdFunctionHelp()}{cmdFunctionHelp()}}
{\footnotesize\ttfamily void cmd\+Function\+Help (\begin{DoxyParamCaption}\item[{int}]{arg\+\_\+cnt, }\item[{char $\ast$$\ast$}]{args }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a5c6faf75e381fd57cf83b6efb002ceb4}\label{main_8cpp_a5c6faf75e381fd57cf83b6efb002ceb4}}
\index{main.cpp@{main.cpp}!cmdFunctionIp@{cmdFunctionIp}}
\index{cmdFunctionIp@{cmdFunctionIp}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{cmdFunctionIp()}{cmdFunctionIp()}}
{\footnotesize\ttfamily void cmd\+Function\+Ip (\begin{DoxyParamCaption}\item[{int}]{arg\+\_\+cnt, }\item[{char $\ast$$\ast$}]{args }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_ab854d947e87c345f801a07f196e50a67}\label{main_8cpp_ab854d947e87c345f801a07f196e50a67}}
\index{main.cpp@{main.cpp}!cmdFunctionKill@{cmdFunctionKill}}
\index{cmdFunctionKill@{cmdFunctionKill}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{cmdFunctionKill()}{cmdFunctionKill()}}
{\footnotesize\ttfamily void cmd\+Function\+Kill (\begin{DoxyParamCaption}\item[{int}]{arg\+\_\+cnt, }\item[{char $\ast$$\ast$}]{args }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a3e35733dfdfb0fc4a3c55ab4bfc34fc1}\label{main_8cpp_a3e35733dfdfb0fc4a3c55ab4bfc34fc1}}
\index{main.cpp@{main.cpp}!cmdFunctionLoad@{cmdFunctionLoad}}
\index{cmdFunctionLoad@{cmdFunctionLoad}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{cmdFunctionLoad()}{cmdFunctionLoad()}}
{\footnotesize\ttfamily void cmd\+Function\+Load (\begin{DoxyParamCaption}\item[{int}]{arg\+\_\+cnt, }\item[{char $\ast$$\ast$}]{args }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a46b3fce70062889d311e18a31d1dac28}\label{main_8cpp_a46b3fce70062889d311e18a31d1dac28}}
\index{main.cpp@{main.cpp}!cmdFunctionPwd@{cmdFunctionPwd}}
\index{cmdFunctionPwd@{cmdFunctionPwd}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{cmdFunctionPwd()}{cmdFunctionPwd()}}
{\footnotesize\ttfamily void cmd\+Function\+Pwd (\begin{DoxyParamCaption}\item[{int}]{arg\+\_\+cnt, }\item[{char $\ast$$\ast$}]{args }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a1f823c0616ac50cfe9d6d262c313b416}\label{main_8cpp_a1f823c0616ac50cfe9d6d262c313b416}}
\index{main.cpp@{main.cpp}!cmdFunctionReboot@{cmdFunctionReboot}}
\index{cmdFunctionReboot@{cmdFunctionReboot}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{cmdFunctionReboot()}{cmdFunctionReboot()}}
{\footnotesize\ttfamily void cmd\+Function\+Reboot (\begin{DoxyParamCaption}\item[{int}]{arg\+\_\+cnt, }\item[{char $\ast$$\ast$}]{args }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a1ebb3f04dc34df941a4bf974f7ad9443}\label{main_8cpp_a1ebb3f04dc34df941a4bf974f7ad9443}}
\index{main.cpp@{main.cpp}!cmdFunctionReq@{cmdFunctionReq}}
\index{cmdFunctionReq@{cmdFunctionReq}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{cmdFunctionReq()}{cmdFunctionReq()}}
{\footnotesize\ttfamily void cmd\+Function\+Req (\begin{DoxyParamCaption}\item[{int}]{arg\+\_\+cnt, }\item[{char $\ast$$\ast$}]{args }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a66af021e24df0f8f82d9550cdb6bf865}\label{main_8cpp_a66af021e24df0f8f82d9550cdb6bf865}}
\index{main.cpp@{main.cpp}!cmdFunctionSave@{cmdFunctionSave}}
\index{cmdFunctionSave@{cmdFunctionSave}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{cmdFunctionSave()}{cmdFunctionSave()}}
{\footnotesize\ttfamily void cmd\+Function\+Save (\begin{DoxyParamCaption}\item[{int}]{arg\+\_\+cnt, }\item[{char $\ast$$\ast$}]{args }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_aea9177f835f6f4ad83d8f71dc0a4db77}\label{main_8cpp_aea9177f835f6f4ad83d8f71dc0a4db77}}
\index{main.cpp@{main.cpp}!cmdFunctionSetMac@{cmdFunctionSetMac}}
\index{cmdFunctionSetMac@{cmdFunctionSetMac}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{cmdFunctionSetMac()}{cmdFunctionSetMac()}}
{\footnotesize\ttfamily void cmd\+Function\+Set\+Mac (\begin{DoxyParamCaption}\item[{int}]{arg\+\_\+cnt, }\item[{char $\ast$$\ast$}]{args }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_ae161ded98969a4b68b902b79633edc3b}\label{main_8cpp_ae161ded98969a4b68b902b79633edc3b}}
\index{main.cpp@{main.cpp}!ethernetIdle@{ethernetIdle}}
\index{ethernetIdle@{ethernetIdle}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{ethernetIdle()}{ethernetIdle()}}
{\footnotesize\ttfamily void ethernet\+Idle (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a7d5e0e0612ab235c45bea4406faa5f76}\label{main_8cpp_a7d5e0e0612ab235c45bea4406faa5f76}}
\index{main.cpp@{main.cpp}!getStringFromConfig@{getStringFromConfig}}
\index{getStringFromConfig@{getStringFromConfig}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{getStringFromConfig()}{getStringFromConfig()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily char$\ast$ get\+String\+From\+Config (\begin{DoxyParamCaption}\item[{a\+Json\+Object $\ast$}]{a, }\item[{char $\ast$}]{name }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a900f9d7a9963ef64b642248a76175af7}\label{main_8cpp_a900f9d7a9963ef64b642248a76175af7}}
\index{main.cpp@{main.cpp}!getStringFromConfig@{getStringFromConfig}}
\index{getStringFromConfig@{getStringFromConfig}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{getStringFromConfig()}{getStringFromConfig()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily char$\ast$ get\+String\+From\+Config (\begin{DoxyParamCaption}\item[{a\+Json\+Object $\ast$}]{a, }\item[{int}]{i }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_ad146ac5b8d70c1a9a590ba4029c3548e}\label{main_8cpp_ad146ac5b8d70c1a9a590ba4029c3548e}}
\index{main.cpp@{main.cpp}!inputLoop@{inputLoop}}
\index{inputLoop@{inputLoop}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{inputLoop()}{inputLoop()}}
{\footnotesize\ttfamily void input\+Loop (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a312b53e977f386af72ed576bca617fef}\label{main_8cpp_a312b53e977f386af72ed576bca617fef}}
\index{main.cpp@{main.cpp}!inputSetup@{inputSetup}}
\index{inputSetup@{inputSetup}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{inputSetup()}{inputSetup()}}
{\footnotesize\ttfamily void input\+Setup (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_aed1aedfd8ec1c64e58ca24e5de9470b2}\label{main_8cpp_aed1aedfd8ec1c64e58ca24e5de9470b2}}
\index{main.cpp@{main.cpp}!ip\_ready\_config\_loaded\_connecting\_to\_broker@{ip\_ready\_config\_loaded\_connecting\_to\_broker}}
\index{ip\_ready\_config\_loaded\_connecting\_to\_broker@{ip\_ready\_config\_loaded\_connecting\_to\_broker}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{ip\_ready\_config\_loaded\_connecting\_to\_broker()}{ip\_ready\_config\_loaded\_connecting\_to\_broker()}}
{\footnotesize\ttfamily void ip\+\_\+ready\+\_\+config\+\_\+loaded\+\_\+connecting\+\_\+to\+\_\+broker (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a4ae13d2288d58c3ea8b731270fa798d3}\label{main_8cpp_a4ae13d2288d58c3ea8b731270fa798d3}}
\index{main.cpp@{main.cpp}!ipLoadFromFlash@{ipLoadFromFlash}}
\index{ipLoadFromFlash@{ipLoadFromFlash}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{ipLoadFromFlash()}{ipLoadFromFlash()}}
{\footnotesize\ttfamily int ip\+Load\+From\+Flash (\begin{DoxyParamCaption}\item[{short}]{n, }\item[{I\+P\+Address \&}]{ip }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a9b73380a4525361ce5634b890e83c8d2}\label{main_8cpp_a9b73380a4525361ce5634b890e83c8d2}}
\index{main.cpp@{main.cpp}!isNotRetainingStatus@{isNotRetainingStatus}}
\index{isNotRetainingStatus@{isNotRetainingStatus}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{isNotRetainingStatus()}{isNotRetainingStatus()}}
{\footnotesize\ttfamily bool is\+Not\+Retaining\+Status (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a5976046ebb500523e75d64f9c858d73d}\label{main_8cpp_a5976046ebb500523e75d64f9c858d73d}}
\index{main.cpp@{main.cpp}!isThermostatWithMinArraySize@{isThermostatWithMinArraySize}}
\index{isThermostatWithMinArraySize@{isThermostatWithMinArraySize}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{isThermostatWithMinArraySize()}{isThermostatWithMinArraySize()}}
{\footnotesize\ttfamily bool is\+Thermostat\+With\+Min\+Array\+Size (\begin{DoxyParamCaption}\item[{a\+Json\+Object $\ast$}]{item, }\item[{int}]{minimal\+Array\+Size }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_ac90757e5d1212e1b230bb4db8924d310}\label{main_8cpp_ac90757e5d1212e1b230bb4db8924d310}}
\index{main.cpp@{main.cpp}!lanLoop@{lanLoop}}
\index{lanLoop@{lanLoop}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{lanLoop()}{lanLoop()}}
{\footnotesize\ttfamily \mbox{\hyperlink{main_8h_a98b39d850b041da059cf5de62463a473}{lan\+\_\+status}} lan\+Loop (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a92e24c034fb886c8155d50831bae5823}\label{main_8cpp_a92e24c034fb886c8155d50831bae5823}}
\index{main.cpp@{main.cpp}!loadConfigFromEEPROM@{loadConfigFromEEPROM}}
\index{loadConfigFromEEPROM@{loadConfigFromEEPROM}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{loadConfigFromEEPROM()}{loadConfigFromEEPROM()}}
{\footnotesize\ttfamily int load\+Config\+From\+E\+E\+P\+R\+OM (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_aa6db506a9d019ba9decab546c15eb819}\label{main_8cpp_aa6db506a9d019ba9decab546c15eb819}}
\index{main.cpp@{main.cpp}!loadConfigFromHttp@{loadConfigFromHttp}}
\index{loadConfigFromHttp@{loadConfigFromHttp}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{loadConfigFromHttp()}{loadConfigFromHttp()}}
{\footnotesize\ttfamily \mbox{\hyperlink{main_8h_a98b39d850b041da059cf5de62463a473}{lan\+\_\+status}} load\+Config\+From\+Http (\begin{DoxyParamCaption}\item[{int}]{arg\+\_\+cnt, }\item[{char $\ast$$\ast$}]{args }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_aff5e7d5d674ed8a8fedcde644c725f68}\label{main_8cpp_aff5e7d5d674ed8a8fedcde644c725f68}}
\index{main.cpp@{main.cpp}!loadFlash@{loadFlash}}
\index{loadFlash@{loadFlash}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{loadFlash()}{loadFlash()}}
{\footnotesize\ttfamily int load\+Flash (\begin{DoxyParamCaption}\item[{short}]{n, }\item[{char $\ast$}]{str, }\item[{short}]{l }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a840f282fdf876a88d5ff634fd74f10be}\label{main_8cpp_a840f282fdf876a88d5ff634fd74f10be}}
\index{main.cpp@{main.cpp}!loop\_main@{loop\_main}}
\index{loop\_main@{loop\_main}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{loop\_main()}{loop\_main()}}
{\footnotesize\ttfamily void loop\+\_\+main (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_aa557ba1fef085fb9865ffd399c738dbf}\label{main_8cpp_aa557ba1fef085fb9865ffd399c738dbf}}
\index{main.cpp@{main.cpp}!modbusIdle@{modbusIdle}}
\index{modbusIdle@{modbusIdle}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{modbusIdle()}{modbusIdle()}}
{\footnotesize\ttfamily void modbus\+Idle (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a6f06b273defaebb581fdf1adc8969f40}\label{main_8cpp_a6f06b273defaebb581fdf1adc8969f40}}
\index{main.cpp@{main.cpp}!mqttCallback@{mqttCallback}}
\index{mqttCallback@{mqttCallback}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{mqttCallback()}{mqttCallback()}}
{\footnotesize\ttfamily void mqtt\+Callback (\begin{DoxyParamCaption}\item[{char $\ast$}]{topic, }\item[{byte $\ast$}]{payload, }\item[{unsigned int}]{length }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a18e15522dd78764c518fd5526cc2d446}\label{main_8cpp_a18e15522dd78764c518fd5526cc2d446}}
\index{main.cpp@{main.cpp}!mqttClient@{mqttClient}}
\index{mqttClient@{mqttClient}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{mqttClient()}{mqttClient()}}
{\footnotesize\ttfamily Pub\+Sub\+Client mqtt\+Client (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{main_8cpp_a2a65545cb474469b22d80319e302a2f8}{eth\+Client}}}]{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_aec955c97b23e5875d0fdb3c00e789903}\label{main_8cpp_aec955c97b23e5875d0fdb3c00e789903}}
\index{main.cpp@{main.cpp}!mqttConfigRequest@{mqttConfigRequest}}
\index{mqttConfigRequest@{mqttConfigRequest}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{mqttConfigRequest()}{mqttConfigRequest()}}
{\footnotesize\ttfamily int mqtt\+Config\+Request (\begin{DoxyParamCaption}\item[{int}]{arg\+\_\+cnt, }\item[{char $\ast$$\ast$}]{args }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_ad60a48a0c509facdc6dc61df64d49fae}\label{main_8cpp_ad60a48a0c509facdc6dc61df64d49fae}}
\index{main.cpp@{main.cpp}!mqttConfigResp@{mqttConfigResp}}
\index{mqttConfigResp@{mqttConfigResp}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{mqttConfigResp()}{mqttConfigResp()}}
{\footnotesize\ttfamily int mqtt\+Config\+Resp (\begin{DoxyParamCaption}\item[{char $\ast$}]{as }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_ae886a24c554e48191a1ea668c43d2287}\label{main_8cpp_ae886a24c554e48191a1ea668c43d2287}}
\index{main.cpp@{main.cpp}!onInitialStateInitLAN@{onInitialStateInitLAN}}
\index{onInitialStateInitLAN@{onInitialStateInitLAN}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{onInitialStateInitLAN()}{onInitialStateInitLAN()}}
{\footnotesize\ttfamily void on\+Initial\+State\+Init\+L\+AN (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_af1a9158faed86994ef3c4f248bdd86c8}\label{main_8cpp_af1a9158faed86994ef3c4f248bdd86c8}}
\index{main.cpp@{main.cpp}!onMQTTConnect@{onMQTTConnect}}
\index{onMQTTConnect@{onMQTTConnect}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{onMQTTConnect()}{onMQTTConnect()}}
{\footnotesize\ttfamily void on\+M\+Q\+T\+T\+Connect (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
strncat(buf,item-\/$>$name,sizeof(buf)); strncat(buf,\char`\"{},\char`\"{},sizeof(buf));
mqtt\+Client.\+publish(topic,buf,true);\mbox{\Hypertarget{main_8cpp_a58e08cc15112818913fe96d75642265e}\label{main_8cpp_a58e08cc15112818913fe96d75642265e}}
\index{main.cpp@{main.cpp}!owIdle@{owIdle}}
\index{owIdle@{owIdle}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{owIdle()}{owIdle()}}
{\footnotesize\ttfamily void ow\+Idle (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_aec2ff7b5df24b3ae0cfe8d556088fd7c}\label{main_8cpp_aec2ff7b5df24b3ae0cfe8d556088fd7c}}
\index{main.cpp@{main.cpp}!pollingLoop@{pollingLoop}}
\index{pollingLoop@{pollingLoop}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{pollingLoop()}{pollingLoop()}}
{\footnotesize\ttfamily void polling\+Loop (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a33b535e84f654e423bb627b25b7b3759}\label{main_8cpp_a33b535e84f654e423bb627b25b7b3759}}
\index{main.cpp@{main.cpp}!postTransmission@{postTransmission}}
\index{postTransmission@{postTransmission}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{postTransmission()}{postTransmission()}}
{\footnotesize\ttfamily void post\+Transmission (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a1c43d8a4afead0d0df29635242290377}\label{main_8cpp_a1c43d8a4afead0d0df29635242290377}}
\index{main.cpp@{main.cpp}!preTransmission@{preTransmission}}
\index{preTransmission@{preTransmission}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{preTransmission()}{preTransmission()}}
{\footnotesize\ttfamily void pre\+Transmission (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a2d4b5aa8fbc197c31397235607aeba13}\label{main_8cpp_a2d4b5aa8fbc197c31397235607aeba13}}
\index{main.cpp@{main.cpp}!printBool@{printBool}}
\index{printBool@{printBool}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{printBool()}{printBool()}}
{\footnotesize\ttfamily void print\+Bool (\begin{DoxyParamCaption}\item[{bool}]{arg }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_ae22f686238cf5f09109b12f4b628ccea}\label{main_8cpp_ae22f686238cf5f09109b12f4b628ccea}}
\index{main.cpp@{main.cpp}!printConfigSummary@{printConfigSummary}}
\index{printConfigSummary@{printConfigSummary}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{printConfigSummary()}{printConfigSummary()}}
{\footnotesize\ttfamily void print\+Config\+Summary (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_ab6cb5750ee8902ca29b51dd013bb74b9}\label{main_8cpp_ab6cb5750ee8902ca29b51dd013bb74b9}}
\index{main.cpp@{main.cpp}!printCurentLanConfig@{printCurentLanConfig}}
\index{printCurentLanConfig@{printCurentLanConfig}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{printCurentLanConfig()}{printCurentLanConfig()}}
{\footnotesize\ttfamily void print\+Curent\+Lan\+Config (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a1cff64c0263246441c972f03e6893714}\label{main_8cpp_a1cff64c0263246441c972f03e6893714}}
\index{main.cpp@{main.cpp}!printFirmwareVersionAndBuildOptions@{printFirmwareVersionAndBuildOptions}}
\index{printFirmwareVersionAndBuildOptions@{printFirmwareVersionAndBuildOptions}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{printFirmwareVersionAndBuildOptions()}{printFirmwareVersionAndBuildOptions()}}
{\footnotesize\ttfamily void print\+Firmware\+Version\+And\+Build\+Options (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_ad04c200b33c848aace1315bdf676201e}\label{main_8cpp_ad04c200b33c848aace1315bdf676201e}}
\index{main.cpp@{main.cpp}!printMACAddress@{printMACAddress}}
\index{printMACAddress@{printMACAddress}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{printMACAddress()}{printMACAddress()}}
{\footnotesize\ttfamily void print\+M\+A\+C\+Address (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a2cf2114e80da1894dc41209a4b66a08f}\label{main_8cpp_a2cf2114e80da1894dc41209a4b66a08f}}
\index{main.cpp@{main.cpp}!publishStat@{publishStat}}
\index{publishStat@{publishStat}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{publishStat()}{publishStat()}}
{\footnotesize\ttfamily void publish\+Stat (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a8a8de594b1a60fc6867b639d1c50a34b}\label{main_8cpp_a8a8de594b1a60fc6867b639d1c50a34b}}
\index{main.cpp@{main.cpp}!resetHard@{resetHard}}
\index{resetHard@{resetHard}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{resetHard()}{resetHard()}}
{\footnotesize\ttfamily void reset\+Hard (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a3d9b2a443a58bf0d3e28c174d2c43b8f}\label{main_8cpp_a3d9b2a443a58bf0d3e28c174d2c43b8f}}
\index{main.cpp@{main.cpp}!saveFlash@{saveFlash}}
\index{saveFlash@{saveFlash}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{saveFlash()}{saveFlash()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void save\+Flash (\begin{DoxyParamCaption}\item[{short}]{n, }\item[{char $\ast$}]{str }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a881f36fdc5bf71038ea93823437e7751}\label{main_8cpp_a881f36fdc5bf71038ea93823437e7751}}
\index{main.cpp@{main.cpp}!saveFlash@{saveFlash}}
\index{saveFlash@{saveFlash}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{saveFlash()}{saveFlash()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void save\+Flash (\begin{DoxyParamCaption}\item[{short}]{n, }\item[{I\+P\+Address \&}]{ip }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_aa34675c2dc6eb3d0744844d8e67e3af8}\label{main_8cpp_aa34675c2dc6eb3d0744844d8e67e3af8}}
\index{main.cpp@{main.cpp}!setup\_main@{setup\_main}}
\index{setup\_main@{setup\_main}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{setup\_main()}{setup\_main()}}
{\footnotesize\ttfamily void setup\+\_\+main (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_abec54b31996557c73a31054ce068c8fa}\label{main_8cpp_abec54b31996557c73a31054ce068c8fa}}
\index{main.cpp@{main.cpp}!setupCmdArduino@{setupCmdArduino}}
\index{setupCmdArduino@{setupCmdArduino}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{setupCmdArduino()}{setupCmdArduino()}}
{\footnotesize\ttfamily void setup\+Cmd\+Arduino (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a2186513a50a77b9bd9bb453d4584c5f8}\label{main_8cpp_a2186513a50a77b9bd9bb453d4584c5f8}}
\index{main.cpp@{main.cpp}!setupMacAddress@{setupMacAddress}}
\index{setupMacAddress@{setupMacAddress}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{setupMacAddress()}{setupMacAddress()}}
{\footnotesize\ttfamily void setup\+Mac\+Address (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_acfca2f2b3c22e56799e7fd1f66952729}\label{main_8cpp_acfca2f2b3c22e56799e7fd1f66952729}}
\index{main.cpp@{main.cpp}!setupOTA@{setupOTA}}
\index{setupOTA@{setupOTA}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{setupOTA()}{setupOTA()}}
{\footnotesize\ttfamily void setup\+O\+TA (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_afa048a9d2e392a67cb5af8ab00b3ec0f}\label{main_8cpp_afa048a9d2e392a67cb5af8ab00b3ec0f}}
\index{main.cpp@{main.cpp}!setupSyslog@{setupSyslog}}
\index{setupSyslog@{setupSyslog}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{setupSyslog()}{setupSyslog()}}
{\footnotesize\ttfamily void setup\+Syslog (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a35f5a9d31c8cb726a3c7e77e7ad9c4b2}\label{main_8cpp_a35f5a9d31c8cb726a3c7e77e7ad9c4b2}}
\index{main.cpp@{main.cpp}!thermoDisabledOrDisconnected@{thermoDisabledOrDisconnected}}
\index{thermoDisabledOrDisconnected@{thermoDisabledOrDisconnected}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{thermoDisabledOrDisconnected()}{thermoDisabledOrDisconnected()}}
{\footnotesize\ttfamily bool thermo\+Disabled\+Or\+Disconnected (\begin{DoxyParamCaption}\item[{a\+Json\+Object $\ast$}]{thermo\+Extension\+Array, }\item[{int}]{thermo\+State\+Command }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a2d1cd6009a6e25d3605fee3e54065577}\label{main_8cpp_a2d1cd6009a6e25d3605fee3e54065577}}
\index{main.cpp@{main.cpp}!thermoLoop@{thermoLoop}}
\index{thermoLoop@{thermoLoop}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{thermoLoop()}{thermoLoop()}}
{\footnotesize\ttfamily void thermo\+Loop (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}
\mbox{\Hypertarget{main_8cpp_a73643474e211698e96d2a6ac69264b46}\label{main_8cpp_a73643474e211698e96d2a6ac69264b46}}
\index{main.cpp@{main.cpp}!thermoSetCurTemp@{thermoSetCurTemp}}
\index{thermoSetCurTemp@{thermoSetCurTemp}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{thermoSetCurTemp()}{thermoSetCurTemp()}}
{\footnotesize\ttfamily short thermo\+Set\+Cur\+Temp (\begin{DoxyParamCaption}\item[{char $\ast$}]{name, }\item[{float}]{t }\end{DoxyParamCaption})}
\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{main_8cpp_a235b23edd19d4c133a8d49bc1b09cedb}\label{main_8cpp_a235b23edd19d4c133a8d49bc1b09cedb}}
\index{main.cpp@{main.cpp}!configLoaded@{configLoaded}}
\index{configLoaded@{configLoaded}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{configLoaded}{configLoaded}}
{\footnotesize\ttfamily bool config\+Loaded = false}
\mbox{\Hypertarget{main_8cpp_a58655351bd1d5333e5eb92d4c29f4263}\label{main_8cpp_a58655351bd1d5333e5eb92d4c29f4263}}
\index{main.cpp@{main.cpp}!configLocked@{configLocked}}
\index{configLocked@{configLocked}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{configLocked}{configLocked}}
{\footnotesize\ttfamily int8\+\_\+t config\+Locked = 0}
\mbox{\Hypertarget{main_8cpp_a459dec3d2fac52eba9bf53c19d14bcc7}\label{main_8cpp_a459dec3d2fac52eba9bf53c19d14bcc7}}
\index{main.cpp@{main.cpp}!configOk@{configOk}}
\index{configOk@{configOk}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{configOk}{configOk}}
{\footnotesize\ttfamily bool config\+Ok = false}
\mbox{\Hypertarget{main_8cpp_a525e5725911fc3939bb449849aa1b5ab}\label{main_8cpp_a525e5725911fc3939bb449849aa1b5ab}}
\index{main.cpp@{main.cpp}!debugSerialPort@{debugSerialPort}}
\index{debugSerialPort@{debugSerialPort}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{debugSerialPort}{debugSerialPort}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_streamlog}{Streamlog}} \mbox{\hyperlink{main_8h_a962d0234b6d650699159b02bbb1ba659}{info\+Serial}}\& debug\+Serial\+Port}
\mbox{\Hypertarget{main_8cpp_a5da66826e811349c98b2daf2bafb78c2}\label{main_8cpp_a5da66826e811349c98b2daf2bafb78c2}}
\index{main.cpp@{main.cpp}!deviceName@{deviceName}}
\index{deviceName@{deviceName}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{deviceName}{deviceName}}
{\footnotesize\ttfamily char$\ast$ device\+Name = N\+U\+LL}
\mbox{\Hypertarget{main_8cpp_a077dba54087a1a3694f810ba9fd06933}\label{main_8cpp_a077dba54087a1a3694f810ba9fd06933}}
\index{main.cpp@{main.cpp}!dmxArr@{dmxArr}}
\index{dmxArr@{dmxArr}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{dmxArr}{dmxArr}}
{\footnotesize\ttfamily a\+Json\+Object$\ast$ dmx\+Arr = N\+U\+LL}
\mbox{\Hypertarget{main_8cpp_a2a65545cb474469b22d80319e302a2f8}\label{main_8cpp_a2a65545cb474469b22d80319e302a2f8}}
\index{main.cpp@{main.cpp}!ethClient@{ethClient}}
\index{ethClient@{ethClient}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{ethClient}{ethClient}}
{\footnotesize\ttfamily Ethernet\+Client eth\+Client}
\mbox{\Hypertarget{main_8cpp_a525d99b2753ef2f4055ea4475dbc10d7}\label{main_8cpp_a525d99b2753ef2f4055ea4475dbc10d7}}
\index{main.cpp@{main.cpp}!ethernetIdleCount@{ethernetIdleCount}}
\index{ethernetIdleCount@{ethernetIdleCount}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{ethernetIdleCount}{ethernetIdleCount}}
{\footnotesize\ttfamily int8\+\_\+t ethernet\+Idle\+Count =0}
\mbox{\Hypertarget{main_8cpp_ad40189c6dffdd91758f3686c80484ac7}\label{main_8cpp_ad40189c6dffdd91758f3686c80484ac7}}
\index{main.cpp@{main.cpp}!initializedListeners@{initializedListeners}}
\index{initializedListeners@{initializedListeners}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{initializedListeners}{initializedListeners}}
{\footnotesize\ttfamily bool initialized\+Listeners = false}
\mbox{\Hypertarget{main_8cpp_a9e63aa63a6b8b667a41f94bec231d7aa}\label{main_8cpp_a9e63aa63a6b8b667a41f94bec231d7aa}}
\index{main.cpp@{main.cpp}!inputs@{inputs}}
\index{inputs@{inputs}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{inputs}{inputs}}
{\footnotesize\ttfamily a\+Json\+Object$\ast$ inputs = N\+U\+LL}
\mbox{\Hypertarget{main_8cpp_a012787f09a43864616e2b44349b29352}\label{main_8cpp_a012787f09a43864616e2b44349b29352}}
\index{main.cpp@{main.cpp}!items@{items}}
\index{items@{items}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{items}{items}}
{\footnotesize\ttfamily a\+Json\+Object$\ast$ items = N\+U\+LL}
\mbox{\Hypertarget{main_8cpp_a7bbda7cf303a1bc3222e7a270f9040bd}\label{main_8cpp_a7bbda7cf303a1bc3222e7a270f9040bd}}
\index{main.cpp@{main.cpp}!lanStatus@{lanStatus}}
\index{lanStatus@{lanStatus}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{lanStatus}{lanStatus}}
{\footnotesize\ttfamily \mbox{\hyperlink{main_8h_a98b39d850b041da059cf5de62463a473}{lan\+\_\+status}} lan\+Status = \mbox{\hyperlink{main_8h_a98b39d850b041da059cf5de62463a473a11ea6a01636f6011440e189d5ba5f34f}{I\+N\+I\+T\+I\+A\+L\+\_\+\+S\+T\+A\+TE}}}
\mbox{\Hypertarget{main_8cpp_a1c77e6f587043bdec86e0cabd956e2e2}\label{main_8cpp_a1c77e6f587043bdec86e0cabd956e2e2}}
\index{main.cpp@{main.cpp}!LED@{LED}}
\index{LED@{LED}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{LED}{LED}}
{\footnotesize\ttfamily \mbox{\hyperlink{classstatus_l_e_d}{status\+L\+ED}} L\+ED(\mbox{\hyperlink{statusled_8h_abfe826857256aa93aa762e7d98390743}{led\+R\+ED}})}
\mbox{\Hypertarget{main_8cpp_a775118f5b90a904c7e65066faabab1a2}\label{main_8cpp_a775118f5b90a904c7e65066faabab1a2}}
\index{main.cpp@{main.cpp}!mac@{mac}}
\index{mac@{mac}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{mac}{mac}}
{\footnotesize\ttfamily byte mac\mbox{[}6\mbox{]}}
\mbox{\Hypertarget{main_8cpp_aabc7159a42d55e7c474862449404d65c}\label{main_8cpp_aabc7159a42d55e7c474862449404d65c}}
\index{main.cpp@{main.cpp}!modbusObj@{modbusObj}}
\index{modbusObj@{modbusObj}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{modbusObj}{modbusObj}}
{\footnotesize\ttfamily a\+Json\+Object$\ast$ modbus\+Obj = N\+U\+LL}
\mbox{\Hypertarget{main_8cpp_a5a49c3c9f18e1b12e3706522c19c62c3}\label{main_8cpp_a5a49c3c9f18e1b12e3706522c19c62c3}}
\index{main.cpp@{main.cpp}!mqttArr@{mqttArr}}
\index{mqttArr@{mqttArr}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{mqttArr}{mqttArr}}
{\footnotesize\ttfamily a\+Json\+Object$\ast$ mqtt\+Arr = N\+U\+LL}
\mbox{\Hypertarget{main_8cpp_ac2567a764f7c3bef5306a430ba615de9}\label{main_8cpp_ac2567a764f7c3bef5306a430ba615de9}}
\index{main.cpp@{main.cpp}!mqttErrorRate@{mqttErrorRate}}
\index{mqttErrorRate@{mqttErrorRate}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{mqttErrorRate}{mqttErrorRate}}
{\footnotesize\ttfamily int mqtt\+Error\+Rate}
\mbox{\Hypertarget{main_8cpp_ab97b60e63c8bfbdd8baaf7d1ad94501f}\label{main_8cpp_ab97b60e63c8bfbdd8baaf7d1ad94501f}}
\index{main.cpp@{main.cpp}!nextInputCheck@{nextInputCheck}}
\index{nextInputCheck@{nextInputCheck}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{nextInputCheck}{nextInputCheck}}
{\footnotesize\ttfamily uint32\+\_\+t next\+Input\+Check = 0}
\mbox{\Hypertarget{main_8cpp_a718a0d8e0b8df891d3f1e4ac55c786ca}\label{main_8cpp_a718a0d8e0b8df891d3f1e4ac55c786ca}}
\index{main.cpp@{main.cpp}!nextLanCheckTime@{nextLanCheckTime}}
\index{nextLanCheckTime@{nextLanCheckTime}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{nextLanCheckTime}{nextLanCheckTime}}
{\footnotesize\ttfamily uint32\+\_\+t next\+Lan\+Check\+Time = 0}
\mbox{\Hypertarget{main_8cpp_a44ea85dd3be07c7cf3ad07d3565c8663}\label{main_8cpp_a44ea85dd3be07c7cf3ad07d3565c8663}}
\index{main.cpp@{main.cpp}!nextPollingCheck@{nextPollingCheck}}
\index{nextPollingCheck@{nextPollingCheck}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{nextPollingCheck}{nextPollingCheck}}
{\footnotesize\ttfamily uint32\+\_\+t next\+Polling\+Check = 0}
\mbox{\Hypertarget{main_8cpp_a1faa7904cff01b8c7c39eeedcc205325}\label{main_8cpp_a1faa7904cff01b8c7c39eeedcc205325}}
\index{main.cpp@{main.cpp}!nextSensorCheck@{nextSensorCheck}}
\index{nextSensorCheck@{nextSensorCheck}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{nextSensorCheck}{nextSensorCheck}}
{\footnotesize\ttfamily uint32\+\_\+t next\+Sensor\+Check =0}
\mbox{\Hypertarget{main_8cpp_a8389528c25c33724774418d61bb3ac35}\label{main_8cpp_a8389528c25c33724774418d61bb3ac35}}
\index{main.cpp@{main.cpp}!nextThermostatCheck@{nextThermostatCheck}}
\index{nextThermostatCheck@{nextThermostatCheck}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{nextThermostatCheck}{nextThermostatCheck}}
{\footnotesize\ttfamily uint32\+\_\+t next\+Thermostat\+Check = 0}
\mbox{\Hypertarget{main_8cpp_aed3ca48125de3e138d26fa4884c35c93}\label{main_8cpp_aed3ca48125de3e138d26fa4884c35c93}}
\index{main.cpp@{main.cpp}!node@{node}}
\index{node@{node}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{node}{node}}
{\footnotesize\ttfamily Modbus\+Master node}
\mbox{\Hypertarget{main_8cpp_a564a174b067eee3b33b1162935884d55}\label{main_8cpp_a564a174b067eee3b33b1162935884d55}}
\index{main.cpp@{main.cpp}!owArr@{owArr}}
\index{owArr@{owArr}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{owArr}{owArr}}
{\footnotesize\ttfamily a\+Json\+Object$\ast$ ow\+Arr = N\+U\+LL}
\mbox{\Hypertarget{main_8cpp_a9638cf28423f00ad98377d1d89cba57e}\label{main_8cpp_a9638cf28423f00ad98377d1d89cba57e}}
\index{main.cpp@{main.cpp}!owReady@{owReady}}
\index{owReady@{owReady}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{owReady}{owReady}}
{\footnotesize\ttfamily bool ow\+Ready = false}
\mbox{\Hypertarget{main_8cpp_aa8f2c895949680c2aadc4843bb350347}\label{main_8cpp_aa8f2c895949680c2aadc4843bb350347}}
\index{main.cpp@{main.cpp}!pollingItem@{pollingItem}}
\index{pollingItem@{pollingItem}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{pollingItem}{pollingItem}}
{\footnotesize\ttfamily a\+Json\+Object$\ast$ polling\+Item = N\+U\+LL}
\mbox{\Hypertarget{main_8cpp_adf233b4843635c473146d0fd1d2a8b46}\label{main_8cpp_adf233b4843635c473146d0fd1d2a8b46}}
\index{main.cpp@{main.cpp}!PROGMEM@{PROGMEM}}
\index{PROGMEM@{PROGMEM}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{PROGMEM}{PROGMEM}}
{\footnotesize\ttfamily const char verval\+\_\+P \mbox{[}$\,$\mbox{]} P\+R\+O\+G\+M\+EM = \mbox{\hyperlink{options_8h_a979988f1e12c581103bd7dcd41be2a4a}{C\+O\+N\+F\+I\+G\+\_\+\+S\+E\+R\+V\+ER}}}
\mbox{\Hypertarget{main_8cpp_a2e223992d94c34788bec64fb05f780ba}\label{main_8cpp_a2e223992d94c34788bec64fb05f780ba}}
\index{main.cpp@{main.cpp}!root@{root}}
\index{root@{root}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{root}{root}}
{\footnotesize\ttfamily a\+Json\+Object$\ast$ root = N\+U\+LL}
\mbox{\Hypertarget{main_8cpp_addabf1c5a7be47e4e89beb38a435cb51}\label{main_8cpp_addabf1c5a7be47e4e89beb38a435cb51}}
\index{main.cpp@{main.cpp}!topics@{topics}}
\index{topics@{topics}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{topics}{topics}}
{\footnotesize\ttfamily a\+Json\+Object$\ast$ topics = N\+U\+LL}
\mbox{\Hypertarget{main_8cpp_ae4b71bfb7d27827d7d6c40fc3b745510}\label{main_8cpp_ae4b71bfb7d27827d7d6c40fc3b745510}}
\index{main.cpp@{main.cpp}!WiFiAwaitingTime@{WiFiAwaitingTime}}
\index{WiFiAwaitingTime@{WiFiAwaitingTime}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{WiFiAwaitingTime}{WiFiAwaitingTime}}
{\footnotesize\ttfamily uint32\+\_\+t Wi\+Fi\+Awaiting\+Time =0}
\mbox{\Hypertarget{main_8cpp_a6a547b8f65552a00acceaae5fb86fb0d}\label{main_8cpp_a6a547b8f65552a00acceaae5fb86fb0d}}
\index{main.cpp@{main.cpp}!wifiInitialized@{wifiInitialized}}
\index{wifiInitialized@{wifiInitialized}!main.cpp@{main.cpp}}
\doxysubsubsection{\texorpdfstring{wifiInitialized}{wifiInitialized}}
{\footnotesize\ttfamily bool wifi\+Initialized}