Tasmota/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRsend.html

7043 lines
402 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>IRremoteESP8266: IRsend 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="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">IRremoteESP8266
</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>
<!-- 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><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classIRsend-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">IRsend Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Class for sending all basic IR protocols.
<a href="classIRsend.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="IRsend_8h_source.html">IRsend.h</a>&gt;</code></p>
<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:a792780b7de996c90c86dd7b700eaf271"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a792780b7de996c90c86dd7b700eaf271">IRsend</a> (uint16_t IRsendPin, bool inverted=false, bool use_modulation=true)</td></tr>
<tr class="memdesc:a792780b7de996c90c86dd7b700eaf271"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for an <a class="el" href="classIRsend.html" title="Class for sending all basic IR protocols.">IRsend</a> object. <a href="classIRsend.html#a792780b7de996c90c86dd7b700eaf271">More...</a><br /></td></tr>
<tr class="separator:a792780b7de996c90c86dd7b700eaf271"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a386f026bf739b0718efde4cffa6ce129"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a386f026bf739b0718efde4cffa6ce129">begin</a> ()</td></tr>
<tr class="memdesc:a386f026bf739b0718efde4cffa6ce129"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable the pin for output. <a href="classIRsend.html#a386f026bf739b0718efde4cffa6ce129">More...</a><br /></td></tr>
<tr class="separator:a386f026bf739b0718efde4cffa6ce129"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3b6d36c9b5d26c400526717d433ed2d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ab3b6d36c9b5d26c400526717d433ed2d">enableIROut</a> (uint32_t freq, uint8_t duty=<a class="el" href="IRsend_8h.html#affa33c170fe058b783372852fca7cc5b">kDutyDefault</a>)</td></tr>
<tr class="memdesc:ab3b6d36c9b5d26c400526717d433ed2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the output frequency modulation and duty cycle. <a href="classIRsend.html#ab3b6d36c9b5d26c400526717d433ed2d">More...</a><br /></td></tr>
<tr class="separator:ab3b6d36c9b5d26c400526717d433ed2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61ceb32aa53f538b93377b10e58b45c9"><td class="memItemLeft" align="right" valign="top">VIRTUAL void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a61ceb32aa53f538b93377b10e58b45c9">_delayMicroseconds</a> (uint32_t usec)</td></tr>
<tr class="memdesc:a61ceb32aa53f538b93377b10e58b45c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">An ESP8266 RTOS watch-dog timer friendly version of delayMicroseconds(). <a href="classIRsend.html#a61ceb32aa53f538b93377b10e58b45c9">More...</a><br /></td></tr>
<tr class="separator:a61ceb32aa53f538b93377b10e58b45c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7399389d40bfe24bc062ffca88fc3780"><td class="memItemLeft" align="right" valign="top">VIRTUAL uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a7399389d40bfe24bc062ffca88fc3780">mark</a> (uint16_t usec)</td></tr>
<tr class="memdesc:a7399389d40bfe24bc062ffca88fc3780"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modulate the IR LED for the given period (usec) and at the duty cycle set. <a href="classIRsend.html#a7399389d40bfe24bc062ffca88fc3780">More...</a><br /></td></tr>
<tr class="separator:a7399389d40bfe24bc062ffca88fc3780"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0417b10d4e16718a87f8b2062a7d04a1"><td class="memItemLeft" align="right" valign="top">VIRTUAL void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a0417b10d4e16718a87f8b2062a7d04a1">space</a> (uint32_t usec)</td></tr>
<tr class="memdesc:a0417b10d4e16718a87f8b2062a7d04a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turn the pin (LED) off for a given time. Sends an IR space for the specified number of microseconds. A space is no output, so the PWM output is disabled. <a href="classIRsend.html#a0417b10d4e16718a87f8b2062a7d04a1">More...</a><br /></td></tr>
<tr class="separator:a0417b10d4e16718a87f8b2062a7d04a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1776aa6c699f9eeca1eef9bb4fe355b"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">calibrate</a> (uint16_t hz=38000U)</td></tr>
<tr class="memdesc:ad1776aa6c699f9eeca1eef9bb4fe355b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate &amp; set any offsets to account for execution times during sending. <a href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">More...</a><br /></td></tr>
<tr class="separator:ad1776aa6c699f9eeca1eef9bb4fe355b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b9b84f828918f933bd1764d113b53f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a2b9b84f828918f933bd1764d113b53f8">sendRaw</a> (const uint16_t buf[], const uint16_t len, const uint16_t hz)</td></tr>
<tr class="memdesc:a2b9b84f828918f933bd1764d113b53f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a raw IRremote message. <a href="classIRsend.html#a2b9b84f828918f933bd1764d113b53f8">More...</a><br /></td></tr>
<tr class="separator:a2b9b84f828918f933bd1764d113b53f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f8cd77dab7ce6c406029fe87674858f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a4f8cd77dab7ce6c406029fe87674858f">sendData</a> (uint16_t onemark, uint32_t onespace, uint16_t zeromark, uint32_t zerospace, uint64_t data, uint16_t nbits, bool MSBfirst=true)</td></tr>
<tr class="memdesc:a4f8cd77dab7ce6c406029fe87674858f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic method for sending data that is common to most protocols. Will send leading or trailing 0's if the nbits is larger than the number of bits in data. <a href="classIRsend.html#a4f8cd77dab7ce6c406029fe87674858f">More...</a><br /></td></tr>
<tr class="separator:a4f8cd77dab7ce6c406029fe87674858f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa76aa33785827c1278eb57d1c15236f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#aa76aa33785827c1278eb57d1c15236f8">sendManchesterData</a> (const uint16_t half_period, const uint64_t data, const uint16_t nbits, const bool MSBfirst=true, const bool GEThomas=true)</td></tr>
<tr class="memdesc:aa76aa33785827c1278eb57d1c15236f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic method for sending Manchester code data. Will send leading or trailing 0's if the nbits is larger than the number of bits in data. <a href="classIRsend.html#aa76aa33785827c1278eb57d1c15236f8">More...</a><br /></td></tr>
<tr class="separator:aa76aa33785827c1278eb57d1c15236f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7862231cbb1d50f42996c25e2f05b93e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a7862231cbb1d50f42996c25e2f05b93e">sendManchester</a> (const uint16_t headermark, const uint32_t headerspace, const uint16_t half_period, const uint16_t footermark, const uint32_t gap, const uint64_t data, const uint16_t nbits, const uint16_t frequency=38, const bool MSBfirst=true, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>, const uint8_t dutycycle=<a class="el" href="IRsend_8h.html#affa33c170fe058b783372852fca7cc5b">kDutyDefault</a>, const bool GEThomas=true)</td></tr>
<tr class="memdesc:a7862231cbb1d50f42996c25e2f05b93e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic method for sending Manchester code messages. Will send leading or trailing 0's if the nbits is larger than the number. <a href="classIRsend.html#a7862231cbb1d50f42996c25e2f05b93e">More...</a><br /></td></tr>
<tr class="separator:a7862231cbb1d50f42996c25e2f05b93e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5215fd797dfd490816f31bb99b38c273"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a5215fd797dfd490816f31bb99b38c273">sendGeneric</a> (const uint16_t headermark, const uint32_t headerspace, const uint16_t onemark, const uint32_t onespace, const uint16_t zeromark, const uint32_t zerospace, const uint16_t footermark, const uint32_t gap, const uint64_t data, const uint16_t nbits, const uint16_t frequency, const bool MSBfirst, const uint16_t repeat, const uint8_t dutycycle)</td></tr>
<tr class="memdesc:a5215fd797dfd490816f31bb99b38c273"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic method for sending simple protocol messages. Will send leading or trailing 0's if the nbits is larger than the number of bits in data. <a href="classIRsend.html#a5215fd797dfd490816f31bb99b38c273">More...</a><br /></td></tr>
<tr class="separator:a5215fd797dfd490816f31bb99b38c273"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaace48306af9c020c18848db1a05e641"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#aaace48306af9c020c18848db1a05e641">sendGeneric</a> (const uint16_t headermark, const uint32_t headerspace, const uint16_t onemark, const uint32_t onespace, const uint16_t zeromark, const uint32_t zerospace, const uint16_t footermark, const uint32_t gap, const uint32_t mesgtime, const uint64_t data, const uint16_t nbits, const uint16_t frequency, const bool MSBfirst, const uint16_t repeat, const uint8_t dutycycle)</td></tr>
<tr class="memdesc:aaace48306af9c020c18848db1a05e641"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic method for sending simple protocol messages. Will send leading or trailing 0's if the nbits is larger than the number of bits in data. <a href="classIRsend.html#aaace48306af9c020c18848db1a05e641">More...</a><br /></td></tr>
<tr class="separator:aaace48306af9c020c18848db1a05e641"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f5ad649827692b4b42d15b45c7f684b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a4f5ad649827692b4b42d15b45c7f684b">sendGeneric</a> (const uint16_t headermark, const uint32_t headerspace, const uint16_t onemark, const uint32_t onespace, const uint16_t zeromark, const uint32_t zerospace, const uint16_t footermark, const uint32_t gap, const uint8_t *dataptr, const uint16_t nbytes, const uint16_t frequency, const bool MSBfirst, const uint16_t repeat, const uint8_t dutycycle)</td></tr>
<tr class="memdesc:a4f5ad649827692b4b42d15b45c7f684b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic method for sending simple protocol messages. <a href="classIRsend.html#a4f5ad649827692b4b42d15b45c7f684b">More...</a><br /></td></tr>
<tr class="separator:a4f5ad649827692b4b42d15b45c7f684b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a204eedc3ad182fb2f40c42ef58f78cfc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a204eedc3ad182fb2f40c42ef58f78cfc">send</a> (const <a class="el" href="IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fad">decode_type_t</a> type, const uint64_t data, const uint16_t nbits, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a204eedc3ad182fb2f40c42ef58f78cfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a simple (up to 64 bits) IR message of a given type. An unknown/unsupported type will send nothing. <a href="classIRsend.html#a204eedc3ad182fb2f40c42ef58f78cfc">More...</a><br /></td></tr>
<tr class="separator:a204eedc3ad182fb2f40c42ef58f78cfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac684c209ea8722f0a377070752df0040"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ac684c209ea8722f0a377070752df0040">send</a> (const <a class="el" href="IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fad">decode_type_t</a> type, const uint8_t *state, const uint16_t nbytes)</td></tr>
<tr class="memdesc:ac684c209ea8722f0a377070752df0040"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a complex (&gt;= 64 bits) IR message of a given type. An unknown/unsupported type will send nothing. <a href="classIRsend.html#ac684c209ea8722f0a377070752df0040">More...</a><br /></td></tr>
<tr class="separator:ac684c209ea8722f0a377070752df0040"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a324c9e455c0bae51ebe9bc07e915c043"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a324c9e455c0bae51ebe9bc07e915c043">sendNEC</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a65e03baf646815b4b02f943bdd74a097">kNECBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a324c9e455c0bae51ebe9bc07e915c043"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a raw NEC(Renesas) formatted message. Status: STABLE / Known working. <a href="classIRsend.html#a324c9e455c0bae51ebe9bc07e915c043">More...</a><br /></td></tr>
<tr class="separator:a324c9e455c0bae51ebe9bc07e915c043"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2e1ce918e4e06b955c3d2a089ce189c"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ab2e1ce918e4e06b955c3d2a089ce189c">encodeNEC</a> (uint16_t address, uint16_t command)</td></tr>
<tr class="memdesc:ab2e1ce918e4e06b955c3d2a089ce189c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the raw NEC data based on address and command. Status: STABLE / Expected to work. <a href="classIRsend.html#ab2e1ce918e4e06b955c3d2a089ce189c">More...</a><br /></td></tr>
<tr class="separator:ab2e1ce918e4e06b955c3d2a089ce189c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02bb64503474a0841c51664cf4668d85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a02bb64503474a0841c51664cf4668d85">sendSony</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#aa9cd1ff8036f6c3a288c4f34af4a5eb4">kSony20Bits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a112408429fb4a5cca22a66a351453bad">kSonyMinRepeat</a>)</td></tr>
<tr class="memdesc:a02bb64503474a0841c51664cf4668d85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a standard Sony/SIRC(Serial Infra-Red Control) message. (40kHz) Status: STABLE / Known working. <a href="classIRsend.html#a02bb64503474a0841c51664cf4668d85">More...</a><br /></td></tr>
<tr class="separator:a02bb64503474a0841c51664cf4668d85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a558442f49b32453f0fb987c29e1ec6d3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a558442f49b32453f0fb987c29e1ec6d3">sendSony38</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#aa9cd1ff8036f6c3a288c4f34af4a5eb4">kSony20Bits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a112408429fb4a5cca22a66a351453bad">kSonyMinRepeat</a>+1)</td></tr>
<tr class="memdesc:a558442f49b32453f0fb987c29e1ec6d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send an alternative 38kHz Sony/SIRC(Serial Infra-Red Control) message. Status: STABLE / Known working. <a href="classIRsend.html#a558442f49b32453f0fb987c29e1ec6d3">More...</a><br /></td></tr>
<tr class="separator:a558442f49b32453f0fb987c29e1ec6d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0aea2cb04f0a7ee9056f15fecfc08c3"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#aa0aea2cb04f0a7ee9056f15fecfc08c3">encodeSony</a> (const uint16_t nbits, const uint16_t command, const uint16_t address, const uint16_t extended=0)</td></tr>
<tr class="memdesc:aa0aea2cb04f0a7ee9056f15fecfc08c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert Sony/SIRC command, address, &amp; extended bits into sendSony format. Status: STABLE / Should be working. <a href="classIRsend.html#aa0aea2cb04f0a7ee9056f15fecfc08c3">More...</a><br /></td></tr>
<tr class="separator:aa0aea2cb04f0a7ee9056f15fecfc08c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb3a89acfb868c92a997a3000e70c6e8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#afb3a89acfb868c92a997a3000e70c6e8">sendSherwood</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a94abd640c9e7aa225f4a8873a1ddea6a">kSherwoodBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a2e00b92b55657fc4e140eb85e3a414dc">kSherwoodMinRepeat</a>)</td></tr>
<tr class="memdesc:afb3a89acfb868c92a997a3000e70c6e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send an IR command to a Sherwood device. Status: STABLE / Known working. <a href="classIRsend.html#afb3a89acfb868c92a997a3000e70c6e8">More...</a><br /></td></tr>
<tr class="separator:afb3a89acfb868c92a997a3000e70c6e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5252dd159aad713c099de6728ac56d81"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a5252dd159aad713c099de6728ac56d81">sendSAMSUNG</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a7c1c015cce09284799cbf5a2f21ee170">kSamsungBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a5252dd159aad713c099de6728ac56d81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a 32-bit Samsung formatted message. Status: STABLE / Should be working. <a href="classIRsend.html#a5252dd159aad713c099de6728ac56d81">More...</a><br /></td></tr>
<tr class="separator:a5252dd159aad713c099de6728ac56d81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ab0579bd854306b2667de19207e4ffb"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a4ab0579bd854306b2667de19207e4ffb">encodeSAMSUNG</a> (const uint8_t customer, const uint8_t command)</td></tr>
<tr class="memdesc:a4ab0579bd854306b2667de19207e4ffb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a raw Samsung message from the supplied customer(address) &amp; command. Status: STABLE / Should be working. <a href="classIRsend.html#a4ab0579bd854306b2667de19207e4ffb">More...</a><br /></td></tr>
<tr class="separator:a4ab0579bd854306b2667de19207e4ffb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5dcd4ec5ddb0b0351870ddf54e5ba66"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ab5dcd4ec5ddb0b0351870ddf54e5ba66">sendSamsung36</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a5e1e6f30a41f0d94652429a9e1034179">kSamsung36Bits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:ab5dcd4ec5ddb0b0351870ddf54e5ba66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Samsung 36-bit formatted message. Status: STABLE / Works on real devices. <a href="classIRsend.html#ab5dcd4ec5ddb0b0351870ddf54e5ba66">More...</a><br /></td></tr>
<tr class="separator:ab5dcd4ec5ddb0b0351870ddf54e5ba66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2773d251da1d35b964810c8cc4cb438b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a2773d251da1d35b964810c8cc4cb438b">sendSamsungAC</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a2d07d8c8917fee072a261d00e67e0d36">kSamsungAcStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a973f4e0189fc10805f67b67f708be1e4">kSamsungAcDefaultRepeat</a>)</td></tr>
<tr class="memdesc:a2773d251da1d35b964810c8cc4cb438b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Samsung A/C message. Status: Stable / Known working. <a href="classIRsend.html#a2773d251da1d35b964810c8cc4cb438b">More...</a><br /></td></tr>
<tr class="separator:a2773d251da1d35b964810c8cc4cb438b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a079a84c82f360d6d55fde5c27634f51c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a079a84c82f360d6d55fde5c27634f51c">sendLG</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a256bd6093034b3e4c33324680f3a7102">kLgBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a079a84c82f360d6d55fde5c27634f51c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send an LG formatted message. (LG) Status: Beta / Should be working. <a href="classIRsend.html#a079a84c82f360d6d55fde5c27634f51c">More...</a><br /></td></tr>
<tr class="separator:a079a84c82f360d6d55fde5c27634f51c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b6be1ceac8a4bc4ef55dc12eb060531"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a5b6be1ceac8a4bc4ef55dc12eb060531">sendLG2</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a256bd6093034b3e4c33324680f3a7102">kLgBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a5b6be1ceac8a4bc4ef55dc12eb060531"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send an LG Variant-2 formatted message. (LG2) Status: Beta / Should be working. <a href="classIRsend.html#a5b6be1ceac8a4bc4ef55dc12eb060531">More...</a><br /></td></tr>
<tr class="separator:a5b6be1ceac8a4bc4ef55dc12eb060531"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a109b67a68e7a33900cb5c5017ed4578b"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a109b67a68e7a33900cb5c5017ed4578b">encodeLG</a> (uint16_t address, uint16_t command)</td></tr>
<tr class="memdesc:a109b67a68e7a33900cb5c5017ed4578b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a raw 28-bit LG message code from the supplied address &amp; command. Status: STABLE / Works. <a href="classIRsend.html#a109b67a68e7a33900cb5c5017ed4578b">More...</a><br /></td></tr>
<tr class="separator:a109b67a68e7a33900cb5c5017ed4578b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f4c7a36380ba31155eba5ff8f5f631e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a8f4c7a36380ba31155eba5ff8f5f631e">encodeSharp</a> (const uint16_t address, const uint16_t command, const uint16_t expansion=1, const uint16_t check=0, const bool MSBfirst=false)</td></tr>
<tr class="memdesc:a8f4c7a36380ba31155eba5ff8f5f631e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode a (raw) Sharp message from it's components. Status: STABLE / Works okay. <a href="classIRsend.html#a8f4c7a36380ba31155eba5ff8f5f631e">More...</a><br /></td></tr>
<tr class="separator:a8f4c7a36380ba31155eba5ff8f5f631e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a801ae78ac5a72116c566c4ac5f99c6bd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a801ae78ac5a72116c566c4ac5f99c6bd">sendSharp</a> (const uint16_t address, const uint16_t command, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a8a74f9d7cec751cc0945fd89fa6237ae">kSharpBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a801ae78ac5a72116c566c4ac5f99c6bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Sharp message Status: DEPRECATED / Previously working fine. <a href="classIRsend.html#a801ae78ac5a72116c566c4ac5f99c6bd">More...</a><br /></td></tr>
<tr class="separator:a801ae78ac5a72116c566c4ac5f99c6bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1f12fd537ca8c21c183ee41d17a3afc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#aa1f12fd537ca8c21c183ee41d17a3afc">sendSharpRaw</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a8a74f9d7cec751cc0945fd89fa6237ae">kSharpBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:aa1f12fd537ca8c21c183ee41d17a3afc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a (raw) Sharp message. <a href="classIRsend.html#aa1f12fd537ca8c21c183ee41d17a3afc">More...</a><br /></td></tr>
<tr class="separator:aa1f12fd537ca8c21c183ee41d17a3afc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a438e4c9d50e62da7d772d8d638728213"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a438e4c9d50e62da7d772d8d638728213">sendSharpAc</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a5192edb9406a8572e393918bab69e3c6">kSharpAcStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a7f0438831899e3df16f9002717c818b9">kSharpAcDefaultRepeat</a>)</td></tr>
<tr class="memdesc:a438e4c9d50e62da7d772d8d638728213"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Sharp A/C message. Status: Alpha / Untested. <a href="classIRsend.html#a438e4c9d50e62da7d772d8d638728213">More...</a><br /></td></tr>
<tr class="separator:a438e4c9d50e62da7d772d8d638728213"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa10c899768a5b4cdb1a7913d06141ca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#aaa10c899768a5b4cdb1a7913d06141ca">sendJVC</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a7c28467832e7480864a6be0ce87c608f">kJvcBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:aaa10c899768a5b4cdb1a7913d06141ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a JVC formatted message. Status: STABLE / Working. <a href="classIRsend.html#aaa10c899768a5b4cdb1a7913d06141ca">More...</a><br /></td></tr>
<tr class="separator:aaa10c899768a5b4cdb1a7913d06141ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6303b991c0545443e7ccf63ba89dbf18"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a6303b991c0545443e7ccf63ba89dbf18">encodeJVC</a> (uint8_t address, uint8_t command)</td></tr>
<tr class="memdesc:a6303b991c0545443e7ccf63ba89dbf18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the raw JVC data based on address and command. Status: STABLE / Works fine. <a href="classIRsend.html#a6303b991c0545443e7ccf63ba89dbf18">More...</a><br /></td></tr>
<tr class="separator:a6303b991c0545443e7ccf63ba89dbf18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2618e000bf91cf1585329308a078653a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a2618e000bf91cf1585329308a078653a">sendDenon</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a29160117e25f3dfc1cb899a4a53bc238">kDenonBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a2618e000bf91cf1585329308a078653a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Denon formatted message. Status: STABLE / Should be working. <a href="classIRsend.html#a2618e000bf91cf1585329308a078653a">More...</a><br /></td></tr>
<tr class="separator:a2618e000bf91cf1585329308a078653a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a864bef0dc48f6af4b59057362906cf5d"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a864bef0dc48f6af4b59057362906cf5d">encodeSanyoLC7461</a> (uint16_t address, uint8_t command)</td></tr>
<tr class="memdesc:a864bef0dc48f6af4b59057362906cf5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a Sanyo LC7461 message. <a href="classIRsend.html#a864bef0dc48f6af4b59057362906cf5d">More...</a><br /></td></tr>
<tr class="separator:a864bef0dc48f6af4b59057362906cf5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa23e51a97a0ec1907d22623fed6dd223"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#aa23e51a97a0ec1907d22623fed6dd223">sendSanyoLC7461</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#ad067db05b273337e0df38d529094c9e8">kSanyoLC7461Bits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:aa23e51a97a0ec1907d22623fed6dd223"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Sanyo LC7461 message. Status: BETA / Probably works. <a href="classIRsend.html#aa23e51a97a0ec1907d22623fed6dd223">More...</a><br /></td></tr>
<tr class="separator:aa23e51a97a0ec1907d22623fed6dd223"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab606c11f7bdc726289ba4dadf8bd9da6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ab606c11f7bdc726289ba4dadf8bd9da6">sendSanyoAc</a> (const uint8_t *data, const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#ae3128c987a1571fb6b021ffe30079663">kSanyoAcStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:ab606c11f7bdc726289ba4dadf8bd9da6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a SanyoAc formatted message. Status: STABLE / Reported as working. <a href="classIRsend.html#ab606c11f7bdc726289ba4dadf8bd9da6">More...</a><br /></td></tr>
<tr class="separator:ab606c11f7bdc726289ba4dadf8bd9da6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7a72d61af219d983409911bdc1769b8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ac7a72d61af219d983409911bdc1769b8">sendDISH</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#aea0cc15e1c7a6edcd6b60d9ac62d4831">kDishBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a5c2263819b032e3af4d416ab41126bd8">kDishMinRepeat</a>)</td></tr>
<tr class="memdesc:ac7a72d61af219d983409911bdc1769b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a DISH NETWORK formatted message. Status: STABLE / Working. <a href="classIRsend.html#ac7a72d61af219d983409911bdc1769b8">More...</a><br /></td></tr>
<tr class="separator:ac7a72d61af219d983409911bdc1769b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc4fd287f3546f7ff0b67e177a42b560"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#adc4fd287f3546f7ff0b67e177a42b560">sendPanasonic64</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#aa148f54492be1cf8a8b285a96861a0b7">kPanasonicBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:adc4fd287f3546f7ff0b67e177a42b560"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Panasonic formatted message. Status: STABLE / Should be working. <a href="classIRsend.html#adc4fd287f3546f7ff0b67e177a42b560">More...</a><br /></td></tr>
<tr class="separator:adc4fd287f3546f7ff0b67e177a42b560"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92192475f89b19cfdf7fd0416a263145"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a92192475f89b19cfdf7fd0416a263145">sendPanasonic</a> (const uint16_t address, const uint32_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#aa148f54492be1cf8a8b285a96861a0b7">kPanasonicBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a92192475f89b19cfdf7fd0416a263145"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Panasonic formatted message. Status: STABLE, but DEPRECATED. <a href="classIRsend.html#a92192475f89b19cfdf7fd0416a263145">More...</a><br /></td></tr>
<tr class="separator:a92192475f89b19cfdf7fd0416a263145"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8340497ae75f00c844e53dfc73700d9c"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a8340497ae75f00c844e53dfc73700d9c">encodePanasonic</a> (const uint16_t manufacturer, const uint8_t device, const uint8_t subdevice, const uint8_t function)</td></tr>
<tr class="memdesc:a8340497ae75f00c844e53dfc73700d9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the raw Panasonic data based on device, subdevice, &amp; function. Status: STABLE / Should be working. <a href="classIRsend.html#a8340497ae75f00c844e53dfc73700d9c">More...</a><br /></td></tr>
<tr class="separator:a8340497ae75f00c844e53dfc73700d9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bd2ccb27ecd57e14b36f76d82af308a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a2bd2ccb27ecd57e14b36f76d82af308a">sendRC5</a> (const uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#abec3ebb217126560e824fa8b66d495bc">kRC5XBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a2bd2ccb27ecd57e14b36f76d82af308a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Philips RC-5/RC-5X packet. Status: RC-5 (stable), RC-5X (alpha) <a href="classIRsend.html#a2bd2ccb27ecd57e14b36f76d82af308a">More...</a><br /></td></tr>
<tr class="separator:a2bd2ccb27ecd57e14b36f76d82af308a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88457fd4cc01d6e8097e04c022ede74a"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a88457fd4cc01d6e8097e04c022ede74a">encodeRC5</a> (const uint8_t address, const uint8_t command, const bool key_released=false)</td></tr>
<tr class="memdesc:a88457fd4cc01d6e8097e04c022ede74a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode a Philips RC-5 data message. Status: Beta / Should be working. <a href="classIRsend.html#a88457fd4cc01d6e8097e04c022ede74a">More...</a><br /></td></tr>
<tr class="separator:a88457fd4cc01d6e8097e04c022ede74a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae760ef1be11f25f7a61237f96a8871d9"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ae760ef1be11f25f7a61237f96a8871d9">encodeRC5X</a> (const uint8_t address, const uint8_t command, const bool key_released=false)</td></tr>
<tr class="memdesc:ae760ef1be11f25f7a61237f96a8871d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode a Philips RC-5X data message. Status: Beta / Should be working. <a href="classIRsend.html#ae760ef1be11f25f7a61237f96a8871d9">More...</a><br /></td></tr>
<tr class="separator:ae760ef1be11f25f7a61237f96a8871d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42a78d4a3ef0f88b54bee488320344da"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a42a78d4a3ef0f88b54bee488320344da">toggleRC5</a> (const uint64_t data)</td></tr>
<tr class="memdesc:a42a78d4a3ef0f88b54bee488320344da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flip the toggle bit of a Philips RC-5/RC-5X data message. Used to indicate a change of remote button's state. Status: STABLE. <a href="classIRsend.html#a42a78d4a3ef0f88b54bee488320344da">More...</a><br /></td></tr>
<tr class="separator:a42a78d4a3ef0f88b54bee488320344da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2192a95e0d162f9b1775fc2a47f65c37"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a2192a95e0d162f9b1775fc2a47f65c37">sendRC6</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a84a6d3e15e98f7a4917d252d5665534a">kRC6Mode0Bits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a2192a95e0d162f9b1775fc2a47f65c37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Philips RC-6 packet. Status: Stable. <a href="classIRsend.html#a2192a95e0d162f9b1775fc2a47f65c37">More...</a><br /></td></tr>
<tr class="separator:a2192a95e0d162f9b1775fc2a47f65c37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0e341462426ea146b944502a6d3fde0"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ac0e341462426ea146b944502a6d3fde0">encodeRC6</a> (const uint32_t address, const uint8_t command, const uint16_t mode=<a class="el" href="IRremoteESP8266_8h.html#a84a6d3e15e98f7a4917d252d5665534a">kRC6Mode0Bits</a>)</td></tr>
<tr class="memdesc:ac0e341462426ea146b944502a6d3fde0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode a Philips RC-6 data message. Status: Beta / Should be working. <a href="classIRsend.html#ac0e341462426ea146b944502a6d3fde0">More...</a><br /></td></tr>
<tr class="separator:ac0e341462426ea146b944502a6d3fde0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a0e8778394021ea12a8b8c2daf0add6"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a5a0e8778394021ea12a8b8c2daf0add6">toggleRC6</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a84a6d3e15e98f7a4917d252d5665534a">kRC6Mode0Bits</a>)</td></tr>
<tr class="memdesc:a5a0e8778394021ea12a8b8c2daf0add6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flip the toggle bit of a Philips RC-6 data message. Used to indicate a change of remote button's state. Status: STABLE / Should work fine. <a href="classIRsend.html#a5a0e8778394021ea12a8b8c2daf0add6">More...</a><br /></td></tr>
<tr class="separator:a5a0e8778394021ea12a8b8c2daf0add6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cafe475a58234a0d3aa655a2464be75"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a3cafe475a58234a0d3aa655a2464be75">sendRCMM</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a2bfaf393c2d77a594f2a0a5a763e84f5">kRCMMBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a3cafe475a58234a0d3aa655a2464be75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Philips RC-MM packet. Status: STABLE / Should be working. <a href="classIRsend.html#a3cafe475a58234a0d3aa655a2464be75">More...</a><br /></td></tr>
<tr class="separator:a3cafe475a58234a0d3aa655a2464be75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a088af5f0d76965c61fe5716f7b8f2b61"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a088af5f0d76965c61fe5716f7b8f2b61">sendCOOLIX</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#aed48c68a637e4b45b80bbf4964ea79f9">kCoolixBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#aa89410d369d71738c8cbefae6ac3b00f">kCoolixDefaultRepeat</a>)</td></tr>
<tr class="memdesc:a088af5f0d76965c61fe5716f7b8f2b61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Coolix message Status: STABLE / Confirmed Working. <a href="classIRsend.html#a088af5f0d76965c61fe5716f7b8f2b61">More...</a><br /></td></tr>
<tr class="separator:a088af5f0d76965c61fe5716f7b8f2b61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07188366deed3dd902cba80a711cf220"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a07188366deed3dd902cba80a711cf220">sendWhynter</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a4553f6670e241a67104d45216a4ebd98">kWhynterBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a07188366deed3dd902cba80a711cf220"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Whynter message. Status: STABLE. <a href="classIRsend.html#a07188366deed3dd902cba80a711cf220">More...</a><br /></td></tr>
<tr class="separator:a07188366deed3dd902cba80a711cf220"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03427bab21dd5a04121c652103c2ef97"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a03427bab21dd5a04121c652103c2ef97">sendMirage</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#ab3b6bee4c5f483b4312a4b6eb5fcb146">kMirageStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a86283c34cf9991bf8bfc29ee089a6a21">kMirageMinRepeat</a>)</td></tr>
<tr class="memdesc:a03427bab21dd5a04121c652103c2ef97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Mirage formatted message. Status: STABLE / Reported as working. <a href="classIRsend.html#a03427bab21dd5a04121c652103c2ef97">More...</a><br /></td></tr>
<tr class="separator:a03427bab21dd5a04121c652103c2ef97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59e8941a25c5c0bbc839fba5b1a22813"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a59e8941a25c5c0bbc839fba5b1a22813">sendMitsubishi</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#abd2187340d0b94996136081413e2ad22">kMitsubishiBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#ad88bda81b48f25d30bb5a169d3b6bcec">kMitsubishiMinRepeat</a>)</td></tr>
<tr class="memdesc:a59e8941a25c5c0bbc839fba5b1a22813"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send the supplied Mitsubishi 16-bit message. Status: STABLE / Working. <a href="classIRsend.html#a59e8941a25c5c0bbc839fba5b1a22813">More...</a><br /></td></tr>
<tr class="separator:a59e8941a25c5c0bbc839fba5b1a22813"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a988a8b7dda3563977d537d6ac448ebc8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a988a8b7dda3563977d537d6ac448ebc8">sendMitsubishi136</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a01adbe4e1afb2ba26a5a60bf5b0b42f6">kMitsubishi136StateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a448bd7af5fdab67fb40901a3d6efed21">kMitsubishi136MinRepeat</a>)</td></tr>
<tr class="memdesc:a988a8b7dda3563977d537d6ac448ebc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Mitsubishi 136-bit A/C message. (MITSUBISHI136) Status: BETA / Probably working. Needs to be tested against a real device. <a href="classIRsend.html#a988a8b7dda3563977d537d6ac448ebc8">More...</a><br /></td></tr>
<tr class="separator:a988a8b7dda3563977d537d6ac448ebc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a55e688c6aad015494168f25eb337b5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a0a55e688c6aad015494168f25eb337b5">sendMitsubishi112</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a5ff0437b26e325bc2516a3e63c7ffe76">kMitsubishi112StateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a6bba58bb0f33feb9a6dfd20637d01d13">kMitsubishi112MinRepeat</a>)</td></tr>
<tr class="memdesc:a0a55e688c6aad015494168f25eb337b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Mitsubishi 112-bit A/C formatted message. (MITSUBISHI112) Status: Stable / Reported as working. <a href="classIRsend.html#a0a55e688c6aad015494168f25eb337b5">More...</a><br /></td></tr>
<tr class="separator:a0a55e688c6aad015494168f25eb337b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac54e50a6819f5c39e060891f1f6ea0f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ac54e50a6819f5c39e060891f1f6ea0f2">sendMitsubishi2</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#abd2187340d0b94996136081413e2ad22">kMitsubishiBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#ad88bda81b48f25d30bb5a169d3b6bcec">kMitsubishiMinRepeat</a>)</td></tr>
<tr class="memdesc:ac54e50a6819f5c39e060891f1f6ea0f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a supplied second variant Mitsubishi 16-bit message. Status: BETA / Probably works. <a href="classIRsend.html#ac54e50a6819f5c39e060891f1f6ea0f2">More...</a><br /></td></tr>
<tr class="separator:ac54e50a6819f5c39e060891f1f6ea0f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3600527a82f9f22387c9f16ae51fb06f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a3600527a82f9f22387c9f16ae51fb06f">sendMitsubishiAC</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a7d0d6dd6d5741f91a1afb641f11d9bc5">kMitsubishiACStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a376653a421df42d889ac3b2a071de58b">kMitsubishiACMinRepeat</a>)</td></tr>
<tr class="memdesc:a3600527a82f9f22387c9f16ae51fb06f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Mitsubishi 144-bit A/C formatted message. (MITSUBISHI_AC) Status: STABLE / Working. <a href="classIRsend.html#a3600527a82f9f22387c9f16ae51fb06f">More...</a><br /></td></tr>
<tr class="separator:a3600527a82f9f22387c9f16ae51fb06f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaf4fd0c3dabd1bd6f8fe421294c5063"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#afaf4fd0c3dabd1bd6f8fe421294c5063">sendMitsubishiHeavy88</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a515e5a081c388dd4313b20ff2b6c7955">kMitsubishiHeavy88StateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#ad7bccde1a9b32c962c99748fb130f711">kMitsubishiHeavy88MinRepeat</a>)</td></tr>
<tr class="memdesc:afaf4fd0c3dabd1bd6f8fe421294c5063"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a MitsubishiHeavy 88-bit A/C message. Status: BETA / Appears to be working. Needs testing against a real device. <a href="classIRsend.html#afaf4fd0c3dabd1bd6f8fe421294c5063">More...</a><br /></td></tr>
<tr class="separator:afaf4fd0c3dabd1bd6f8fe421294c5063"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1cffc4882c63f192c231397d19a4032"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ae1cffc4882c63f192c231397d19a4032">sendMitsubishiHeavy152</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a31d12a44c8c3a3c4533f65b8213e2086">kMitsubishiHeavy152StateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a789cbb74cf332f8440a4fcdcac188741">kMitsubishiHeavy152MinRepeat</a>)</td></tr>
<tr class="memdesc:ae1cffc4882c63f192c231397d19a4032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a MitsubishiHeavy 152-bit A/C message. Status: BETA / Appears to be working. Needs testing against a real device. <a href="classIRsend.html#ae1cffc4882c63f192c231397d19a4032">More...</a><br /></td></tr>
<tr class="separator:ae1cffc4882c63f192c231397d19a4032"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a3d3f83d0b7a59ff5510b038f658eb6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a1a3d3f83d0b7a59ff5510b038f658eb6">sendFujitsuAC</a> (const unsigned char data[], const uint16_t nbytes, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a9dd52420366167afb4c8831b4ccd02fa">kFujitsuAcMinRepeat</a>)</td></tr>
<tr class="memdesc:a1a3d3f83d0b7a59ff5510b038f658eb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Fujitsu A/C formatted message. Status: STABLE / Known Good. <a href="classIRsend.html#a1a3d3f83d0b7a59ff5510b038f658eb6">More...</a><br /></td></tr>
<tr class="separator:a1a3d3f83d0b7a59ff5510b038f658eb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fa5ff62276d9d680fb1255cc8b99eec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a5fa5ff62276d9d680fb1255cc8b99eec">sendInax</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#af8441f25b32d113096adeaff331c126a">kInaxBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a37a3d0ae51a6ce850a424fe77d5b22d2">kInaxMinRepeat</a>)</td></tr>
<tr class="memdesc:a5fa5ff62276d9d680fb1255cc8b99eec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Inax Toilet formatted message. Status: STABLE / Working. <a href="classIRsend.html#a5fa5ff62276d9d680fb1255cc8b99eec">More...</a><br /></td></tr>
<tr class="separator:a5fa5ff62276d9d680fb1255cc8b99eec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf987a501326d9c945cd8dbeb0806e17"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#acf987a501326d9c945cd8dbeb0806e17">sendGC</a> (uint16_t buf[], uint16_t len)</td></tr>
<tr class="memdesc:acf987a501326d9c945cd8dbeb0806e17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a shortened GlobalCache (GC) IRdb/control tower formatted message. Status: STABLE / Known working. <a href="classIRsend.html#acf987a501326d9c945cd8dbeb0806e17">More...</a><br /></td></tr>
<tr class="separator:acf987a501326d9c945cd8dbeb0806e17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cba9df982fc91f895196d61d2e65b0e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a8cba9df982fc91f895196d61d2e65b0e">sendKelvinator</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#af68545e8c2fe9af3719fb74c5d21f0c9">kKelvinatorStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a94c968c5cc929f189b8e578d2f55b132">kKelvinatorDefaultRepeat</a>)</td></tr>
<tr class="memdesc:a8cba9df982fc91f895196d61d2e65b0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Kelvinator A/C message. Status: STABLE / Known working. <a href="classIRsend.html#a8cba9df982fc91f895196d61d2e65b0e">More...</a><br /></td></tr>
<tr class="separator:a8cba9df982fc91f895196d61d2e65b0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3010546144b5ca3b3c94f5881050dbd0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a3010546144b5ca3b3c94f5881050dbd0">sendDaikin</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#af1fda5b9f355e526dc66cf58824315a7">kDaikinStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#af691d5202b7f121a16b2d9871ee14d9c">kDaikinDefaultRepeat</a>)</td></tr>
<tr class="memdesc:a3010546144b5ca3b3c94f5881050dbd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Daikin 280-bit A/C formatted message. Status: STABLE. <a href="classIRsend.html#a3010546144b5ca3b3c94f5881050dbd0">More...</a><br /></td></tr>
<tr class="separator:a3010546144b5ca3b3c94f5881050dbd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa403d2192a6eb57910e6f84695475b27"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#aa403d2192a6eb57910e6f84695475b27">sendDaikin64</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a89266e9211a81eda22475fb5a258484f">kDaikin64Bits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#aca64338c3e3bbe52f8ec5688317041b3">kDaikin64DefaultRepeat</a>)</td></tr>
<tr class="memdesc:aa403d2192a6eb57910e6f84695475b27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Daikin64 (64-bit) A/C formatted message. Status: Beta / Probably Working. <a href="classIRsend.html#aa403d2192a6eb57910e6f84695475b27">More...</a><br /></td></tr>
<tr class="separator:aa403d2192a6eb57910e6f84695475b27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72a41a704d48750c144c6467ae9a1430"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a72a41a704d48750c144c6467ae9a1430">sendDaikin128</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a4279ccd14a3af2046e393661a7b4879f">kDaikin128StateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a5c116cb58be005468de125f6ee651ccb">kDaikin128DefaultRepeat</a>)</td></tr>
<tr class="memdesc:a72a41a704d48750c144c6467ae9a1430"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Daikin128 (128-bit) A/C formatted message. Status: STABLE / Known Working. <a href="classIRsend.html#a72a41a704d48750c144c6467ae9a1430">More...</a><br /></td></tr>
<tr class="separator:a72a41a704d48750c144c6467ae9a1430"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ad420eb86e0ae38b12e983f7eaa912c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a4ad420eb86e0ae38b12e983f7eaa912c">sendDaikin152</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#ae7579708922ffd3e44295f8770878983">kDaikin152StateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a9407eebab271524e74bc3ddddb1a2e0b">kDaikin152DefaultRepeat</a>)</td></tr>
<tr class="memdesc:a4ad420eb86e0ae38b12e983f7eaa912c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Daikin152 (152-bit) A/C formatted message. Status: STABLE / Known Working. <a href="classIRsend.html#a4ad420eb86e0ae38b12e983f7eaa912c">More...</a><br /></td></tr>
<tr class="separator:a4ad420eb86e0ae38b12e983f7eaa912c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab144a86def38f9f5c98701742683c004"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ab144a86def38f9f5c98701742683c004">sendDaikin160</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a09f022a12a40a8fae09bfbddfbee6d62">kDaikin160StateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a82f4f1d8fae51c7e2f1f6753ca6e6053">kDaikin160DefaultRepeat</a>)</td></tr>
<tr class="memdesc:ab144a86def38f9f5c98701742683c004"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Daikin160 (160-bit) A/C formatted message. Status: STABLE / Confirmed working. <a href="classIRsend.html#ab144a86def38f9f5c98701742683c004">More...</a><br /></td></tr>
<tr class="separator:ab144a86def38f9f5c98701742683c004"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4b5bcb95d3aff70b2f84074177e9e92"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ac4b5bcb95d3aff70b2f84074177e9e92">sendDaikin176</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#aa71fc87dcb6f14b82997e1d2269429d2">kDaikin176StateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a0228803e8fff3c73227214d4bb3d8b05">kDaikin176DefaultRepeat</a>)</td></tr>
<tr class="memdesc:ac4b5bcb95d3aff70b2f84074177e9e92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Daikin176 (176-bit) A/C formatted message. Status: STABLE / Working on a real device. <a href="classIRsend.html#ac4b5bcb95d3aff70b2f84074177e9e92">More...</a><br /></td></tr>
<tr class="separator:ac4b5bcb95d3aff70b2f84074177e9e92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34262e579cbb6634459bc09c5b15dfa0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a34262e579cbb6634459bc09c5b15dfa0">sendDaikin2</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a349e4d17f83bb3e707ff19c0255c1644">kDaikin2StateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a2dde8fd00f8a28e35da04cff9a3a1908">kDaikin2DefaultRepeat</a>)</td></tr>
<tr class="memdesc:a34262e579cbb6634459bc09c5b15dfa0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Daikin2 (312-bit) A/C formatted message. Status: STABLE / Expected to work. <a href="classIRsend.html#a34262e579cbb6634459bc09c5b15dfa0">More...</a><br /></td></tr>
<tr class="separator:a34262e579cbb6634459bc09c5b15dfa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa99bfdaa71ff5bf088faaa17d304f45d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#aa99bfdaa71ff5bf088faaa17d304f45d">sendDaikin216</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a70a1a65c1947b440e4ff27477de5ddc7">kDaikin216StateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a9d14d424d5a93de62f3e6f453db112db">kDaikin216DefaultRepeat</a>)</td></tr>
<tr class="memdesc:aa99bfdaa71ff5bf088faaa17d304f45d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Daikin216 (216-bit) A/C formatted message. Status: Alpha / Untested on a real device. <a href="classIRsend.html#aa99bfdaa71ff5bf088faaa17d304f45d">More...</a><br /></td></tr>
<tr class="separator:aa99bfdaa71ff5bf088faaa17d304f45d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad39a4b13ad2e8500c95db49265e7c771"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ad39a4b13ad2e8500c95db49265e7c771">sendAiwaRCT501</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a9078adf040d21c9c3eb10ed69f9dced6">kAiwaRcT501Bits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#ad796714d955b6cc8e207b03058eae5a3">kAiwaRcT501MinRepeats</a>)</td></tr>
<tr class="memdesc:ad39a4b13ad2e8500c95db49265e7c771"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send an Aiwa RC T501 formatted message. Status: BETA / Should work. <a href="classIRsend.html#ad39a4b13ad2e8500c95db49265e7c771">More...</a><br /></td></tr>
<tr class="separator:ad39a4b13ad2e8500c95db49265e7c771"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca81ea348ceb6b0c9e62073b57bc0b17"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#aca81ea348ceb6b0c9e62073b57bc0b17">sendGree</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#acadcc5d03e09784642f008d4d2913c7d">kGreeBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a6816d2cb11b99a61fb63e6d0928e6706">kGreeDefaultRepeat</a>)</td></tr>
<tr class="memdesc:aca81ea348ceb6b0c9e62073b57bc0b17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Gree Heat Pump formatted message. Status: STABLE / Working. <a href="classIRsend.html#aca81ea348ceb6b0c9e62073b57bc0b17">More...</a><br /></td></tr>
<tr class="separator:aca81ea348ceb6b0c9e62073b57bc0b17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af788e7d9a2ad2483313434f9b5196753"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#af788e7d9a2ad2483313434f9b5196753">sendGree</a> (const uint8_t data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a5558b24542873d8475e1ee0e2439839f">kGreeStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a6816d2cb11b99a61fb63e6d0928e6706">kGreeDefaultRepeat</a>)</td></tr>
<tr class="memdesc:af788e7d9a2ad2483313434f9b5196753"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Gree Heat Pump formatted message. Status: STABLE / Working. <a href="classIRsend.html#af788e7d9a2ad2483313434f9b5196753">More...</a><br /></td></tr>
<tr class="separator:af788e7d9a2ad2483313434f9b5196753"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e2d98ae5c39ee07a61f08facecbaa1e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a8e2d98ae5c39ee07a61f08facecbaa1e">sendGoodweather</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#afa2675ce42d00175ec95caa6cd87a425">kGoodweatherBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a885bc5a3a5ba2d8827a62d07a43d0321">kGoodweatherMinRepeat</a>)</td></tr>
<tr class="memdesc:a8e2d98ae5c39ee07a61f08facecbaa1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Goodweather HVAC formatted message. Status: BETA / Needs testing on real device. <a href="classIRsend.html#a8e2d98ae5c39ee07a61f08facecbaa1e">More...</a><br /></td></tr>
<tr class="separator:a8e2d98ae5c39ee07a61f08facecbaa1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b349351e2ba19f87e6b01cde7e67c49"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a0b349351e2ba19f87e6b01cde7e67c49">sendPronto</a> (uint16_t data[], uint16_t len, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a0b349351e2ba19f87e6b01cde7e67c49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Pronto Code formatted message. Status: STABLE / Known working. <a href="classIRsend.html#a0b349351e2ba19f87e6b01cde7e67c49">More...</a><br /></td></tr>
<tr class="separator:a0b349351e2ba19f87e6b01cde7e67c49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59668b767e4ad4966fe0bc259c3bd34f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a59668b767e4ad4966fe0bc259c3bd34f">sendArgo</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a5f38a56eacd9964a8514cb57de287a45">kArgoStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a9a2190c526885753c676db666e48b764">kArgoDefaultRepeat</a>)</td></tr>
<tr class="memdesc:a59668b767e4ad4966fe0bc259c3bd34f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Argo A/C formatted message. Status: BETA / Probably works. <a href="classIRsend.html#a59668b767e4ad4966fe0bc259c3bd34f">More...</a><br /></td></tr>
<tr class="separator:a59668b767e4ad4966fe0bc259c3bd34f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a135796327b5db127473f4d198e663c00"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a135796327b5db127473f4d198e663c00">sendTrotec</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#ae1d2aa52fef81f03b92c35f4970728d2">kTrotecStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a4c0411462f2854a8606deca09ed15df5">kTrotecDefaultRepeat</a>)</td></tr>
<tr class="memdesc:a135796327b5db127473f4d198e663c00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Trotec message. Status: Beta / Probably Working. <a href="classIRsend.html#a135796327b5db127473f4d198e663c00">More...</a><br /></td></tr>
<tr class="separator:a135796327b5db127473f4d198e663c00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a693e6616b81509cf27d1345c140acc96"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a693e6616b81509cf27d1345c140acc96">sendNikai</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a9fce002592f9e2488b1b717d0b1a6a40">kNikaiBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a693e6616b81509cf27d1345c140acc96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Nikai formatted message. Status: STABLE / Working. <a href="classIRsend.html#a693e6616b81509cf27d1345c140acc96">More...</a><br /></td></tr>
<tr class="separator:a693e6616b81509cf27d1345c140acc96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5554dd976b56148e214dca9891d2810c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a5554dd976b56148e214dca9891d2810c">sendToshibaAC</a> (const uint8_t data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#ad3be6a1b9241c20bb1464a2cb80b97d2">kToshibaACStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a8fca6a7c3cd608ff49cab35f24af0546">kToshibaACMinRepeat</a>)</td></tr>
<tr class="memdesc:a5554dd976b56148e214dca9891d2810c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Toshiba A/C message. Status: STABLE / Working. <a href="classIRsend.html#a5554dd976b56148e214dca9891d2810c">More...</a><br /></td></tr>
<tr class="separator:a5554dd976b56148e214dca9891d2810c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37d91b3a77b36509abdc53e2fec20a67"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a37d91b3a77b36509abdc53e2fec20a67">sendMidea</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#afc98096b1e2945e2eaeb07d70d511239">kMideaBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#aa8876e8e177b8e71154f8cfb42b19160">kMideaMinRepeat</a>)</td></tr>
<tr class="memdesc:a37d91b3a77b36509abdc53e2fec20a67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Midea message Status: Alpha / Needs testing against a real device. <a href="classIRsend.html#a37d91b3a77b36509abdc53e2fec20a67">More...</a><br /></td></tr>
<tr class="separator:a37d91b3a77b36509abdc53e2fec20a67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a103d79e8df7954e9ab6284fa9f3daf02"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a103d79e8df7954e9ab6284fa9f3daf02">sendMidea24</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#aff132faa67b1d07890378df5c9b52a14">kMidea24Bits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a8ed4bb62818fc64e4c4b60ef1094059e">kMidea24MinRepeat</a>)</td></tr>
<tr class="memdesc:a103d79e8df7954e9ab6284fa9f3daf02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Midea24 formatted message. Status: STABLE / Confirmed working on a real device. <a href="classIRsend.html#a103d79e8df7954e9ab6284fa9f3daf02">More...</a><br /></td></tr>
<tr class="separator:a103d79e8df7954e9ab6284fa9f3daf02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1d0e9ec0f735fc5fb9011d4f4cb8327"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#af1d0e9ec0f735fc5fb9011d4f4cb8327">sendMagiQuest</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#ad756bfec6eabbe2ac10b7847f87fb751">kMagiquestBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:af1d0e9ec0f735fc5fb9011d4f4cb8327"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a MagiQuest formatted message. Status: Beta / Should be working. <a href="classIRsend.html#af1d0e9ec0f735fc5fb9011d4f4cb8327">More...</a><br /></td></tr>
<tr class="separator:af1d0e9ec0f735fc5fb9011d4f4cb8327"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ee40126279dbde8bb02888115577563"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a4ee40126279dbde8bb02888115577563">encodeMagiQuest</a> (const uint32_t wand_id, const uint16_t magnitude)</td></tr>
<tr class="memdesc:a4ee40126279dbde8bb02888115577563"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode a MagiQuest wand_id, and a magnitude into a single 64bit value. (Only 48 bits of real data + 8 leading zero bits) This is suitable for calling <a class="el" href="classIRsend.html#af1d0e9ec0f735fc5fb9011d4f4cb8327" title="Send a MagiQuest formatted message. Status: Beta / Should be working.">sendMagiQuest()</a> with. e.g. sendMagiQuest(encodeMagiQuest(wand_id, magnitude)) <a href="classIRsend.html#a4ee40126279dbde8bb02888115577563">More...</a><br /></td></tr>
<tr class="separator:a4ee40126279dbde8bb02888115577563"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55a79f9727590044751f291a4df83892"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a55a79f9727590044751f291a4df83892">sendLasertag</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a3ea0e89a8b6a3ffa4a2d346abeed851e">kLasertagBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a9b36135c3df24eab232a5edac8c58c5e">kLasertagMinRepeat</a>)</td></tr>
<tr class="memdesc:a55a79f9727590044751f291a4df83892"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Lasertag packet/message. Status: STABLE / Working. <a href="classIRsend.html#a55a79f9727590044751f291a4df83892">More...</a><br /></td></tr>
<tr class="separator:a55a79f9727590044751f291a4df83892"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e859a8b5eaea2e64978c8f93b78d159"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a9e859a8b5eaea2e64978c8f93b78d159">sendCarrierAC</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a668d9ac84f7dae61c35534b842d4956b">kCarrierAcBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a78c8a8b11179e8fd20bf09fa35f6b886">kCarrierAcMinRepeat</a>)</td></tr>
<tr class="memdesc:a9e859a8b5eaea2e64978c8f93b78d159"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Carrier HVAC formatted message. Status: STABLE / Works on real devices. <a href="classIRsend.html#a9e859a8b5eaea2e64978c8f93b78d159">More...</a><br /></td></tr>
<tr class="separator:a9e859a8b5eaea2e64978c8f93b78d159"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4342b775777d2ff9371f48aa39ad9b69"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a4342b775777d2ff9371f48aa39ad9b69">sendCarrierAC40</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a56d1176a7b3fe59aeb3f4f39926c617d">kCarrierAc40Bits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a222aa743f398883a4910fbbb6d408bdc">kCarrierAc40MinRepeat</a>)</td></tr>
<tr class="memdesc:a4342b775777d2ff9371f48aa39ad9b69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Carrier 40bit HVAC formatted message. Status: STABLE / Tested against a real device. <a href="classIRsend.html#a4342b775777d2ff9371f48aa39ad9b69">More...</a><br /></td></tr>
<tr class="separator:a4342b775777d2ff9371f48aa39ad9b69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf755688d87fcef5aee86c6a2c89e7c4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#abf755688d87fcef5aee86c6a2c89e7c4">sendCarrierAC64</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a41bc7ab7289e499ad33901da3eab661a">kCarrierAc64Bits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a8b2b3670dc74ce9fbf3c8b511422a06c">kCarrierAc64MinRepeat</a>)</td></tr>
<tr class="memdesc:abf755688d87fcef5aee86c6a2c89e7c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Carrier 64bit HVAC formatted message. Status: STABLE / Known to be working. <a href="classIRsend.html#abf755688d87fcef5aee86c6a2c89e7c4">More...</a><br /></td></tr>
<tr class="separator:abf755688d87fcef5aee86c6a2c89e7c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b4b9144d56dda302f5b321f1c5017ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a6b4b9144d56dda302f5b321f1c5017ff">sendHaierAC</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#afb4cd0c1a9c689d862e7095f0ab6dbe5">kHaierACStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a882914932449e33933b6f8e224cbaf3c">kHaierAcDefaultRepeat</a>)</td></tr>
<tr class="memdesc:a6b4b9144d56dda302f5b321f1c5017ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Haier A/C formatted message. (HSU07-HEA03 remote) Status: STABLE / Known to be working. <a href="classIRsend.html#a6b4b9144d56dda302f5b321f1c5017ff">More...</a><br /></td></tr>
<tr class="separator:a6b4b9144d56dda302f5b321f1c5017ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6aa1c1a6880872c87a46e4e0ead5d9b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a6aa1c1a6880872c87a46e4e0ead5d9b0">sendHaierACYRW02</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a8f52b7d4595c117cf0b81ffbd1148cda">kHaierACYRW02StateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a62412e221207dbc2660f93dc265b4218">kHaierAcYrw02DefaultRepeat</a>)</td></tr>
<tr class="memdesc:a6aa1c1a6880872c87a46e4e0ead5d9b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Haier YR-W02 remote A/C formatted message. Status: Alpha / Untested on a real device. <a href="classIRsend.html#a6aa1c1a6880872c87a46e4e0ead5d9b0">More...</a><br /></td></tr>
<tr class="separator:a6aa1c1a6880872c87a46e4e0ead5d9b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e6079b8b1b69ad7d7f8d05c492becbe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a8e6079b8b1b69ad7d7f8d05c492becbe">sendHitachiAC</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a8bef76bac826afbbc51c2a867af15ed8">kHitachiAcStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#acc8510281d2ff9a808501d375c03ba21">kHitachiAcDefaultRepeat</a>)</td></tr>
<tr class="memdesc:a8e6079b8b1b69ad7d7f8d05c492becbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Hitachi 28-byte/224-bit A/C formatted message. (HITACHI_AC) Status: STABLE / Working. <a href="classIRsend.html#a8e6079b8b1b69ad7d7f8d05c492becbe">More...</a><br /></td></tr>
<tr class="separator:a8e6079b8b1b69ad7d7f8d05c492becbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5be9a87ce052e4f056766919247e0b22"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a5be9a87ce052e4f056766919247e0b22">sendHitachiAC1</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#abb5e2ddb1a8d3c6fa7a94dbe1989ec5d">kHitachiAc1StateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#acc8510281d2ff9a808501d375c03ba21">kHitachiAcDefaultRepeat</a>)</td></tr>
<tr class="memdesc:a5be9a87ce052e4f056766919247e0b22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Hitachi 13 byte/224-bit A/C formatted message. (HITACHI_AC1) Status: STABLE / Confirmed Working. <a href="classIRsend.html#a5be9a87ce052e4f056766919247e0b22">More...</a><br /></td></tr>
<tr class="separator:a5be9a87ce052e4f056766919247e0b22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a451b1913608a4ba8c26d9af8c85d16f1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a451b1913608a4ba8c26d9af8c85d16f1">sendHitachiAC2</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a10377a40053a12e091dbff2869db0352">kHitachiAc2StateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#acc8510281d2ff9a808501d375c03ba21">kHitachiAcDefaultRepeat</a>)</td></tr>
<tr class="memdesc:a451b1913608a4ba8c26d9af8c85d16f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Hitachi 53 byte/424-bit A/C formatted message. (HITACHI_AC2) Basically the same as sendHitatchiAC() except different size. Status: STABLE / Expected to work. <a href="classIRsend.html#a451b1913608a4ba8c26d9af8c85d16f1">More...</a><br /></td></tr>
<tr class="separator:a451b1913608a4ba8c26d9af8c85d16f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec7e67f4292622521b5a0a8cfdd21d84"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#aec7e67f4292622521b5a0a8cfdd21d84">sendHitachiAc3</a> (const unsigned char data[], const uint16_t nbytes, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#acc8510281d2ff9a808501d375c03ba21">kHitachiAcDefaultRepeat</a>)</td></tr>
<tr class="memdesc:aec7e67f4292622521b5a0a8cfdd21d84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Hitachi(3) A/C formatted message. (HITACHI_AC3) Status: STABLE / Working fine. <a href="classIRsend.html#aec7e67f4292622521b5a0a8cfdd21d84">More...</a><br /></td></tr>
<tr class="separator:aec7e67f4292622521b5a0a8cfdd21d84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fb28d54f2832651d992450673d05c01"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a5fb28d54f2832651d992450673d05c01">sendHitachiAc344</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a2192f6b7c353f7f124dff3b57eab0659">kHitachiAc344StateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#acc8510281d2ff9a808501d375c03ba21">kHitachiAcDefaultRepeat</a>)</td></tr>
<tr class="memdesc:a5fb28d54f2832651d992450673d05c01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Hitachi A/C 43-byte/344-bit message. (HITACHI_AC344) Basically the same as sendHitatchiAC() except different size. Status: Beta / Probably works. <a href="classIRsend.html#a5fb28d54f2832651d992450673d05c01">More...</a><br /></td></tr>
<tr class="separator:a5fb28d54f2832651d992450673d05c01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a9676de30bb868b313cc9c30025f790"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a2a9676de30bb868b313cc9c30025f790">sendHitachiAc424</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#aff17d9c0ccf683895d2c868094679f0a">kHitachiAc424StateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#acc8510281d2ff9a808501d375c03ba21">kHitachiAcDefaultRepeat</a>)</td></tr>
<tr class="memdesc:a2a9676de30bb868b313cc9c30025f790"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Hitachi 53-byte/424-bit A/C formatted message. (HITACHI_AC424) Status: STABLE / Reported as working. <a href="classIRsend.html#a2a9676de30bb868b313cc9c30025f790">More...</a><br /></td></tr>
<tr class="separator:a2a9676de30bb868b313cc9c30025f790"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61dd16bc150473bbfd998dada72b205f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a61dd16bc150473bbfd998dada72b205f">sendGICable</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#aceb5cbd7ba5d8bc11560ba29137b10fa">kGicableBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#ad8142649290db6fc337ac839d4078aef">kGicableMinRepeat</a>)</td></tr>
<tr class="memdesc:a61dd16bc150473bbfd998dada72b205f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a raw G.I. Cable formatted message. Status: Alpha / Untested. <a href="classIRsend.html#a61dd16bc150473bbfd998dada72b205f">More...</a><br /></td></tr>
<tr class="separator:a61dd16bc150473bbfd998dada72b205f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa440a50000a259072f93ad6c0e42ec22"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#aa440a50000a259072f93ad6c0e42ec22">sendWhirlpoolAC</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a0fff60a43f776fb999d0f1f91d88154f">kWhirlpoolAcStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a3b41358898f69d96bdeece17ead13ee0">kWhirlpoolAcDefaultRepeat</a>)</td></tr>
<tr class="memdesc:aa440a50000a259072f93ad6c0e42ec22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Whirlpool A/C message. Status: BETA / Probably works. <a href="classIRsend.html#aa440a50000a259072f93ad6c0e42ec22">More...</a><br /></td></tr>
<tr class="separator:aa440a50000a259072f93ad6c0e42ec22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85f2a98255d3af7b7407c082ea7b7c16"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a85f2a98255d3af7b7407c082ea7b7c16">sendLutron</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a814dfab515b91887c494237b1f6ebd99">kLutronBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a85f2a98255d3af7b7407c082ea7b7c16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Lutron formatted message. Status: Stable / Appears to be working for real devices. <a href="classIRsend.html#a85f2a98255d3af7b7407c082ea7b7c16">More...</a><br /></td></tr>
<tr class="separator:a85f2a98255d3af7b7407c082ea7b7c16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52526c4e7bc4402e57ecf81e0047d49c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a52526c4e7bc4402e57ecf81e0047d49c">sendElectraAC</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a8fb8c5778feaa94114218c36e8e43641">kElectraAcStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a52526c4e7bc4402e57ecf81e0047d49c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Electra A/C formatted message. Status: Alpha / Needs testing against a real device. <a href="classIRsend.html#a52526c4e7bc4402e57ecf81e0047d49c">More...</a><br /></td></tr>
<tr class="separator:a52526c4e7bc4402e57ecf81e0047d49c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10a3c387a328dbb11733a251f4db7614"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a10a3c387a328dbb11733a251f4db7614">sendPanasonicAC</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#ab21d86545b57738354e7a3b833d38f94">kPanasonicAcStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#af6b7c6ad564253cb128ac92c00e86f0c">kPanasonicAcDefaultRepeat</a>)</td></tr>
<tr class="memdesc:a10a3c387a328dbb11733a251f4db7614"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Panasonic A/C message. Status: STABLE / Work with real device(s). <a href="classIRsend.html#a10a3c387a328dbb11733a251f4db7614">More...</a><br /></td></tr>
<tr class="separator:a10a3c387a328dbb11733a251f4db7614"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af281c7e8e09bb547bf7236dfd8b42154"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#af281c7e8e09bb547bf7236dfd8b42154">sendPanasonicAC32</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#adae68c6e0ebe7d18c344d9cad5ca49f0">kPanasonicAc32Bits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#af6b7c6ad564253cb128ac92c00e86f0c">kPanasonicAcDefaultRepeat</a>)</td></tr>
<tr class="memdesc:af281c7e8e09bb547bf7236dfd8b42154"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Panasonic AC 32/16bit formatted message. Status: STABLE / Confirmed working. <a href="classIRsend.html#af281c7e8e09bb547bf7236dfd8b42154">More...</a><br /></td></tr>
<tr class="separator:af281c7e8e09bb547bf7236dfd8b42154"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11f099f3768a659d1f996589cea8a313"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a11f099f3768a659d1f996589cea8a313">sendPioneer</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a6a7ccd31e0a6f967a219b1a53b89653b">kPioneerBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a11f099f3768a659d1f996589cea8a313"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a raw Pioneer formatted message. Status: STABLE / Expected to be working. <a href="classIRsend.html#a11f099f3768a659d1f996589cea8a313">More...</a><br /></td></tr>
<tr class="separator:a11f099f3768a659d1f996589cea8a313"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0686829eba31587b71034a1c0495971"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ae0686829eba31587b71034a1c0495971">encodePioneer</a> (uint16_t address, uint16_t command)</td></tr>
<tr class="memdesc:ae0686829eba31587b71034a1c0495971"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the raw Pioneer data code based on two NEC sub-codes Status: STABLE / Expected to work. <a href="classIRsend.html#ae0686829eba31587b71034a1c0495971">More...</a><br /></td></tr>
<tr class="separator:ae0686829eba31587b71034a1c0495971"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98301801daf929ec8ce022987ae394f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a98301801daf929ec8ce022987ae394f2">sendMWM</a> (const unsigned char data[], const uint16_t nbytes, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a98301801daf929ec8ce022987ae394f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a MWM packet/message. Status: Implemented. <a href="classIRsend.html#a98301801daf929ec8ce022987ae394f2">More...</a><br /></td></tr>
<tr class="separator:a98301801daf929ec8ce022987ae394f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a129a40f9d344cb0fadfd4cca53ca6b44"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a129a40f9d344cb0fadfd4cca53ca6b44">sendVestelAc</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#ae31945a1ce90b2d4c33b5c91d980d3a7">kVestelAcBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a129a40f9d344cb0fadfd4cca53ca6b44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Vestel message Status: STABLE / Working. <a href="classIRsend.html#a129a40f9d344cb0fadfd4cca53ca6b44">More...</a><br /></td></tr>
<tr class="separator:a129a40f9d344cb0fadfd4cca53ca6b44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2dedce2841e4a6445a98f03393fce823"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a2dedce2841e4a6445a98f03393fce823">sendTcl112Ac</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a23ba2f5af02242e14ae7eefcd066152e">kTcl112AcStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a97c82cec6d72845d9ab8a201b0fa5034">kTcl112AcDefaultRepeat</a>)</td></tr>
<tr class="memdesc:a2dedce2841e4a6445a98f03393fce823"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a TCL 112-bit A/C message. Status: Beta / Probably working. <a href="classIRsend.html#a2dedce2841e4a6445a98f03393fce823">More...</a><br /></td></tr>
<tr class="separator:a2dedce2841e4a6445a98f03393fce823"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6300f977fe94119813481ba682ce33f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ac6300f977fe94119813481ba682ce33f">sendTeco</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#aee01958e9d97a70a6881cf560ca0ca9d">kTecoBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:ac6300f977fe94119813481ba682ce33f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Teco A/C message. Status: Beta / Probably working. <a href="classIRsend.html#ac6300f977fe94119813481ba682ce33f">More...</a><br /></td></tr>
<tr class="separator:ac6300f977fe94119813481ba682ce33f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e38273aeacf01873a013c02d41a44e4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a4e38273aeacf01873a013c02d41a44e4">sendLegoPf</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a8a7c7659250a81c7c84fc739eafed13e">kLegoPfBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a2614cf3cb840f028eb1dc684aeb1272c">kLegoPfMinRepeat</a>)</td></tr>
<tr class="memdesc:a4e38273aeacf01873a013c02d41a44e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a LEGO Power Functions message. Status: Beta / Should work. <a href="classIRsend.html#a4e38273aeacf01873a013c02d41a44e4">More...</a><br /></td></tr>
<tr class="separator:a4e38273aeacf01873a013c02d41a44e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71e1b5e780851210465bbf061b9c095b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a71e1b5e780851210465bbf061b9c095b">sendNeoclima</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a5a871ed6d145c5ea3d50e96600c02e31">kNeoclimaStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a16fc26a3ff66a66068ac9638554df847">kNeoclimaMinRepeat</a>)</td></tr>
<tr class="memdesc:a71e1b5e780851210465bbf061b9c095b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Neoclima message. Status: STABLE / Known to be working. <a href="classIRsend.html#a71e1b5e780851210465bbf061b9c095b">More...</a><br /></td></tr>
<tr class="separator:a71e1b5e780851210465bbf061b9c095b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd64b100eb155f90451d467188a83e92"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#acd64b100eb155f90451d467188a83e92">sendAmcor</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a62866e6918602533d590912487150bc7">kAmcorStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a746e1ce73c2ebd9bd1f5300494820a0c">kAmcorDefaultRepeat</a>)</td></tr>
<tr class="memdesc:acd64b100eb155f90451d467188a83e92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Amcor HVAC formatted message. Status: STABLE / Reported as working. <a href="classIRsend.html#acd64b100eb155f90451d467188a83e92">More...</a><br /></td></tr>
<tr class="separator:acd64b100eb155f90451d467188a83e92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a063168fd82f6a88cca7253b42b9c0b28"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a063168fd82f6a88cca7253b42b9c0b28">sendEpson</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a77a0ed1143f5bfec87e0c9fde5c2c425">kEpsonBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#ac8738cb054de937b77269acb973c5133">kEpsonMinRepeat</a>)</td></tr>
<tr class="memdesc:a063168fd82f6a88cca7253b42b9c0b28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send an Epson formatted message. Status: Beta / Probably works. <a href="classIRsend.html#a063168fd82f6a88cca7253b42b9c0b28">More...</a><br /></td></tr>
<tr class="separator:a063168fd82f6a88cca7253b42b9c0b28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f1d5a30660ab0061f64d559d4916d4e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a1f1d5a30660ab0061f64d559d4916d4e">sendSymphony</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#abb5b89578ab0757999530c0383f38533">kSymphonyBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a219b8495f77932c200680f7a2b133880">kSymphonyDefaultRepeat</a>)</td></tr>
<tr class="memdesc:a1f1d5a30660ab0061f64d559d4916d4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Symphony packet. Status: STABLE / Should be working. <a href="classIRsend.html#a1f1d5a30660ab0061f64d559d4916d4e">More...</a><br /></td></tr>
<tr class="separator:a1f1d5a30660ab0061f64d559d4916d4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b180d3845b45af38a19b72e6fa8e0c0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a5b180d3845b45af38a19b72e6fa8e0c0">sendAirwell</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a570219a14f2d19c7a6ce0aecd37a3b1f">kAirwellBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a669217ae5aa0baa159f7452f53551875">kAirwellMinRepeats</a>)</td></tr>
<tr class="memdesc:a5b180d3845b45af38a19b72e6fa8e0c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send an Airwell Manchester Code formatted message. Status: BETA / Appears to be working. <a href="classIRsend.html#a5b180d3845b45af38a19b72e6fa8e0c0">More...</a><br /></td></tr>
<tr class="separator:a5b180d3845b45af38a19b72e6fa8e0c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35dc18f9abbffa8da40816a8a9df1093"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a35dc18f9abbffa8da40816a8a9df1093">sendDelonghiAc</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a7b9fba82b602cf38147f0586e037f909">kDelonghiAcBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a8f18256a0a6893e077e253e5e80da164">kDelonghiAcDefaultRepeat</a>)</td></tr>
<tr class="memdesc:a35dc18f9abbffa8da40816a8a9df1093"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Delonghi A/C formatted message. Status: STABLE / Reported as working on a real device. <a href="classIRsend.html#a35dc18f9abbffa8da40816a8a9df1093">More...</a><br /></td></tr>
<tr class="separator:a35dc18f9abbffa8da40816a8a9df1093"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a9a8247e470975137b37f474bb97639"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a3a9a8247e470975137b37f474bb97639">sendDoshisha</a> (const uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#aedc53534cf6a40144be80abeee498362">kDoshishaBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a3a9a8247e470975137b37f474bb97639"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Doshisha formatted message. Status: STABLE / Works on real device. <a href="classIRsend.html#a3a9a8247e470975137b37f474bb97639">More...</a><br /></td></tr>
<tr class="separator:a3a9a8247e470975137b37f474bb97639"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0522a2256e8358df715065530be6317d"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a0522a2256e8358df715065530be6317d">encodeDoshisha</a> (const uint8_t command, const uint8_t channel=0)</td></tr>
<tr class="memdesc:a0522a2256e8358df715065530be6317d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode Doshisha combining constant values with command and channel. Status: STABLE / Working. <a href="classIRsend.html#a0522a2256e8358df715065530be6317d">More...</a><br /></td></tr>
<tr class="separator:a0522a2256e8358df715065530be6317d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9026d42480b85270e560e122b8be3b6c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a9026d42480b85270e560e122b8be3b6c">sendMultibrackets</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#aad7be0971479839493615cafcd654fc1">kMultibracketsBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a5aa418baefd018d5facc08d3bb721fe9">kMultibracketsDefaultRepeat</a>)</td></tr>
<tr class="memdesc:a9026d42480b85270e560e122b8be3b6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Multibrackets formatted message. Status: BETA / Appears to be working. <a href="classIRsend.html#a9026d42480b85270e560e122b8be3b6c">More...</a><br /></td></tr>
<tr class="separator:a9026d42480b85270e560e122b8be3b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcc65332acb4b5a1edc623194cc2ac7e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#afcc65332acb4b5a1edc623194cc2ac7e">sendTechnibelAc</a> (uint64_t data, uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a0c4bc77a2443037598940b955c83eb82">kTechnibelAcBits</a>, uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a0e797e69cca806e73c902f5d9dfe1bf1">kTechnibelAcDefaultRepeat</a>)</td></tr>
<tr class="memdesc:afcc65332acb4b5a1edc623194cc2ac7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send an Technibel AC formatted message. Status: STABLE / Reported as working on a real device. <a href="classIRsend.html#afcc65332acb4b5a1edc623194cc2ac7e">More...</a><br /></td></tr>
<tr class="separator:afcc65332acb4b5a1edc623194cc2ac7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81f82b8248b324799a48a7685d62aaa5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a81f82b8248b324799a48a7685d62aaa5">sendCoronaAc</a> (const uint8_t data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#ab18df94a82b365ff30caaabb05a9fcaf">kCoronaAcStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a81f82b8248b324799a48a7685d62aaa5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a CoronaAc formatted message. Status: STABLE / Working on real device. <a href="classIRsend.html#a81f82b8248b324799a48a7685d62aaa5">More...</a><br /></td></tr>
<tr class="separator:a81f82b8248b324799a48a7685d62aaa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bcba8bbac41d679b5b930e67d3e1b7f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a9bcba8bbac41d679b5b930e67d3e1b7f">sendZepeal</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#af09c9402a1c4fa24f692994498641296">kZepealBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#afb5c734e808d8f108f976f0556bf6e58">kZepealMinRepeat</a>)</td></tr>
<tr class="memdesc:a9bcba8bbac41d679b5b930e67d3e1b7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Zepeal formatted message. Status: STABLE / Works on real device. <a href="classIRsend.html#a9bcba8bbac41d679b5b930e67d3e1b7f">More...</a><br /></td></tr>
<tr class="separator:a9bcba8bbac41d679b5b930e67d3e1b7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bda5e5e44d2c0e811e9fe3d42b241bf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a3bda5e5e44d2c0e811e9fe3d42b241bf">sendVoltas</a> (const unsigned char data[], const uint16_t nbytes=<a class="el" href="IRremoteESP8266_8h.html#a336bd721135fc8b869941cd3aa73646e">kVoltasStateLength</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a>)</td></tr>
<tr class="memdesc:a3bda5e5e44d2c0e811e9fe3d42b241bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Voltas formatted message. Status: STABLE / Working on real device. <a href="classIRsend.html#a3bda5e5e44d2c0e811e9fe3d42b241bf">More...</a><br /></td></tr>
<tr class="separator:a3bda5e5e44d2c0e811e9fe3d42b241bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab98023283eca787f7bb8bcb47f79ed01"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ab98023283eca787f7bb8bcb47f79ed01">sendMetz</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#ad07971b39dd912f9e01ab5912c0667e6">kMetzBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a06aa5d85cd9b325024d79ec9af9e30e4">kMetzMinRepeat</a>)</td></tr>
<tr class="memdesc:ab98023283eca787f7bb8bcb47f79ed01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Metz formatted message. Status: Beta / Needs testing against a real device. <a href="classIRsend.html#ab98023283eca787f7bb8bcb47f79ed01">More...</a><br /></td></tr>
<tr class="separator:ab98023283eca787f7bb8bcb47f79ed01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba4e3420174de6b5538ae91f20d19e21"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#aba4e3420174de6b5538ae91f20d19e21">sendTranscold</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#abe50a182c1f65378337705d2784e2fdb">kTranscoldBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a17cef98fbfae6a84c0a3e009fb3c31d0">kTranscoldDefaultRepeat</a>)</td></tr>
<tr class="memdesc:aba4e3420174de6b5538ae91f20d19e21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a Transcold message Status: STABLE / Confirmed Working. <a href="classIRsend.html#aba4e3420174de6b5538ae91f20d19e21">More...</a><br /></td></tr>
<tr class="separator:aba4e3420174de6b5538ae91f20d19e21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37c6fac0e447fd9e4d3dc3ca23f8936f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a37c6fac0e447fd9e4d3dc3ca23f8936f">sendElitescreens</a> (const uint64_t data, const uint16_t nbits=<a class="el" href="IRremoteESP8266_8h.html#a102ebea398ea7b155e1e5212676af6dd">kEliteScreensBits</a>, const uint16_t repeat=<a class="el" href="IRremoteESP8266_8h.html#a9b23f59f288fc2ab9ee171436c11b04b">kEliteScreensDefaultRepeat</a>)</td></tr>
<tr class="memdesc:a37c6fac0e447fd9e4d3dc3ca23f8936f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send an Elite Screens formatted message. Status: BETA / Probably Working. <a href="classIRsend.html#a37c6fac0e447fd9e4d3dc3ca23f8936f">More...</a><br /></td></tr>
<tr class="separator:a37c6fac0e447fd9e4d3dc3ca23f8936f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ae02772f34180163861b7e4eb3520db2a"><td class="memItemLeft" align="right" valign="top">static uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ae02772f34180163861b7e4eb3520db2a">minRepeats</a> (const <a class="el" href="IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fad">decode_type_t</a> protocol)</td></tr>
<tr class="memdesc:ae02772f34180163861b7e4eb3520db2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the minimum number of repeats for a given protocol. <a href="classIRsend.html#ae02772f34180163861b7e4eb3520db2a">More...</a><br /></td></tr>
<tr class="separator:ae02772f34180163861b7e4eb3520db2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70a2256bee8ad9b8ea8571dd4f26596f"><td class="memItemLeft" align="right" valign="top">static uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a70a2256bee8ad9b8ea8571dd4f26596f">defaultBits</a> (const <a class="el" href="IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fad">decode_type_t</a> protocol)</td></tr>
<tr class="memdesc:a70a2256bee8ad9b8ea8571dd4f26596f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the default number of bits for a given protocol. <a href="classIRsend.html#a70a2256bee8ad9b8ea8571dd4f26596f">More...</a><br /></td></tr>
<tr class="separator:a70a2256bee8ad9b8ea8571dd4f26596f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99c88ec9f8426003738a9a1682595b9a"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a99c88ec9f8426003738a9a1682595b9a">encodeMetz</a> (const uint8_t address, const uint8_t command, const bool toggle=false)</td></tr>
<tr class="memdesc:a99c88ec9f8426003738a9a1682595b9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode a Metz address, command, and toggle bits into a code suitable for use with <a class="el" href="classIRsend.html#ab98023283eca787f7bb8bcb47f79ed01" title="Send a Metz formatted message. Status: Beta / Needs testing against a real device.">sendMetz()</a>. <a href="classIRsend.html#a99c88ec9f8426003738a9a1682595b9a">More...</a><br /></td></tr>
<tr class="separator:a99c88ec9f8426003738a9a1682595b9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ae71cc5aa99f894785fb4f7abc05841b2"><td class="memItemLeft" align="right" valign="top">VIRTUAL void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ae71cc5aa99f894785fb4f7abc05841b2">ledOff</a> ()</td></tr>
<tr class="memdesc:ae71cc5aa99f894785fb4f7abc05841b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turn off the IR LED. <a href="classIRsend.html#ae71cc5aa99f894785fb4f7abc05841b2">More...</a><br /></td></tr>
<tr class="separator:ae71cc5aa99f894785fb4f7abc05841b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13d804171fa7c14aff4def38c6ffb6c8"><td class="memItemLeft" align="right" valign="top">VIRTUAL void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a13d804171fa7c14aff4def38c6ffb6c8">ledOn</a> ()</td></tr>
<tr class="memdesc:a13d804171fa7c14aff4def38c6ffb6c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Turn on the IR LED. <a href="classIRsend.html#a13d804171fa7c14aff4def38c6ffb6c8">More...</a><br /></td></tr>
<tr class="separator:a13d804171fa7c14aff4def38c6ffb6c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a4acfc45b339e724e2dbdff24762dfa7d"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a4acfc45b339e724e2dbdff24762dfa7d">outputOn</a></td></tr>
<tr class="separator:a4acfc45b339e724e2dbdff24762dfa7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e80df8b2ee534dbd6ddc30a852a2791"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a5e80df8b2ee534dbd6ddc30a852a2791">outputOff</a></td></tr>
<tr class="separator:a5e80df8b2ee534dbd6ddc30a852a2791"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:ae9e68c0ed22e27c8f7ff82cec7ca3e33"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ae9e68c0ed22e27c8f7ff82cec7ca3e33">calcUSecPeriod</a> (uint32_t hz, bool use_offset=true)</td></tr>
<tr class="memdesc:ae9e68c0ed22e27c8f7ff82cec7ca3e33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the period for a given frequency. <a href="classIRsend.html#ae9e68c0ed22e27c8f7ff82cec7ca3e33">More...</a><br /></td></tr>
<tr class="separator:ae9e68c0ed22e27c8f7ff82cec7ca3e33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21352b4499f976872a74bae36ea10338"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a21352b4499f976872a74bae36ea10338">_sendSony</a> (const uint64_t data, const uint16_t nbits, const uint16_t repeat, const uint16_t freq)</td></tr>
<tr class="memdesc:a21352b4499f976872a74bae36ea10338"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal procedure to generate a Sony/SIRC(Serial Infra-Red Control) message Status: STABLE / Known working. <a href="classIRsend.html#a21352b4499f976872a74bae36ea10338">More...</a><br /></td></tr>
<tr class="separator:a21352b4499f976872a74bae36ea10338"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a2caec2f35ecdb890b1e34d9eb3642363"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a2caec2f35ecdb890b1e34d9eb3642363">_freq_unittest</a></td></tr>
<tr class="separator:a2caec2f35ecdb890b1e34d9eb3642363"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaa65f31dbea033f8130e847b0366d94"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#aaaa65f31dbea033f8130e847b0366d94">onTimePeriod</a></td></tr>
<tr class="separator:aaaa65f31dbea033f8130e847b0366d94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e45c9e4f54db86c1f3e506cd72fe4c1"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a9e45c9e4f54db86c1f3e506cd72fe4c1">offTimePeriod</a></td></tr>
<tr class="separator:a9e45c9e4f54db86c1f3e506cd72fe4c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4a6ea1e72f4861167002d6e7bf17b7c"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#ae4a6ea1e72f4861167002d6e7bf17b7c">IRpin</a></td></tr>
<tr class="separator:ae4a6ea1e72f4861167002d6e7bf17b7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b5180cbf4f88f19fca3f677e1e91b96"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a1b5180cbf4f88f19fca3f677e1e91b96">periodOffset</a></td></tr>
<tr class="separator:a1b5180cbf4f88f19fca3f677e1e91b96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a602e96e8cdbd6af41d288d905043e51f"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a602e96e8cdbd6af41d288d905043e51f">_dutycycle</a></td></tr>
<tr class="separator:a602e96e8cdbd6af41d288d905043e51f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11e26c03c87e2bed756eb7f318570bd8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIRsend.html#a11e26c03c87e2bed756eb7f318570bd8">modulation</a></td></tr>
<tr class="separator:a11e26c03c87e2bed756eb7f318570bd8"><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>Class for sending all basic IR protocols. </p>
<dl class="section note"><dt>Note</dt><dd>Originally from <a href="https://github.com/shirriff/Arduino-IRremote/">https://github.com/shirriff/Arduino-IRremote/</a> Updated by markszabo (<a href="https://github.com/crankyoldgit/IRremoteESP8266">https://github.com/crankyoldgit/IRremoteESP8266</a>) for sending IR code on ESP8266 </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a792780b7de996c90c86dd7b700eaf271"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a792780b7de996c90c86dd7b700eaf271">&#9670;&nbsp;</a></span>IRsend()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">IRsend::IRsend </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>IRsendPin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>inverted</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>use_modulation</em> = <code>true</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">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor for an <a class="el" href="classIRsend.html" title="Class for sending all basic IR protocols.">IRsend</a> object. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">IRsendPin</td><td>Which GPIO pin to use when sending an IR command. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">inverted</td><td>Optional flag to invert the output. (default = false) e.g. LED is illuminated when GPIO is LOW rather than HIGH. </td></tr>
</table>
</dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>Setting <code>inverted</code> to something other than the default could easily destroy your IR LED if you are overdriving it. Unless you <em>REALLY</em> know what you are doing, don't change this. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">use_modulation</td><td>Do we do frequency modulation during transmission? i.e. If not, assume a 100% duty cycle. Ignore attempts to change the duty cycle etc. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a61ceb32aa53f538b93377b10e58b45c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61ceb32aa53f538b93377b10e58b45c9">&#9670;&nbsp;</a></span>_delayMicroseconds()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::_delayMicroseconds </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>usec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>An ESP8266 RTOS watch-dog timer friendly version of delayMicroseconds(). </p>
<p>A version of delayMicroseconds() that handles large values and does NOT use the watch-dog friendly delay() calls where appropriate.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">usec</td><td>Nr. of uSeconds to delay for.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Use this only if you know what you are doing as it may cause the WDT to reset the ESP8266. </dd></dl>
</div>
</div>
<a id="a21352b4499f976872a74bae36ea10338"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21352b4499f976872a74bae36ea10338">&#9670;&nbsp;</a></span>_sendSony()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void IRsend::_sendSony </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>freq</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">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Internal procedure to generate a Sony/SIRC(Serial Infra-Red Control) message Status: STABLE / Known working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">freq</td><td>Frequency of the modulation to transmit at. (Hz or kHz) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a386f026bf739b0718efde4cffa6ce129"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a386f026bf739b0718efde4cffa6ce129">&#9670;&nbsp;</a></span>begin()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::begin </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable the pin for output. </p>
</div>
</div>
<a id="ae9e68c0ed22e27c8f7ff82cec7ca3e33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9e68c0ed22e27c8f7ff82cec7ca3e33">&#9670;&nbsp;</a></span>calcUSecPeriod()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t IRsend::calcUSecPeriod </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>hz</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>use_offset</em> = <code>true</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">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculate the period for a given frequency. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">hz</td><td>Frequency in Hz. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">use_offset</td><td>Should we use the calculated offset or not? </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>nr. of uSeconds. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>(T = 1/f) </dd></dl>
</div>
</div>
<a id="ad1776aa6c699f9eeca1eef9bb4fe355b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1776aa6c699f9eeca1eef9bb4fe355b">&#9670;&nbsp;</a></span>calibrate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int8_t IRsend::calibrate </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>hz</em> = <code>38000U</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculate &amp; set any offsets to account for execution times during sending. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">hz</td><td>The frequency to calibrate at &gt;= 1000Hz. Default is 38000Hz. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The calculated period offset (in uSeconds) which is now in use. e.g. -5. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>This will generate an 65535us <a class="el" href="classIRsend.html#a7399389d40bfe24bc062ffca88fc3780" title="Modulate the IR LED for the given period (usec) and at the duty cycle set.">mark()</a> IR LED signal. This only needs to be called once, if at all. </dd></dl>
</div>
</div>
<a id="a70a2256bee8ad9b8ea8571dd4f26596f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70a2256bee8ad9b8ea8571dd4f26596f">&#9670;&nbsp;</a></span>defaultBits()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint16_t IRsend::defaultBits </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fad">decode_type_t</a>&#160;</td>
<td class="paramname"><em>protocol</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the default number of bits for a given protocol. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">protocol</td><td>Protocol number/type you want the default bit size for. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of bits. </dd></dl>
</div>
</div>
<a id="ab3b6d36c9b5d26c400526717d433ed2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3b6d36c9b5d26c400526717d433ed2d">&#9670;&nbsp;</a></span>enableIROut()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::enableIROut </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>freq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>duty</em> = <code><a class="el" href="IRsend_8h.html#affa33c170fe058b783372852fca7cc5b">kDutyDefault</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the output frequency modulation and duty cycle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">freq</td><td>The freq we want to modulate at. Assumes &lt; 1000 means kHz else Hz. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">duty</td><td>Percentage duty cycle of the LED. e.g. 25 = 25% = 1/4 on, 3/4 off. If you are not sure, try 50 percent. This is ignored if modulation is disabled at object instantiation. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Integer timing functions &amp; math mean we can't do fractions of microseconds timing. Thus minor changes to the freq &amp; duty values may have limited effect. You've been warned. </dd></dl>
</div>
</div>
<a id="a0522a2256e8358df715065530be6317d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0522a2256e8358df715065530be6317d">&#9670;&nbsp;</a></span>encodeDoshisha()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t IRsend::encodeDoshisha </td>
<td>(</td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>command</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>channel</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encode Doshisha combining constant values with command and channel. Status: STABLE / Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>The command code to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>The one bit channel 0 for CH1 and 1 for CH2 </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The corresponding Doshisha code. </dd></dl>
</div>
</div>
<a id="a6303b991c0545443e7ccf63ba89dbf18"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6303b991c0545443e7ccf63ba89dbf18">&#9670;&nbsp;</a></span>encodeJVC()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t IRsend::encodeJVC </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>command</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculate the raw JVC data based on address and command. Status: STABLE / Works fine. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>An 8-bit address value. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>An 8-bit command value. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A raw JVC message code, suitable for <a class="el" href="classIRsend.html#aaa10c899768a5b4cdb1a7913d06141ca" title="Send a JVC formatted message. Status: STABLE / Working.">sendJVC()</a>.. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a href="http://www.sbprojects.com/knowledge/ir/jvc.php">http://www.sbprojects.com/knowledge/ir/jvc.php</a> </dd></dl>
</div>
</div>
<a id="a109b67a68e7a33900cb5c5017ed4578b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a109b67a68e7a33900cb5c5017ed4578b">&#9670;&nbsp;</a></span>encodeLG()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t IRsend::encodeLG </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>command</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct a raw 28-bit LG message code from the supplied address &amp; command. Status: STABLE / Works. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>The address code. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>The command code. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A raw 28-bit LG message code suitable for <a class="el" href="classIRsend.html#a079a84c82f360d6d55fde5c27634f51c" title="Send an LG formatted message. (LG) Status: Beta / Should be working.">sendLG()</a> etc. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Sequence of bits = address + command + checksum. </dd></dl>
</div>
</div>
<a id="a4ee40126279dbde8bb02888115577563"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ee40126279dbde8bb02888115577563">&#9670;&nbsp;</a></span>encodeMagiQuest()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t IRsend::encodeMagiQuest </td>
<td>(</td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>wand_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>magnitude</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encode a MagiQuest wand_id, and a magnitude into a single 64bit value. (Only 48 bits of real data + 8 leading zero bits) This is suitable for calling <a class="el" href="classIRsend.html#af1d0e9ec0f735fc5fb9011d4f4cb8327" title="Send a MagiQuest formatted message. Status: Beta / Should be working.">sendMagiQuest()</a> with. e.g. sendMagiQuest(encodeMagiQuest(wand_id, magnitude)) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">wand_id</td><td>The value for the wand ID. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">magnitude</td><td>The value for the magnitude </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A code suitable for calling <a class="el" href="classIRsend.html#af1d0e9ec0f735fc5fb9011d4f4cb8327" title="Send a MagiQuest formatted message. Status: Beta / Should be working.">sendMagiQuest()</a> with. </dd></dl>
</div>
</div>
<a id="a99c88ec9f8426003738a9a1682595b9a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99c88ec9f8426003738a9a1682595b9a">&#9670;&nbsp;</a></span>encodeMetz()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t IRsend::encodeMetz </td>
<td>(</td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>command</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>toggle</em> = <code>false</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">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Encode a Metz address, command, and toggle bits into a code suitable for use with <a class="el" href="classIRsend.html#ab98023283eca787f7bb8bcb47f79ed01" title="Send a Metz formatted message. Status: Beta / Needs testing against a real device.">sendMetz()</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>A 3-bit address value. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>A 6-bit command value. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">toggle</td><td>Should the toggle bit be set in the result? </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A 19-bit value suitable for use with <code><a class="el" href="classIRsend.html#ab98023283eca787f7bb8bcb47f79ed01" title="Send a Metz formatted message. Status: Beta / Needs testing against a real device.">sendMetz()</a></code>. </dd></dl>
</div>
</div>
<a id="ab2e1ce918e4e06b955c3d2a089ce189c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2e1ce918e4e06b955c3d2a089ce189c">&#9670;&nbsp;</a></span>encodeNEC()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t IRsend::encodeNEC </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>command</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculate the raw NEC data based on address and command. Status: STABLE / Expected to work. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>An address value. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>An 8-bit command value. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A raw 32-bit NEC message suitable for use with <code><a class="el" href="classIRsend.html#a324c9e455c0bae51ebe9bc07e915c043" title="Send a raw NEC(Renesas) formatted message. Status: STABLE / Known working.">sendNEC()</a></code>. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a href="http://www.sbprojects.com/knowledge/ir/nec.php">http://www.sbprojects.com/knowledge/ir/nec.php</a> </dd></dl>
</div>
</div>
<a id="a8340497ae75f00c844e53dfc73700d9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8340497ae75f00c844e53dfc73700d9c">&#9670;&nbsp;</a></span>encodePanasonic()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t IRsend::encodePanasonic </td>
<td>(</td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>manufacturer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>device</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>subdevice</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>function</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculate the raw Panasonic data based on device, subdevice, &amp; function. Status: STABLE / Should be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">manufacturer</td><td>A 16-bit manufacturer code. e.g. 0x4004 is Panasonic </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>An 8-bit code. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">subdevice</td><td>An 8-bit code. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>An 8-bit code. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A value suitable for use with <code><a class="el" href="classIRsend.html#adc4fd287f3546f7ff0b67e177a42b560" title="Send a Panasonic formatted message. Status: STABLE / Should be working.">sendPanasonic64()</a></code>. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Panasonic 48-bit protocol is a modified version of Kaseikyo. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a href="http://www.remotecentral.com/cgi-bin/mboard/rc-pronto/thread.cgi?2615">http://www.remotecentral.com/cgi-bin/mboard/rc-pronto/thread.cgi?2615</a> </dd></dl>
</div>
</div>
<a id="ae0686829eba31587b71034a1c0495971"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0686829eba31587b71034a1c0495971">&#9670;&nbsp;</a></span>encodePioneer()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t IRsend::encodePioneer </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>command</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculate the raw Pioneer data code based on two NEC sub-codes Status: STABLE / Expected to work. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>A 16-bit "published" NEC value. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>A 16-bit "published" NEC value. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A raw 64-bit Pioneer message code for use with <code><a class="el" href="classIRsend.html#a11f099f3768a659d1f996589cea8a313" title="Send a raw Pioneer formatted message. Status: STABLE / Expected to be working.">sendPioneer()</a></code>` </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Address &amp; Command can be take from a decode result OR from the spreadsheets located at: <a href="https://www.pioneerelectronics.com/PUSA/Support/Home-Entertainment-Custom-Install/IR+Codes/A+V+Receivers">https://www.pioneerelectronics.com/PUSA/Support/Home-Entertainment-Custom-Install/IR+Codes/A+V+Receivers</a> where the first part is considered the address, and the second the command. e.g. "A556+AF20" is an Address of 0xA556 &amp; a Command of 0xAF20. </dd></dl>
</div>
</div>
<a id="a88457fd4cc01d6e8097e04c022ede74a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88457fd4cc01d6e8097e04c022ede74a">&#9670;&nbsp;</a></span>encodeRC5()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t IRsend::encodeRC5 </td>
<td>(</td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>command</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>key_released</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encode a Philips RC-5 data message. Status: Beta / Should be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>The 5-bit address value for the message. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>The 6-bit command value for the message. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">key_released</td><td>Indicate if the remote key has been released. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A message suitable for use in <a class="el" href="classIRsend.html#a2bd2ccb27ecd57e14b36f76d82af308a" title="Send a Philips RC-5/RC-5X packet. Status: RC-5 (stable), RC-5X (alpha)">sendRC5()</a>. </dd></dl>
</div>
</div>
<a id="ae760ef1be11f25f7a61237f96a8871d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae760ef1be11f25f7a61237f96a8871d9">&#9670;&nbsp;</a></span>encodeRC5X()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t IRsend::encodeRC5X </td>
<td>(</td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>command</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>key_released</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encode a Philips RC-5X data message. Status: Beta / Should be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>The 5-bit address value for the message. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>The 7-bit command value for the message. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">key_released</td><td>Indicate if the remote key has been released. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A message suitable for use in <a class="el" href="classIRsend.html#a2bd2ccb27ecd57e14b36f76d82af308a" title="Send a Philips RC-5/RC-5X packet. Status: RC-5 (stable), RC-5X (alpha)">sendRC5()</a>. </dd></dl>
</div>
</div>
<a id="ac0e341462426ea146b944502a6d3fde0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0e341462426ea146b944502a6d3fde0">&#9670;&nbsp;</a></span>encodeRC6()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t IRsend::encodeRC6 </td>
<td>(</td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>command</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>mode</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a84a6d3e15e98f7a4917d252d5665534a">kRC6Mode0Bits</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encode a Philips RC-6 data message. Status: Beta / Should be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>The address (aka. control) value for the message. Includes the field/mode/toggle bits. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>The 8-bit command value for the message. (aka. information) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>Which protocol to use. Defined by nr. of bits in the protocol. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A data message suitable for use in <code><a class="el" href="classIRsend.html#a2192a95e0d162f9b1775fc2a47f65c37" title="Send a Philips RC-6 packet. Status: Stable.">sendRC6()</a></code>. </dd></dl>
</div>
</div>
<a id="a4ab0579bd854306b2667de19207e4ffb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ab0579bd854306b2667de19207e4ffb">&#9670;&nbsp;</a></span>encodeSAMSUNG()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t IRsend::encodeSAMSUNG </td>
<td>(</td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>customer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>command</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct a raw Samsung message from the supplied customer(address) &amp; command. Status: STABLE / Should be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">customer</td><td>The customer code. (aka. Address) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>The command code. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A raw 32-bit Samsung message suitable for <code><a class="el" href="classIRsend.html#a5252dd159aad713c099de6728ac56d81" title="Send a 32-bit Samsung formatted message. Status: STABLE / Should be working.">sendSAMSUNG()</a></code>. </dd></dl>
</div>
</div>
<a id="a864bef0dc48f6af4b59057362906cf5d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a864bef0dc48f6af4b59057362906cf5d">&#9670;&nbsp;</a></span>encodeSanyoLC7461()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t IRsend::encodeSanyoLC7461 </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>command</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct a Sanyo LC7461 message. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>The 13 bit value of the address(Custom) portion of the protocol. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>The 8 bit value of the command(Key) portion of the protocol. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An uint64_t with the encoded raw 42 bit Sanyo LC7461 data value. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>This protocol uses the NEC protocol timings. However, data is formatted as : address(13 bits), !address, command(8 bits), !command. According with LIRC, this protocol is used on Sanyo, Aiwa and Chinon </dd></dl>
</div>
</div>
<a id="a8f4c7a36380ba31155eba5ff8f5f631e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f4c7a36380ba31155eba5ff8f5f631e">&#9670;&nbsp;</a></span>encodeSharp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t IRsend::encodeSharp </td>
<td>(</td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>command</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>expansion</em> = <code>1</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>check</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>MSBfirst</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Encode a (raw) Sharp message from it's components. Status: STABLE / Works okay. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>The value of the address to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>The value of the address to be sent. (8 bits) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">expansion</td><td>The value of the expansion bit to use. (0 or 1, typically 1) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">check</td><td>The value of the check bit to use. (0 or 1, typically 0) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">MSBfirst</td><td>Flag indicating MSB first or LSB first order. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A uint32_t containing the raw Sharp message for <code><a class="el" href="classIRsend.html#aa1f12fd537ca8c21c183ee41d17a3afc" title="Send a (raw) Sharp message.">sendSharpRaw()</a></code>. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Assumes the standard Sharp bit sizes. Historically <a class="el" href="classIRsend.html#a801ae78ac5a72116c566c4ac5f99c6bd" title="Send a Sharp message Status: DEPRECATED / Previously working fine.">sendSharp()</a> sends address &amp; command in MSB first order. This is actually incorrect. It should be sent in LSB order. The behaviour of <a class="el" href="classIRsend.html#a801ae78ac5a72116c566c4ac5f99c6bd" title="Send a Sharp message Status: DEPRECATED / Previously working fine.">sendSharp()</a> hasn't been changed to maintain backward compatibility. </dd></dl>
</div>
</div>
<a id="aa0aea2cb04f0a7ee9056f15fecfc08c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0aea2cb04f0a7ee9056f15fecfc08c3">&#9670;&nbsp;</a></span>encodeSony()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t IRsend::encodeSony </td>
<td>(</td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>command</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>extended</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert Sony/SIRC command, address, &amp; extended bits into sendSony format. Status: STABLE / Should be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>Sony protocol bit size. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>Sony command bits. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>Sony address bits. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">extended</td><td>Sony extended bits. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A <code><a class="el" href="classIRsend.html#a02bb64503474a0841c51664cf4668d85" title="Send a standard Sony/SIRC(Serial Infra-Red Control) message. (40kHz) Status: STABLE / Known working.">sendSony()</a></code> etc compatible data message. </dd></dl>
</div>
</div>
<a id="ae71cc5aa99f894785fb4f7abc05841b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae71cc5aa99f894785fb4f7abc05841b2">&#9670;&nbsp;</a></span>ledOff()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void IRsend::ledOff </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Turn off the IR LED. </p>
</div>
</div>
<a id="a13d804171fa7c14aff4def38c6ffb6c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13d804171fa7c14aff4def38c6ffb6c8">&#9670;&nbsp;</a></span>ledOn()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void IRsend::ledOn </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Turn on the IR LED. </p>
</div>
</div>
<a id="a7399389d40bfe24bc062ffca88fc3780"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7399389d40bfe24bc062ffca88fc3780">&#9670;&nbsp;</a></span>mark()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t IRsend::mark </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>usec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Modulate the IR LED for the given period (usec) and at the duty cycle set. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">usec</td><td>The period of time to modulate the IR LED for, in microseconds. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Nr. of pulses actually sent. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>The ESP8266 has no good way to do hardware PWM, so we have to do it all in software. There is a horrible kludge/brilliant hack to use the second serial TX line to do fairly accurate hardware PWM, but it is only available on a single specific GPIO and only available on some modules. e.g. It's not available on the ESP-01 module. Hence, for greater compatibility &amp; choice, we don't use that method. Ref: <a href="https://www.analysir.com/blog/2017/01/29/updated-esp8266-nodemcu-backdoor-upwm-hack-for-ir-signals/">https://www.analysir.com/blog/2017/01/29/updated-esp8266-nodemcu-backdoor-upwm-hack-for-ir-signals/</a> </dd></dl>
</div>
</div>
<a id="ae02772f34180163861b7e4eb3520db2a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae02772f34180163861b7e4eb3520db2a">&#9670;&nbsp;</a></span>minRepeats()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint16_t IRsend::minRepeats </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fad">decode_type_t</a>&#160;</td>
<td class="paramname"><em>protocol</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the minimum number of repeats for a given protocol. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">protocol</td><td>Protocol number/type of the message you want to send. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of repeats required. </dd></dl>
</div>
</div>
<a id="a204eedc3ad182fb2f40c42ef58f78cfc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a204eedc3ad182fb2f40c42ef58f78cfc">&#9670;&nbsp;</a></span>send() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool IRsend::send </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fad">decode_type_t</a>&#160;</td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a simple (up to 64 bits) IR message of a given type. An unknown/unsupported type will send nothing. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Protocol number/type of the message you want to send. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The data you want to send (up to 64 bits). </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>How many bits long the message is to be. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>How many repeats to do? </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if it is a type we can attempt to send, false if not. </dd></dl>
</div>
</div>
<a id="ac684c209ea8722f0a377070752df0040"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac684c209ea8722f0a377070752df0040">&#9670;&nbsp;</a></span>send() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool IRsend::send </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fad">decode_type_t</a>&#160;</td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>state</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a complex (&gt;= 64 bits) IR message of a given type. An unknown/unsupported type will send nothing. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Protocol number/type of the message you want to send. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>A pointer to the array of bytes that make up the state[]. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>How many bytes are in the state. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if it is a type we can attempt to send, false if not. </dd></dl>
</div>
</div>
<a id="a5b180d3845b45af38a19b72e6fa8e0c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b180d3845b45af38a19b72e6fa8e0c0">&#9670;&nbsp;</a></span>sendAirwell()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendAirwell </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a570219a14f2d19c7a6ce0aecd37a3b1f">kAirwellBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a669217ae5aa0baa159f7452f53551875">kAirwellMinRepeats</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send an Airwell Manchester Code formatted message. Status: BETA / Appears to be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of the message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/1069">https://github.com/crankyoldgit/IRremoteESP8266/issues/1069</a> </dd></dl>
</div>
</div>
<a id="ad39a4b13ad2e8500c95db49265e7c771"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad39a4b13ad2e8500c95db49265e7c771">&#9670;&nbsp;</a></span>sendAiwaRCT501()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendAiwaRCT501 </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a9078adf040d21c9c3eb10ed69f9dced6">kAiwaRcT501Bits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#ad796714d955b6cc8e207b03058eae5a3">kAiwaRcT501MinRepeats</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send an Aiwa RC T501 formatted message. Status: BETA / Should work. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of the message to be sent. Typically kAiwaRcT501Bits. Max is 37 = (64 - 27) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="http://lirc.sourceforge.net/remotes/aiwa/RC-T501">http://lirc.sourceforge.net/remotes/aiwa/RC-T501</a> </dd></dl>
</div>
</div>
<a id="acd64b100eb155f90451d467188a83e92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd64b100eb155f90451d467188a83e92">&#9670;&nbsp;</a></span>sendAmcor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendAmcor </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a62866e6918602533d590912487150bc7">kAmcorStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a746e1ce73c2ebd9bd1f5300494820a0c">kAmcorDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Amcor HVAC formatted message. Status: STABLE / Reported as working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a59668b767e4ad4966fe0bc259c3bd34f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59668b767e4ad4966fe0bc259c3bd34f">&#9670;&nbsp;</a></span>sendArgo()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendArgo </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a5f38a56eacd9964a8514cb57de287a45">kArgoStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a9a2190c526885753c676db666e48b764">kArgoDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Argo A/C formatted message. Status: BETA / Probably works. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9e859a8b5eaea2e64978c8f93b78d159"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e859a8b5eaea2e64978c8f93b78d159">&#9670;&nbsp;</a></span>sendCarrierAC()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendCarrierAC </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a668d9ac84f7dae61c35534b842d4956b">kCarrierAcBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a78c8a8b11179e8fd20bf09fa35f6b886">kCarrierAcMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Carrier HVAC formatted message. Status: STABLE / Works on real devices. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4342b775777d2ff9371f48aa39ad9b69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4342b775777d2ff9371f48aa39ad9b69">&#9670;&nbsp;</a></span>sendCarrierAC40()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendCarrierAC40 </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a56d1176a7b3fe59aeb3f4f39926c617d">kCarrierAc40Bits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a222aa743f398883a4910fbbb6d408bdc">kCarrierAc40MinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Carrier 40bit HVAC formatted message. Status: STABLE / Tested against a real device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The bit size of the message being sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the message is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="abf755688d87fcef5aee86c6a2c89e7c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf755688d87fcef5aee86c6a2c89e7c4">&#9670;&nbsp;</a></span>sendCarrierAC64()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendCarrierAC64 </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a41bc7ab7289e499ad33901da3eab661a">kCarrierAc64Bits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a8b2b3670dc74ce9fbf3c8b511422a06c">kCarrierAc64MinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Carrier 64bit HVAC formatted message. Status: STABLE / Known to be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The bit size of the message being sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the message is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a088af5f0d76965c61fe5716f7b8f2b61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a088af5f0d76965c61fe5716f7b8f2b61">&#9670;&nbsp;</a></span>sendCOOLIX()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendCOOLIX </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#aed48c68a637e4b45b80bbf4964ea79f9">kCoolixBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#aa89410d369d71738c8cbefae6ac3b00f">kCoolixDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Coolix message Status: STABLE / Confirmed Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/z3t0/Arduino-IRremote/blob/master/ir_COOLIX.cpp">https://github.com/z3t0/Arduino-IRremote/blob/master/ir_COOLIX.cpp</a> </dd></dl>
</div>
</div>
<a id="a81f82b8248b324799a48a7685d62aaa5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81f82b8248b324799a48a7685d62aaa5">&#9670;&nbsp;</a></span>sendCoronaAc()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendCoronaAc </td>
<td>(</td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#ab18df94a82b365ff30caaabb05a9fcaf">kCoronaAcStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a CoronaAc formatted message. Status: STABLE / Working on real device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>An array of bytes containing the IR command. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>Nr. of bytes of data in the array. e.g. <div class="fragment"><div class="line">uint8_t data[<a class="code" href="IRremoteESP8266_8h.html#ab18df94a82b365ff30caaabb05a9fcaf">kCoronaAcStateLength</a>] = {</div>
<div class="line"> 0x28, 0x61, 0x3D, 0x19, 0xE6, 0x37, 0xC8,</div>
<div class="line"> 0x28, 0x61, 0x6D, 0xFF, 0x00, 0xFF, 0x00,</div>
<div class="line"> 0x28, 0x61, 0xCD, 0xFF, 0x00, 0xFF, 0x00};</div>
</div><!-- fragment --> </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>Nr. of times the message is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3010546144b5ca3b3c94f5881050dbd0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3010546144b5ca3b3c94f5881050dbd0">&#9670;&nbsp;</a></span>sendDaikin()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendDaikin </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#af1fda5b9f355e526dc66cf58824315a7">kDaikinStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#af691d5202b7f121a16b2d9871ee14d9c">kDaikinDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Daikin 280-bit A/C formatted message. Status: STABLE. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/mharizanov/Daikin-AC-remote-control-over-the-Internet/tree/master/IRremote">https://github.com/mharizanov/Daikin-AC-remote-control-over-the-Internet/tree/master/IRremote</a> </dd>
<dd>
<a href="https://github.com/blafois/Daikin-IR-Reverse">https://github.com/blafois/Daikin-IR-Reverse</a> </dd></dl>
</div>
</div>
<a id="a72a41a704d48750c144c6467ae9a1430"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72a41a704d48750c144c6467ae9a1430">&#9670;&nbsp;</a></span>sendDaikin128()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendDaikin128 </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a4279ccd14a3af2046e393661a7b4879f">kDaikin128StateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a5c116cb58be005468de125f6ee651ccb">kDaikin128DefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Daikin128 (128-bit) A/C formatted message. Status: STABLE / Known Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/827">https://github.com/crankyoldgit/IRremoteESP8266/issues/827</a> </dd></dl>
</div>
</div>
<a id="a4ad420eb86e0ae38b12e983f7eaa912c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ad420eb86e0ae38b12e983f7eaa912c">&#9670;&nbsp;</a></span>sendDaikin152()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendDaikin152 </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#ae7579708922ffd3e44295f8770878983">kDaikin152StateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a9407eebab271524e74bc3ddddb1a2e0b">kDaikin152DefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Daikin152 (152-bit) A/C formatted message. Status: STABLE / Known Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/873">https://github.com/crankyoldgit/IRremoteESP8266/issues/873</a> </dd></dl>
</div>
</div>
<a id="ab144a86def38f9f5c98701742683c004"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab144a86def38f9f5c98701742683c004">&#9670;&nbsp;</a></span>sendDaikin160()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendDaikin160 </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a09f022a12a40a8fae09bfbddfbee6d62">kDaikin160StateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a82f4f1d8fae51c7e2f1f6753ca6e6053">kDaikin160DefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Daikin160 (160-bit) A/C formatted message. Status: STABLE / Confirmed working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/731">https://github.com/crankyoldgit/IRremoteESP8266/issues/731</a> </dd></dl>
</div>
</div>
<a id="ac4b5bcb95d3aff70b2f84074177e9e92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4b5bcb95d3aff70b2f84074177e9e92">&#9670;&nbsp;</a></span>sendDaikin176()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendDaikin176 </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#aa71fc87dcb6f14b82997e1d2269429d2">kDaikin176StateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a0228803e8fff3c73227214d4bb3d8b05">kDaikin176DefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Daikin176 (176-bit) A/C formatted message. Status: STABLE / Working on a real device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a34262e579cbb6634459bc09c5b15dfa0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34262e579cbb6634459bc09c5b15dfa0">&#9670;&nbsp;</a></span>sendDaikin2()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendDaikin2 </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a349e4d17f83bb3e707ff19c0255c1644">kDaikin2StateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a2dde8fd00f8a28e35da04cff9a3a1908">kDaikin2DefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Daikin2 (312-bit) A/C formatted message. Status: STABLE / Expected to work. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/582">https://github.com/crankyoldgit/IRremoteESP8266/issues/582</a> </dd></dl>
</div>
</div>
<a id="aa99bfdaa71ff5bf088faaa17d304f45d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa99bfdaa71ff5bf088faaa17d304f45d">&#9670;&nbsp;</a></span>sendDaikin216()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendDaikin216 </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a70a1a65c1947b440e4ff27477de5ddc7">kDaikin216StateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a9d14d424d5a93de62f3e6f453db112db">kDaikin216DefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Daikin216 (216-bit) A/C formatted message. Status: Alpha / Untested on a real device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/689">https://github.com/crankyoldgit/IRremoteESP8266/issues/689</a> </dd>
<dd>
<a href="https://github.com/danny-source/Arduino_DY_IRDaikin">https://github.com/danny-source/Arduino_DY_IRDaikin</a> </dd></dl>
</div>
</div>
<a id="aa403d2192a6eb57910e6f84695475b27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa403d2192a6eb57910e6f84695475b27">&#9670;&nbsp;</a></span>sendDaikin64()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendDaikin64 </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a89266e9211a81eda22475fb5a258484f">kDaikin64Bits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#aca64338c3e3bbe52f8ec5688317041b3">kDaikin64DefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Daikin64 (64-bit) A/C formatted message. Status: Beta / Probably Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/1064">https://github.com/crankyoldgit/IRremoteESP8266/issues/1064</a> </dd></dl>
</div>
</div>
<a id="a4f8cd77dab7ce6c406029fe87674858f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f8cd77dab7ce6c406029fe87674858f">&#9670;&nbsp;</a></span>sendData()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendData </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>onemark</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>onespace</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>zeromark</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>zerospace</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>MSBfirst</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Generic method for sending data that is common to most protocols. Will send leading or trailing 0's if the nbits is larger than the number of bits in data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">onemark</td><td>Nr. of usecs for the led to be pulsed for a '1' bit. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">onespace</td><td>Nr. of usecs for the led to be fully off for a '1' bit. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">zeromark</td><td>Nr. of usecs for the led to be pulsed for a '0' bit. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">zerospace</td><td>Nr. of usecs for the led to be fully off for a '0' bit. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The data to be transmitted. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>Nr. of bits of data to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">MSBfirst</td><td>Flag for bit transmission order. Defaults to MSB-&gt;LSB order. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a35dc18f9abbffa8da40816a8a9df1093"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35dc18f9abbffa8da40816a8a9df1093">&#9670;&nbsp;</a></span>sendDelonghiAc()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendDelonghiAc </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a7b9fba82b602cf38147f0586e037f909">kDelonghiAcBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a8f18256a0a6893e077e253e5e80da164">kDelonghiAcDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Delonghi A/C formatted message. Status: STABLE / Reported as working on a real device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/1096">https://github.com/crankyoldgit/IRremoteESP8266/issues/1096</a> </dd></dl>
</div>
</div>
<a id="a2618e000bf91cf1585329308a078653a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2618e000bf91cf1585329308a078653a">&#9670;&nbsp;</a></span>sendDenon()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendDenon </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a29160117e25f3dfc1cb899a4a53bc238">kDenonBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Denon formatted message. Status: STABLE / Should be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Some Denon devices use a Kaseikyo/Panasonic 48-bit format Others use the Sharp protocol. </dd></dl>
</div>
</div>
<a id="ac7a72d61af219d983409911bdc1769b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7a72d61af219d983409911bdc1769b8">&#9670;&nbsp;</a></span>sendDISH()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendDISH </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#aea0cc15e1c7a6edcd6b60d9ac62d4831">kDishBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a5c2263819b032e3af4d416ab41126bd8">kDishMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a DISH NETWORK formatted message. Status: STABLE / Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Dishplayer is a different protocol. Typically a DISH device needs to get a command a total of at least 4 times to accept it. e.g. repeat=3</dd></dl>
<p>Here is the LIRC file I found that seems to match the remote codes from the oscilloscope: DISH NETWORK (echostar 301): </p><dl class="section see"><dt>See also</dt><dd><a href="http://lirc.sourceforge.net/remotes/echostar/301_501_3100_5100_58xx_59xx">http://lirc.sourceforge.net/remotes/echostar/301_501_3100_5100_58xx_59xx</a> </dd>
<dd>
<a href="http://www.hifi-remote.com/wiki/index.php?title=Dish">http://www.hifi-remote.com/wiki/index.php?title=Dish</a> </dd></dl>
</div>
</div>
<a id="a3a9a8247e470975137b37f474bb97639"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a9a8247e470975137b37f474bb97639">&#9670;&nbsp;</a></span>sendDoshisha()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendDoshisha </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#aedc53534cf6a40144be80abeee498362">kDoshishaBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Doshisha formatted message. Status: STABLE / Works on real device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a52526c4e7bc4402e57ecf81e0047d49c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52526c4e7bc4402e57ecf81e0047d49c">&#9670;&nbsp;</a></span>sendElectraAC()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendElectraAC </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a8fb8c5778feaa94114218c36e8e43641">kElectraAcStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Electra A/C formatted message. Status: Alpha / Needs testing against a real device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Guessing MSBF order. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a37c6fac0e447fd9e4d3dc3ca23f8936f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37c6fac0e447fd9e4d3dc3ca23f8936f">&#9670;&nbsp;</a></span>sendElitescreens()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendElitescreens </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a102ebea398ea7b155e1e5212676af6dd">kEliteScreensBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a9b23f59f288fc2ab9ee171436c11b04b">kEliteScreensDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send an Elite Screens formatted message. Status: BETA / Probably Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a063168fd82f6a88cca7253b42b9c0b28"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a063168fd82f6a88cca7253b42b9c0b28">&#9670;&nbsp;</a></span>sendEpson()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendEpson </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a77a0ed1143f5bfec87e0c9fde5c2c425">kEpsonBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#ac8738cb054de937b77269acb973c5133">kEpsonMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send an Epson formatted message. Status: Beta / Probably works. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of nbits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1a3d3f83d0b7a59ff5510b038f658eb6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a3d3f83d0b7a59ff5510b038f658eb6">&#9670;&nbsp;</a></span>sendFujitsuAC()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendFujitsuAC </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a9dd52420366167afb4c8831b4ccd02fa">kFujitsuAcMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Fujitsu A/C formatted message. Status: STABLE / Known Good. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. Typically one of: kFujitsuAcStateLength, kFujitsuAcStateLength - 1, kFujitsuAcStateLengthShort, kFujitsuAcStateLengthShort - 1 </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="acf987a501326d9c945cd8dbeb0806e17"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf987a501326d9c945cd8dbeb0806e17">&#9670;&nbsp;</a></span>sendGC()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendGC </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>buf</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>len</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a shortened GlobalCache (GC) IRdb/control tower formatted message. Status: STABLE / Known working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">buf</td><td>Array of uint16_t containing the shortened GlobalCache data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>Nr. of entries in the buf[] array. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Global Cache format without the emitter ID or request ID. Starts at the frequency (Hertz), followed by nr. of times to emit (count), then the offset for repeats (where a repeat will start from), then the rest of entries are the actual IR message as units of periodic time. e.g. sendir,1:1,1,38000,1,1,9,70,9,30,9,... -&gt; 38000,1,1,9,70,9,30,9,... </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://irdb.globalcache.com/Home/Database">https://irdb.globalcache.com/Home/Database</a> </dd></dl>
</div>
</div>
<a id="aaace48306af9c020c18848db1a05e641"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaace48306af9c020c18848db1a05e641">&#9670;&nbsp;</a></span>sendGeneric() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendGeneric </td>
<td>(</td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>headermark</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>headerspace</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>onemark</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>onespace</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>zeromark</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>zerospace</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>footermark</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>gap</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>mesgtime</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>frequency</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>MSBfirst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>dutycycle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Generic method for sending simple protocol messages. Will send leading or trailing 0's if the nbits is larger than the number of bits in data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">headermark</td><td>Nr. of usecs for the led to be pulsed for the header mark. A value of 0 means no header mark. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">headerspace</td><td>Nr. of usecs for the led to be off after the header mark. A value of 0 means no header space. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">onemark</td><td>Nr. of usecs for the led to be pulsed for a '1' bit. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">onespace</td><td>Nr. of usecs for the led to be fully off for a '1' bit. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">zeromark</td><td>Nr. of usecs for the led to be pulsed for a '0' bit. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">zerospace</td><td>Nr. of usecs for the led to be fully off for a '0' bit. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">footermark</td><td>Nr. of usecs for the led to be pulsed for the footer mark. A value of 0 means no footer mark. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">gap</td><td>Nr. of usecs for the led to be off after the footer mark. This is effectively the gap between messages. A value of 0 means no gap space. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">mesgtime</td><td>Min. nr. of usecs a single message needs to be. This is effectively the min. total length of a single message. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The data to be transmitted. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>Nr. of bits of data to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">frequency</td><td>The frequency we want to modulate at. (Hz/kHz) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">MSBfirst</td><td>Flag for bit transmission order. Defaults to MSB-&gt;LSB order. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>Nr. of extra times the message will be sent. e.g. 0 = 1 message sent, 1 = 1 initial + 1 repeat = 2 messages </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dutycycle</td><td>Percentage duty cycle of the LED. e.g. 25 = 25% = 1/4 on, 3/4 off. If you are not sure, try 50 percent. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Assumes a frequency &lt; 1000 means kHz otherwise it is in Hz. Most common value is 38000 or 38, for 38kHz. </dd></dl>
</div>
</div>
<a id="a5215fd797dfd490816f31bb99b38c273"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5215fd797dfd490816f31bb99b38c273">&#9670;&nbsp;</a></span>sendGeneric() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendGeneric </td>
<td>(</td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>headermark</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>headerspace</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>onemark</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>onespace</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>zeromark</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>zerospace</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>footermark</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>gap</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>frequency</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>MSBfirst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>dutycycle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Generic method for sending simple protocol messages. Will send leading or trailing 0's if the nbits is larger than the number of bits in data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">headermark</td><td>Nr. of usecs for the led to be pulsed for the header mark. A value of 0 means no header mark. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">headerspace</td><td>Nr. of usecs for the led to be off after the header mark. A value of 0 means no header space. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">onemark</td><td>Nr. of usecs for the led to be pulsed for a '1' bit. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">onespace</td><td>Nr. of usecs for the led to be fully off for a '1' bit. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">zeromark</td><td>Nr. of usecs for the led to be pulsed for a '0' bit. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">zerospace</td><td>Nr. of usecs for the led to be fully off for a '0' bit. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">footermark</td><td>Nr. of usecs for the led to be pulsed for the footer mark. A value of 0 means no footer mark. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">gap</td><td>Nr. of usecs for the led to be off after the footer mark. This is effectively the gap between messages. A value of 0 means no gap space. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The data to be transmitted. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>Nr. of bits of data to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">frequency</td><td>The frequency we want to modulate at. (Hz/kHz) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">MSBfirst</td><td>Flag for bit transmission order. Defaults to MSB-&gt;LSB order. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>Nr. of extra times the message will be sent. e.g. 0 = 1 message sent, 1 = 1 initial + 1 repeat = 2 messages </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dutycycle</td><td>Percentage duty cycle of the LED. e.g. 25 = 25% = 1/4 on, 3/4 off. If you are not sure, try 50 percent. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Assumes a frequency &lt; 1000 means kHz otherwise it is in Hz. Most common value is 38000 or 38, for 38kHz. </dd></dl>
</div>
</div>
<a id="a4f5ad649827692b4b42d15b45c7f684b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f5ad649827692b4b42d15b45c7f684b">&#9670;&nbsp;</a></span>sendGeneric() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendGeneric </td>
<td>(</td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>headermark</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>headerspace</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>onemark</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>onespace</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>zeromark</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>zerospace</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>footermark</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>gap</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>dataptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>frequency</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>MSBfirst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>dutycycle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Generic method for sending simple protocol messages. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">headermark</td><td>Nr. of usecs for the led to be pulsed for the header mark. A value of 0 means no header mark. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">headerspace</td><td>Nr. of usecs for the led to be off after the header mark. A value of 0 means no header space. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">onemark</td><td>Nr. of usecs for the led to be pulsed for a '1' bit. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">onespace</td><td>Nr. of usecs for the led to be fully off for a '1' bit. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">zeromark</td><td>Nr. of usecs for the led to be pulsed for a '0' bit. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">zerospace</td><td>Nr. of usecs for the led to be fully off for a '0' bit. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">footermark</td><td>Nr. of usecs for the led to be pulsed for the footer mark. A value of 0 means no footer mark. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">gap</td><td>Nr. of usecs for the led to be off after the footer mark. This is effectively the gap between messages. A value of 0 means no gap space. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dataptr</td><td>Pointer to the data to be transmitted. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>Nr. of bytes of data to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">frequency</td><td>The frequency we want to modulate at. (Hz/kHz) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">MSBfirst</td><td>Flag for bit transmission order. Defaults to MSB-&gt;LSB order. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>Nr. of extra times the message will be sent. e.g. 0 = 1 message sent, 1 = 1 initial + 1 repeat = 2 messages </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dutycycle</td><td>Percentage duty cycle of the LED. e.g. 25 = 25% = 1/4 on, 3/4 off. If you are not sure, try 50 percent. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Assumes a frequency &lt; 1000 means kHz otherwise it is in Hz. Most common value is 38000 or 38, for 38kHz. </dd></dl>
</div>
</div>
<a id="a61dd16bc150473bbfd998dada72b205f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61dd16bc150473bbfd998dada72b205f">&#9670;&nbsp;</a></span>sendGICable()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendGICable </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#aceb5cbd7ba5d8bc11560ba29137b10fa">kGicableBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#ad8142649290db6fc337ac839d4078aef">kGicableMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a raw G.I. Cable formatted message. Status: Alpha / Untested. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8e2d98ae5c39ee07a61f08facecbaa1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e2d98ae5c39ee07a61f08facecbaa1e">&#9670;&nbsp;</a></span>sendGoodweather()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendGoodweather </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#afa2675ce42d00175ec95caa6cd87a425">kGoodweatherBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a885bc5a3a5ba2d8827a62d07a43d0321">kGoodweatherMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Goodweather HVAC formatted message. Status: BETA / Needs testing on real device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aca81ea348ceb6b0c9e62073b57bc0b17"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca81ea348ceb6b0c9e62073b57bc0b17">&#9670;&nbsp;</a></span>sendGree() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendGree </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#acadcc5d03e09784642f008d4d2913c7d">kGreeBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a6816d2cb11b99a61fb63e6d0928e6706">kGreeDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Gree Heat Pump formatted message. Status: STABLE / Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="af788e7d9a2ad2483313434f9b5196753"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af788e7d9a2ad2483313434f9b5196753">&#9670;&nbsp;</a></span>sendGree() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendGree </td>
<td>(</td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a5558b24542873d8475e1ee0e2439839f">kGreeStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a6816d2cb11b99a61fb63e6d0928e6706">kGreeDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Gree Heat Pump formatted message. Status: STABLE / Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6b4b9144d56dda302f5b321f1c5017ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b4b9144d56dda302f5b321f1c5017ff">&#9670;&nbsp;</a></span>sendHaierAC()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendHaierAC </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#afb4cd0c1a9c689d862e7095f0ab6dbe5">kHaierACStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a882914932449e33933b6f8e224cbaf3c">kHaierAcDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Haier A/C formatted message. (HSU07-HEA03 remote) Status: STABLE / Known to be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6aa1c1a6880872c87a46e4e0ead5d9b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6aa1c1a6880872c87a46e4e0ead5d9b0">&#9670;&nbsp;</a></span>sendHaierACYRW02()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendHaierACYRW02 </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a8f52b7d4595c117cf0b81ffbd1148cda">kHaierACYRW02StateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a62412e221207dbc2660f93dc265b4218">kHaierAcYrw02DefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Haier YR-W02 remote A/C formatted message. Status: Alpha / Untested on a real device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8e6079b8b1b69ad7d7f8d05c492becbe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e6079b8b1b69ad7d7f8d05c492becbe">&#9670;&nbsp;</a></span>sendHitachiAC()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendHitachiAC </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a8bef76bac826afbbc51c2a867af15ed8">kHitachiAcStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#acc8510281d2ff9a808501d375c03ba21">kHitachiAcDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Hitachi 28-byte/224-bit A/C formatted message. (HITACHI_AC) Status: STABLE / Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/417">https://github.com/crankyoldgit/IRremoteESP8266/issues/417</a> </dd></dl>
</div>
</div>
<a id="a5be9a87ce052e4f056766919247e0b22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5be9a87ce052e4f056766919247e0b22">&#9670;&nbsp;</a></span>sendHitachiAC1()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendHitachiAC1 </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#abb5e2ddb1a8d3c6fa7a94dbe1989ec5d">kHitachiAc1StateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#acc8510281d2ff9a808501d375c03ba21">kHitachiAcDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Hitachi 13 byte/224-bit A/C formatted message. (HITACHI_AC1) Status: STABLE / Confirmed Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Basically the same as sendHitatchiAC() except different size &amp; header. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/453">https://github.com/crankyoldgit/IRremoteESP8266/issues/453</a> </dd></dl>
</div>
</div>
<a id="a451b1913608a4ba8c26d9af8c85d16f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a451b1913608a4ba8c26d9af8c85d16f1">&#9670;&nbsp;</a></span>sendHitachiAC2()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendHitachiAC2 </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a10377a40053a12e091dbff2869db0352">kHitachiAc2StateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#acc8510281d2ff9a808501d375c03ba21">kHitachiAcDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Hitachi 53 byte/424-bit A/C formatted message. (HITACHI_AC2) Basically the same as sendHitatchiAC() except different size. Status: STABLE / Expected to work. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aec7e67f4292622521b5a0a8cfdd21d84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec7e67f4292622521b5a0a8cfdd21d84">&#9670;&nbsp;</a></span>sendHitachiAc3()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendHitachiAc3 </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#acc8510281d2ff9a808501d375c03ba21">kHitachiAcDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Hitachi(3) A/C formatted message. (HITACHI_AC3) Status: STABLE / Working fine. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This protocol is almost exactly the same as HitachiAC424 except this variant has subtle timing differences. There are five(5) typical sizes: kHitachiAc3MinStateLength (Cancel Timer), kHitachiAc3MinStateLength + 2 (Change Temp), kHitachiAc3StateLength - 6 (Change Mode), kHitachiAc3StateLength - 4 (Normal), &amp; kHitachiAc3StateLength (Set Timer) </dd></dl>
</div>
</div>
<a id="a5fb28d54f2832651d992450673d05c01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fb28d54f2832651d992450673d05c01">&#9670;&nbsp;</a></span>sendHitachiAc344()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendHitachiAc344 </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a2192f6b7c353f7f124dff3b57eab0659">kHitachiAc344StateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#acc8510281d2ff9a808501d375c03ba21">kHitachiAcDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Hitachi A/C 43-byte/344-bit message. (HITACHI_AC344) Basically the same as sendHitatchiAC() except different size. Status: Beta / Probably works. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>An array of bytes containing the IR command. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>Nr. of bytes of data in the array. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>Nr. of times the message is to be repeated. (Default = 0). </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/1134">https://github.com/crankyoldgit/IRremoteESP8266/issues/1134</a> </dd></dl>
</div>
</div>
<a id="a2a9676de30bb868b313cc9c30025f790"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a9676de30bb868b313cc9c30025f790">&#9670;&nbsp;</a></span>sendHitachiAc424()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendHitachiAc424 </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#aff17d9c0ccf683895d2c868094679f0a">kHitachiAc424StateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#acc8510281d2ff9a808501d375c03ba21">kHitachiAcDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Hitachi 53-byte/424-bit A/C formatted message. (HITACHI_AC424) Status: STABLE / Reported as working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This protocol is almost exactly the same as HitachiAC2 except this variant has a leader section as well, and subtle timing differences. It is also in LSBF order (per byte), rather than MSBF order. </dd></dl>
</div>
</div>
<a id="a5fa5ff62276d9d680fb1255cc8b99eec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fa5ff62276d9d680fb1255cc8b99eec">&#9670;&nbsp;</a></span>sendInax()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendInax </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#af8441f25b32d113096adeaff331c126a">kInaxBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a37a3d0ae51a6ce850a424fe77d5b22d2">kInaxMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Inax Toilet formatted message. Status: STABLE / Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/706">https://github.com/crankyoldgit/IRremoteESP8266/issues/706</a> </dd></dl>
</div>
</div>
<a id="aaa10c899768a5b4cdb1a7913d06141ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa10c899768a5b4cdb1a7913d06141ca">&#9670;&nbsp;</a></span>sendJVC()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendJVC </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a7c28467832e7480864a6be0ce87c608f">kJvcBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a JVC formatted message. Status: STABLE / Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="http://www.sbprojects.com/knowledge/ir/jvc.php">http://www.sbprojects.com/knowledge/ir/jvc.php</a> </dd></dl>
</div>
</div>
<a id="a8cba9df982fc91f895196d61d2e65b0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8cba9df982fc91f895196d61d2e65b0e">&#9670;&nbsp;</a></span>sendKelvinator()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendKelvinator </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#af68545e8c2fe9af3719fb74c5d21f0c9">kKelvinatorStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a94c968c5cc929f189b8e578d2f55b132">kKelvinatorDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Kelvinator A/C message. Status: STABLE / Known working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a55a79f9727590044751f291a4df83892"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55a79f9727590044751f291a4df83892">&#9670;&nbsp;</a></span>sendLasertag()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendLasertag </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a3ea0e89a8b6a3ffa4a2d346abeed851e">kLasertagBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a9b36135c3df24eab232a5edac8c58c5e">kLasertagMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Lasertag packet/message. Status: STABLE / Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This protocol is pretty much just raw Manchester encoding. </dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>Convert this to use <code><a class="el" href="classIRsend.html#a7862231cbb1d50f42996c25e2f05b93e" title="Generic method for sending Manchester code messages. Will send leading or trailing 0&#39;s if the nbits i...">sendManchester()</a></code> if we can.` </dd></dl>
</div>
</div>
<a id="a4e38273aeacf01873a013c02d41a44e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4e38273aeacf01873a013c02d41a44e4">&#9670;&nbsp;</a></span>sendLegoPf()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendLegoPf </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a8a7c7659250a81c7c84fc739eafed13e">kLegoPfBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a2614cf3cb840f028eb1dc684aeb1272c">kLegoPfMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a LEGO Power Functions message. Status: Beta / Should work. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Non-zero repeats results in at least 5 messages per spec. </dd></dl>
</div>
</div>
<a id="a079a84c82f360d6d55fde5c27634f51c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a079a84c82f360d6d55fde5c27634f51c">&#9670;&nbsp;</a></span>sendLG()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendLG </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a256bd6093034b3e4c33324680f3a7102">kLgBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send an LG formatted message. (LG) Status: Beta / Should be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. Typically kLgBits or kLg32Bits. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>LG has a separate message to indicate a repeat, like NEC does. </dd></dl>
</div>
</div>
<a id="a5b6be1ceac8a4bc4ef55dc12eb060531"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b6be1ceac8a4bc4ef55dc12eb060531">&#9670;&nbsp;</a></span>sendLG2()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendLG2 </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a256bd6093034b3e4c33324680f3a7102">kLgBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send an LG Variant-2 formatted message. (LG2) Status: Beta / Should be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. Typically kLgBits or kLg32Bits. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>LG has a separate message to indicate a repeat, like NEC does. </dd></dl>
</div>
</div>
<a id="a85f2a98255d3af7b7407c082ea7b7c16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85f2a98255d3af7b7407c082ea7b7c16">&#9670;&nbsp;</a></span>sendLutron()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendLutron </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a814dfab515b91887c494237b1f6ebd99">kLutronBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Lutron formatted message. Status: Stable / Appears to be working for real devices. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The protocol is really 36 bits long, but the first bit is always a 1. So, assume the 1 and only have a normal payload of 35 bits. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/515">https://github.com/crankyoldgit/IRremoteESP8266/issues/515</a> </dd></dl>
</div>
</div>
<a id="af1d0e9ec0f735fc5fb9011d4f4cb8327"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af1d0e9ec0f735fc5fb9011d4f4cb8327">&#9670;&nbsp;</a></span>sendMagiQuest()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendMagiQuest </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#ad756bfec6eabbe2ac10b7847f87fb751">kMagiquestBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a MagiQuest formatted message. Status: Beta / Should be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7862231cbb1d50f42996c25e2f05b93e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7862231cbb1d50f42996c25e2f05b93e">&#9670;&nbsp;</a></span>sendManchester()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendManchester </td>
<td>(</td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>headermark</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>headerspace</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>half_period</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>footermark</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>gap</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>frequency</em> = <code>38</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>MSBfirst</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>dutycycle</em> = <code><a class="el" href="IRsend_8h.html#affa33c170fe058b783372852fca7cc5b">kDutyDefault</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>GEThomas</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Generic method for sending Manchester code messages. Will send leading or trailing 0's if the nbits is larger than the number. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">headermark</td><td>Nr. of usecs for the led to be pulsed for the header mark. A value of 0 means no header mark. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">headerspace</td><td>Nr. of usecs for the led to be off after the header mark. A value of 0 means no header space. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">half_period</td><td>Nr. of uSeconds for half the clock's period. (1/2 wavelength) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">footermark</td><td>Nr. of usecs for the led to be pulsed for the footer mark. A value of 0 means no footer mark. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">gap</td><td>Min. nr. of usecs for the led to be off after the footer mark. This is effectively the absolute minimum gap between messages. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The data to be transmitted. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>Nr. of bits of data to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">frequency</td><td>The frequency we want to modulate at. (Hz/kHz) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">MSBfirst</td><td>Flag for bit transmission order. Defaults to MSB-&gt;LSB order. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>Nr. of extra times the message will be sent. e.g. 0 = 1 message sent, 1 = 1 initial + 1 repeat = 2 messages </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dutycycle</td><td>Percentage duty cycle of the LED. e.g. 25 = 25% = 1/4 on, 3/4 off. If you are not sure, try 50 percent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">GEThomas</td><td>Use G.E. Thomas (true/default) or IEEE 802.3 (false). </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Assumes a frequency &lt; 1000 means kHz otherwise it is in Hz. Most common value is 38000 or 38, for 38kHz. </dd></dl>
</div>
</div>
<a id="aa76aa33785827c1278eb57d1c15236f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa76aa33785827c1278eb57d1c15236f8">&#9670;&nbsp;</a></span>sendManchesterData()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendManchesterData </td>
<td>(</td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>half_period</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>MSBfirst</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>GEThomas</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Generic method for sending Manchester code data. Will send leading or trailing 0's if the nbits is larger than the number of bits in data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">half_period</td><td>Nr. of uSeconds for half the clock's period. (1/2 wavelength) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The data to be transmitted. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>Nr. of bits of data to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">MSBfirst</td><td>Flag for bit transmission order. Defaults to MSB-&gt;LSB order. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">GEThomas</td><td>Use G.E. Thomas (true/default) or IEEE 802.3 (false). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab98023283eca787f7bb8bcb47f79ed01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab98023283eca787f7bb8bcb47f79ed01">&#9670;&nbsp;</a></span>sendMetz()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendMetz </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#ad07971b39dd912f9e01ab5912c0667e6">kMetzBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a06aa5d85cd9b325024d79ec9af9e30e4">kMetzMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Metz formatted message. Status: Beta / Needs testing against a real device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>containing the IR command. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>Nr. of bits to send. usually kMetzBits </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>Nr. of times the message is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a37d91b3a77b36509abdc53e2fec20a67"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37d91b3a77b36509abdc53e2fec20a67">&#9670;&nbsp;</a></span>sendMidea()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendMidea </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#afc98096b1e2945e2eaeb07d70d511239">kMideaBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#aa8876e8e177b8e71154f8cfb42b19160">kMideaMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Midea message Status: Alpha / Needs testing against a real device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a103d79e8df7954e9ab6284fa9f3daf02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a103d79e8df7954e9ab6284fa9f3daf02">&#9670;&nbsp;</a></span>sendMidea24()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendMidea24 </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#aff132faa67b1d07890378df5c9b52a14">kMidea24Bits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a8ed4bb62818fc64e4c4b60ef1094059e">kMidea24MinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Midea24 formatted message. Status: STABLE / Confirmed working on a real device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/1170">https://github.com/crankyoldgit/IRremoteESP8266/issues/1170</a> </dd></dl>
<dl class="section note"><dt>Note</dt><dd>This protocol is basically a 48-bit version of the NEC protocol with alternate bytes inverted, thus only 24 bits of real data, and with at least a single repeat. </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>Can't be used beyond 32 bits. </dd></dl>
</div>
</div>
<a id="a03427bab21dd5a04121c652103c2ef97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03427bab21dd5a04121c652103c2ef97">&#9670;&nbsp;</a></span>sendMirage()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendMirage </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#ab3b6bee4c5f483b4312a4b6eb5fcb146">kMirageStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a86283c34cf9991bf8bfc29ee089a6a21">kMirageMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Mirage formatted message. Status: STABLE / Reported as working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>An array of bytes containing the IR command. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>Nr. of bytes of data in the array. (&gt;=kMirageStateLength) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>Nr. of times the message is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a59e8941a25c5c0bbc839fba5b1a22813"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59e8941a25c5c0bbc839fba5b1a22813">&#9670;&nbsp;</a></span>sendMitsubishi()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendMitsubishi </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#abd2187340d0b94996136081413e2ad22">kMitsubishiBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#ad88bda81b48f25d30bb5a169d3b6bcec">kMitsubishiMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send the supplied Mitsubishi 16-bit message. Status: STABLE / Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This protocol appears to have no header. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/marcosamarinho/IRremoteESP8266/blob/master/ir_Mitsubishi.cpp">https://github.com/marcosamarinho/IRremoteESP8266/blob/master/ir_Mitsubishi.cpp</a> </dd>
<dd>
GlobalCache's Control Tower's Mitsubishi TV data. </dd></dl>
</div>
</div>
<a id="a0a55e688c6aad015494168f25eb337b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a55e688c6aad015494168f25eb337b5">&#9670;&nbsp;</a></span>sendMitsubishi112()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendMitsubishi112 </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a5ff0437b26e325bc2516a3e63c7ffe76">kMitsubishi112StateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a6bba58bb0f33feb9a6dfd20637d01d13">kMitsubishi112MinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Mitsubishi 112-bit A/C formatted message. (MITSUBISHI112) Status: Stable / Reported as working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/947">https://github.com/crankyoldgit/IRremoteESP8266/issues/947</a> </dd></dl>
</div>
</div>
<a id="a988a8b7dda3563977d537d6ac448ebc8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a988a8b7dda3563977d537d6ac448ebc8">&#9670;&nbsp;</a></span>sendMitsubishi136()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendMitsubishi136 </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a01adbe4e1afb2ba26a5a60bf5b0b42f6">kMitsubishi136StateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a448bd7af5fdab67fb40901a3d6efed21">kMitsubishi136MinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Mitsubishi 136-bit A/C message. (MITSUBISHI136) Status: BETA / Probably working. Needs to be tested against a real device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/888">https://github.com/crankyoldgit/IRremoteESP8266/issues/888</a> </dd></dl>
</div>
</div>
<a id="ac54e50a6819f5c39e060891f1f6ea0f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac54e50a6819f5c39e060891f1f6ea0f2">&#9670;&nbsp;</a></span>sendMitsubishi2()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendMitsubishi2 </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#abd2187340d0b94996136081413e2ad22">kMitsubishiBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#ad88bda81b48f25d30bb5a169d3b6bcec">kMitsubishiMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a supplied second variant Mitsubishi 16-bit message. Status: BETA / Probably works. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Based on a Mitsubishi HC3000 projector's remote. This protocol appears to have a mandatory in-protocol repeat. That is in <em>addition</em> to the entire message needing to be sent twice for the device to accept the command. That is separate from the repeat. i.e. Allegedly, the real remote requires the "Off" button pressed twice. You will need to add a suitable gap yourself. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/441">https://github.com/crankyoldgit/IRremoteESP8266/issues/441</a> </dd></dl>
</div>
</div>
<a id="a3600527a82f9f22387c9f16ae51fb06f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3600527a82f9f22387c9f16ae51fb06f">&#9670;&nbsp;</a></span>sendMitsubishiAC()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendMitsubishiAC </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a7d0d6dd6d5741f91a1afb641f11d9bc5">kMitsubishiACStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a376653a421df42d889ac3b2a071de58b">kMitsubishiACMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Mitsubishi 144-bit A/C formatted message. (MITSUBISHI_AC) Status: STABLE / Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae1cffc4882c63f192c231397d19a4032"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1cffc4882c63f192c231397d19a4032">&#9670;&nbsp;</a></span>sendMitsubishiHeavy152()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendMitsubishiHeavy152 </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a31d12a44c8c3a3c4533f65b8213e2086">kMitsubishiHeavy152StateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a789cbb74cf332f8440a4fcdcac188741">kMitsubishiHeavy152MinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a MitsubishiHeavy 152-bit A/C message. Status: BETA / Appears to be working. Needs testing against a real device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afaf4fd0c3dabd1bd6f8fe421294c5063"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afaf4fd0c3dabd1bd6f8fe421294c5063">&#9670;&nbsp;</a></span>sendMitsubishiHeavy88()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendMitsubishiHeavy88 </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a515e5a081c388dd4313b20ff2b6c7955">kMitsubishiHeavy88StateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#ad7bccde1a9b32c962c99748fb130f711">kMitsubishiHeavy88MinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a MitsubishiHeavy 88-bit A/C message. Status: BETA / Appears to be working. Needs testing against a real device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9026d42480b85270e560e122b8be3b6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9026d42480b85270e560e122b8be3b6c">&#9670;&nbsp;</a></span>sendMultibrackets()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendMultibrackets </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#aad7be0971479839493615cafcd654fc1">kMultibracketsBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a5aa418baefd018d5facc08d3bb721fe9">kMultibracketsDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Multibrackets formatted message. Status: BETA / Appears to be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a98301801daf929ec8ce022987ae394f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a98301801daf929ec8ce022987ae394f2">&#9670;&nbsp;</a></span>sendMWM()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendMWM </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a MWM packet/message. Status: Implemented. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This protocol is 2400 bps serial, 1 start bit (mark), 1 stop bit (space), no parity </dd></dl>
</div>
</div>
<a id="a324c9e455c0bae51ebe9bc07e915c043"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a324c9e455c0bae51ebe9bc07e915c043">&#9670;&nbsp;</a></span>sendNEC()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendNEC </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a65e03baf646815b4b02f943bdd74a097">kNECBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a raw NEC(Renesas) formatted message. Status: STABLE / Known working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This protocol appears to have no header. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a href="http://www.sbprojects.com/knowledge/ir/nec.php">http://www.sbprojects.com/knowledge/ir/nec.php</a> </dd></dl>
</div>
</div>
<a id="a71e1b5e780851210465bbf061b9c095b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71e1b5e780851210465bbf061b9c095b">&#9670;&nbsp;</a></span>sendNeoclima()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendNeoclima </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a5a871ed6d145c5ea3d50e96600c02e31">kNeoclimaStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a16fc26a3ff66a66068ac9638554df847">kNeoclimaMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Neoclima message. Status: STABLE / Known to be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a693e6616b81509cf27d1345c140acc96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a693e6616b81509cf27d1345c140acc96">&#9670;&nbsp;</a></span>sendNikai()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendNikai </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a9fce002592f9e2488b1b717d0b1a6a40">kNikaiBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Nikai formatted message. Status: STABLE / Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a92192475f89b19cfdf7fd0416a263145"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92192475f89b19cfdf7fd0416a263145">&#9670;&nbsp;</a></span>sendPanasonic()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendPanasonic </td>
<td>(</td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#aa148f54492be1cf8a8b285a96861a0b7">kPanasonicBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Panasonic formatted message. Status: STABLE, but DEPRECATED. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>This is only for legacy use only, please use <code><a class="el" href="classIRsend.html#adc4fd287f3546f7ff0b67e177a42b560" title="Send a Panasonic formatted message. Status: STABLE / Should be working.">sendPanasonic64()</a></code> instead. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>The 16-bit manufacturer code. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The 32-bit data portion of the message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This protocol is a modified version of Kaseikyo. </dd></dl>
</div>
</div>
<a id="adc4fd287f3546f7ff0b67e177a42b560"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc4fd287f3546f7ff0b67e177a42b560">&#9670;&nbsp;</a></span>sendPanasonic64()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendPanasonic64 </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#aa148f54492be1cf8a8b285a96861a0b7">kPanasonicBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Panasonic formatted message. Status: STABLE / Should be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This protocol is a modified version of Kaseikyo. </dd>
<dd>
Use this method if you want to send the results of <code>decodePanasonic</code>. </dd></dl>
</div>
</div>
<a id="a10a3c387a328dbb11733a251f4db7614"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10a3c387a328dbb11733a251f4db7614">&#9670;&nbsp;</a></span>sendPanasonicAC()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendPanasonicAC </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#ab21d86545b57738354e7a3b833d38f94">kPanasonicAcStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#af6b7c6ad564253cb128ac92c00e86f0c">kPanasonicAcDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Panasonic A/C message. Status: STABLE / Work with real device(s). </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="af281c7e8e09bb547bf7236dfd8b42154"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af281c7e8e09bb547bf7236dfd8b42154">&#9670;&nbsp;</a></span>sendPanasonicAC32()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendPanasonicAC32 </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#adae68c6e0ebe7d18c344d9cad5ca49f0">kPanasonicAc32Bits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#af6b7c6ad564253cb128ac92c00e86f0c">kPanasonicAcDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Panasonic AC 32/16bit formatted message. Status: STABLE / Confirmed working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>containing the IR command. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>Nr. of bits to send. Usually kPanasonicAc32Bits </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>Nr. of times the message is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/1307">https://github.com/crankyoldgit/IRremoteESP8266/issues/1307</a> </dd></dl>
</div>
</div>
<a id="a11f099f3768a659d1f996589cea8a313"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11f099f3768a659d1f996589cea8a313">&#9670;&nbsp;</a></span>sendPioneer()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendPioneer </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a6a7ccd31e0a6f967a219b1a53b89653b">kPioneerBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a raw Pioneer formatted message. Status: STABLE / Expected to be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0b349351e2ba19f87e6b01cde7e67c49"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b349351e2ba19f87e6b01cde7e67c49">&#9670;&nbsp;</a></span>sendPronto()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendPronto </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Pronto Code formatted message. Status: STABLE / Known working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>An array of uint16_t containing the pronto codes. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>Nr. of entries in the data[] array. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>Nr. of times to repeat the message. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Pronto codes are typically represented in hexadecimal. You will need to convert the code to an array of integers, and calculate it's length. e.g. <div class="fragment"><div class="line">A Sony 20 bit DVD remote command.</div>
<div class="line"><span class="stringliteral">&quot;0000 0067 0000 0015 0060 0018 0018 0018 0030 0018 0030 0018 0030 0018</span></div>
<div class="line"><span class="stringliteral"> 0018 0018 0030 0018 0018 0018 0018 0018 0030 0018 0018 0018 0030 0018</span></div>
<div class="line"><span class="stringliteral"> 0030 0018 0030 0018 0018 0018 0018 0018 0030 0018 0018 0018 0018 0018</span></div>
<div class="line"><span class="stringliteral"> 0030 0018 0018 03f6&quot;</span></div>
</div><!-- fragment --> converts to: <div class="fragment"><div class="line">uint16_t prontoCode[46] = {</div>
<div class="line"> 0x0000, 0x0067, 0x0000, 0x0015,</div>
<div class="line"> 0x0060, 0x0018, 0x0018, 0x0018, 0x0030, 0x0018, 0x0030, 0x0018,</div>
<div class="line"> 0x0030, 0x0018, 0x0018, 0x0018, 0x0030, 0x0018, 0x0018, 0x0018,</div>
<div class="line"> 0x0018, 0x0018, 0x0030, 0x0018, 0x0018, 0x0018, 0x0030, 0x0018,</div>
<div class="line"> 0x0030, 0x0018, 0x0030, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018,</div>
<div class="line"> 0x0030, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0030, 0x0018,</div>
<div class="line"> 0x0018, 0x03f6};</div>
<div class="line"><span class="comment">// Send the Pronto(Sony) code. Repeat twice as Sony&#39;s require that.</span></div>
<div class="line"><a class="code" href="classIRsend.html#a0b349351e2ba19f87e6b01cde7e67c49">sendPronto</a>(prontoCode, 46, <a class="code" href="IRremoteESP8266_8h.html#a112408429fb4a5cca22a66a351453bad">kSonyMinRepeat</a>);</div>
</div><!-- fragment --> </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a href="http://www.etcwiki.org/wiki/Pronto_Infrared_Format">http://www.etcwiki.org/wiki/Pronto_Infrared_Format</a> </dd>
<dd>
<a href="http://www.remotecentral.com/features/irdisp2.htm">http://www.remotecentral.com/features/irdisp2.htm</a> </dd></dl>
</div>
</div>
<a id="a2b9b84f828918f933bd1764d113b53f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b9b84f828918f933bd1764d113b53f8">&#9670;&nbsp;</a></span>sendRaw()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendRaw </td>
<td>(</td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>buf</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>hz</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a raw IRremote message. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">buf</td><td>An array of uint16_t's that has microseconds elements. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>Nr. of elements in the buf[] array. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">hz</td><td>Frequency to send the message at. (kHz &lt; 1000; Hz &gt;= 1000) </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Even elements are Mark times (On), Odd elements are Space times (Off). Ref: examples/IRrecvDumpV2/IRrecvDumpV2.ino (or later) </dd></dl>
</div>
</div>
<a id="a2bd2ccb27ecd57e14b36f76d82af308a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2bd2ccb27ecd57e14b36f76d82af308a">&#9670;&nbsp;</a></span>sendRC5()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendRC5 </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#abec3ebb217126560e824fa8b66d495bc">kRC5XBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Philips RC-5/RC-5X packet. Status: RC-5 (stable), RC-5X (alpha) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Caller needs to take care of flipping the toggle bit. That bit differentiates between key press &amp; key release. For RC-5 it is the MSB of the data. For RC-5X it is the 2nd MSB of the data. </dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>Testing of the RC-5X components. </dd></dl>
</div>
</div>
<a id="a2192a95e0d162f9b1775fc2a47f65c37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2192a95e0d162f9b1775fc2a47f65c37">&#9670;&nbsp;</a></span>sendRC6()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendRC6 </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a84a6d3e15e98f7a4917d252d5665534a">kRC6Mode0Bits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Philips RC-6 packet. Status: Stable. </p>
<dl class="section note"><dt>Note</dt><dd>Caller needs to take care of flipping the toggle bit (The 4th Most Significant Bit). That bit differentiates between key press &amp; key release. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3cafe475a58234a0d3aa655a2464be75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3cafe475a58234a0d3aa655a2464be75">&#9670;&nbsp;</a></span>sendRCMM()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendRCMM </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a2bfaf393c2d77a594f2a0a5a763e84f5">kRCMMBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Philips RC-MM packet. Status: STABLE / Should be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5252dd159aad713c099de6728ac56d81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5252dd159aad713c099de6728ac56d81">&#9670;&nbsp;</a></span>sendSAMSUNG()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendSAMSUNG </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a7c1c015cce09284799cbf5a2f21ee170">kSamsungBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a 32-bit Samsung formatted message. Status: STABLE / Should be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="http://elektrolab.wz.cz/katalog/samsung_protocol.pdf">http://elektrolab.wz.cz/katalog/samsung_protocol.pdf</a> </dd></dl>
<dl class="section note"><dt>Note</dt><dd>Samsung has a separate message to indicate a repeat, like NEC does. </dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000006">Todo:</a></b></dt><dd>Confirm that is actually how Samsung sends a repeat. The refdoc doesn't indicate it is true. </dd></dl>
</div>
</div>
<a id="ab5dcd4ec5ddb0b0351870ddf54e5ba66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5dcd4ec5ddb0b0351870ddf54e5ba66">&#9670;&nbsp;</a></span>sendSamsung36()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendSamsung36 </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a5e1e6f30a41f0d94652429a9e1034179">kSamsung36Bits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Samsung 36-bit formatted message. Status: STABLE / Works on real devices. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/621">https://github.com/crankyoldgit/IRremoteESP8266/issues/621</a> </dd></dl>
</div>
</div>
<a id="a2773d251da1d35b964810c8cc4cb438b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2773d251da1d35b964810c8cc4cb438b">&#9670;&nbsp;</a></span>sendSamsungAC()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendSamsungAC </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a2d07d8c8917fee072a261d00e67e0d36">kSamsungAcStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a973f4e0189fc10805f67b67f708be1e4">kSamsungAcDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Samsung A/C message. Status: Stable / Known working. </p>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/505">https://github.com/crankyoldgit/IRremoteESP8266/issues/505</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab606c11f7bdc726289ba4dadf8bd9da6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab606c11f7bdc726289ba4dadf8bd9da6">&#9670;&nbsp;</a></span>sendSanyoAc()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendSanyoAc </td>
<td>(</td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#ae3128c987a1571fb6b021ffe30079663">kSanyoAcStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a SanyoAc formatted message. Status: STABLE / Reported as working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>An array of bytes containing the IR command. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>Nr. of bytes of data in the array. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>Nr. of times the message is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/1211">https://github.com/crankyoldgit/IRremoteESP8266/issues/1211</a> </dd></dl>
</div>
</div>
<a id="aa23e51a97a0ec1907d22623fed6dd223"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa23e51a97a0ec1907d22623fed6dd223">&#9670;&nbsp;</a></span>sendSanyoLC7461()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendSanyoLC7461 </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#ad067db05b273337e0df38d529094c9e8">kSanyoLC7461Bits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Sanyo LC7461 message. Status: BETA / Probably works. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Based on @marcosamarinho's work. This protocol uses the NEC protocol timings. However, data is formatted as : address(13 bits), !address, command (8 bits), !command. According with LIRC, this protocol is used on Sanyo, Aiwa and Chinon Information for this protocol is available at the Sanyo LC7461 datasheet. Repeats are performed similar to the NEC method of sending a special repeat message, rather than duplicating the entire message. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/marcosamarinho/IRremoteESP8266/blob/master/ir_Sanyo.cpp">https://github.com/marcosamarinho/IRremoteESP8266/blob/master/ir_Sanyo.cpp</a> </dd>
<dd>
<a href="http://pdf.datasheetcatalog.com/datasheet/sanyo/LC7461.pdf">http://pdf.datasheetcatalog.com/datasheet/sanyo/LC7461.pdf</a> </dd></dl>
</div>
</div>
<a id="a801ae78ac5a72116c566c4ac5f99c6bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a801ae78ac5a72116c566c4ac5f99c6bd">&#9670;&nbsp;</a></span>sendSharp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendSharp </td>
<td>(</td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>command</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a8a74f9d7cec751cc0945fd89fa6237ae">kSharpBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Sharp message Status: DEPRECATED / Previously working fine. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>Only use this if you are using legacy from the original Arduino-IRremote library. 99% of the time, you will want to use <code><a class="el" href="classIRsend.html#aa1f12fd537ca8c21c183ee41d17a3afc" title="Send a (raw) Sharp message.">sendSharpRaw()</a></code> instead </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>Address value to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">command</td><td>Command value to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This procedure has a non-standard invocation style compared to similar sendProtocol() routines. This is due to legacy, compatibility, &amp; historic reasons. Normally the calling syntax version is like <a class="el" href="classIRsend.html#aa1f12fd537ca8c21c183ee41d17a3afc" title="Send a (raw) Sharp message.">sendSharpRaw()</a>. This procedure transmits the address &amp; command in MSB first order, which is incorrect. This behaviour is left as-is to maintain backward compatibility with legacy code. In short, you should use <a class="el" href="classIRsend.html#aa1f12fd537ca8c21c183ee41d17a3afc" title="Send a (raw) Sharp message.">sendSharpRaw()</a>, <a class="el" href="classIRsend.html#a8f4c7a36380ba31155eba5ff8f5f631e" title="Encode a (raw) Sharp message from it&#39;s components. Status: STABLE / Works okay.">encodeSharp()</a>, and the correct values of address &amp; command instead of using this, &amp; the wrong values. </dd></dl>
</div>
</div>
<a id="a438e4c9d50e62da7d772d8d638728213"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a438e4c9d50e62da7d772d8d638728213">&#9670;&nbsp;</a></span>sendSharpAc()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendSharpAc </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a5192edb9406a8572e393918bab69e3c6">kSharpAcStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a7f0438831899e3df16f9002717c818b9">kSharpAcDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Sharp A/C message. Status: Alpha / Untested. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/638">https://github.com/crankyoldgit/IRremoteESP8266/issues/638</a> </dd>
<dd>
<a href="https://github.com/ToniA/arduino-heatpumpir/blob/master/SharpHeatpumpIR.cpp">https://github.com/ToniA/arduino-heatpumpir/blob/master/SharpHeatpumpIR.cpp</a> </dd></dl>
</div>
</div>
<a id="aa1f12fd537ca8c21c183ee41d17a3afc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1f12fd537ca8c21c183ee41d17a3afc">&#9670;&nbsp;</a></span>sendSharpRaw()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendSharpRaw </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a8a74f9d7cec751cc0945fd89fa6237ae">kSharpBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a (raw) Sharp message. </p>
<dl class="section note"><dt>Note</dt><dd>Status: STABLE / Working fine. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>his procedure handles the inversion of bits required per protocol. The protocol spec says to send the LSB first, but legacy code &amp; usage has us sending the MSB first. Grrrr. Normal invocation of <a class="el" href="classIRsend.html#a8f4c7a36380ba31155eba5ff8f5f631e" title="Encode a (raw) Sharp message from it&#39;s components. Status: STABLE / Works okay.">encodeSharp()</a> handles this for you, assuming you are using the correct/standard values. e.g. sendSharpRaw(encodeSharp(address, command)); </dd></dl>
</div>
</div>
<a id="afb3a89acfb868c92a997a3000e70c6e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb3a89acfb868c92a997a3000e70c6e8">&#9670;&nbsp;</a></span>sendSherwood()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendSherwood </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a94abd640c9e7aa225f4a8873a1ddea6a">kSherwoodBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a2e00b92b55657fc4e140eb85e3a414dc">kSherwoodMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send an IR command to a Sherwood device. Status: STABLE / Known working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Sherwood remote codes appear to be NEC codes with a mandatory repeat code. i.e. repeat should be &gt;= kSherwoodMinRepeat (1). </dd></dl>
</div>
</div>
<a id="a02bb64503474a0841c51664cf4668d85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a02bb64503474a0841c51664cf4668d85">&#9670;&nbsp;</a></span>sendSony()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendSony </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#aa9cd1ff8036f6c3a288c4f34af4a5eb4">kSony20Bits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a112408429fb4a5cca22a66a351453bad">kSonyMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a standard Sony/SIRC(Serial Infra-Red Control) message. (40kHz) Status: STABLE / Known working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><a class="el" href="classIRsend.html#a02bb64503474a0841c51664cf4668d85" title="Send a standard Sony/SIRC(Serial Infra-Red Control) message. (40kHz) Status: STABLE / Known working.">sendSony()</a> should typically be called with repeat=2 as Sony devices expect the message to be sent at least 3 times. </dd></dl>
</div>
</div>
<a id="a558442f49b32453f0fb987c29e1ec6d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a558442f49b32453f0fb987c29e1ec6d3">&#9670;&nbsp;</a></span>sendSony38()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendSony38 </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#aa9cd1ff8036f6c3a288c4f34af4a5eb4">kSony20Bits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a112408429fb4a5cca22a66a351453bad">kSonyMinRepeat</a>&#160;+&#160;1</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send an alternative 38kHz Sony/SIRC(Serial Infra-Red Control) message. Status: STABLE / Known working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><code><a class="el" href="classIRsend.html#a558442f49b32453f0fb987c29e1ec6d3" title="Send an alternative 38kHz Sony/SIRC(Serial Infra-Red Control) message. Status: STABLE / Known working...">sendSony38()</a></code> should typically be called with repeat=3 as these Sony devices expect the message to be sent at least 4 times. </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>Messages send via this method will be detected by this library as just <code>SONY</code>, not <code>SONY_38K</code> as the library has no way to determine the modulation frequency used. Hence, there is no <code>decodeSony38()</code>. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/crankyoldgit/IRremoteESP8266/issues/1018">https://github.com/crankyoldgit/IRremoteESP8266/issues/1018</a> </dd></dl>
</div>
</div>
<a id="a1f1d5a30660ab0061f64d559d4916d4e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f1d5a30660ab0061f64d559d4916d4e">&#9670;&nbsp;</a></span>sendSymphony()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendSymphony </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#abb5b89578ab0757999530c0383f38533">kSymphonyBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a219b8495f77932c200680f7a2b133880">kSymphonyDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Symphony packet. Status: STABLE / Should be working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2dedce2841e4a6445a98f03393fce823"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2dedce2841e4a6445a98f03393fce823">&#9670;&nbsp;</a></span>sendTcl112Ac()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendTcl112Ac </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a23ba2f5af02242e14ae7eefcd066152e">kTcl112AcStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a97c82cec6d72845d9ab8a201b0fa5034">kTcl112AcDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a TCL 112-bit A/C message. Status: Beta / Probably working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afcc65332acb4b5a1edc623194cc2ac7e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afcc65332acb4b5a1edc623194cc2ac7e">&#9670;&nbsp;</a></span>sendTechnibelAc()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendTechnibelAc </td>
<td>(</td>
<td class="paramtype">uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a0c4bc77a2443037598940b955c83eb82">kTechnibelAcBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a0e797e69cca806e73c902f5d9dfe1bf1">kTechnibelAcDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send an Technibel AC formatted message. Status: STABLE / Reported as working on a real device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>containing the IR command. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>Nr. of bits to send. usually kTechnibelAcBits </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>Nr. of times the message is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac6300f977fe94119813481ba682ce33f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6300f977fe94119813481ba682ce33f">&#9670;&nbsp;</a></span>sendTeco()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendTeco </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#aee01958e9d97a70a6881cf560ca0ca9d">kTecoBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Teco A/C message. Status: Beta / Probably working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5554dd976b56148e214dca9891d2810c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5554dd976b56148e214dca9891d2810c">&#9670;&nbsp;</a></span>sendToshibaAC()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendToshibaAC </td>
<td>(</td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#ad3be6a1b9241c20bb1464a2cb80b97d2">kToshibaACStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a8fca6a7c3cd608ff49cab35f24af0546">kToshibaACMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Toshiba A/C message. Status: STABLE / Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aba4e3420174de6b5538ae91f20d19e21"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba4e3420174de6b5538ae91f20d19e21">&#9670;&nbsp;</a></span>sendTranscold()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendTranscold </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#abe50a182c1f65378337705d2784e2fdb">kTranscoldBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a17cef98fbfae6a84c0a3e009fb3c31d0">kTranscoldDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Transcold message Status: STABLE / Confirmed Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a135796327b5db127473f4d198e663c00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a135796327b5db127473f4d198e663c00">&#9670;&nbsp;</a></span>sendTrotec()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendTrotec </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#ae1d2aa52fef81f03b92c35f4970728d2">kTrotecStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a4c0411462f2854a8606deca09ed15df5">kTrotecDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Trotec message. Status: Beta / Probably Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a129a40f9d344cb0fadfd4cca53ca6b44"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a129a40f9d344cb0fadfd4cca53ca6b44">&#9670;&nbsp;</a></span>sendVestelAc()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendVestelAc </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#ae31945a1ce90b2d4c33b5c91d980d3a7">kVestelAcBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Vestel message Status: STABLE / Working. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3bda5e5e44d2c0e811e9fe3d42b241bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3bda5e5e44d2c0e811e9fe3d42b241bf">&#9670;&nbsp;</a></span>sendVoltas()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendVoltas </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a336bd721135fc8b869941cd3aa73646e">kVoltasStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Voltas formatted message. Status: STABLE / Working on real device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>An array of bytes containing the IR command. It is assumed to be in MSB order for this code. e.g. <div class="fragment"><div class="line">uint8_t data[<a class="code" href="IRremoteESP8266_8h.html#a336bd721135fc8b869941cd3aa73646e">kVoltasStateLength</a>] = {0x33, 0x28, 0x88, 0x1A, 0x3B, 0x3B,</div>
<div class="line"> 0x3B, 0x11, 0x00, 0x40};</div>
</div><!-- fragment --> </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>Nr. of bytes of data in the array. (&gt;=kVoltasStateLength) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>Nr. of times the message is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa440a50000a259072f93ad6c0e42ec22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa440a50000a259072f93ad6c0e42ec22">&#9670;&nbsp;</a></span>sendWhirlpoolAC()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendWhirlpoolAC </td>
<td>(</td>
<td class="paramtype">const unsigned char&#160;</td>
<td class="paramname"><em>data</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbytes</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a0fff60a43f776fb999d0f1f91d88154f">kWhirlpoolAcStateLength</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a3b41358898f69d96bdeece17ead13ee0">kWhirlpoolAcDefaultRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Whirlpool A/C message. Status: BETA / Probably works. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbytes</td><td>The number of bytes of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a07188366deed3dd902cba80a711cf220"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07188366deed3dd902cba80a711cf220">&#9670;&nbsp;</a></span>sendWhynter()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendWhynter </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a4553f6670e241a67104d45216a4ebd98">kWhynterBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a1a49dde7ffbd753f7756cf0c9dc6d826">kNoRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Whynter message. Status: STABLE. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The number of bits of message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the command is to be repeated. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/z3t0/Arduino-IRremote/blob/master/ir_Whynter.cpp">https://github.com/z3t0/Arduino-IRremote/blob/master/ir_Whynter.cpp</a> </dd></dl>
</div>
</div>
<a id="a9bcba8bbac41d679b5b930e67d3e1b7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9bcba8bbac41d679b5b930e67d3e1b7f">&#9670;&nbsp;</a></span>sendZepeal()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::sendZepeal </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#af09c9402a1c4fa24f692994498641296">kZepealBits</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>repeat</em> = <code><a class="el" href="IRremoteESP8266_8h.html#afb5c734e808d8f108f976f0556bf6e58">kZepealMinRepeat</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a Zepeal formatted message. Status: STABLE / Works on real device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The message to be sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>The bit size of the message being sent. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">repeat</td><td>The number of times the message is to be repeated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0417b10d4e16718a87f8b2062a7d04a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0417b10d4e16718a87f8b2062a7d04a1">&#9670;&nbsp;</a></span>space()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void IRsend::space </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>time</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Turn the pin (LED) off for a given time. Sends an IR space for the specified number of microseconds. A space is no output, so the PWM output is disabled. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">time</td><td>Time in microseconds (us). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a42a78d4a3ef0f88b54bee488320344da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42a78d4a3ef0f88b54bee488320344da">&#9670;&nbsp;</a></span>toggleRC5()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t IRsend::toggleRC5 </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Flip the toggle bit of a Philips RC-5/RC-5X data message. Used to indicate a change of remote button's state. Status: STABLE. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The existing RC-5/RC-5X message. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A data message suitable for use in <a class="el" href="classIRsend.html#a2bd2ccb27ecd57e14b36f76d82af308a" title="Send a Philips RC-5/RC-5X packet. Status: RC-5 (stable), RC-5X (alpha)">sendRC5()</a> with the toggle bit flipped. </dd></dl>
</div>
</div>
<a id="a5a0e8778394021ea12a8b8c2daf0add6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a0e8778394021ea12a8b8c2daf0add6">&#9670;&nbsp;</a></span>toggleRC6()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t IRsend::toggleRC6 </td>
<td>(</td>
<td class="paramtype">const uint64_t&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>nbits</em> = <code><a class="el" href="IRremoteESP8266_8h.html#a84a6d3e15e98f7a4917d252d5665534a">kRC6Mode0Bits</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Flip the toggle bit of a Philips RC-6 data message. Used to indicate a change of remote button's state. Status: STABLE / Should work fine. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>The existing RC-6 message. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">nbits</td><td>Nr. of bits in the RC-6 protocol. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A data message suitable for use in <a class="el" href="classIRsend.html#a2192a95e0d162f9b1775fc2a47f65c37" title="Send a Philips RC-6 packet. Status: Stable.">sendRC6()</a> with the toggle bit flipped. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>For RC-6 (20-bits), it is the 17th least significant bit. </dd>
<dd>
For RC-6 (36-bits/Xbox-360), it is the 16th least significant bit. </dd></dl>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a602e96e8cdbd6af41d288d905043e51f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a602e96e8cdbd6af41d288d905043e51f">&#9670;&nbsp;</a></span>_dutycycle</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t IRsend::_dutycycle</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2caec2f35ecdb890b1e34d9eb3642363"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2caec2f35ecdb890b1e34d9eb3642363">&#9670;&nbsp;</a></span>_freq_unittest</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t IRsend::_freq_unittest</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae4a6ea1e72f4861167002d6e7bf17b7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4a6ea1e72f4861167002d6e7bf17b7c">&#9670;&nbsp;</a></span>IRpin</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint16_t IRsend::IRpin</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a11e26c03c87e2bed756eb7f318570bd8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11e26c03c87e2bed756eb7f318570bd8">&#9670;&nbsp;</a></span>modulation</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool IRsend::modulation</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9e45c9e4f54db86c1f3e506cd72fe4c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e45c9e4f54db86c1f3e506cd72fe4c1">&#9670;&nbsp;</a></span>offTimePeriod</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint16_t IRsend::offTimePeriod</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aaaa65f31dbea033f8130e847b0366d94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaaa65f31dbea033f8130e847b0366d94">&#9670;&nbsp;</a></span>onTimePeriod</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint16_t IRsend::onTimePeriod</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5e80df8b2ee534dbd6ddc30a852a2791"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e80df8b2ee534dbd6ddc30a852a2791">&#9670;&nbsp;</a></span>outputOff</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t IRsend::outputOff</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4acfc45b339e724e2dbdff24762dfa7d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4acfc45b339e724e2dbdff24762dfa7d">&#9670;&nbsp;</a></span>outputOn</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t IRsend::outputOn</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1b5180cbf4f88f19fca3f677e1e91b96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b5180cbf4f88f19fca3f677e1e91b96">&#9670;&nbsp;</a></span>periodOffset</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int8_t IRsend::periodOffset</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/<a class="el" href="IRsend_8h_source.html">IRsend.h</a></li>
<li>src/<a class="el" href="ir__Airwell_8cpp.html">ir_Airwell.cpp</a></li>
<li>src/<a class="el" href="ir__Aiwa_8cpp.html">ir_Aiwa.cpp</a></li>
<li>src/<a class="el" href="ir__Amcor_8cpp.html">ir_Amcor.cpp</a></li>
<li>src/<a class="el" href="ir__Argo_8cpp.html">ir_Argo.cpp</a></li>
<li>src/<a class="el" href="ir__Carrier_8cpp.html">ir_Carrier.cpp</a></li>
<li>src/<a class="el" href="ir__Coolix_8cpp.html">ir_Coolix.cpp</a></li>
<li>src/<a class="el" href="ir__Corona_8cpp.html">ir_Corona.cpp</a></li>
<li>src/<a class="el" href="ir__Daikin_8cpp.html">ir_Daikin.cpp</a></li>
<li>src/<a class="el" href="ir__Delonghi_8cpp.html">ir_Delonghi.cpp</a></li>
<li>src/<a class="el" href="ir__Denon_8cpp.html">ir_Denon.cpp</a></li>
<li>src/<a class="el" href="ir__Dish_8cpp.html">ir_Dish.cpp</a></li>
<li>src/<a class="el" href="ir__Doshisha_8cpp.html">ir_Doshisha.cpp</a></li>
<li>src/<a class="el" href="ir__Electra_8cpp.html">ir_Electra.cpp</a></li>
<li>src/<a class="el" href="ir__EliteScreens_8cpp.html">ir_EliteScreens.cpp</a></li>
<li>src/<a class="el" href="ir__Epson_8cpp.html">ir_Epson.cpp</a></li>
<li>src/<a class="el" href="ir__Fujitsu_8cpp.html">ir_Fujitsu.cpp</a></li>
<li>src/<a class="el" href="ir__GICable_8cpp.html">ir_GICable.cpp</a></li>
<li>src/<a class="el" href="ir__GlobalCache_8cpp.html">ir_GlobalCache.cpp</a></li>
<li>src/<a class="el" href="ir__Goodweather_8cpp.html">ir_Goodweather.cpp</a></li>
<li>src/<a class="el" href="ir__Gree_8cpp.html">ir_Gree.cpp</a></li>
<li>src/<a class="el" href="ir__Haier_8cpp.html">ir_Haier.cpp</a></li>
<li>src/<a class="el" href="ir__Hitachi_8cpp.html">ir_Hitachi.cpp</a></li>
<li>src/<a class="el" href="ir__Inax_8cpp.html">ir_Inax.cpp</a></li>
<li>src/<a class="el" href="ir__JVC_8cpp.html">ir_JVC.cpp</a></li>
<li>src/<a class="el" href="ir__Kelvinator_8cpp.html">ir_Kelvinator.cpp</a></li>
<li>src/<a class="el" href="ir__Lasertag_8cpp.html">ir_Lasertag.cpp</a></li>
<li>src/<a class="el" href="ir__Lego_8cpp.html">ir_Lego.cpp</a></li>
<li>src/<a class="el" href="ir__LG_8cpp.html">ir_LG.cpp</a></li>
<li>src/<a class="el" href="ir__Lutron_8cpp.html">ir_Lutron.cpp</a></li>
<li>src/<a class="el" href="ir__Magiquest_8cpp.html">ir_Magiquest.cpp</a></li>
<li>src/<a class="el" href="ir__Metz_8cpp.html">ir_Metz.cpp</a></li>
<li>src/<a class="el" href="ir__Midea_8cpp.html">ir_Midea.cpp</a></li>
<li>src/<a class="el" href="ir__Mirage_8cpp.html">ir_Mirage.cpp</a></li>
<li>src/<a class="el" href="ir__Mitsubishi_8cpp.html">ir_Mitsubishi.cpp</a></li>
<li>src/<a class="el" href="ir__MitsubishiHeavy_8cpp.html">ir_MitsubishiHeavy.cpp</a></li>
<li>src/<a class="el" href="ir__Multibrackets_8cpp.html">ir_Multibrackets.cpp</a></li>
<li>src/<a class="el" href="ir__MWM_8cpp.html">ir_MWM.cpp</a></li>
<li>src/<a class="el" href="ir__NEC_8cpp.html">ir_NEC.cpp</a></li>
<li>src/<a class="el" href="ir__Neoclima_8cpp.html">ir_Neoclima.cpp</a></li>
<li>src/<a class="el" href="ir__Nikai_8cpp.html">ir_Nikai.cpp</a></li>
<li>src/<a class="el" href="ir__Panasonic_8cpp.html">ir_Panasonic.cpp</a></li>
<li>src/<a class="el" href="ir__Pioneer_8cpp.html">ir_Pioneer.cpp</a></li>
<li>src/<a class="el" href="ir__Pronto_8cpp.html">ir_Pronto.cpp</a></li>
<li>src/<a class="el" href="ir__RC5__RC6_8cpp.html">ir_RC5_RC6.cpp</a></li>
<li>src/<a class="el" href="ir__RCMM_8cpp.html">ir_RCMM.cpp</a></li>
<li>src/<a class="el" href="ir__Samsung_8cpp.html">ir_Samsung.cpp</a></li>
<li>src/<a class="el" href="ir__Sanyo_8cpp.html">ir_Sanyo.cpp</a></li>
<li>src/<a class="el" href="ir__Sharp_8cpp.html">ir_Sharp.cpp</a></li>
<li>src/<a class="el" href="ir__Sherwood_8cpp.html">ir_Sherwood.cpp</a></li>
<li>src/<a class="el" href="ir__Sony_8cpp.html">ir_Sony.cpp</a></li>
<li>src/<a class="el" href="ir__Symphony_8cpp.html">ir_Symphony.cpp</a></li>
<li>src/<a class="el" href="ir__Tcl_8cpp.html">ir_Tcl.cpp</a></li>
<li>src/<a class="el" href="ir__Technibel_8cpp.html">ir_Technibel.cpp</a></li>
<li>src/<a class="el" href="ir__Teco_8cpp.html">ir_Teco.cpp</a></li>
<li>src/<a class="el" href="ir__Toshiba_8cpp.html">ir_Toshiba.cpp</a></li>
<li>src/<a class="el" href="ir__Transcold_8cpp.html">ir_Transcold.cpp</a></li>
<li>src/<a class="el" href="ir__Trotec_8cpp.html">ir_Trotec.cpp</a></li>
<li>src/<a class="el" href="ir__Vestel_8cpp.html">ir_Vestel.cpp</a></li>
<li>src/<a class="el" href="ir__Voltas_8cpp.html">ir_Voltas.cpp</a></li>
<li>src/<a class="el" href="ir__Whirlpool_8cpp.html">ir_Whirlpool.cpp</a></li>
<li>src/<a class="el" href="ir__Whynter_8cpp.html">ir_Whynter.cpp</a></li>
<li>src/<a class="el" href="ir__Zepeal_8cpp.html">ir_Zepeal.cpp</a></li>
<li>src/<a class="el" href="IRsend_8cpp.html">IRsend.cpp</a></li>
</ul>
</div><!-- contents -->
<div class="ttc" id="aclassIRsend_html_a0b349351e2ba19f87e6b01cde7e67c49"><div class="ttname"><a href="classIRsend.html#a0b349351e2ba19f87e6b01cde7e67c49">IRsend::sendPronto</a></div><div class="ttdeci">void sendPronto(uint16_t data[], uint16_t len, uint16_t repeat=kNoRepeat)</div><div class="ttdoc">Send a Pronto Code formatted message. Status: STABLE / Known working.</div><div class="ttdef"><b>Definition:</b> ir_Pronto.cpp:56</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_a336bd721135fc8b869941cd3aa73646e"><div class="ttname"><a href="IRremoteESP8266_8h.html#a336bd721135fc8b869941cd3aa73646e">kVoltasStateLength</a></div><div class="ttdeci">const uint16_t kVoltasStateLength</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:1096</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_ab18df94a82b365ff30caaabb05a9fcaf"><div class="ttname"><a href="IRremoteESP8266_8h.html#ab18df94a82b365ff30caaabb05a9fcaf">kCoronaAcStateLength</a></div><div class="ttdeci">const uint16_t kCoronaAcStateLength</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:898</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_a112408429fb4a5cca22a66a351453bad"><div class="ttname"><a href="IRremoteESP8266_8h.html#a112408429fb4a5cca22a66a351453bad">kSonyMinRepeat</a></div><div class="ttdeci">const uint16_t kSonyMinRepeat</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:1068</div></div>
<!-- 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.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>