RadioLibSmol/_e_s_p8266_8h_source.html
2020-08-22 08:35:55 +00:00

111 lines
14 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>RadioLib: src/modules/ESP8266/ESP8266.h Source File</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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</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="projectalign" style="padding-left: 0.5em;">
<div id="projectname">RadioLib
</div>
<div id="projectbrief">Universal wireless communication library for Arduino</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_e_s_p8266_8h_source.html','');});
</script>
<div id="doc-content">
<!-- 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 class="header">
<div class="headertitle">
<div class="title">ESP8266.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#if !defined(_RADIOLIB_ESP8266_H) &amp;&amp; !defined(RADIOLIB_EXCLUDE_ESP8266) &amp;&amp; !defined(ESP8266)</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#define _RADIOLIB_ESP8266_H</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;../../TypeDef.h&quot;</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &quot;../../Module.h&quot;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &quot;../../protocols/TransportLayer/TransportLayer.h&quot;</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="class_e_s_p8266.html"> 14</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_e_s_p8266.html">ESP8266</a>: <span class="keyword">public</span> <a class="code" href="class_transport_layer.html">TransportLayer</a> {</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <a class="code" href="class_e_s_p8266.html#ac0adb20130a378b8b99fcb9101823636">ESP8266</a>(<a class="code" href="class_module.html">Module</a>* module);</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="comment">// basic methods</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; int16_t <a class="code" href="class_e_s_p8266.html#ae25a6901976a548443e2b7d49ca94d9b">begin</a>(<span class="keywordtype">long</span> speed);</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; int16_t <a class="code" href="class_e_s_p8266.html#aee0279b476a83a55f54ab22e6d8f3904">reset</a>();</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; int16_t <a class="code" href="class_e_s_p8266.html#abb39d205464bc4789c87120564258432">join</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* ssid, <span class="keyword">const</span> <span class="keywordtype">char</span>* password);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="comment">// transport layer methods (implementations of purely virtual methods in TransportLayer class)</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; int16_t <a class="code" href="class_e_s_p8266.html#a535f4b7a8ef104b208753f9361568d20">openTransportConnection</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* host, <span class="keyword">const</span> <span class="keywordtype">char</span>* protocol, uint16_t port, uint16_t tcpKeepAlive = 0) <span class="keyword">override</span>;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; int16_t <a class="code" href="class_e_s_p8266.html#aa71846340d1a679a12ddb9b9597f8f91">closeTransportConnection</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; int16_t <a class="code" href="class_e_s_p8266.html#a1caaa537edd52d1c2b7a0a25ef69c1c9">send</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* data) <span class="keyword">override</span>;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; int16_t <a class="code" href="class_e_s_p8266.html#a1caaa537edd52d1c2b7a0a25ef69c1c9">send</a>(uint8_t* data, <span class="keywordtype">size_t</span> len) <span class="keyword">override</span>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="class_e_s_p8266.html#aa79f841de9ae9c5d6057e89a9f1721ea">receive</a>(uint8_t* data, <span class="keywordtype">size_t</span> len, uint32_t timeout = 10000) <span class="keyword">override</span>;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="class_e_s_p8266.html#ac463b6a80cdc52e7db50b1f6760cec3f">getNumBytes</a>(uint32_t timeout = 10000, <span class="keywordtype">size_t</span> minBytes = 10) <span class="keyword">override</span>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor">#ifndef RADIOLIB_GODMODE</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="class_module.html">Module</a>* _mod;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;};</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="class_transport_layer_html"><div class="ttname"><a href="class_transport_layer.html">TransportLayer</a></div><div class="ttdoc">Provides common interface for protocols that run on modules with Internet connectivity, such as HTTP or MQTT. Because this class is used mainly as interface, all of its virtual members must be implemented in the module class. </div><div class="ttdef"><b>Definition:</b> TransportLayer.h:12</div></div>
<div class="ttc" id="class_e_s_p8266_html_a1caaa537edd52d1c2b7a0a25ef69c1c9"><div class="ttname"><a href="class_e_s_p8266.html#a1caaa537edd52d1c2b7a0a25ef69c1c9">ESP8266::send</a></div><div class="ttdeci">int16_t send(const char *data) override</div><div class="ttdoc">Send string-based data. </div><div class="ttdef"><b>Definition:</b> ESP8266.cpp:133</div></div>
<div class="ttc" id="class_e_s_p8266_html_ac0adb20130a378b8b99fcb9101823636"><div class="ttname"><a href="class_e_s_p8266.html#ac0adb20130a378b8b99fcb9101823636">ESP8266::ESP8266</a></div><div class="ttdeci">ESP8266(Module *module)</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> ESP8266.cpp:4</div></div>
<div class="ttc" id="class_e_s_p8266_html_aa79f841de9ae9c5d6057e89a9f1721ea"><div class="ttname"><a href="class_e_s_p8266.html#aa79f841de9ae9c5d6057e89a9f1721ea">ESP8266::receive</a></div><div class="ttdeci">size_t receive(uint8_t *data, size_t len, uint32_t timeout=10000) override</div><div class="ttdoc">Receive data. </div><div class="ttdef"><b>Definition:</b> ESP8266.cpp:193</div></div>
<div class="ttc" id="class_e_s_p8266_html_a535f4b7a8ef104b208753f9361568d20"><div class="ttname"><a href="class_e_s_p8266.html#a535f4b7a8ef104b208753f9361568d20">ESP8266::openTransportConnection</a></div><div class="ttdeci">int16_t openTransportConnection(const char *host, const char *protocol, uint16_t port, uint16_t tcpKeepAlive=0) override</div><div class="ttdoc">Open transport layer connection. </div><div class="ttdef"><b>Definition:</b> ESP8266.cpp:85</div></div>
<div class="ttc" id="class_e_s_p8266_html_ac463b6a80cdc52e7db50b1f6760cec3f"><div class="ttname"><a href="class_e_s_p8266.html#ac463b6a80cdc52e7db50b1f6760cec3f">ESP8266::getNumBytes</a></div><div class="ttdeci">size_t getNumBytes(uint32_t timeout=10000, size_t minBytes=10) override</div><div class="ttdoc">Get number of received bytes. </div><div class="ttdef"><b>Definition:</b> ESP8266.cpp:210</div></div>
<div class="ttc" id="class_module_html"><div class="ttname"><a href="class_module.html">Module</a></div><div class="ttdoc">Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class. </div><div class="ttdef"><b>Definition:</b> Module.h:17</div></div>
<div class="ttc" id="class_e_s_p8266_html_aee0279b476a83a55f54ab22e6d8f3904"><div class="ttname"><a href="class_e_s_p8266.html#aee0279b476a83a55f54ab22e6d8f3904">ESP8266::reset</a></div><div class="ttdeci">int16_t reset()</div><div class="ttdoc">Resets module using AT command. </div><div class="ttdef"><b>Definition:</b> ESP8266.cpp:26</div></div>
<div class="ttc" id="class_e_s_p8266_html_ae25a6901976a548443e2b7d49ca94d9b"><div class="ttname"><a href="class_e_s_p8266.html#ae25a6901976a548443e2b7d49ca94d9b">ESP8266::begin</a></div><div class="ttdeci">int16_t begin(long speed)</div><div class="ttdoc">Initialization method. </div><div class="ttdef"><b>Definition:</b> ESP8266.cpp:8</div></div>
<div class="ttc" id="class_e_s_p8266_html_aa71846340d1a679a12ddb9b9597f8f91"><div class="ttname"><a href="class_e_s_p8266.html#aa71846340d1a679a12ddb9b9597f8f91">ESP8266::closeTransportConnection</a></div><div class="ttdeci">int16_t closeTransportConnection() override</div><div class="ttdoc">Close transport layer connection. </div><div class="ttdef"><b>Definition:</b> ESP8266.cpp:125</div></div>
<div class="ttc" id="class_e_s_p8266_html_abb39d205464bc4789c87120564258432"><div class="ttname"><a href="class_e_s_p8266.html#abb39d205464bc4789c87120564258432">ESP8266::join</a></div><div class="ttdeci">int16_t join(const char *ssid, const char *password)</div><div class="ttdoc">Joins access point. </div><div class="ttdef"><b>Definition:</b> ESP8266.cpp:48</div></div>
<div class="ttc" id="class_e_s_p8266_html"><div class="ttname"><a href="class_e_s_p8266.html">ESP8266</a></div><div class="ttdoc">Control class for ESP8266 module. Implements TransportLayer methods. </div><div class="ttdef"><b>Definition:</b> ESP8266.h:14</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_ddb4d7e95cc2d6c8e1ade10a20d7247d.html">modules</a></li><li class="navelem"><a class="el" href="dir_ec8372b468150f98f42c73cf97f51298.html">ESP8266</a></li><li class="navelem"><b>ESP8266.h</b></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>