RadioLibSmol/class_e_s_p8266.html
2021-09-05 10:03:49 +00:00

550 lines
25 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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>RadioLib: ESP8266 Class 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="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>
<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.17 -->
<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>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('class_e_s_p8266.html',''); initResizable(); });
/* @license-end */
</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="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="class_e_s_p8266-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ESP8266 Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Control class for ESP8266 module. Implements <a class="el" href="class_transport_layer.html" title="Provides common interface for protocols that run on modules with Internet connectivity,...">TransportLayer</a> methods.
<a href="class_e_s_p8266.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_e_s_p8266_8h_source.html">ESP8266.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ESP8266:</div>
<div class="dyncontent">
<div class="center">
<img src="class_e_s_p8266.png" usemap="#ESP8266_map" alt=""/>
<map id="ESP8266_map" name="ESP8266_map">
<area href="class_transport_layer.html" title="Provides common interface for protocols that run on modules with Internet connectivity,..." alt="TransportLayer" shape="rect" coords="0,0,99,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ac0adb20130a378b8b99fcb9101823636"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_s_p8266.html#ac0adb20130a378b8b99fcb9101823636">ESP8266</a> (<a class="el" href="class_module.html">Module</a> *module)</td></tr>
<tr class="memdesc:ac0adb20130a378b8b99fcb9101823636"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <a href="class_e_s_p8266.html#ac0adb20130a378b8b99fcb9101823636">More...</a><br /></td></tr>
<tr class="separator:ac0adb20130a378b8b99fcb9101823636"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae25a6901976a548443e2b7d49ca94d9b"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_s_p8266.html#ae25a6901976a548443e2b7d49ca94d9b">begin</a> (long speed)</td></tr>
<tr class="memdesc:ae25a6901976a548443e2b7d49ca94d9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization method. <a href="class_e_s_p8266.html#ae25a6901976a548443e2b7d49ca94d9b">More...</a><br /></td></tr>
<tr class="separator:ae25a6901976a548443e2b7d49ca94d9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee0279b476a83a55f54ab22e6d8f3904"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_s_p8266.html#aee0279b476a83a55f54ab22e6d8f3904">reset</a> ()</td></tr>
<tr class="memdesc:aee0279b476a83a55f54ab22e6d8f3904"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets module using AT command. <a href="class_e_s_p8266.html#aee0279b476a83a55f54ab22e6d8f3904">More...</a><br /></td></tr>
<tr class="separator:aee0279b476a83a55f54ab22e6d8f3904"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb39d205464bc4789c87120564258432"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_s_p8266.html#abb39d205464bc4789c87120564258432">join</a> (const char *ssid, const char *password)</td></tr>
<tr class="memdesc:abb39d205464bc4789c87120564258432"><td class="mdescLeft">&#160;</td><td class="mdescRight">Joins access point. <a href="class_e_s_p8266.html#abb39d205464bc4789c87120564258432">More...</a><br /></td></tr>
<tr class="separator:abb39d205464bc4789c87120564258432"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a535f4b7a8ef104b208753f9361568d20"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_s_p8266.html#a535f4b7a8ef104b208753f9361568d20">openTransportConnection</a> (const char *host, const char *protocol, uint16_t port, uint16_t tcpKeepAlive=0) override</td></tr>
<tr class="memdesc:a535f4b7a8ef104b208753f9361568d20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open transport layer connection. <a href="class_e_s_p8266.html#a535f4b7a8ef104b208753f9361568d20">More...</a><br /></td></tr>
<tr class="separator:a535f4b7a8ef104b208753f9361568d20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa71846340d1a679a12ddb9b9597f8f91"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_s_p8266.html#aa71846340d1a679a12ddb9b9597f8f91">closeTransportConnection</a> () override</td></tr>
<tr class="memdesc:aa71846340d1a679a12ddb9b9597f8f91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close transport layer connection. <a href="class_e_s_p8266.html#aa71846340d1a679a12ddb9b9597f8f91">More...</a><br /></td></tr>
<tr class="separator:aa71846340d1a679a12ddb9b9597f8f91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1caaa537edd52d1c2b7a0a25ef69c1c9"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_s_p8266.html#a1caaa537edd52d1c2b7a0a25ef69c1c9">send</a> (const char *data) override</td></tr>
<tr class="memdesc:a1caaa537edd52d1c2b7a0a25ef69c1c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send string-based data. <a href="class_e_s_p8266.html#a1caaa537edd52d1c2b7a0a25ef69c1c9">More...</a><br /></td></tr>
<tr class="separator:a1caaa537edd52d1c2b7a0a25ef69c1c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f34474953b7dbe4d057c8e3f65e0dc4"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_s_p8266.html#a2f34474953b7dbe4d057c8e3f65e0dc4">send</a> (uint8_t *data, size_t len) override</td></tr>
<tr class="memdesc:a2f34474953b7dbe4d057c8e3f65e0dc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send arbitrary binary data. <a href="class_e_s_p8266.html#a2f34474953b7dbe4d057c8e3f65e0dc4">More...</a><br /></td></tr>
<tr class="separator:a2f34474953b7dbe4d057c8e3f65e0dc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa79f841de9ae9c5d6057e89a9f1721ea"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_s_p8266.html#aa79f841de9ae9c5d6057e89a9f1721ea">receive</a> (uint8_t *data, size_t len, uint32_t timeout=10000) override</td></tr>
<tr class="memdesc:aa79f841de9ae9c5d6057e89a9f1721ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive data. <a href="class_e_s_p8266.html#aa79f841de9ae9c5d6057e89a9f1721ea">More...</a><br /></td></tr>
<tr class="separator:aa79f841de9ae9c5d6057e89a9f1721ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac463b6a80cdc52e7db50b1f6760cec3f"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_s_p8266.html#ac463b6a80cdc52e7db50b1f6760cec3f">getNumBytes</a> (uint32_t timeout=10000, size_t minBytes=10) override</td></tr>
<tr class="memdesc:ac463b6a80cdc52e7db50b1f6760cec3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of received bytes. <a href="class_e_s_p8266.html#ac463b6a80cdc52e7db50b1f6760cec3f">More...</a><br /></td></tr>
<tr class="separator:ac463b6a80cdc52e7db50b1f6760cec3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Control class for ESP8266 module. Implements <a class="el" href="class_transport_layer.html" title="Provides common interface for protocols that run on modules with Internet connectivity,...">TransportLayer</a> methods. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ac0adb20130a378b8b99fcb9101823636"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0adb20130a378b8b99fcb9101823636">&#9670;&nbsp;</a></span>ESP8266()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ESP8266::ESP8266 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_module.html">Module</a> *&#160;</td>
<td class="paramname"><em>module</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Default constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mod</td><td>Instance of <a class="el" href="class_module.html" title="Implements all common low-level SPI/UART methods to control the wireless module. Every module class c...">Module</a> that will be used to communicate with the radio. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ae25a6901976a548443e2b7d49ca94d9b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae25a6901976a548443e2b7d49ca94d9b">&#9670;&nbsp;</a></span>begin()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int16_t ESP8266::begin </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>speed</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialization method. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">speed</td><td>Baud rate to use for UART interface.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__status__codes.html">Status Codes</a> </dd></dl>
</div>
</div>
<a id="aa71846340d1a679a12ddb9b9597f8f91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa71846340d1a679a12ddb9b9597f8f91">&#9670;&nbsp;</a></span>closeTransportConnection()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int16_t ESP8266::closeTransportConnection </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Close transport layer connection. </p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__status__codes.html">Status Codes</a> </dd></dl>
<p>Implements <a class="el" href="class_transport_layer.html#a82fc1c71a0f6d0aac1be7f6c184a0021">TransportLayer</a>.</p>
</div>
</div>
<a id="ac463b6a80cdc52e7db50b1f6760cec3f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac463b6a80cdc52e7db50b1f6760cec3f">&#9670;&nbsp;</a></span>getNumBytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t ESP8266::getNumBytes </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>timeout</em> = <code>10000</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>minBytes</em> = <code>10</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get number of received bytes. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">timeout</td><td>Reception timeout in ms. Defaults to 10000.</td></tr>
<tr><td class="paramname">minBytes</td><td>Minimum required number of bytes that must be received.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of received bytes, or 0 on timeout. </dd></dl>
<p>Implements <a class="el" href="class_transport_layer.html#a730e6671632844b1effc114e5c7d95c8">TransportLayer</a>.</p>
</div>
</div>
<a id="abb39d205464bc4789c87120564258432"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb39d205464bc4789c87120564258432">&#9670;&nbsp;</a></span>join()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int16_t ESP8266::join </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>ssid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>password</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Joins access point. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ssid</td><td>Access point SSID.</td></tr>
<tr><td class="paramname">password</td><td>Access point password. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a535f4b7a8ef104b208753f9361568d20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a535f4b7a8ef104b208753f9361568d20">&#9670;&nbsp;</a></span>openTransportConnection()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int16_t ESP8266::openTransportConnection </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>protocol</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>port</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>tcpKeepAlive</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Open transport layer connection. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>Host to connect to.</td></tr>
<tr><td class="paramname">protocol</td><td>Transport protocol to use. Usually "TCP" or "UDP".</td></tr>
<tr><td class="paramname">port</td><td>to be used for the connection.</td></tr>
<tr><td class="paramname">tcpKeepAlive</td><td>TCP keep alive interval. Defaults to 0.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__status__codes.html">Status Codes</a> </dd></dl>
<p>Implements <a class="el" href="class_transport_layer.html#a36b1ceebca3643fb475607d3d92f5d63">TransportLayer</a>.</p>
</div>
</div>
<a id="aa79f841de9ae9c5d6057e89a9f1721ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa79f841de9ae9c5d6057e89a9f1721ea">&#9670;&nbsp;</a></span>receive()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t ESP8266::receive </td>
<td>(</td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>timeout</em> = <code>10000</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Receive data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>Pointer to array to save the received data.</td></tr>
<tr><td class="paramname">len</td><td>Number of bytes to read.</td></tr>
<tr><td class="paramname">timeout</td><td>Reception timeout in ms. Defaults to 10000.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__status__codes.html">Status Codes</a> </dd></dl>
<p>Implements <a class="el" href="class_transport_layer.html#a846492348f71d7328834076c9046dc3f">TransportLayer</a>.</p>
</div>
</div>
<a id="aee0279b476a83a55f54ab22e6d8f3904"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee0279b476a83a55f54ab22e6d8f3904">&#9670;&nbsp;</a></span>reset()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int16_t ESP8266::reset </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Resets module using AT command. </p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__status__codes.html">Status Codes</a> </dd></dl>
</div>
</div>
<a id="a1caaa537edd52d1c2b7a0a25ef69c1c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1caaa537edd52d1c2b7a0a25ef69c1c9">&#9670;&nbsp;</a></span>send() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int16_t ESP8266::send </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Send string-based data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">string</td><td>String data to be sent.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__status__codes.html">Status Codes</a> </dd></dl>
<p>Implements <a class="el" href="class_transport_layer.html#a1d9cb76640868aa0338b52808e4f022d">TransportLayer</a>.</p>
</div>
</div>
<a id="a2f34474953b7dbe4d057c8e3f65e0dc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f34474953b7dbe4d057c8e3f65e0dc4">&#9670;&nbsp;</a></span>send() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int16_t ESP8266::send </td>
<td>(</td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>len</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Send arbitrary binary data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>Data to be sent.</td></tr>
<tr><td class="paramname">len</td><td>Number of bytes to send.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__status__codes.html">Status Codes</a> </dd></dl>
<p>Implements <a class="el" href="class_transport_layer.html#afb001c6348bc19694090532cc5f00e52">TransportLayer</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/modules/ESP8266/<a class="el" href="_e_s_p8266_8h_source.html">ESP8266.h</a></li>
<li>src/modules/ESP8266/ESP8266.cpp</li>
</ul>
</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="class_e_s_p8266.html">ESP8266</a></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.17 </li>
</ul>
</div>
</body>
</html>