Files
lighthub/docs/html/utils_8cpp.html
2020-11-21 20:01:02 +03:00

908 lines
38 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.20"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LightHub: utils.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="lh.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">LightHub
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.20 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_82d7c1f210290ade9e0671f857ad27e3.html">lighthub</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">utils.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="utils_8h_source.html">utils.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="options_8h_source.html">options.h</a>&quot;</code><br />
<code>#include &quot;stdarg.h&quot;</code><br />
<code>#include &lt;Wire.h&gt;</code><br />
<code>#include &quot;<a class="el" href="main_8h_source.html">main.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="item_8h_source.html">item.h</a>&quot;</code><br />
<code>#include &lt;PubSubClient.h&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for utils.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="utils_8cpp__incl.png" border="0" usemap="#autils_8cpp" alt=""/></div>
<map name="utils_8cpp" id="autils_8cpp">
<area shape="rect" title=" " alt="" coords="290,5,361,32"/>
<area shape="rect" href="utils_8h.html" title=" " alt="" coords="158,155,215,181"/>
<area shape="rect" href="options_8h.html" title=" " alt="" coords="239,304,313,331"/>
<area shape="rect" href="item_8h.html" title=" " alt="" coords="320,229,379,256"/>
<area shape="rect" title=" " alt="" coords="291,155,360,181"/>
<area shape="rect" title=" " alt="" coords="1230,304,1290,331"/>
<area shape="rect" href="main_8h.html" title=" " alt="" coords="792,80,853,107"/>
<area shape="rect" title=" " alt="" coords="1615,155,1729,181"/>
<area shape="rect" title=" " alt="" coords="481,453,559,480"/>
<area shape="rect" title=" " alt="" coords="37,229,129,256"/>
<area shape="rect" title=" " alt="" coords="511,304,587,331"/>
<area shape="rect" title=" " alt="" coords="153,229,245,256"/>
<area shape="rect" href="abstractout_8h.html" title=" " alt="" coords="388,304,487,331"/>
<area shape="rect" href="item_cmd_8h.html" title=" " alt="" coords="353,379,439,405"/>
<area shape="rect" href="abstractch_8h.html" title=" " alt="" coords="515,379,610,405"/>
<area shape="rect" href="streamlog_8h.html" title=" " alt="" coords="1084,155,1175,181"/>
<area shape="rect" title=" " alt="" coords="587,229,730,256"/>
<area shape="rect" title=" " alt="" coords="638,155,757,181"/>
<area shape="rect" href="ow_term_8h.html" title=" " alt="" coords="889,155,967,181"/>
<area shape="rect" href="dmx_8h.html" title=" " alt="" coords="403,229,461,256"/>
<area shape="rect" title=" " alt="" coords="781,155,864,181"/>
<area shape="rect" href="textconst_8h.html" title=" " alt="" coords="1199,155,1286,181"/>
<area shape="rect" title=" " alt="" coords="1310,155,1365,181"/>
<area shape="rect" title=" " alt="" coords="1389,155,1454,181"/>
<area shape="rect" title=" " alt="" coords="1479,155,1540,181"/>
<area shape="rect" href="inputs_8h.html" title=" " alt="" coords="991,155,1059,181"/>
<area shape="rect" title=" " alt="" coords="1399,229,1459,256"/>
<area shape="rect" title=" " alt="" coords="1484,229,1607,256"/>
<area shape="rect" title=" " alt="" coords="1297,229,1375,256"/>
<area shape="rect" title=" " alt="" coords="805,229,944,256"/>
<area shape="rect" href="in__ccs811__hdc1080_8h.html" title=" " alt="" coords="1019,229,1221,256"/>
<area shape="rect" href="abstractin_8h.html" title=" " alt="" coords="848,304,939,331"/>
<area shape="rect" title=" " alt="" coords="1035,304,1205,331"/>
<area shape="rect" title=" " alt="" coords="685,304,824,331"/>
</map>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ab124609cb16e44db8bf5c1ac5932044f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#ab124609cb16e44db8bf5c1ac5932044f">ARDBUFFER</a>&#160;&#160;&#160;16</td></tr>
<tr class="separator:ab124609cb16e44db8bf5c1ac5932044f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ab5fb614b925280fc7c8d0e5314dd3b7a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#ab5fb614b925280fc7c8d0e5314dd3b7a">PrintBytes</a> (uint8_t *addr, uint8_t count, bool newline)</td></tr>
<tr class="separator:ab5fb614b925280fc7c8d0e5314dd3b7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85a33f14fc0eefef02be4c6bacf5c8f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#a85a33f14fc0eefef02be4c6bacf5c8f0">SetBytes</a> (uint8_t *addr, uint8_t count, char *out)</td></tr>
<tr class="separator:a85a33f14fc0eefef02be4c6bacf5c8f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cafbb82e446669dd50a2a386c1531fd"><td class="memItemLeft" align="right" valign="top">byte&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#a4cafbb82e446669dd50a2a386c1531fd">HEX2DEC</a> (char i)</td></tr>
<tr class="separator:a4cafbb82e446669dd50a2a386c1531fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4dd6705cb24a3eab32d9abc8393844b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#a4dd6705cb24a3eab32d9abc8393844b3">SetAddr</a> (char *out, uint8_t *addr)</td></tr>
<tr class="separator:a4dd6705cb24a3eab32d9abc8393844b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6037cfc7913c0856e93dbf8fc2133aac"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#a6037cfc7913c0856e93dbf8fc2133aac">getInt</a> (char **chan)</td></tr>
<tr class="separator:a6037cfc7913c0856e93dbf8fc2133aac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1938abf1ef99f35bd2578e3db1bcf7b8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#a1938abf1ef99f35bd2578e3db1bcf7b8">parseBytes</a> (const char *str, char separator, byte *bytes, int maxBytes, int base)</td></tr>
<tr class="separator:a1938abf1ef99f35bd2578e3db1bcf7b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c16341dd45c4e557f951818d8d09810"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#a6c16341dd45c4e557f951818d8d09810">printFloatValueToStr</a> (float value, char *valstr)</td></tr>
<tr class="separator:a6c16341dd45c4e557f951818d8d09810"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadf1050416e46077ad59157173438dad"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#aadf1050416e46077ad59157173438dad">log</a> (const char *str,...)</td></tr>
<tr class="separator:aadf1050416e46077ad59157173438dad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf2ee9f926c45315d1a91ae9d4bdba26"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#abf2ee9f926c45315d1a91ae9d4bdba26">__attribute__</a> ((section(&quot;.ramfunc&quot;))) void <a class="el" href="utils_8h.html#a1380fbc9c2170180770dd1bdcc5ac647">ReadUniqueID</a>(uint32_t *pdwUniqueID)</td></tr>
<tr class="separator:abf2ee9f926c45315d1a91ae9d4bdba26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2abeec32a0c7fe0b4aa02a8807ed9cee"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#a2abeec32a0c7fe0b4aa02a8807ed9cee">inet_aton</a> (const char *aIPAddrString, IPAddress &amp;aResult)</td></tr>
<tr class="separator:a2abeec32a0c7fe0b4aa02a8807ed9cee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f3cdb518da692b8859ae48ed58196fc"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#a5f3cdb518da692b8859ae48ed58196fc">inet_ntoa_r</a> (IPAddress addr, char *buf, int buflen)</td></tr>
<tr class="separator:a5f3cdb518da692b8859ae48ed58196fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0df006a5ae8d0d730134afdaf1c64dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#af0df006a5ae8d0d730134afdaf1c64dd">printIPAddress</a> (IPAddress ipAddress)</td></tr>
<tr class="separator:af0df006a5ae8d0d730134afdaf1c64dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab33cdb70ba57128d05b7efe3317b5a82"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#ab33cdb70ba57128d05b7efe3317b5a82">setTopic</a> (char *buf, int8_t buflen, <a class="el" href="utils_8h.html#a2598bacb04e8f77e8b41cee61ef359fc">topicType</a> tt, const char *suffix)</td></tr>
<tr class="separator:ab33cdb70ba57128d05b7efe3317b5a82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb183532261be04b86e9e535010db6a9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#afb183532261be04b86e9e535010db6a9">printUlongValueToStr</a> (char *valstr, unsigned long value)</td></tr>
<tr class="separator:afb183532261be04b86e9e535010db6a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af585ed9b15b9980b72fbec6d9c9dba67"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#af585ed9b15b9980b72fbec6d9c9dba67">scan_i2c_bus</a> ()</td></tr>
<tr class="separator:af585ed9b15b9980b72fbec6d9c9dba67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c013af2ccb8a6dd130f0ab706b1abc4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#a1c013af2ccb8a6dd130f0ab706b1abc4">isTimeOver</a> (uint32_t timestamp, uint32_t currTime, uint32_t time, uint32_t modulo)</td></tr>
<tr class="separator:a1c013af2ccb8a6dd130f0ab706b1abc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a132faa838403a6db82d1e7e65d4c4ff2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#a132faa838403a6db82d1e7e65d4c4ff2">executeCommand</a> (aJsonObject *cmd, int8_t toggle)</td></tr>
<tr class="separator:a132faa838403a6db82d1e7e65d4c4ff2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cd15a22b2799d0378a27850c96c6300"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#a2cd15a22b2799d0378a27850c96c6300">executeCommand</a> (aJsonObject *cmd, int8_t toggle, <a class="el" href="classitem_cmd.html">itemCmd</a> _itemCmd)</td></tr>
<tr class="separator:a2cd15a22b2799d0378a27850c96c6300"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace8fa23ff29c3feb89c5d500ef87b914"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classitem_cmd.html">itemCmd</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#ace8fa23ff29c3feb89c5d500ef87b914">mapInt</a> (int32_t arg, aJsonObject *map)</td></tr>
<tr class="separator:ace8fa23ff29c3feb89c5d500ef87b914"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a58655351bd1d5333e5eb92d4c29f4263"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#a58655351bd1d5333e5eb92d4c29f4263">configLocked</a></td></tr>
<tr class="separator:a58655351bd1d5333e5eb92d4c29f4263"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a525d99b2753ef2f4055ea4475dbc10d7"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#a525d99b2753ef2f4055ea4475dbc10d7">ethernetIdleCount</a></td></tr>
<tr class="separator:a525d99b2753ef2f4055ea4475dbc10d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86d63f481644da70f063c2593fcafe19"><td class="memItemLeft" align="right" valign="top">PubSubClient&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#a86d63f481644da70f063c2593fcafe19">mqttClient</a></td></tr>
<tr class="separator:a86d63f481644da70f063c2593fcafe19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ec4211471d85792b3cb9f0fc8082b4c"><td class="memItemLeft" align="right" valign="top">const char outTopic[]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#a3ec4211471d85792b3cb9f0fc8082b4c">PROGMEM</a> = <a class="el" href="options_8h.html#ad41dc04ab9a3863ee0d70153e844c92a">OUTTOPIC</a></td></tr>
<tr class="separator:a3ec4211471d85792b3cb9f0fc8082b4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5da66826e811349c98b2daf2bafb78c2"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#a5da66826e811349c98b2daf2bafb78c2">deviceName</a></td></tr>
<tr class="separator:a5da66826e811349c98b2daf2bafb78c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addabf1c5a7be47e4e89beb38a435cb51"><td class="memItemLeft" align="right" valign="top">aJsonObject *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#addabf1c5a7be47e4e89beb38a435cb51">topics</a></td></tr>
<tr class="separator:addabf1c5a7be47e4e89beb38a435cb51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0317be66119cccdb71b5276f914cef50"><td class="memItemLeft" align="right" valign="top">const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8cpp.html#a0317be66119cccdb71b5276f914cef50">HEXSTR</a> [] = &quot;0123456789ABCDEF&quot;</td></tr>
<tr class="separator:a0317be66119cccdb71b5276f914cef50"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ab124609cb16e44db8bf5c1ac5932044f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab124609cb16e44db8bf5c1ac5932044f">&#9670;&nbsp;</a></span>ARDBUFFER</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ARDBUFFER&#160;&#160;&#160;16</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="abf2ee9f926c45315d1a91ae9d4bdba26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf2ee9f926c45315d1a91ae9d4bdba26">&#9670;&nbsp;</a></span>__attribute__()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">__attribute__ </td>
<td>(</td>
<td class="paramtype">(section(&quot;.ramfunc&quot;))&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a132faa838403a6db82d1e7e65d4c4ff2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a132faa838403a6db82d1e7e65d4c4ff2">&#9670;&nbsp;</a></span>executeCommand() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool executeCommand </td>
<td>(</td>
<td class="paramtype">aJsonObject *&#160;</td>
<td class="paramname"><em>cmd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int8_t&#160;</td>
<td class="paramname"><em>toggle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2cd15a22b2799d0378a27850c96c6300"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2cd15a22b2799d0378a27850c96c6300">&#9670;&nbsp;</a></span>executeCommand() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool executeCommand </td>
<td>(</td>
<td class="paramtype">aJsonObject *&#160;</td>
<td class="paramname"><em>cmd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int8_t&#160;</td>
<td class="paramname"><em>toggle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classitem_cmd.html">itemCmd</a>&#160;</td>
<td class="paramname"><em>_itemCmd</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6037cfc7913c0856e93dbf8fc2133aac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6037cfc7913c0856e93dbf8fc2133aac">&#9670;&nbsp;</a></span>getInt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int getInt </td>
<td>(</td>
<td class="paramtype">char **&#160;</td>
<td class="paramname"><em>chan</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4cafbb82e446669dd50a2a386c1531fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4cafbb82e446669dd50a2a386c1531fd">&#9670;&nbsp;</a></span>HEX2DEC()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">byte HEX2DEC </td>
<td>(</td>
<td class="paramtype">char&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2abeec32a0c7fe0b4aa02a8807ed9cee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2abeec32a0c7fe0b4aa02a8807ed9cee">&#9670;&nbsp;</a></span>inet_aton()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int inet_aton </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>aIPAddrString</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IPAddress &amp;&#160;</td>
<td class="paramname"><em>aResult</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5f3cdb518da692b8859ae48ed58196fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f3cdb518da692b8859ae48ed58196fc">&#9670;&nbsp;</a></span>inet_ntoa_r()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* inet_ntoa_r </td>
<td>(</td>
<td class="paramtype">IPAddress&#160;</td>
<td class="paramname"><em>addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>buf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>buflen</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as ipaddr_ntoa, but reentrant since a user-supplied buffer is used.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">addr</td><td>ip address in network order to convert </td></tr>
<tr><td class="paramname">buf</td><td>target buffer where the string is stored </td></tr>
<tr><td class="paramname">buflen</td><td>length of buf </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>either pointer to buf which now holds the ASCII representation of addr or NULL if buf was too small </dd></dl>
</div>
</div>
<a id="a1c013af2ccb8a6dd130f0ab706b1abc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c013af2ccb8a6dd130f0ab706b1abc4">&#9670;&nbsp;</a></span>isTimeOver()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool isTimeOver </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>timestamp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>currTime</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>time</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>modulo</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aadf1050416e46077ad59157173438dad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadf1050416e46077ad59157173438dad">&#9670;&nbsp;</a></span>log()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int log </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>...</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ace8fa23ff29c3feb89c5d500ef87b914"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace8fa23ff29c3feb89c5d500ef87b914">&#9670;&nbsp;</a></span>mapInt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classitem_cmd.html">itemCmd</a> mapInt </td>
<td>(</td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>arg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">aJsonObject *&#160;</td>
<td class="paramname"><em>map</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1938abf1ef99f35bd2578e3db1bcf7b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1938abf1ef99f35bd2578e3db1bcf7b8">&#9670;&nbsp;</a></span>parseBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void parseBytes </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char&#160;</td>
<td class="paramname"><em>separator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">byte *&#160;</td>
<td class="paramname"><em>bytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>maxBytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>base</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab5fb614b925280fc7c8d0e5314dd3b7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5fb614b925280fc7c8d0e5314dd3b7a">&#9670;&nbsp;</a></span>PrintBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void PrintBytes </td>
<td>(</td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>newline</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6c16341dd45c4e557f951818d8d09810"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c16341dd45c4e557f951818d8d09810">&#9670;&nbsp;</a></span>printFloatValueToStr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void printFloatValueToStr </td>
<td>(</td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>valstr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af0df006a5ae8d0d730134afdaf1c64dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0df006a5ae8d0d730134afdaf1c64dd">&#9670;&nbsp;</a></span>printIPAddress()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void printIPAddress </td>
<td>(</td>
<td class="paramtype">IPAddress&#160;</td>
<td class="paramname"><em>ipAddress</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="afb183532261be04b86e9e535010db6a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb183532261be04b86e9e535010db6a9">&#9670;&nbsp;</a></span>printUlongValueToStr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void printUlongValueToStr </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>valstr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned long&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af585ed9b15b9980b72fbec6d9c9dba67"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af585ed9b15b9980b72fbec6d9c9dba67">&#9670;&nbsp;</a></span>scan_i2c_bus()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void scan_i2c_bus </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4dd6705cb24a3eab32d9abc8393844b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4dd6705cb24a3eab32d9abc8393844b3">&#9670;&nbsp;</a></span>SetAddr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SetAddr </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>addr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a85a33f14fc0eefef02be4c6bacf5c8f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85a33f14fc0eefef02be4c6bacf5c8f0">&#9670;&nbsp;</a></span>SetBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SetBytes </td>
<td>(</td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>out</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab33cdb70ba57128d05b7efe3317b5a82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab33cdb70ba57128d05b7efe3317b5a82">&#9670;&nbsp;</a></span>setTopic()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* setTopic </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>buf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int8_t&#160;</td>
<td class="paramname"><em>buflen</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utils_8h.html#a2598bacb04e8f77e8b41cee61ef359fc">topicType</a>&#160;</td>
<td class="paramname"><em>tt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>suffix</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a58655351bd1d5333e5eb92d4c29f4263"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58655351bd1d5333e5eb92d4c29f4263">&#9670;&nbsp;</a></span>configLocked</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int8_t configLocked</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5da66826e811349c98b2daf2bafb78c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5da66826e811349c98b2daf2bafb78c2">&#9670;&nbsp;</a></span>deviceName</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">char* deviceName</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a525d99b2753ef2f4055ea4475dbc10d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a525d99b2753ef2f4055ea4475dbc10d7">&#9670;&nbsp;</a></span>ethernetIdleCount</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int8_t ethernetIdleCount</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0317be66119cccdb71b5276f914cef50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0317be66119cccdb71b5276f914cef50">&#9670;&nbsp;</a></span>HEXSTR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char HEXSTR[] = &quot;0123456789ABCDEF&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a86d63f481644da70f063c2593fcafe19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a86d63f481644da70f063c2593fcafe19">&#9670;&nbsp;</a></span>mqttClient</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">PubSubClient mqttClient</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3ec4211471d85792b3cb9f0fc8082b4c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ec4211471d85792b3cb9f0fc8082b4c">&#9670;&nbsp;</a></span>PROGMEM</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char homeTopic [] PROGMEM = <a class="el" href="options_8h.html#ad41dc04ab9a3863ee0d70153e844c92a">OUTTOPIC</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="addabf1c5a7be47e4e89beb38a435cb51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#addabf1c5a7be47e4e89beb38a435cb51">&#9670;&nbsp;</a></span>topics</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">aJsonObject* topics</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20
</small></address>
</body>
</html>