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

904 lines
40 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.h 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="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">utils.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;Arduino.h&gt;</code><br />
<code>#include &lt;IPAddress.h&gt;</code><br />
<code>#include &quot;aJSON.h&quot;</code><br />
<code>#include &quot;<a class="el" href="options_8h_source.html">options.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="item_8h_source.html">item.h</a>&quot;</code><br />
<code>#include &quot;Streaming.h&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for utils.h:</div>
<div class="dyncontent">
<div class="center"><img src="utils_8h__incl.png" border="0" usemap="#autils_8h" alt=""/></div>
<map name="utils_8h" id="autils_8h">
<area shape="rect" title=" " alt="" coords="261,5,318,32"/>
<area shape="rect" title=" " alt="" coords="84,304,161,331"/>
<area shape="rect" title=" " alt="" coords="353,80,445,107"/>
<area shape="rect" title=" " alt="" coords="226,155,302,181"/>
<area shape="rect" href="options_8h.html" title=" " alt="" coords="327,155,401,181"/>
<area shape="rect" href="item_8h.html" title=" " alt="" coords="168,80,227,107"/>
<area shape="rect" title=" " alt="" coords="469,80,561,107"/>
<area shape="rect" href="abstractout_8h.html" title=" " alt="" coords="103,155,201,181"/>
<area shape="rect" href="item_cmd_8h.html" title=" " alt="" coords="22,229,109,256"/>
<area shape="rect" href="abstractch_8h.html" title=" " alt="" coords="133,229,227,256"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="utils_8h__dep__incl.png" border="0" usemap="#autils_8hdep" alt=""/></div>
<map name="utils_8hdep" id="autils_8hdep">
<area shape="rect" title=" " alt="" coords="779,5,836,32"/>
<area shape="rect" href="abstractch_8cpp.html" title=" " alt="" coords="5,155,113,181"/>
<area shape="rect" href="abstractin_8cpp.html" title=" " alt="" coords="138,155,242,181"/>
<area shape="rect" href="inputs_8cpp.html" title=" " alt="" coords="266,155,349,181"/>
<area shape="rect" href="item_8cpp.html" title=" " alt="" coords="373,155,445,181"/>
<area shape="rect" href="main_8h.html" title=" " alt="" coords="910,80,971,107"/>
<area shape="rect" href="out__modbus_8cpp.html" title=" " alt="" coords="1641,155,1760,181"/>
<area shape="rect" href="ow_term_8cpp.html" title=" " alt="" coords="1785,155,1878,181"/>
<area shape="rect" href="utils_8cpp.html" title=" " alt="" coords="1903,155,1973,181"/>
<area shape="rect" href="colorchannel_8cpp.html" title=" " alt="" coords="1273,155,1393,181"/>
<area shape="rect" href="item_cmd_8cpp.html" title=" " alt="" coords="1417,155,1517,181"/>
<area shape="rect" href="main_8cpp.html" title=" " alt="" coords="1542,155,1617,181"/>
<area shape="rect" href="in__ccs811__hdc1080_8cpp.html" title=" " alt="" coords="469,155,631,181"/>
<area shape="rect" href="out__ac_8cpp.html" title=" " alt="" coords="656,155,743,181"/>
<area shape="rect" href="out__dmx_8cpp.html" title=" " alt="" coords="767,155,864,181"/>
<area shape="rect" href="out__motor_8cpp.html" title=" " alt="" coords="889,155,993,181"/>
<area shape="rect" href="out__pwm_8cpp.html" title=" " alt="" coords="1017,155,1117,181"/>
<area shape="rect" href="out__spiled_8cpp.html" title=" " alt="" coords="1142,155,1249,181"/>
</map>
</div>
</div>
<p><a href="utils_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a2a280bfe12bc6e732a7c4d3d62443a14"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a2a280bfe12bc6e732a7c4d3d62443a14">Q</a>(x)&#160;&#160;&#160;#x</td></tr>
<tr class="separator:a2a280bfe12bc6e732a7c4d3d62443a14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2117b58e19182dff91ad3558e650541d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a2117b58e19182dff91ad3558e650541d">QUOTE</a>(x)&#160;&#160;&#160;<a class="el" href="utils_8h.html#a2a280bfe12bc6e732a7c4d3d62443a14">Q</a>(x)</td></tr>
<tr class="separator:a2117b58e19182dff91ad3558e650541d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad15c9a08925b1c0365fb1bd9ac826670"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#ad15c9a08925b1c0365fb1bd9ac826670">VALUE_TO_STRING</a>(x)&#160;&#160;&#160;#x</td></tr>
<tr class="separator:ad15c9a08925b1c0365fb1bd9ac826670"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad705dc78222473228fa826e42eca95f1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#ad705dc78222473228fa826e42eca95f1">VALUE</a>(x)&#160;&#160;&#160;<a class="el" href="utils_8h.html#ad15c9a08925b1c0365fb1bd9ac826670">VALUE_TO_STRING</a>(x)</td></tr>
<tr class="separator:ad705dc78222473228fa826e42eca95f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a89328d94ddd2cdd4b39db22da01f79"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a9a89328d94ddd2cdd4b39db22da01f79">VAR_NAME_VALUE</a>(var)&#160;&#160;&#160;#var &quot;=&quot; <a class="el" href="utils_8h.html#ad705dc78222473228fa826e42eca95f1">VALUE</a>(var)</td></tr>
<tr class="separator:a9a89328d94ddd2cdd4b39db22da01f79"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a2598bacb04e8f77e8b41cee61ef359fc"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a2598bacb04e8f77e8b41cee61ef359fc">topicType</a> { <a class="el" href="utils_8h.html#a2598bacb04e8f77e8b41cee61ef359fca3fa22e2ae357981afc104dc67d764c85">T_DEV</a> = 1,
<a class="el" href="utils_8h.html#a2598bacb04e8f77e8b41cee61ef359fca26fa2da957fe6c55420ed0e1a7dd7a15">T_BCST</a> = 2,
<a class="el" href="utils_8h.html#a2598bacb04e8f77e8b41cee61ef359fca27b2310c69298d62ed18dd416476a44d">T_OUT</a> = 3
}</td></tr>
<tr class="separator:a2598bacb04e8f77e8b41cee61ef359fc"><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_8h.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_8h.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:a4dd6705cb24a3eab32d9abc8393844b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.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:a215fd13be95cb1c21fe50b3693b85557"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a215fd13be95cb1c21fe50b3693b85557">HEX2DEC</a> (char i)</td></tr>
<tr class="separator:a215fd13be95cb1c21fe50b3693b85557"><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_8h.html#a6037cfc7913c0856e93dbf8fc2133aac">getInt</a> (char **chan)</td></tr>
<tr class="separator:a6037cfc7913c0856e93dbf8fc2133aac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c97971726a07a7d14fb701f4a4638f0"><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a3c97971726a07a7d14fb701f4a4638f0">freeRam</a> ()</td></tr>
<tr class="separator:a3c97971726a07a7d14fb701f4a4638f0"><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_8h.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:aadf1050416e46077ad59157173438dad"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#aadf1050416e46077ad59157173438dad">log</a> (const char *str,...)</td></tr>
<tr class="separator:aadf1050416e46077ad59157173438dad"><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_8h.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:a1380fbc9c2170180770dd1bdcc5ac647"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a1380fbc9c2170180770dd1bdcc5ac647">ReadUniqueID</a> (uint32_t *pdwUniqueID)</td></tr>
<tr class="separator:a1380fbc9c2170180770dd1bdcc5ac647"><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_8h.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_8h.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_8h.html#af0df006a5ae8d0d730134afdaf1c64dd">printIPAddress</a> (IPAddress ipAddress)</td></tr>
<tr class="separator:af0df006a5ae8d0d730134afdaf1c64dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0045f41bb76629662ed1ee7952f856e"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#aa0045f41bb76629662ed1ee7952f856e">setTopic</a> (char *buf, int8_t buflen, <a class="el" href="utils_8h.html#a2598bacb04e8f77e8b41cee61ef359fc">topicType</a> tt, const char *suffix=NULL)</td></tr>
<tr class="separator:aa0045f41bb76629662ed1ee7952f856e"><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_8h.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_8h.html#af585ed9b15b9980b72fbec6d9c9dba67">scan_i2c_bus</a> ()</td></tr>
<tr class="separator:af585ed9b15b9980b72fbec6d9c9dba67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7facb8f2c84692ab65024785eb64b541"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a7facb8f2c84692ab65024785eb64b541">softRebootFunc</a> ()</td></tr>
<tr class="separator:a7facb8f2c84692ab65024785eb64b541"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd6072104e482c3f61e5bfad35a58ac0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#acd6072104e482c3f61e5bfad35a58ac0">isTimeOver</a> (uint32_t timestamp, uint32_t currTime, uint32_t time, uint32_t modulo=0xFFFFFFFF)</td></tr>
<tr class="separator:acd6072104e482c3f61e5bfad35a58ac0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9843f57c765644bc93e675922da82beb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a9843f57c765644bc93e675922da82beb">executeCommand</a> (aJsonObject *cmd, int8_t toggle=-1)</td></tr>
<tr class="separator:a9843f57c765644bc93e675922da82beb"><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_8h.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_8h.html#ace8fa23ff29c3feb89c5d500ef87b914">mapInt</a> (int32_t arg, aJsonObject *map)</td></tr>
<tr class="separator:ace8fa23ff29c3feb89c5d500ef87b914"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a2a280bfe12bc6e732a7c4d3d62443a14"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a280bfe12bc6e732a7c4d3d62443a14">&#9670;&nbsp;</a></span>Q</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define Q</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">x</td><td>)</td>
<td>&#160;&#160;&#160;#x</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2117b58e19182dff91ad3558e650541d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2117b58e19182dff91ad3558e650541d">&#9670;&nbsp;</a></span>QUOTE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define QUOTE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">x</td><td>)</td>
<td>&#160;&#160;&#160;<a class="el" href="utils_8h.html#a2a280bfe12bc6e732a7c4d3d62443a14">Q</a>(x)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad705dc78222473228fa826e42eca95f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad705dc78222473228fa826e42eca95f1">&#9670;&nbsp;</a></span>VALUE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define VALUE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">x</td><td>)</td>
<td>&#160;&#160;&#160;<a class="el" href="utils_8h.html#ad15c9a08925b1c0365fb1bd9ac826670">VALUE_TO_STRING</a>(x)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad15c9a08925b1c0365fb1bd9ac826670"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad15c9a08925b1c0365fb1bd9ac826670">&#9670;&nbsp;</a></span>VALUE_TO_STRING</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define VALUE_TO_STRING</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">x</td><td>)</td>
<td>&#160;&#160;&#160;#x</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9a89328d94ddd2cdd4b39db22da01f79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a89328d94ddd2cdd4b39db22da01f79">&#9670;&nbsp;</a></span>VAR_NAME_VALUE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define VAR_NAME_VALUE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">var</td><td>)</td>
<td>&#160;&#160;&#160;#var &quot;=&quot; <a class="el" href="utils_8h.html#ad705dc78222473228fa826e42eca95f1">VALUE</a>(var)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a2598bacb04e8f77e8b41cee61ef359fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2598bacb04e8f77e8b41cee61ef359fc">&#9670;&nbsp;</a></span>topicType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="utils_8h.html#a2598bacb04e8f77e8b41cee61ef359fc">topicType</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a2598bacb04e8f77e8b41cee61ef359fca3fa22e2ae357981afc104dc67d764c85"></a>T_DEV&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a2598bacb04e8f77e8b41cee61ef359fca26fa2da957fe6c55420ed0e1a7dd7a15"></a>T_BCST&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a2598bacb04e8f77e8b41cee61ef359fca27b2310c69298d62ed18dd416476a44d"></a>T_OUT&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a2cd15a22b2799d0378a27850c96c6300"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2cd15a22b2799d0378a27850c96c6300">&#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>, </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="a9843f57c765644bc93e675922da82beb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9843f57c765644bc93e675922da82beb">&#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> = <code>-1</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3c97971726a07a7d14fb701f4a4638f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c97971726a07a7d14fb701f4a4638f0">&#9670;&nbsp;</a></span>freeRam()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned long freeRam </td>
<td>(</td>
<td class="paramname"></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="a215fd13be95cb1c21fe50b3693b85557"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a215fd13be95cb1c21fe50b3693b85557">&#9670;&nbsp;</a></span>HEX2DEC()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t 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="acd6072104e482c3f61e5bfad35a58ac0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd6072104e482c3f61e5bfad35a58ac0">&#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> = <code>0xFFFFFFFF</code>&#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="a1380fbc9c2170180770dd1bdcc5ac647"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1380fbc9c2170180770dd1bdcc5ac647">&#9670;&nbsp;</a></span>ReadUniqueID()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ReadUniqueID </td>
<td>(</td>
<td class="paramtype">uint32_t *&#160;</td>
<td class="paramname"><em>pdwUniqueID</em></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="aa0045f41bb76629662ed1ee7952f856e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0045f41bb76629662ed1ee7952f856e">&#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> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7facb8f2c84692ab65024785eb64b541"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7facb8f2c84692ab65024785eb64b541">&#9670;&nbsp;</a></span>softRebootFunc()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void softRebootFunc </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></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>