Tasmota/lib/IRremoteESP8266-2.7.8/docs/doxygen/html/ir__Haier_8h_source.html
2020-06-24 21:48:33 +02:00

588 lines
133 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: src/ir_Haier.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">ir_Haier.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="ir__Haier_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2018 crankyoldgit</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// Supports:</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// Brand: Haier, Model: HSU07-HEA03 remote (HAIER_AC)</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// Brand: Haier, Model: YR-W02 remote (HAIER_AC_YRW02)</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// Brand: Haier, Model: HSU-09HMC203 A/C (HAIER_AC_YRW02)</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; </div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#ifndef IR_HAIER_H_</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#define IR_HAIER_H_</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; </div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &lt;Arduino.h&gt;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a>&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRsend_8h.html">IRsend.h</a>&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#ifdef UNIT_TEST</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;IRsend_test.h&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment">// Constants</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment">// Haier HSU07-HEA03 remote</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment">// Byte 0</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a8502c9bea40205e01e6a01b47354272a"> 33</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a8502c9bea40205e01e6a01b47354272a">kHaierAcPrefix</a> = 0b10100101;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment">// Byte 1</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aafd2a4f38ecf78482a5a94e9c6c23f1c"> 36</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aafd2a4f38ecf78482a5a94e9c6c23f1c">kHaierAcMinTemp</a> = 16;</div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a86c9e8176fc01e52e883cadcc1d31763"> 37</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a86c9e8176fc01e52e883cadcc1d31763">kHaierAcDefTemp</a> = 25;</div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a925252489fe34d9932151817d0dbe90b"> 38</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a925252489fe34d9932151817d0dbe90b">kHaierAcMaxTemp</a> = 30;</div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a96599917176ee244874926d1a530dd7e"> 39</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a96599917176ee244874926d1a530dd7e">kHaierAcCmdOff</a> = 0b0000;</div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a83973c2ad2b7b95611c81628c387e0d8"> 40</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a83973c2ad2b7b95611c81628c387e0d8">kHaierAcCmdOn</a> = 0b0001;</div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a4543aa4ee28323bb9cb5c077f9bf9da1"> 41</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a4543aa4ee28323bb9cb5c077f9bf9da1">kHaierAcCmdMode</a> = 0b0010;</div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a447818ec7970e2ca09540afe44ecf90d"> 42</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a447818ec7970e2ca09540afe44ecf90d">kHaierAcCmdFan</a> = 0b0011;</div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aab5363f07920971c31d6acf8e70d392c"> 43</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aab5363f07920971c31d6acf8e70d392c">kHaierAcCmdTempUp</a> = 0b0110;</div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aecc31139b4e45a7784669554c6fdbb54"> 44</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aecc31139b4e45a7784669554c6fdbb54">kHaierAcCmdTempDown</a> = 0b0111;</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#abe52b62dd513395f2a8c7d47fa2fc514"> 45</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#abe52b62dd513395f2a8c7d47fa2fc514">kHaierAcCmdSleep</a> = 0b1000;</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a9bd7c081d460a4ae5e3eac977f3916e4"> 46</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a9bd7c081d460a4ae5e3eac977f3916e4">kHaierAcCmdTimerSet</a> = 0b1001;</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ab780da80fc471f004c5b34dc8f347d00"> 47</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ab780da80fc471f004c5b34dc8f347d00">kHaierAcCmdTimerCancel</a> = 0b1010;</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a83cd0b5f307d9ae3ed0a3c6ed8fef94d"> 48</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a83cd0b5f307d9ae3ed0a3c6ed8fef94d">kHaierAcCmdHealth</a> = 0b1100;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#afab164c2aabf39fdc1e956ff88af19d9"> 49</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#afab164c2aabf39fdc1e956ff88af19d9">kHaierAcCmdSwing</a> = 0b1101;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; </div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment">// Byte 2 (Clock Hours)</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; </div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment">// Byte 3 (Timer Flags &amp; Clock Minutes)</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ace8cd6ed41c3f247ada91052d653b515"> 54</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ace8cd6ed41c3f247ada91052d653b515">kHaierAcOffTimerOffset</a> = 6;</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a5189092c278fb5c31efd4f539f905da5"> 55</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a5189092c278fb5c31efd4f539f905da5">kHaierAcOnTimerOffset</a> = 7;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="comment">// Byte 4 (Health &amp; Off Time Hours)</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ae2e5e80f891c9bbca2844d808b0b3d1b"> 58</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ae2e5e80f891c9bbca2844d808b0b3d1b">kHaierAcHealthBitOffset</a> = 5;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment">// Byte 5 (Swing &amp; Off Time Mins)</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a0872af0b2b3f22f6681917b9c81c3bbd"> 61</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a0872af0b2b3f22f6681917b9c81c3bbd">kHaierAcSwingOffset</a> = 6;</div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ad032725404a02c0e5a93350f20daf6e1"> 62</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ad032725404a02c0e5a93350f20daf6e1">kHaierAcSwingSize</a> = 2; <span class="comment">// Bits</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ac21f78c3cef931154b3fc953bbebc3b4"> 63</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ac21f78c3cef931154b3fc953bbebc3b4">kHaierAcSwingOff</a> = 0b00;</div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a4bff8829604ee927dda5cfc54bd6cfe6"> 64</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a4bff8829604ee927dda5cfc54bd6cfe6">kHaierAcSwingUp</a> = 0b01;</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a2cf3a2102c6d4f9aede44efe853ffaa8"> 65</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a2cf3a2102c6d4f9aede44efe853ffaa8">kHaierAcSwingDown</a> = 0b10;</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#af65a92a0b9d29a52ac882d4457e954e8"> 66</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#af65a92a0b9d29a52ac882d4457e954e8">kHaierAcSwingChg</a> = 0b11;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; </div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment">// Byte 6 (Mode &amp; On Time Hours)</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a93fdbb1742923cf3f738c8078d5660f8"> 69</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a93fdbb1742923cf3f738c8078d5660f8">kHaierAcModeOffset</a> = 5;</div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ac33a02f63ee77e0d3050598511730865"> 70</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ac33a02f63ee77e0d3050598511730865">kHaierAcAuto</a> = 0;</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a83cd81ea1115f42a403ea5ee07a32bbb"> 71</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a83cd81ea1115f42a403ea5ee07a32bbb">kHaierAcCool</a> = 1;</div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a3d36fbe1308221248f45044e5a671636"> 72</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a3d36fbe1308221248f45044e5a671636">kHaierAcDry</a> = 2;</div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a0edb011bdf85197e63a32d37f8517dd2"> 73</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a0edb011bdf85197e63a32d37f8517dd2">kHaierAcHeat</a> = 3;</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#af4049629b2139ca82471dfed1e1ced15"> 74</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#af4049629b2139ca82471dfed1e1ced15">kHaierAcFan</a> = 4;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; </div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a8a34e74f7083caa98ed4afc31294539e"> 76</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a8a34e74f7083caa98ed4afc31294539e">kHaierAcFanAuto</a> = 0;</div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ae31e878b09284a6730a11e2017cfd7a8"> 77</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ae31e878b09284a6730a11e2017cfd7a8">kHaierAcFanLow</a> = 1;</div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a5dfa833768e549964aa0bf8a336c32b0"> 78</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a5dfa833768e549964aa0bf8a336c32b0">kHaierAcFanMed</a> = 2;</div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aa4d9e45ca5777707778ef78a3284da19"> 79</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aa4d9e45ca5777707778ef78a3284da19">kHaierAcFanHigh</a> = 3;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; </div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment">// Byte 7 (On Time Minutes)</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; </div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment">// Time</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#abb7a8ec83d3c0dbbe4d660d6bf627f23"> 84</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#abb7a8ec83d3c0dbbe4d660d6bf627f23">kHaierAcTimeOffset</a> = 0; <span class="comment">// Bits</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a3db7b7dddae84a5d12101c5cdd06975e"> 85</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a3db7b7dddae84a5d12101c5cdd06975e">kHaierAcHoursSize</a> = 5; <span class="comment">// Bits</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a105e047084515305e896d8ff776d05e6"> 86</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a105e047084515305e896d8ff776d05e6">kHaierAcMinsSize</a> = 6; <span class="comment">// Bits</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; </div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ae04e48e926a7533c3b62f0ff991e1f88"> 88</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Haier_8h.html#ae04e48e926a7533c3b62f0ff991e1f88">kHaierAcMaxTime</a> = (23 * 60) + 59;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment">// Byte 7</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ad9f4cbfd8e6a5874d661195858156eec"> 91</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ad9f4cbfd8e6a5874d661195858156eec">kHaierAcSleepBitOffset</a> = 6;</div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ac63b91acdffa55d440b08aee05bda5dc"> 92</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ac63b91acdffa55d440b08aee05bda5dc">kHaierAcSleepBit</a> = 0b01000000;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; </div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment">// Legacy Haier AC defines.</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="preprocessor">#define HAIER_AC_MIN_TEMP kHaierAcMinTemp</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="preprocessor">#define HAIER_AC_DEF_TEMP kHaierAcDefTemp</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="preprocessor">#define HAIER_AC_MAX_TEMP kHaierAcMaxTemp</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_OFF kHaierAcCmdOff</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_ON kHaierAcCmdOn</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_MODE kHaierAcCmdMode</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_FAN kHaierAcCmdFan</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_TEMP_UP kHaierAcCmdTempUp</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_TEMP_DOWN kHaierAcCmdTempDown</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_SLEEP kHaierAcCmdSleep</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_TIMER_SET kHaierAcCmdTimerSet</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_TIMER_CANCEL kHaierAcCmdTimerCancel</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_HEALTH kHaierAcCmdHealth</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="preprocessor">#define HAIER_AC_CMD_SWING kHaierAcCmdSwing</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="preprocessor">#define HAIER_AC_SWING_OFF kHaierAcSwingOff</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="preprocessor">#define HAIER_AC_SWING_UP kHaierAcSwingUp</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="preprocessor">#define HAIER_AC_SWING_DOWN kHaierAcSwingDown</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="preprocessor">#define HAIER_AC_SWING_CHG kHaierAcSwingChg</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="preprocessor">#define HAIER_AC_AUTO kHaierAcAuto</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="preprocessor">#define HAIER_AC_COOL kHaierAcCool</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="preprocessor">#define HAIER_AC_DRY kHaierAcDry</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="preprocessor">#define HAIER_AC_HEAT kHaierAcHeat</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="preprocessor">#define HAIER_AC_FAN kHaierAcFan</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="preprocessor">#define HAIER_AC_FAN_AUTO kHaierAcFanAuto</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="preprocessor">#define HAIER_AC_FAN_LOW kHaierAcFanLow</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="preprocessor">#define HAIER_AC_FAN_MED kHaierAcFanMed</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="preprocessor">#define HAIER_AC_FAN_HIGH kHaierAcFanHigh</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; </div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment">// Haier YRW02 remote</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment">// Byte 0</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ac62d0f7ca94e064712f8a7a80da2f11e"> 125</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ac62d0f7ca94e064712f8a7a80da2f11e">kHaierAcYrw02Prefix</a> = 0xA6;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; </div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment">// Byte 1</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment">// High Nibble - Temperature</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment">// 0x0 = 16DegC, ... 0xE = 30DegC</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment">// Low Nibble - Swing</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a62570c15418cf24a94c92b162967f892"> 131</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a62570c15418cf24a94c92b162967f892">kHaierAcYrw02SwingOff</a> = 0x0;</div>
<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#adf10f1bc1b293c684232cb6398631f70"> 132</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#adf10f1bc1b293c684232cb6398631f70">kHaierAcYrw02SwingTop</a> = 0x1;</div>
<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a32d6dd98a050711bf928bf250b769839"> 133</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a32d6dd98a050711bf928bf250b769839">kHaierAcYrw02SwingMiddle</a> = 0x2; <span class="comment">// Not available in heat mode.</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aa4b64385da5e9b2a89e15f70cd8c89e9"> 134</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aa4b64385da5e9b2a89e15f70cd8c89e9">kHaierAcYrw02SwingBottom</a> = 0x3; <span class="comment">// Only available in heat mode.</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aab380411ac07b2b7f67956a5bbc362fb"> 135</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aab380411ac07b2b7f67956a5bbc362fb">kHaierAcYrw02SwingDown</a> = 0xA;</div>
<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a95ae88223d910d4d966949241bccff8d"> 136</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a95ae88223d910d4d966949241bccff8d">kHaierAcYrw02SwingAuto</a> = 0xC; <span class="comment">// Airflow</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; </div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment">// Byte 3</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a4bcb42b359472cf770e0710b5369493b"> 139</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a4bcb42b359472cf770e0710b5369493b">kHaierAcYrw02HealthOffset</a> = 1;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; </div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment">// Byte 4</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a67401152b0aa06fb7922bbca743cd600"> 142</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a67401152b0aa06fb7922bbca743cd600">kHaierAcYrw02PowerOffset</a> = 6;</div>
<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#abe59df7abf20a66107516054f3a2d32b"> 143</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#abe59df7abf20a66107516054f3a2d32b">kHaierAcYrw02Power</a> = 0b01000000;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; </div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment">// Byte 5</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment">// Bits 0-3</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a0910d1996a451c98383124a39ef65f84"> 147</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a0910d1996a451c98383124a39ef65f84">kHaierAcYrw02FanOffset</a> = 5;</div>
<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aa2c6bd47b47e0ea1b51931fec7daef4d"> 148</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aa2c6bd47b47e0ea1b51931fec7daef4d">kHaierAcYrw02FanSize</a> = 3;</div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ab47bc48ac77fbf6734a41d10f0a53e4a"> 149</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ab47bc48ac77fbf6734a41d10f0a53e4a">kHaierAcYrw02FanHigh</a> = 0b001;</div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a65583649324c6039112e7db26d685afc"> 150</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a65583649324c6039112e7db26d685afc">kHaierAcYrw02FanMed</a> = 0b010;</div>
<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a9a0a14ab98e1e52b60b9b9bf611c20cc"> 151</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a9a0a14ab98e1e52b60b9b9bf611c20cc">kHaierAcYrw02FanLow</a> = 0b011;</div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ad554d38035ac15e4ea8b855802886989"> 152</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ad554d38035ac15e4ea8b855802886989">kHaierAcYrw02FanAuto</a> = 0b101;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; </div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment">// Byte 6</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a6581fc8ec43b9ac9f877bf27231554bd"> 155</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a6581fc8ec43b9ac9f877bf27231554bd">kHaierAcYrw02TurboOffset</a> = 6;</div>
<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a6ad469ec094d8af5a68cc94a744079bb"> 156</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a6ad469ec094d8af5a68cc94a744079bb">kHaierAcYrw02TurboSize</a> = 2;</div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aa06ba46287b5806a6373e921cee34a51"> 157</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aa06ba46287b5806a6373e921cee34a51">kHaierAcYrw02TurboOff</a> = 0x0;</div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ab096c15c69f242b99fbc1e4d7bd7548e"> 158</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ab096c15c69f242b99fbc1e4d7bd7548e">kHaierAcYrw02TurboHigh</a> = 0x1;</div>
<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a19b7f4aee8115eb77267c415d8b3bd82"> 159</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a19b7f4aee8115eb77267c415d8b3bd82">kHaierAcYrw02TurboLow</a> = 0x2;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment">// Byte 7</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment">// Mode mask 0b11100000</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a027199b609d29ead8aec9bb89178cb30"> 163</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a027199b609d29ead8aec9bb89178cb30">kHaierAcYrw02ModeOffset</a> = 5;</div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aa025eeba1c344c50cc98334c97a3c174"> 164</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aa025eeba1c344c50cc98334c97a3c174">kHaierAcYrw02Auto</a> = 0b000; <span class="comment">// 0</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a30c5d4e61ae3112a8a3e3622eecbb10b"> 165</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a30c5d4e61ae3112a8a3e3622eecbb10b">kHaierAcYrw02Cool</a> = 0b001; <span class="comment">// 1</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a66cd902f2d35b4c8f66f085a0950a5fc"> 166</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a66cd902f2d35b4c8f66f085a0950a5fc">kHaierAcYrw02Dry</a> = 0b010; <span class="comment">// 2</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aa0873975b6649294a3c9943130cb7a38"> 167</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aa0873975b6649294a3c9943130cb7a38">kHaierAcYrw02Heat</a> = 0b100; <span class="comment">// 4</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a35f50f043a2dda75c59507c1ed845b5d"> 168</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a35f50f043a2dda75c59507c1ed845b5d">kHaierAcYrw02Fan</a> = 0b110; <span class="comment">// 5</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment">// Byte 8</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ac651bfee5d261124700c81ec5db184a7"> 171</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ac651bfee5d261124700c81ec5db184a7">kHaierAcYrw02SleepOffset</a> = 7;</div>
<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#abb70fe8ca6004246345df3d841047252"> 172</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#abb70fe8ca6004246345df3d841047252">kHaierAcYrw02Sleep</a> = 0b10000000;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; </div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment">// Byte 12</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment">// Bits 4-7</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a3b24373f9c812f93eca05ee47e61d6e0"> 176</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a3b24373f9c812f93eca05ee47e61d6e0">kHaierAcYrw02ButtonTempUp</a> = 0x0;</div>
<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#af4a9e5f7f705c331531ea2863dbbd11d"> 177</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#af4a9e5f7f705c331531ea2863dbbd11d">kHaierAcYrw02ButtonTempDown</a> = 0x1;</div>
<div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#aa10c558317448783535e96be5876505c"> 178</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#aa10c558317448783535e96be5876505c">kHaierAcYrw02ButtonSwing</a> = 0x2;</div>
<div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a0f9c265510e1e27f38817f08ef9c622b"> 179</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a0f9c265510e1e27f38817f08ef9c622b">kHaierAcYrw02ButtonFan</a> = 0x4;</div>
<div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#af36b9c628a697f6c596052ecd143d80b"> 180</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#af36b9c628a697f6c596052ecd143d80b">kHaierAcYrw02ButtonPower</a> = 0x5;</div>
<div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a74466c50b450b08407c9f226a5d657e5"> 181</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a74466c50b450b08407c9f226a5d657e5">kHaierAcYrw02ButtonMode</a> = 0x6;</div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ab1dc6c0a4ed59446bb69c4dd671c78cd"> 182</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ab1dc6c0a4ed59446bb69c4dd671c78cd">kHaierAcYrw02ButtonHealth</a> = 0x7;</div>
<div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#ad80547c526b2eba142297715c0a0636d"> 183</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#ad80547c526b2eba142297715c0a0636d">kHaierAcYrw02ButtonTurbo</a> = 0x8;</div>
<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="ir__Haier_8h.html#a5c7b8ff351e3d0167ec2c897c4820c40"> 184</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Haier_8h.html#a5c7b8ff351e3d0167ec2c897c4820c40">kHaierAcYrw02ButtonSleep</a> = 0xB;</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; </div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment">// Legacy Haier YRW02 remote defines.</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_SWING_OFF kHaierAcYrw02SwingOff</span></div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_SWING_TOP kHaierAcYrw02SwingTop</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_SWING_MIDDLE kHaierAcYrw02SwingMiddle</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_SWING_BOTTOM kHaierAcYrw02SwingBottom</span></div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_SWING_DOWN kHaierAcYrw02SwingDown</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_SWING_AUTO kHaierAcYrw02SwingAuto</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_FAN_HIGH kHaierAcYrw02FanHigh</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_FAN_MED kHaierAcYrw02FanMed</span></div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_FAN_LOW kHaierAcYrw02FanLow</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_FAN_AUTO kHaierAcYrw02FanAuto</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_TURBO_OFF kHaierAcYrw02TurboOff</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_TURBO_HIGH kHaierAcYrw02TurboHigh</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_TURBO_LOW kHaierAcYrw02TurboLow</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_AUTO kHaierAcYrw02Auto</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_COOL kHaierAcYrw02Cool</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_DRY kHaierAcYrw02Dry</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_HEAT kHaierAcYrw02Heat</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_FAN kHaierAcYrw02Fan</span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_BUTTON_TEMP_UP kHaierAcYrw02ButtonTempUp</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_BUTTON_TEMP_DOWN kHaierAcYrw02ButtonTempDown</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_BUTTON_SWING kHaierAcYrw02ButtonSwing</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_BUTTON_FAN kHaierAcYrw02ButtonFan</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_BUTTON_POWER kHaierAcYrw02ButtonPower</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_BUTTON_MODE kHaierAcYrw02ButtonMode</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_BUTTON_HEALTH kHaierAcYrw02ButtonHealth</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_BUTTON_TURBO kHaierAcYrw02ButtonTurbo</span></div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;<span class="preprocessor">#define HAIER_AC_YRW02_BUTTON_SLEEP kHaierAcYrw02ButtonSleep</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; </div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="comment">// Classes</span></div>
<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="classIRHaierAC.html"> 217</a></span>&#160;<span class="comment"></span><span class="keyword">class </span><a class="code" href="classIRHaierAC.html">IRHaierAC</a> {</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classIRHaierAC.html#a0b78060cbd150cd886a409adc2dea49c">IRHaierAC</a>(<span class="keyword">const</span> uint16_t pin, <span class="keyword">const</span> <span class="keywordtype">bool</span> inverted = <span class="keyword">false</span>,</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> use_modulation = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="preprocessor">#if SEND_HAIER_AC</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a9fe53d04965efca6daf234f20d20eb5a">send</a>(<span class="keyword">const</span> uint16_t repeat = <a class="code" href="IRremoteESP8266_8h.html#a882914932449e33933b6f8e224cbaf3c">kHaierAcDefaultRepeat</a>);</div>
<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classIRHaierAC.html#a448b1d5db05f7722db4758e968ea3171"> 227</a></span>&#160; int8_t <a class="code" href="classIRHaierAC.html#a448b1d5db05f7722db4758e968ea3171">calibrate</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> <a class="code" href="classIRHaierAC.html#aec69643fe633a57d635754690225fdd1">_irsend</a>.<a class="code" href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">calibrate</a>(); }</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="preprocessor">#endif // SEND_HAIER_AC</span></div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#ab92fd48ccb5707cb6d14e9d46ce42e17">begin</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; </div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#ade34c951e72a794c2ff7fa0d1595d68f">setCommand</a>(<span class="keyword">const</span> uint8_t command);</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; uint8_t <a class="code" href="classIRHaierAC.html#a3a291fccea5f4b32f83da2605d2a82e0">getCommand</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; </div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a9fb2a375cc1b8692fe4d5dcdd765cc46">setTemp</a>(<span class="keyword">const</span> uint8_t temp);</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; uint8_t <a class="code" href="classIRHaierAC.html#af137371c6766ee068a0200ff1facd8b0">getTemp</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; </div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a42ee1c5889f07bf7615c8f853bca2261">setFan</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; uint8_t <a class="code" href="classIRHaierAC.html#a5b15678e94acc14a0bb86bff61230e93">getFan</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; </div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; uint8_t <a class="code" href="classIRHaierAC.html#aa180c60030d9972807238cceba886ff5">getMode</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a3ad0317f2fd4f57d8ce61353ab3e48c7">setMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; </div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classIRHaierAC.html#a0ac7155d5ba294ce50b9436a35aa166b">getSleep</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#acb72b89fa53b565f9d32db4d8960f988">setSleep</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> on);</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classIRHaierAC.html#a5c69955fe18f4ddb0286084f3fb39228">getHealth</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a48c9ae91809d63156eeb3889f2e908f4">setHealth</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> on);</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; </div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; int16_t <a class="code" href="classIRHaierAC.html#a99d3339eb5ecdbf1c86e85408507af7b">getOnTimer</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#aa5e95aa05749f6d35dd31b021fea2f5b">setOnTimer</a>(<span class="keyword">const</span> uint16_t mins);</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; int16_t <a class="code" href="classIRHaierAC.html#a8b5c970b3204aa447d86dc2941dbd7b1">getOffTimer</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#aa16b36aa7ef07628343dbd2dfe5157a2">setOffTimer</a>(<span class="keyword">const</span> uint16_t mins);</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a1cccc733f74232751f95c32e47795638">cancelTimers</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; </div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; uint16_t <a class="code" href="classIRHaierAC.html#aa0e05983088035f6d85c520843922c25">getCurrTime</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a53500ebdec058d27396e5906a572fe15">setCurrTime</a>(<span class="keyword">const</span> uint16_t mins);</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; </div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; uint8_t <a class="code" href="classIRHaierAC.html#aa18839d213e4cd46405c683ec67fa23e">getSwing</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a28c8bf6e0f45e074bf5eb13c25805627">setSwing</a>(<span class="keyword">const</span> uint8_t state);</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; </div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; uint8_t* <a class="code" href="classIRHaierAC.html#abf72eed86c2c86c4f0f5f49f6a788b82">getRaw</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a152961e20b5a5bed2ea03cbc65d65ce9">setRaw</a>(<span class="keyword">const</span> uint8_t new_code[]);</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classIRHaierAC.html#ad7aae554b8f0a76493efc2a43ac0f780">validChecksum</a>(uint8_t state[],</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keyword">const</span> uint16_t length = <a class="code" href="IRremoteESP8266_8h.html#afb4cd0c1a9c689d862e7095f0ab6dbe5">kHaierACStateLength</a>);</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; uint8_t <a class="code" href="classIRHaierAC.html#af6188dbed5cae022b4fd1eef358f594c">convertMode</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> mode);</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; uint8_t <a class="code" href="classIRHaierAC.html#a58628dd19a7247fc5358c0dc8c30baba">convertFan</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> speed);</div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; uint8_t <a class="code" href="classIRHaierAC.html#a34053c32ba50ff3b81b208d068efe2a4">convertSwingV</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#ac07f224c7bb47cac55dd01f24770ef43">stdAc::swingv_t</a> position);</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> <a class="code" href="classIRHaierAC.html#a4d73f75516afff0ef18bdbb7ed9c26ed">toCommonMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> <a class="code" href="classIRHaierAC.html#ad67ee0b7299d041aad77382dde893229">toCommonFanSpeed</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#ac07f224c7bb47cac55dd01f24770ef43">stdAc::swingv_t</a> <a class="code" href="classIRHaierAC.html#aac354e2e4ad72d91667509398078b309">toCommonSwingV</a>(<span class="keyword">const</span> uint8_t pos);</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <a class="code" href="structstdAc_1_1state__t.html">stdAc::state_t</a> <a class="code" href="classIRHaierAC.html#a1e74862d6ab7e65108a7b1a3b7af7e91">toCommon</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a> <a class="code" href="classIRHaierAC.html#a7effff64e7c9c20b7d9e6c2c10e0ffbc">toString</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; </div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="classIRHaierAC.html#aec69643fe633a57d635754690225fdd1"> 275</a></span>&#160; <a class="code" href="classIRsend.html">IRsend</a> <a class="code" href="classIRHaierAC.html#aec69643fe633a57d635754690225fdd1">_irsend</a>; </div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;<span class="preprocessor">#else // UNIT_TEST</span></div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; IRsendTest <a class="code" href="classIRHaierAC.html#aec69643fe633a57d635754690225fdd1">_irsend</a>; </div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="classIRHaierAC.html#a609abaeab9df642fdaccd77235a84eed"> 281</a></span>&#160; uint8_t <a class="code" href="classIRHaierAC.html#a609abaeab9df642fdaccd77235a84eed">remote_state</a>[<a class="code" href="IRremoteESP8266_8h.html#afb4cd0c1a9c689d862e7095f0ab6dbe5">kHaierACStateLength</a>]; </div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a62fbae1d2bac01ac3a2194274aa839d9">stateReset</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#ab7faae274ff7f30bf7df3c58d6e7e210">checksum</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keyword">static</span> uint16_t <a class="code" href="classIRHaierAC.html#a60e891775fbc3a77ee487cde26f650c5">getTime</a>(<span class="keyword">const</span> uint8_t ptr[]);</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classIRHaierAC.html#a81ca00cf5b49308c2609b717d34958ad">setTime</a>(uint8_t ptr[], <span class="keyword">const</span> uint16_t nr_mins);</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;};</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; </div>
<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="classIRHaierACYRW02.html"> 289</a></span>&#160;<span class="keyword">class </span><a class="code" href="classIRHaierACYRW02.html">IRHaierACYRW02</a> {</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classIRHaierACYRW02.html#afd9354c36df33434840bbc5f38d4e7ed">IRHaierACYRW02</a>(<span class="keyword">const</span> uint16_t pin, <span class="keyword">const</span> <span class="keywordtype">bool</span> inverted = <span class="keyword">false</span>,</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> use_modulation = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;<span class="preprocessor">#if SEND_HAIER_AC_YRW02</span></div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#a65a5d5840dddac505b009e899a0dada7">send</a>(<span class="keyword">const</span> uint16_t repeat = <a class="code" href="IRremoteESP8266_8h.html#a62412e221207dbc2660f93dc265b4218">kHaierAcYrw02DefaultRepeat</a>);</div>
<div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="classIRHaierACYRW02.html#a2081b29d0526e339a6b94fc41c854197"> 299</a></span>&#160; int8_t <a class="code" href="classIRHaierACYRW02.html#a2081b29d0526e339a6b94fc41c854197">calibrate</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> <a class="code" href="classIRHaierACYRW02.html#a24dd00bfa5e062c5c7f459bcd60213b7">_irsend</a>.<a class="code" href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">calibrate</a>(); }</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;<span class="preprocessor">#endif // SEND_HAIER_AC_YRW02</span></div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#addc01e60e8c4045fab6f22c852eb620f">begin</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; </div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#aa0f1561e2446f6231f722581f5bae34d">setButton</a>(<span class="keyword">const</span> uint8_t button);</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; uint8_t <a class="code" href="classIRHaierACYRW02.html#af4df303e5662aa63cba715ff49e09b75">getButton</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; </div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#a80170879e7bd391e360d41f18f6fa52b">setTemp</a>(<span class="keyword">const</span> uint8_t temp);</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; uint8_t <a class="code" href="classIRHaierACYRW02.html#a9cb0edcb5f36054e4e024c38ec3f26b9">getTemp</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; </div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#ae9c3a7bffc08d9d5204616823f709889">setFan</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; uint8_t <a class="code" href="classIRHaierACYRW02.html#a6de2fb6111049720913eb28bf6f64a00">getFan</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; </div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; uint8_t <a class="code" href="classIRHaierACYRW02.html#aec7359fb8c796fc45577a40370f874c9">getMode</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#ae762c5f5422b4af612fa00f7c26452ed">setMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; </div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classIRHaierACYRW02.html#a446ee5873e80fa474d322ca5ff598fb5">getPower</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#a32e4a52cf31b43ad96ff3d8f0f390620">setPower</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRHaierACYRW02.html#aaeb257d68235278be272e521fdec7331">on</a>);</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#aaeb257d68235278be272e521fdec7331">on</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#a9837ba26574f8bd452d616173819a9a4">off</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; </div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classIRHaierACYRW02.html#acecf20cbe6065a4096ee5a353d2161c9">getSleep</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#ad63834eb1a91ed974af988c385570457">setSleep</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRHaierACYRW02.html#aaeb257d68235278be272e521fdec7331">on</a>);</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classIRHaierACYRW02.html#a97fc67cddf50a51b0db6c4e22fcaafa1">getHealth</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#a79673650a2285f029a35ab69edeb0e74">setHealth</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRHaierACYRW02.html#aaeb257d68235278be272e521fdec7331">on</a>);</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; </div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; uint8_t <a class="code" href="classIRHaierACYRW02.html#a4ccd26dad24915b81ae5fb94d18fb85a">getTurbo</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#aba5f028ee1ebf7be2d4de5a66237f01b">setTurbo</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; </div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; uint8_t <a class="code" href="classIRHaierACYRW02.html#a88b15d20c007926ab5871b8e6a9fbe3f">getSwing</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#ab9152dd09dec2db522dd96778f3b1556">setSwing</a>(<span class="keyword">const</span> uint8_t pos);</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; </div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; uint8_t* <a class="code" href="classIRHaierACYRW02.html#abca7bbe8c723551723f24f186343b764">getRaw</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#a389e711e128533c409731d2c87868c85">setRaw</a>(<span class="keyword">const</span> uint8_t new_code[]);</div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classIRHaierACYRW02.html#a3f6d071d215b0316cccc2e94c4786954">validChecksum</a>(uint8_t state[],</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keyword">const</span> uint16_t length = <a class="code" href="IRremoteESP8266_8h.html#a8f52b7d4595c117cf0b81ffbd1148cda">kHaierACYRW02StateLength</a>);</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; uint8_t <a class="code" href="classIRHaierACYRW02.html#a9a51f3d4b4c60ed7d99f9836a57bb3e5">convertMode</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> mode);</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; uint8_t <a class="code" href="classIRHaierACYRW02.html#a66e42d018f3d86b136624a347d333401">convertFan</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> speed);</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; uint8_t <a class="code" href="classIRHaierACYRW02.html#a1f7dffe29fbe67989b2f425d629850db">convertSwingV</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#ac07f224c7bb47cac55dd01f24770ef43">stdAc::swingv_t</a> position);</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> <a class="code" href="classIRHaierACYRW02.html#a24007a5be360c93ec157b95c8cc06493">toCommonMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> <a class="code" href="classIRHaierACYRW02.html#a15402e3ba2a9875d5b49f6dab3e85034">toCommonFanSpeed</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#ac07f224c7bb47cac55dd01f24770ef43">stdAc::swingv_t</a> <a class="code" href="classIRHaierACYRW02.html#a0e426a3479fd80bb3816f016fac22f19">toCommonSwingV</a>(<span class="keyword">const</span> uint8_t pos);</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <a class="code" href="structstdAc_1_1state__t.html">stdAc::state_t</a> <a class="code" href="classIRHaierACYRW02.html#aff86d2e3e1d357f0eecf6322964e7c16">toCommon</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <a class="code" href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a> <a class="code" href="classIRHaierACYRW02.html#a3858dd619f4ea4071b248bb5fb64fb08">toString</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;<span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; </div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="classIRHaierACYRW02.html#a24dd00bfa5e062c5c7f459bcd60213b7"> 346</a></span>&#160; <a class="code" href="classIRsend.html">IRsend</a> <a class="code" href="classIRHaierACYRW02.html#a24dd00bfa5e062c5c7f459bcd60213b7">_irsend</a>; </div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;<span class="preprocessor">#else // UNIT_TEST</span></div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; IRsendTest <a class="code" href="classIRHaierACYRW02.html#a24dd00bfa5e062c5c7f459bcd60213b7">_irsend</a>; </div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;<span class="preprocessor">#endif // UNIT_TEST</span></div>
<div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="classIRHaierACYRW02.html#a08069ef89f5c5e2c1ba8563cdad24578"> 352</a></span>&#160; uint8_t <a class="code" href="classIRHaierACYRW02.html#a08069ef89f5c5e2c1ba8563cdad24578">remote_state</a>[<a class="code" href="IRremoteESP8266_8h.html#a8f52b7d4595c117cf0b81ffbd1148cda">kHaierACYRW02StateLength</a>]; </div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#a106e7ffa0d69cdf976087c6e190d03ea">stateReset</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classIRHaierACYRW02.html#a18045defdd5641ae13c7c75dda0cf23a">checksum</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;};</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;<span class="preprocessor">#endif // IR_HAIER_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="air__Haier_8h_html_a447818ec7970e2ca09540afe44ecf90d"><div class="ttname"><a href="ir__Haier_8h.html#a447818ec7970e2ca09540afe44ecf90d">kHaierAcCmdFan</a></div><div class="ttdeci">const uint8_t kHaierAcCmdFan</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:42</div></div>
<div class="ttc" id="air__Haier_8h_html_aa4d9e45ca5777707778ef78a3284da19"><div class="ttname"><a href="ir__Haier_8h.html#aa4d9e45ca5777707778ef78a3284da19">kHaierAcFanHigh</a></div><div class="ttdeci">const uint8_t kHaierAcFanHigh</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:79</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a97fc67cddf50a51b0db6c4e22fcaafa1"><div class="ttname"><a href="classIRHaierACYRW02.html#a97fc67cddf50a51b0db6c4e22fcaafa1">IRHaierACYRW02::getHealth</a></div><div class="ttdeci">bool getHealth(void)</div><div class="ttdoc">Get the Health (filter) setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:674</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_addc01e60e8c4045fab6f22c852eb620f"><div class="ttname"><a href="classIRHaierACYRW02.html#addc01e60e8c4045fab6f22c852eb620f">IRHaierACYRW02::begin</a></div><div class="ttdeci">void begin(void)</div><div class="ttdoc">Set up hardware to be able to send a message.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:543</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a81ca00cf5b49308c2609b717d34958ad"><div class="ttname"><a href="classIRHaierAC.html#a81ca00cf5b49308c2609b717d34958ad">IRHaierAC::setTime</a></div><div class="ttdeci">static void setTime(uint8_t ptr[], const uint16_t nr_mins)</div><div class="ttdoc">Set the Time value at the given pointer.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:286</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_a62412e221207dbc2660f93dc265b4218"><div class="ttname"><a href="IRremoteESP8266_8h.html#a62412e221207dbc2660f93dc265b4218">kHaierAcYrw02DefaultRepeat</a></div><div class="ttdeci">const uint16_t kHaierAcYrw02DefaultRepeat</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:891</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a32e4a52cf31b43ad96ff3d8f0f390620"><div class="ttname"><a href="classIRHaierACYRW02.html#a32e4a52cf31b43ad96ff3d8f0f390620">IRHaierACYRW02::setPower</a></div><div class="ttdeci">void setPower(const bool on)</div><div class="ttdoc">Change the power setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:686</div></div>
<div class="ttc" id="air__Haier_8h_html_a105e047084515305e896d8ff776d05e6"><div class="ttname"><a href="ir__Haier_8h.html#a105e047084515305e896d8ff776d05e6">kHaierAcMinsSize</a></div><div class="ttdeci">const uint8_t kHaierAcMinsSize</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:86</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a15402e3ba2a9875d5b49f6dab3e85034"><div class="ttname"><a href="classIRHaierACYRW02.html#a15402e3ba2a9875d5b49f6dab3e85034">IRHaierACYRW02::toCommonFanSpeed</a></div><div class="ttdeci">static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)</div><div class="ttdoc">Convert a native fan speed into its stdAc equivilant.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:839</div></div>
<div class="ttc" id="air__Haier_8h_html_ae2e5e80f891c9bbca2844d808b0b3d1b"><div class="ttname"><a href="ir__Haier_8h.html#ae2e5e80f891c9bbca2844d808b0b3d1b">kHaierAcHealthBitOffset</a></div><div class="ttdeci">const uint8_t kHaierAcHealthBitOffset</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:58</div></div>
<div class="ttc" id="air__Haier_8h_html_abb7a8ec83d3c0dbbe4d660d6bf627f23"><div class="ttname"><a href="ir__Haier_8h.html#abb7a8ec83d3c0dbbe4d660d6bf627f23">kHaierAcTimeOffset</a></div><div class="ttdeci">const uint8_t kHaierAcTimeOffset</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:84</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a60e891775fbc3a77ee487cde26f650c5"><div class="ttname"><a href="classIRHaierAC.html#a60e891775fbc3a77ee487cde26f650c5">IRHaierAC::getTime</a></div><div class="ttdeci">static uint16_t getTime(const uint8_t ptr[])</div><div class="ttdoc">Get the Time value at the given pointer.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:254</div></div>
<div class="ttc" id="air__Haier_8h_html_a027199b609d29ead8aec9bb89178cb30"><div class="ttname"><a href="ir__Haier_8h.html#a027199b609d29ead8aec9bb89178cb30">kHaierAcYrw02ModeOffset</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02ModeOffset</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:163</div></div>
<div class="ttc" id="air__Haier_8h_html_a35f50f043a2dda75c59507c1ed845b5d"><div class="ttname"><a href="ir__Haier_8h.html#a35f50f043a2dda75c59507c1ed845b5d">kHaierAcYrw02Fan</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02Fan</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:168</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_a882914932449e33933b6f8e224cbaf3c"><div class="ttname"><a href="IRremoteESP8266_8h.html#a882914932449e33933b6f8e224cbaf3c">kHaierAcDefaultRepeat</a></div><div class="ttdeci">const uint16_t kHaierAcDefaultRepeat</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:888</div></div>
<div class="ttc" id="air__Haier_8h_html_a65583649324c6039112e7db26d685afc"><div class="ttname"><a href="ir__Haier_8h.html#a65583649324c6039112e7db26d685afc">kHaierAcYrw02FanMed</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02FanMed</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:150</div></div>
<div class="ttc" id="air__Haier_8h_html_af65a92a0b9d29a52ac882d4457e954e8"><div class="ttname"><a href="ir__Haier_8h.html#af65a92a0b9d29a52ac882d4457e954e8">kHaierAcSwingChg</a></div><div class="ttdeci">const uint8_t kHaierAcSwingChg</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:66</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a28c8bf6e0f45e074bf5eb13c25805627"><div class="ttname"><a href="classIRHaierAC.html#a28c8bf6e0f45e074bf5eb13c25805627">IRHaierAC::setSwing</a></div><div class="ttdeci">void setSwing(const uint8_t state)</div><div class="ttdoc">Set the Vertical Swing mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:329</div></div>
<div class="ttc" id="air__Haier_8h_html_ac33a02f63ee77e0d3050598511730865"><div class="ttname"><a href="ir__Haier_8h.html#ac33a02f63ee77e0d3050598511730865">kHaierAcAuto</a></div><div class="ttdeci">const uint8_t kHaierAcAuto</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:70</div></div>
<div class="ttc" id="air__Haier_8h_html_ad80547c526b2eba142297715c0a0636d"><div class="ttname"><a href="ir__Haier_8h.html#ad80547c526b2eba142297715c0a0636d">kHaierAcYrw02ButtonTurbo</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02ButtonTurbo</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:183</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a5c69955fe18f4ddb0286084f3fb39228"><div class="ttname"><a href="classIRHaierAC.html#a5c69955fe18f4ddb0286084f3fb39228">IRHaierAC::getHealth</a></div><div class="ttdeci">bool getHealth(void)</div><div class="ttdoc">Get the Health (filter) setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:235</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a2081b29d0526e339a6b94fc41c854197"><div class="ttname"><a href="classIRHaierACYRW02.html#a2081b29d0526e339a6b94fc41c854197">IRHaierACYRW02::calibrate</a></div><div class="ttdeci">int8_t calibrate(void)</div><div class="ttdoc">Run the calibration to calculate uSec timing offsets for this platform.</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:299</div></div>
<div class="ttc" id="anamespacestdAc_html_ac07f224c7bb47cac55dd01f24770ef43"><div class="ttname"><a href="namespacestdAc.html#ac07f224c7bb47cac55dd01f24770ef43">stdAc::swingv_t</a></div><div class="ttdeci">swingv_t</div><div class="ttdoc">Common A/C settings for Vertical Swing.</div><div class="ttdef"><b>Definition:</b> IRsend.h:70</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a24dd00bfa5e062c5c7f459bcd60213b7"><div class="ttname"><a href="classIRHaierACYRW02.html#a24dd00bfa5e062c5c7f459bcd60213b7">IRHaierACYRW02::_irsend</a></div><div class="ttdeci">IRsend _irsend</div><div class="ttdoc">Instance of the IR send class.</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:346</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_afb4cd0c1a9c689d862e7095f0ab6dbe5"><div class="ttname"><a href="IRremoteESP8266_8h.html#afb4cd0c1a9c689d862e7095f0ab6dbe5">kHaierACStateLength</a></div><div class="ttdeci">const uint16_t kHaierACStateLength</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:886</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a446ee5873e80fa474d322ca5ff598fb5"><div class="ttname"><a href="classIRHaierACYRW02.html#a446ee5873e80fa474d322ca5ff598fb5">IRHaierACYRW02::getPower</a></div><div class="ttdeci">bool getPower(void)</div><div class="ttdoc">Get the value of the current power setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:680</div></div>
<div class="ttc" id="air__Haier_8h_html_aecc31139b4e45a7784669554c6fdbb54"><div class="ttname"><a href="ir__Haier_8h.html#aecc31139b4e45a7784669554c6fdbb54">kHaierAcCmdTempDown</a></div><div class="ttdeci">const uint8_t kHaierAcCmdTempDown</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:44</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a152961e20b5a5bed2ea03cbc65d65ce9"><div class="ttname"><a href="classIRHaierAC.html#a152961e20b5a5bed2ea03cbc65d65ce9">IRHaierAC::setRaw</a></div><div class="ttdeci">void setRaw(const uint8_t new_code[])</div><div class="ttdoc">Set the internal state from a valid code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:130</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a62fbae1d2bac01ac3a2194274aa839d9"><div class="ttname"><a href="classIRHaierAC.html#a62fbae1d2bac01ac3a2194274aa839d9">IRHaierAC::stateReset</a></div><div class="ttdeci">void stateReset(void)</div><div class="ttdoc">Reset the internal state to a fixed known good state.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:108</div></div>
<div class="ttc" id="air__Haier_8h_html_a4543aa4ee28323bb9cb5c077f9bf9da1"><div class="ttname"><a href="ir__Haier_8h.html#a4543aa4ee28323bb9cb5c077f9bf9da1">kHaierAcCmdMode</a></div><div class="ttdeci">const uint8_t kHaierAcCmdMode</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:41</div></div>
<div class="ttc" id="anamespacestdAc_html_a8bb0dbf18fe69f639f4ac0b3ff133383"><div class="ttname"><a href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a></div><div class="ttdeci">fanspeed_t</div><div class="ttdoc">Common A/C settings for Fan Speeds.</div><div class="ttdef"><b>Definition:</b> IRsend.h:58</div></div>
<div class="ttc" id="air__Haier_8h_html_ab1dc6c0a4ed59446bb69c4dd671c78cd"><div class="ttname"><a href="ir__Haier_8h.html#ab1dc6c0a4ed59446bb69c4dd671c78cd">kHaierAcYrw02ButtonHealth</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02ButtonHealth</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:182</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a42ee1c5889f07bf7615c8f853bca2261"><div class="ttname"><a href="classIRHaierAC.html#a42ee1c5889f07bf7615c8f853bca2261">IRHaierAC::setFan</a></div><div class="ttdeci">void setFan(const uint8_t speed)</div><div class="ttdoc">Set the speed of the fan.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:161</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_aaeb257d68235278be272e521fdec7331"><div class="ttname"><a href="classIRHaierACYRW02.html#aaeb257d68235278be272e521fdec7331">IRHaierACYRW02::on</a></div><div class="ttdeci">void on(void)</div><div class="ttdoc">Change the power setting to On.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:692</div></div>
<div class="ttc" id="air__Haier_8h_html_abe52b62dd513395f2a8c7d47fa2fc514"><div class="ttname"><a href="ir__Haier_8h.html#abe52b62dd513395f2a8c7d47fa2fc514">kHaierAcCmdSleep</a></div><div class="ttdeci">const uint8_t kHaierAcCmdSleep</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:45</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a58628dd19a7247fc5358c0dc8c30baba"><div class="ttname"><a href="classIRHaierAC.html#a58628dd19a7247fc5358c0dc8c30baba">IRHaierAC::convertFan</a></div><div class="ttdeci">uint8_t convertFan(const stdAc::fanspeed_t speed)</div><div class="ttdoc">Convert a stdAc::fanspeed_t enum into it's native speed.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:358</div></div>
<div class="ttc" id="air__Haier_8h_html_a67401152b0aa06fb7922bbca743cd600"><div class="ttname"><a href="ir__Haier_8h.html#a67401152b0aa06fb7922bbca743cd600">kHaierAcYrw02PowerOffset</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02PowerOffset</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:142</div></div>
<div class="ttc" id="air__Haier_8h_html_a6581fc8ec43b9ac9f877bf27231554bd"><div class="ttname"><a href="ir__Haier_8h.html#a6581fc8ec43b9ac9f877bf27231554bd">kHaierAcYrw02TurboOffset</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02TurboOffset</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:155</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a8b5c970b3204aa447d86dc2941dbd7b1"><div class="ttname"><a href="classIRHaierAC.html#a8b5c970b3204aa447d86dc2941dbd7b1">IRHaierAC::getOffTimer</a></div><div class="ttdeci">int16_t getOffTimer(void)</div><div class="ttdoc">Get the Off Timer value/setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:271</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a24007a5be360c93ec157b95c8cc06493"><div class="ttname"><a href="classIRHaierACYRW02.html#a24007a5be360c93ec157b95c8cc06493">IRHaierACYRW02::toCommonMode</a></div><div class="ttdeci">static stdAc::opmode_t toCommonMode(const uint8_t mode)</div><div class="ttdoc">Convert a native mode into its stdAc equivilant.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:826</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a08069ef89f5c5e2c1ba8563cdad24578"><div class="ttname"><a href="classIRHaierACYRW02.html#a08069ef89f5c5e2c1ba8563cdad24578">IRHaierACYRW02::remote_state</a></div><div class="ttdeci">uint8_t remote_state[kHaierACYRW02StateLength]</div><div class="ttdoc">The state in native form.</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:352</div></div>
<div class="ttc" id="air__Haier_8h_html_aa025eeba1c344c50cc98334c97a3c174"><div class="ttname"><a href="ir__Haier_8h.html#aa025eeba1c344c50cc98334c97a3c174">kHaierAcYrw02Auto</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02Auto</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:164</div></div>
<div class="ttc" id="aclassIRHaierAC_html_abf72eed86c2c86c4f0f5f49f6a788b82"><div class="ttname"><a href="classIRHaierAC.html#abf72eed86c2c86c4f0f5f49f6a788b82">IRHaierAC::getRaw</a></div><div class="ttdeci">uint8_t * getRaw(void)</div><div class="ttdoc">Get a PTR to the internal state/code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:123</div></div>
<div class="ttc" id="air__Haier_8h_html_afab164c2aabf39fdc1e956ff88af19d9"><div class="ttname"><a href="ir__Haier_8h.html#afab164c2aabf39fdc1e956ff88af19d9">kHaierAcCmdSwing</a></div><div class="ttdeci">const uint8_t kHaierAcCmdSwing</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:49</div></div>
<div class="ttc" id="air__Haier_8h_html_ac62d0f7ca94e064712f8a7a80da2f11e"><div class="ttname"><a href="ir__Haier_8h.html#ac62d0f7ca94e064712f8a7a80da2f11e">kHaierAcYrw02Prefix</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02Prefix</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:125</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a7effff64e7c9c20b7d9e6c2c10e0ffbc"><div class="ttname"><a href="classIRHaierAC.html#a7effff64e7c9c20b7d9e6c2c10e0ffbc">IRHaierAC::toString</a></div><div class="ttdeci">String toString(void)</div><div class="ttdoc">Convert the current internal state into a human readable string.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:450</div></div>
<div class="ttc" id="air__Haier_8h_html_a6ad469ec094d8af5a68cc94a744079bb"><div class="ttname"><a href="ir__Haier_8h.html#a6ad469ec094d8af5a68cc94a744079bb">kHaierAcYrw02TurboSize</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02TurboSize</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:156</div></div>
<div class="ttc" id="aclassIRHaierAC_html_acb72b89fa53b565f9d32db4d8960f988"><div class="ttname"><a href="classIRHaierAC.html#acb72b89fa53b565f9d32db4d8960f988">IRHaierAC::setSleep</a></div><div class="ttdeci">void setSleep(const bool on)</div><div class="ttdoc">Set the Sleep setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:241</div></div>
<div class="ttc" id="air__Haier_8h_html_adf10f1bc1b293c684232cb6398631f70"><div class="ttname"><a href="ir__Haier_8h.html#adf10f1bc1b293c684232cb6398631f70">kHaierAcYrw02SwingTop</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02SwingTop</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:132</div></div>
<div class="ttc" id="aIRsend_8h_html"><div class="ttname"><a href="IRsend_8h.html">IRsend.h</a></div></div>
<div class="ttc" id="air__Haier_8h_html_a9bd7c081d460a4ae5e3eac977f3916e4"><div class="ttname"><a href="ir__Haier_8h.html#a9bd7c081d460a4ae5e3eac977f3916e4">kHaierAcCmdTimerSet</a></div><div class="ttdeci">const uint8_t kHaierAcCmdTimerSet</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:46</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_acecf20cbe6065a4096ee5a353d2161c9"><div class="ttname"><a href="classIRHaierACYRW02.html#acecf20cbe6065a4096ee5a353d2161c9">IRHaierACYRW02::getSleep</a></div><div class="ttdeci">bool getSleep(void)</div><div class="ttdoc">Get the Sleep setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:699</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a3ad0317f2fd4f57d8ce61353ab3e48c7"><div class="ttname"><a href="classIRHaierAC.html#a3ad0317f2fd4f57d8ce61353ab3e48c7">IRHaierAC::setMode</a></div><div class="ttdeci">void setMode(const uint8_t mode)</div><div class="ttdoc">Set the operating mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:188</div></div>
<div class="ttc" id="air__Haier_8h_html_aab5363f07920971c31d6acf8e70d392c"><div class="ttname"><a href="ir__Haier_8h.html#aab5363f07920971c31d6acf8e70d392c">kHaierAcCmdTempUp</a></div><div class="ttdeci">const uint8_t kHaierAcCmdTempUp</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:43</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a1cccc733f74232751f95c32e47795638"><div class="ttname"><a href="classIRHaierAC.html#a1cccc733f74232751f95c32e47795638">IRHaierAC::cancelTimers</a></div><div class="ttdeci">void cancelTimers(void)</div><div class="ttdoc">Cancel/disable the On &amp; Off timers.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:310</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a106e7ffa0d69cdf976087c6e190d03ea"><div class="ttname"><a href="classIRHaierACYRW02.html#a106e7ffa0d69cdf976087c6e190d03ea">IRHaierACYRW02::stateReset</a></div><div class="ttdeci">void stateReset(void)</div><div class="ttdoc">Reset the internal state to a fixed known good state.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:569</div></div>
<div class="ttc" id="aclassIRsend_html"><div class="ttname"><a href="classIRsend.html">IRsend</a></div><div class="ttdoc">Class for sending all basic IR protocols.</div><div class="ttdef"><b>Definition:</b> IRsend.h:170</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a4ccd26dad24915b81ae5fb94d18fb85a"><div class="ttname"><a href="classIRHaierACYRW02.html#a4ccd26dad24915b81ae5fb94d18fb85a">IRHaierACYRW02::getTurbo</a></div><div class="ttdeci">uint8_t getTurbo(void)</div><div class="ttdoc">Get the Turbo setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:712</div></div>
<div class="ttc" id="aclassIRHaierAC_html_aec69643fe633a57d635754690225fdd1"><div class="ttname"><a href="classIRHaierAC.html#aec69643fe633a57d635754690225fdd1">IRHaierAC::_irsend</a></div><div class="ttdeci">IRsend _irsend</div><div class="ttdoc">Instance of the IR send class.</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:275</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_ab9152dd09dec2db522dd96778f3b1556"><div class="ttname"><a href="classIRHaierACYRW02.html#ab9152dd09dec2db522dd96778f3b1556">IRHaierACYRW02::setSwing</a></div><div class="ttdeci">void setSwing(const uint8_t pos)</div><div class="ttdoc">Set the Vertical Swing mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:761</div></div>
<div class="ttc" id="aclassIRHaierAC_html_af6188dbed5cae022b4fd1eef358f594c"><div class="ttname"><a href="classIRHaierAC.html#af6188dbed5cae022b4fd1eef358f594c">IRHaierAC::convertMode</a></div><div class="ttdeci">uint8_t convertMode(const stdAc::opmode_t mode)</div><div class="ttdoc">Convert a stdAc::opmode_t enum into its native mode.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:345</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a88b15d20c007926ab5871b8e6a9fbe3f"><div class="ttname"><a href="classIRHaierACYRW02.html#a88b15d20c007926ab5871b8e6a9fbe3f">IRHaierACYRW02::getSwing</a></div><div class="ttdeci">uint8_t getSwing(void)</div><div class="ttdoc">Get the Vertical Swing position setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:755</div></div>
<div class="ttc" id="aclassIRsend_html_ad1776aa6c699f9eeca1eef9bb4fe355b"><div class="ttname"><a href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">IRsend::calibrate</a></div><div class="ttdeci">int8_t calibrate(uint16_t hz=38000U)</div><div class="ttdoc">Calculate &amp; set any offsets to account for execution times during sending.</div><div class="ttdef"><b>Definition:</b> IRsend.cpp:207</div></div>
<div class="ttc" id="air__Haier_8h_html_ae31e878b09284a6730a11e2017cfd7a8"><div class="ttname"><a href="ir__Haier_8h.html#ae31e878b09284a6730a11e2017cfd7a8">kHaierAcFanLow</a></div><div class="ttdeci">const uint8_t kHaierAcFanLow</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:77</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a6de2fb6111049720913eb28bf6f64a00"><div class="ttname"><a href="classIRHaierACYRW02.html#a6de2fb6111049720913eb28bf6f64a00">IRHaierACYRW02::getFan</a></div><div class="ttdeci">uint8_t getFan(void)</div><div class="ttdoc">Get the current fan speed setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:734</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_afbeda3fd1bdc8c37d01bdf9f5c8274ff"><div class="ttname"><a href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a></div><div class="ttdeci">std::string String</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:1093</div></div>
<div class="ttc" id="air__Haier_8h_html_abb70fe8ca6004246345df3d841047252"><div class="ttname"><a href="ir__Haier_8h.html#abb70fe8ca6004246345df3d841047252">kHaierAcYrw02Sleep</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02Sleep</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:172</div></div>
<div class="ttc" id="air__Haier_8h_html_a5c7b8ff351e3d0167ec2c897c4820c40"><div class="ttname"><a href="ir__Haier_8h.html#a5c7b8ff351e3d0167ec2c897c4820c40">kHaierAcYrw02ButtonSleep</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02ButtonSleep</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:184</div></div>
<div class="ttc" id="air__Haier_8h_html_a8502c9bea40205e01e6a01b47354272a"><div class="ttname"><a href="ir__Haier_8h.html#a8502c9bea40205e01e6a01b47354272a">kHaierAcPrefix</a></div><div class="ttdeci">const uint8_t kHaierAcPrefix</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:33</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_a8f52b7d4595c117cf0b81ffbd1148cda"><div class="ttname"><a href="IRremoteESP8266_8h.html#a8f52b7d4595c117cf0b81ffbd1148cda">kHaierACYRW02StateLength</a></div><div class="ttdeci">const uint16_t kHaierACYRW02StateLength</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:889</div></div>
<div class="ttc" id="aclassIRHaierAC_html_aa5e95aa05749f6d35dd31b021fea2f5b"><div class="ttname"><a href="classIRHaierAC.html#aa5e95aa05749f6d35dd31b021fea2f5b">IRHaierAC::setOnTimer</a></div><div class="ttdeci">void setOnTimer(const uint16_t mins)</div><div class="ttdoc">Set &amp; enable the On Timer.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:295</div></div>
<div class="ttc" id="air__Haier_8h_html_ac21f78c3cef931154b3fc953bbebc3b4"><div class="ttname"><a href="ir__Haier_8h.html#ac21f78c3cef931154b3fc953bbebc3b4">kHaierAcSwingOff</a></div><div class="ttdeci">const uint8_t kHaierAcSwingOff</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:63</div></div>
<div class="ttc" id="air__Haier_8h_html_a2cf3a2102c6d4f9aede44efe853ffaa8"><div class="ttname"><a href="ir__Haier_8h.html#a2cf3a2102c6d4f9aede44efe853ffaa8">kHaierAcSwingDown</a></div><div class="ttdeci">const uint8_t kHaierAcSwingDown</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:65</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html"><div class="ttname"><a href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a></div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_aec7359fb8c796fc45577a40370f874c9"><div class="ttname"><a href="classIRHaierACYRW02.html#aec7359fb8c796fc45577a40370f874c9">IRHaierACYRW02::getMode</a></div><div class="ttdeci">uint8_t getMode(void)</div><div class="ttdoc">Get the operating mode setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:637</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_aff86d2e3e1d357f0eecf6322964e7c16"><div class="ttname"><a href="classIRHaierACYRW02.html#aff86d2e3e1d357f0eecf6322964e7c16">IRHaierACYRW02::toCommon</a></div><div class="ttdeci">stdAc::state_t toCommon(void)</div><div class="ttdoc">Convert the current internal state into its stdAc::state_t equivilant.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:864</div></div>
<div class="ttc" id="air__Haier_8h_html_ab47bc48ac77fbf6734a41d10f0a53e4a"><div class="ttname"><a href="ir__Haier_8h.html#ab47bc48ac77fbf6734a41d10f0a53e4a">kHaierAcYrw02FanHigh</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02FanHigh</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:149</div></div>
<div class="ttc" id="air__Haier_8h_html_af4049629b2139ca82471dfed1e1ced15"><div class="ttname"><a href="ir__Haier_8h.html#af4049629b2139ca82471dfed1e1ced15">kHaierAcFan</a></div><div class="ttdeci">const uint8_t kHaierAcFan</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:74</div></div>
<div class="ttc" id="air__Haier_8h_html_a9a0a14ab98e1e52b60b9b9bf611c20cc"><div class="ttname"><a href="ir__Haier_8h.html#a9a0a14ab98e1e52b60b9b9bf611c20cc">kHaierAcYrw02FanLow</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02FanLow</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:151</div></div>
<div class="ttc" id="air__Haier_8h_html_a95ae88223d910d4d966949241bccff8d"><div class="ttname"><a href="ir__Haier_8h.html#a95ae88223d910d4d966949241bccff8d">kHaierAcYrw02SwingAuto</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02SwingAuto</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:136</div></div>
<div class="ttc" id="air__Haier_8h_html_a83cd81ea1115f42a403ea5ee07a32bbb"><div class="ttname"><a href="ir__Haier_8h.html#a83cd81ea1115f42a403ea5ee07a32bbb">kHaierAcCool</a></div><div class="ttdeci">const uint8_t kHaierAcCool</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:71</div></div>
<div class="ttc" id="air__Haier_8h_html_a86c9e8176fc01e52e883cadcc1d31763"><div class="ttname"><a href="ir__Haier_8h.html#a86c9e8176fc01e52e883cadcc1d31763">kHaierAcDefTemp</a></div><div class="ttdeci">const uint8_t kHaierAcDefTemp</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:37</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a609abaeab9df642fdaccd77235a84eed"><div class="ttname"><a href="classIRHaierAC.html#a609abaeab9df642fdaccd77235a84eed">IRHaierAC::remote_state</a></div><div class="ttdeci">uint8_t remote_state[kHaierACStateLength]</div><div class="ttdoc">The state in native code form.</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:281</div></div>
<div class="ttc" id="air__Haier_8h_html_a62570c15418cf24a94c92b162967f892"><div class="ttname"><a href="ir__Haier_8h.html#a62570c15418cf24a94c92b162967f892">kHaierAcYrw02SwingOff</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02SwingOff</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:131</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a34053c32ba50ff3b81b208d068efe2a4"><div class="ttname"><a href="classIRHaierAC.html#a34053c32ba50ff3b81b208d068efe2a4">IRHaierAC::convertSwingV</a></div><div class="ttdeci">uint8_t convertSwingV(const stdAc::swingv_t position)</div><div class="ttdoc">Convert a stdAc::swingv_t enum into it's native setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:372</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_ae9c3a7bffc08d9d5204616823f709889"><div class="ttname"><a href="classIRHaierACYRW02.html#ae9c3a7bffc08d9d5204616823f709889">IRHaierACYRW02::setFan</a></div><div class="ttdeci">void setFan(const uint8_t speed)</div><div class="ttdoc">Set the speed of the fan.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:741</div></div>
<div class="ttc" id="air__Haier_8h_html_ace8cd6ed41c3f247ada91052d653b515"><div class="ttname"><a href="ir__Haier_8h.html#ace8cd6ed41c3f247ada91052d653b515">kHaierAcOffTimerOffset</a></div><div class="ttdeci">const uint8_t kHaierAcOffTimerOffset</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:54</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a48c9ae91809d63156eeb3889f2e908f4"><div class="ttname"><a href="classIRHaierAC.html#a48c9ae91809d63156eeb3889f2e908f4">IRHaierAC::setHealth</a></div><div class="ttdeci">void setHealth(const bool on)</div><div class="ttdoc">Set the Health (filter) setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:228</div></div>
<div class="ttc" id="air__Haier_8h_html_a3b24373f9c812f93eca05ee47e61d6e0"><div class="ttname"><a href="ir__Haier_8h.html#a3b24373f9c812f93eca05ee47e61d6e0">kHaierAcYrw02ButtonTempUp</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02ButtonTempUp</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:176</div></div>
<div class="ttc" id="air__Haier_8h_html_ac651bfee5d261124700c81ec5db184a7"><div class="ttname"><a href="ir__Haier_8h.html#ac651bfee5d261124700c81ec5db184a7">kHaierAcYrw02SleepOffset</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02SleepOffset</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:171</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a9837ba26574f8bd452d616173819a9a4"><div class="ttname"><a href="classIRHaierACYRW02.html#a9837ba26574f8bd452d616173819a9a4">IRHaierACYRW02::off</a></div><div class="ttdeci">void off(void)</div><div class="ttdoc">Change the power setting to Off.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:695</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a79673650a2285f029a35ab69edeb0e74"><div class="ttname"><a href="classIRHaierACYRW02.html#a79673650a2285f029a35ab69edeb0e74">IRHaierACYRW02::setHealth</a></div><div class="ttdeci">void setHealth(const bool on)</div><div class="ttdoc">Set the Health (filter) setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:667</div></div>
<div class="ttc" id="air__Haier_8h_html_aafd2a4f38ecf78482a5a94e9c6c23f1c"><div class="ttname"><a href="ir__Haier_8h.html#aafd2a4f38ecf78482a5a94e9c6c23f1c">kHaierAcMinTemp</a></div><div class="ttdeci">const uint8_t kHaierAcMinTemp</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:36</div></div>
<div class="ttc" id="air__Haier_8h_html_aab380411ac07b2b7f67956a5bbc362fb"><div class="ttname"><a href="ir__Haier_8h.html#aab380411ac07b2b7f67956a5bbc362fb">kHaierAcYrw02SwingDown</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02SwingDown</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:135</div></div>
<div class="ttc" id="aclassIRHaierAC_html_af137371c6766ee068a0200ff1facd8b0"><div class="ttname"><a href="classIRHaierAC.html#af137371c6766ee068a0200ff1facd8b0">IRHaierAC::getTemp</a></div><div class="ttdeci">uint8_t getTemp(void)</div><div class="ttdoc">Get the current temperature setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:222</div></div>
<div class="ttc" id="aclassIRHaierAC_html_ad7aae554b8f0a76493efc2a43ac0f780"><div class="ttname"><a href="classIRHaierAC.html#ad7aae554b8f0a76493efc2a43ac0f780">IRHaierAC::validChecksum</a></div><div class="ttdeci">static bool validChecksum(uint8_t state[], const uint16_t length=kHaierACStateLength)</div><div class="ttdoc">Verify the checksum is valid for a given state.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:102</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a18045defdd5641ae13c7c75dda0cf23a"><div class="ttname"><a href="classIRHaierACYRW02.html#a18045defdd5641ae13c7c75dda0cf23a">IRHaierACYRW02::checksum</a></div><div class="ttdeci">void checksum(void)</div><div class="ttdoc">Calculate and set the checksum values for the internal state.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:554</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a0ac7155d5ba294ce50b9436a35aa166b"><div class="ttname"><a href="classIRHaierAC.html#a0ac7155d5ba294ce50b9436a35aa166b">IRHaierAC::getSleep</a></div><div class="ttdeci">bool getSleep(void)</div><div class="ttdoc">Get the Sleep setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:248</div></div>
<div class="ttc" id="air__Haier_8h_html_a83cd0b5f307d9ae3ed0a3c6ed8fef94d"><div class="ttname"><a href="ir__Haier_8h.html#a83cd0b5f307d9ae3ed0a3c6ed8fef94d">kHaierAcCmdHealth</a></div><div class="ttdeci">const uint8_t kHaierAcCmdHealth</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:48</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a9cb0edcb5f36054e4e024c38ec3f26b9"><div class="ttname"><a href="classIRHaierACYRW02.html#a9cb0edcb5f36054e4e024c38ec3f26b9">IRHaierACYRW02::getTemp</a></div><div class="ttdeci">uint8_t getTemp(void)</div><div class="ttdoc">Get the current temperature setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:661</div></div>
<div class="ttc" id="air__Haier_8h_html_a83973c2ad2b7b95611c81628c387e0d8"><div class="ttname"><a href="ir__Haier_8h.html#a83973c2ad2b7b95611c81628c387e0d8">kHaierAcCmdOn</a></div><div class="ttdeci">const uint8_t kHaierAcCmdOn</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:40</div></div>
<div class="ttc" id="air__Haier_8h_html_a32d6dd98a050711bf928bf250b769839"><div class="ttname"><a href="ir__Haier_8h.html#a32d6dd98a050711bf928bf250b769839">kHaierAcYrw02SwingMiddle</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02SwingMiddle</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:133</div></div>
<div class="ttc" id="air__Haier_8h_html_aa10c558317448783535e96be5876505c"><div class="ttname"><a href="ir__Haier_8h.html#aa10c558317448783535e96be5876505c">kHaierAcYrw02ButtonSwing</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02ButtonSwing</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:178</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a3858dd619f4ea4071b248bb5fb64fb08"><div class="ttname"><a href="classIRHaierACYRW02.html#a3858dd619f4ea4071b248bb5fb64fb08">IRHaierACYRW02::toString</a></div><div class="ttdeci">String toString(void)</div><div class="ttdoc">Convert the current internal state into a human readable string.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:890</div></div>
<div class="ttc" id="air__Haier_8h_html_a19b7f4aee8115eb77267c415d8b3bd82"><div class="ttname"><a href="ir__Haier_8h.html#a19b7f4aee8115eb77267c415d8b3bd82">kHaierAcYrw02TurboLow</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02TurboLow</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:159</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_abca7bbe8c723551723f24f186343b764"><div class="ttname"><a href="classIRHaierACYRW02.html#abca7bbe8c723551723f24f186343b764">IRHaierACYRW02::getRaw</a></div><div class="ttdeci">uint8_t * getRaw(void)</div><div class="ttdoc">Get a PTR to the internal state/code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:585</div></div>
<div class="ttc" id="air__Haier_8h_html_a5dfa833768e549964aa0bf8a336c32b0"><div class="ttname"><a href="ir__Haier_8h.html#a5dfa833768e549964aa0bf8a336c32b0">kHaierAcFanMed</a></div><div class="ttdeci">const uint8_t kHaierAcFanMed</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:78</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_ad63834eb1a91ed974af988c385570457"><div class="ttname"><a href="classIRHaierACYRW02.html#ad63834eb1a91ed974af988c385570457">IRHaierACYRW02::setSleep</a></div><div class="ttdeci">void setSleep(const bool on)</div><div class="ttdoc">Set the Sleep setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:705</div></div>
<div class="ttc" id="air__Haier_8h_html_aa06ba46287b5806a6373e921cee34a51"><div class="ttname"><a href="ir__Haier_8h.html#aa06ba46287b5806a6373e921cee34a51">kHaierAcYrw02TurboOff</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02TurboOff</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:157</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_af4df303e5662aa63cba715ff49e09b75"><div class="ttname"><a href="classIRHaierACYRW02.html#af4df303e5662aa63cba715ff49e09b75">IRHaierACYRW02::getButton</a></div><div class="ttdeci">uint8_t getButton(void)</div><div class="ttdoc">Get the Button/Command setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:615</div></div>
<div class="ttc" id="air__Haier_8h_html_af4a9e5f7f705c331531ea2863dbbd11d"><div class="ttname"><a href="ir__Haier_8h.html#af4a9e5f7f705c331531ea2863dbbd11d">kHaierAcYrw02ButtonTempDown</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02ButtonTempDown</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:177</div></div>
<div class="ttc" id="aclassIRHaierAC_html"><div class="ttname"><a href="classIRHaierAC.html">IRHaierAC</a></div><div class="ttdoc">Class for handling detailed Haier A/C messages.</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:217</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a80170879e7bd391e360d41f18f6fa52b"><div class="ttname"><a href="classIRHaierACYRW02.html#a80170879e7bd391e360d41f18f6fa52b">IRHaierACYRW02::setTemp</a></div><div class="ttdeci">void setTemp(const uint8_t temp)</div><div class="ttdoc">Set the temperature.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:643</div></div>
<div class="ttc" id="air__Haier_8h_html_a0910d1996a451c98383124a39ef65f84"><div class="ttname"><a href="ir__Haier_8h.html#a0910d1996a451c98383124a39ef65f84">kHaierAcYrw02FanOffset</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02FanOffset</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:147</div></div>
<div class="ttc" id="aclassIRHaierAC_html_aa0e05983088035f6d85c520843922c25"><div class="ttname"><a href="classIRHaierAC.html#aa0e05983088035f6d85c520843922c25">IRHaierAC::getCurrTime</a></div><div class="ttdeci">uint16_t getCurrTime(void)</div><div class="ttdoc">Get the clock value of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:281</div></div>
<div class="ttc" id="air__Haier_8h_html_ad9f4cbfd8e6a5874d661195858156eec"><div class="ttname"><a href="ir__Haier_8h.html#ad9f4cbfd8e6a5874d661195858156eec">kHaierAcSleepBitOffset</a></div><div class="ttdeci">const uint8_t kHaierAcSleepBitOffset</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:91</div></div>
<div class="ttc" id="aclassIRHaierAC_html_aa16b36aa7ef07628343dbd2dfe5157a2"><div class="ttname"><a href="classIRHaierAC.html#aa16b36aa7ef07628343dbd2dfe5157a2">IRHaierAC::setOffTimer</a></div><div class="ttdeci">void setOffTimer(const uint16_t mins)</div><div class="ttdoc">Set &amp; enable the Off Timer.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:303</div></div>
<div class="ttc" id="air__Haier_8h_html_ad554d38035ac15e4ea8b855802886989"><div class="ttname"><a href="ir__Haier_8h.html#ad554d38035ac15e4ea8b855802886989">kHaierAcYrw02FanAuto</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02FanAuto</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:152</div></div>
<div class="ttc" id="air__Haier_8h_html_ab096c15c69f242b99fbc1e4d7bd7548e"><div class="ttname"><a href="ir__Haier_8h.html#ab096c15c69f242b99fbc1e4d7bd7548e">kHaierAcYrw02TurboHigh</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02TurboHigh</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:158</div></div>
<div class="ttc" id="air__Haier_8h_html_a925252489fe34d9932151817d0dbe90b"><div class="ttname"><a href="ir__Haier_8h.html#a925252489fe34d9932151817d0dbe90b">kHaierAcMaxTemp</a></div><div class="ttdeci">const uint8_t kHaierAcMaxTemp</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:38</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a65a5d5840dddac505b009e899a0dada7"><div class="ttname"><a href="classIRHaierACYRW02.html#a65a5d5840dddac505b009e899a0dada7">IRHaierACYRW02::send</a></div><div class="ttdeci">void send(const uint16_t repeat=kHaierAcYrw02DefaultRepeat)</div><div class="ttdoc">Send the current internal state as an IR message.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:548</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_aa0f1561e2446f6231f722581f5bae34d"><div class="ttname"><a href="classIRHaierACYRW02.html#aa0f1561e2446f6231f722581f5bae34d">IRHaierACYRW02::setButton</a></div><div class="ttdeci">void setButton(const uint8_t button)</div><div class="ttdoc">Set the Button/Command setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:598</div></div>
<div class="ttc" id="air__Haier_8h_html_a0f9c265510e1e27f38817f08ef9c622b"><div class="ttname"><a href="ir__Haier_8h.html#a0f9c265510e1e27f38817f08ef9c622b">kHaierAcYrw02ButtonFan</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02ButtonFan</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:179</div></div>
<div class="ttc" id="air__Haier_8h_html_a30c5d4e61ae3112a8a3e3622eecbb10b"><div class="ttname"><a href="ir__Haier_8h.html#a30c5d4e61ae3112a8a3e3622eecbb10b">kHaierAcYrw02Cool</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02Cool</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:165</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a4d73f75516afff0ef18bdbb7ed9c26ed"><div class="ttname"><a href="classIRHaierAC.html#a4d73f75516afff0ef18bdbb7ed9c26ed">IRHaierAC::toCommonMode</a></div><div class="ttdeci">static stdAc::opmode_t toCommonMode(const uint8_t mode)</div><div class="ttdoc">Convert a native mode into its stdAc equivilant.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:387</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a389e711e128533c409731d2c87868c85"><div class="ttname"><a href="classIRHaierACYRW02.html#a389e711e128533c409731d2c87868c85">IRHaierACYRW02::setRaw</a></div><div class="ttdeci">void setRaw(const uint8_t new_code[])</div><div class="ttdoc">Set the internal state from a valid code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:592</div></div>
<div class="ttc" id="air__Haier_8h_html_a4bcb42b359472cf770e0710b5369493b"><div class="ttname"><a href="ir__Haier_8h.html#a4bcb42b359472cf770e0710b5369493b">kHaierAcYrw02HealthOffset</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02HealthOffset</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:139</div></div>
<div class="ttc" id="air__Haier_8h_html_aa4b64385da5e9b2a89e15f70cd8c89e9"><div class="ttname"><a href="ir__Haier_8h.html#aa4b64385da5e9b2a89e15f70cd8c89e9">kHaierAcYrw02SwingBottom</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02SwingBottom</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:134</div></div>
<div class="ttc" id="air__Haier_8h_html_a8a34e74f7083caa98ed4afc31294539e"><div class="ttname"><a href="ir__Haier_8h.html#a8a34e74f7083caa98ed4afc31294539e">kHaierAcFanAuto</a></div><div class="ttdeci">const uint8_t kHaierAcFanAuto</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:76</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a1f7dffe29fbe67989b2f425d629850db"><div class="ttname"><a href="classIRHaierACYRW02.html#a1f7dffe29fbe67989b2f425d629850db">IRHaierACYRW02::convertSwingV</a></div><div class="ttdeci">uint8_t convertSwingV(const stdAc::swingv_t position)</div><div class="ttdoc">Convert a stdAc::swingv_t enum into it's native setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:811</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a3a291fccea5f4b32f83da2605d2a82e0"><div class="ttname"><a href="classIRHaierAC.html#a3a291fccea5f4b32f83da2605d2a82e0">IRHaierAC::getCommand</a></div><div class="ttdeci">uint8_t getCommand(void)</div><div class="ttdoc">Get the Command/Button setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:155</div></div>
<div class="ttc" id="air__Haier_8h_html_abe59df7abf20a66107516054f3a2d32b"><div class="ttname"><a href="ir__Haier_8h.html#abe59df7abf20a66107516054f3a2d32b">kHaierAcYrw02Power</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02Power</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:143</div></div>
<div class="ttc" id="air__Haier_8h_html_a96599917176ee244874926d1a530dd7e"><div class="ttname"><a href="ir__Haier_8h.html#a96599917176ee244874926d1a530dd7e">kHaierAcCmdOff</a></div><div class="ttdeci">const uint8_t kHaierAcCmdOff</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:39</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_afd9354c36df33434840bbc5f38d4e7ed"><div class="ttname"><a href="classIRHaierACYRW02.html#afd9354c36df33434840bbc5f38d4e7ed">IRHaierACYRW02::IRHaierACYRW02</a></div><div class="ttdeci">IRHaierACYRW02(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)</div><div class="ttdoc">Class constructor.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:538</div></div>
<div class="ttc" id="air__Haier_8h_html_aa0873975b6649294a3c9943130cb7a38"><div class="ttname"><a href="ir__Haier_8h.html#aa0873975b6649294a3c9943130cb7a38">kHaierAcYrw02Heat</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02Heat</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:167</div></div>
<div class="ttc" id="aclassIRHaierAC_html_ab7faae274ff7f30bf7df3c58d6e7e210"><div class="ttname"><a href="classIRHaierAC.html#ab7faae274ff7f30bf7df3c58d6e7e210">IRHaierAC::checksum</a></div><div class="ttdeci">void checksum(void)</div><div class="ttdoc">Calculate and set the checksum values for the internal state.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:94</div></div>
<div class="ttc" id="aclassIRHaierAC_html_ade34c951e72a794c2ff7fa0d1595d68f"><div class="ttname"><a href="classIRHaierAC.html#ade34c951e72a794c2ff7fa0d1595d68f">IRHaierAC::setCommand</a></div><div class="ttdeci">void setCommand(const uint8_t command)</div><div class="ttdoc">Set the Command/Button setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:136</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a448b1d5db05f7722db4758e968ea3171"><div class="ttname"><a href="classIRHaierAC.html#a448b1d5db05f7722db4758e968ea3171">IRHaierAC::calibrate</a></div><div class="ttdeci">int8_t calibrate(void)</div><div class="ttdoc">Run the calibration to calculate uSec timing offsets for this platform.</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:227</div></div>
<div class="ttc" id="air__Haier_8h_html_ac63b91acdffa55d440b08aee05bda5dc"><div class="ttname"><a href="ir__Haier_8h.html#ac63b91acdffa55d440b08aee05bda5dc">kHaierAcSleepBit</a></div><div class="ttdeci">const uint8_t kHaierAcSleepBit</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:92</div></div>
<div class="ttc" id="air__Haier_8h_html_a3d36fbe1308221248f45044e5a671636"><div class="ttname"><a href="ir__Haier_8h.html#a3d36fbe1308221248f45044e5a671636">kHaierAcDry</a></div><div class="ttdeci">const uint8_t kHaierAcDry</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:72</div></div>
<div class="ttc" id="air__Haier_8h_html_a5189092c278fb5c31efd4f539f905da5"><div class="ttname"><a href="ir__Haier_8h.html#a5189092c278fb5c31efd4f539f905da5">kHaierAcOnTimerOffset</a></div><div class="ttdeci">const uint8_t kHaierAcOnTimerOffset</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:55</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a3f6d071d215b0316cccc2e94c4786954"><div class="ttname"><a href="classIRHaierACYRW02.html#a3f6d071d215b0316cccc2e94c4786954">IRHaierACYRW02::validChecksum</a></div><div class="ttdeci">static bool validChecksum(uint8_t state[], const uint16_t length=kHaierACYRW02StateLength)</div><div class="ttdoc">Verify the checksum is valid for a given state.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:563</div></div>
<div class="ttc" id="air__Haier_8h_html_a4bff8829604ee927dda5cfc54bd6cfe6"><div class="ttname"><a href="ir__Haier_8h.html#a4bff8829604ee927dda5cfc54bd6cfe6">kHaierAcSwingUp</a></div><div class="ttdeci">const uint8_t kHaierAcSwingUp</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:64</div></div>
<div class="ttc" id="aclassIRHaierAC_html_aac354e2e4ad72d91667509398078b309"><div class="ttname"><a href="classIRHaierAC.html#aac354e2e4ad72d91667509398078b309">IRHaierAC::toCommonSwingV</a></div><div class="ttdeci">static stdAc::swingv_t toCommonSwingV(const uint8_t pos)</div><div class="ttdoc">Convert a stdAc::swingv_t enum into it's native setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:412</div></div>
<div class="ttc" id="air__Haier_8h_html_a74466c50b450b08407c9f226a5d657e5"><div class="ttname"><a href="ir__Haier_8h.html#a74466c50b450b08407c9f226a5d657e5">kHaierAcYrw02ButtonMode</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02ButtonMode</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:181</div></div>
<div class="ttc" id="air__Haier_8h_html_a0edb011bdf85197e63a32d37f8517dd2"><div class="ttname"><a href="ir__Haier_8h.html#a0edb011bdf85197e63a32d37f8517dd2">kHaierAcHeat</a></div><div class="ttdeci">const uint8_t kHaierAcHeat</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:73</div></div>
<div class="ttc" id="air__Haier_8h_html_aa2c6bd47b47e0ea1b51931fec7daef4d"><div class="ttname"><a href="ir__Haier_8h.html#aa2c6bd47b47e0ea1b51931fec7daef4d">kHaierAcYrw02FanSize</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02FanSize</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:148</div></div>
<div class="ttc" id="aclassIRHaierAC_html_aa180c60030d9972807238cceba886ff5"><div class="ttname"><a href="classIRHaierAC.html#aa180c60030d9972807238cceba886ff5">IRHaierAC::getMode</a></div><div class="ttdeci">uint8_t getMode(void)</div><div class="ttdoc">Get the operating mode setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:198</div></div>
<div class="ttc" id="aclassIRHaierAC_html_ab92fd48ccb5707cb6d14e9d46ce42e17"><div class="ttname"><a href="classIRHaierAC.html#ab92fd48ccb5707cb6d14e9d46ce42e17">IRHaierAC::begin</a></div><div class="ttdeci">void begin(void)</div><div class="ttdoc">Set up hardware to be able to send a message.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:83</div></div>
<div class="ttc" id="aclassIRHaierAC_html_aa18839d213e4cd46405c683ec67fa23e"><div class="ttname"><a href="classIRHaierAC.html#aa18839d213e4cd46405c683ec67fa23e">IRHaierAC::getSwing</a></div><div class="ttdeci">uint8_t getSwing(void)</div><div class="ttdoc">Get the Vertical Swing position setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:323</div></div>
<div class="ttc" id="air__Haier_8h_html_ae04e48e926a7533c3b62f0ff991e1f88"><div class="ttname"><a href="ir__Haier_8h.html#ae04e48e926a7533c3b62f0ff991e1f88">kHaierAcMaxTime</a></div><div class="ttdeci">const uint16_t kHaierAcMaxTime</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:88</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a53500ebdec058d27396e5906a572fe15"><div class="ttname"><a href="classIRHaierAC.html#a53500ebdec058d27396e5906a572fe15">IRHaierAC::setCurrTime</a></div><div class="ttdeci">void setCurrTime(const uint16_t mins)</div><div class="ttdoc">Set the clock value for the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:317</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a0e426a3479fd80bb3816f016fac22f19"><div class="ttname"><a href="classIRHaierACYRW02.html#a0e426a3479fd80bb3816f016fac22f19">IRHaierACYRW02::toCommonSwingV</a></div><div class="ttdeci">static stdAc::swingv_t toCommonSwingV(const uint8_t pos)</div><div class="ttdoc">Convert a stdAc::swingv_t enum into it's native setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:851</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html"><div class="ttname"><a href="classIRHaierACYRW02.html">IRHaierACYRW02</a></div><div class="ttdoc">Class for handling detailed Haier ACYRW02 A/C messages.</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:289</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a5b15678e94acc14a0bb86bff61230e93"><div class="ttname"><a href="classIRHaierAC.html#a5b15678e94acc14a0bb86bff61230e93">IRHaierAC::getFan</a></div><div class="ttdeci">uint8_t getFan(void)</div><div class="ttdoc">Get the current fan speed setting.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:177</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a1e74862d6ab7e65108a7b1a3b7af7e91"><div class="ttname"><a href="classIRHaierAC.html#a1e74862d6ab7e65108a7b1a3b7af7e91">IRHaierAC::toCommon</a></div><div class="ttdeci">stdAc::state_t toCommon(void)</div><div class="ttdoc">Convert the current internal state into its stdAc::state_t equivilant.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:423</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a0b78060cbd150cd886a409adc2dea49c"><div class="ttname"><a href="classIRHaierAC.html#a0b78060cbd150cd886a409adc2dea49c">IRHaierAC::IRHaierAC</a></div><div class="ttdeci">IRHaierAC(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)</div><div class="ttdoc">Class constructor.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:78</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a9fb2a375cc1b8692fe4d5dcdd765cc46"><div class="ttname"><a href="classIRHaierAC.html#a9fb2a375cc1b8692fe4d5dcdd765cc46">IRHaierAC::setTemp</a></div><div class="ttdeci">void setTemp(const uint8_t temp)</div><div class="ttdoc">Set the temperature.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:204</div></div>
<div class="ttc" id="air__Haier_8h_html_a0872af0b2b3f22f6681917b9c81c3bbd"><div class="ttname"><a href="ir__Haier_8h.html#a0872af0b2b3f22f6681917b9c81c3bbd">kHaierAcSwingOffset</a></div><div class="ttdeci">const uint8_t kHaierAcSwingOffset</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:61</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_aba5f028ee1ebf7be2d4de5a66237f01b"><div class="ttname"><a href="classIRHaierACYRW02.html#aba5f028ee1ebf7be2d4de5a66237f01b">IRHaierACYRW02::setTurbo</a></div><div class="ttdeci">void setTurbo(const uint8_t speed)</div><div class="ttdoc">Set the Turbo setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:721</div></div>
<div class="ttc" id="air__Haier_8h_html_a66cd902f2d35b4c8f66f085a0950a5fc"><div class="ttname"><a href="ir__Haier_8h.html#a66cd902f2d35b4c8f66f085a0950a5fc">kHaierAcYrw02Dry</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02Dry</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:166</div></div>
<div class="ttc" id="air__Haier_8h_html_a93fdbb1742923cf3f738c8078d5660f8"><div class="ttname"><a href="ir__Haier_8h.html#a93fdbb1742923cf3f738c8078d5660f8">kHaierAcModeOffset</a></div><div class="ttdeci">const uint8_t kHaierAcModeOffset</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:69</div></div>
<div class="ttc" id="astructstdAc_1_1state__t_html"><div class="ttname"><a href="structstdAc_1_1state__t.html">stdAc::state_t</a></div><div class="ttdoc">Structure to hold a common A/C state.</div><div class="ttdef"><b>Definition:</b> IRsend.h:97</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a9a51f3d4b4c60ed7d99f9836a57bb3e5"><div class="ttname"><a href="classIRHaierACYRW02.html#a9a51f3d4b4c60ed7d99f9836a57bb3e5">IRHaierACYRW02::convertMode</a></div><div class="ttdeci">uint8_t convertMode(const stdAc::opmode_t mode)</div><div class="ttdoc">Convert a stdAc::opmode_t enum into its native mode.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:784</div></div>
<div class="ttc" id="air__Haier_8h_html_a3db7b7dddae84a5d12101c5cdd06975e"><div class="ttname"><a href="ir__Haier_8h.html#a3db7b7dddae84a5d12101c5cdd06975e">kHaierAcHoursSize</a></div><div class="ttdeci">const uint8_t kHaierAcHoursSize</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:85</div></div>
<div class="ttc" id="aclassIRHaierAC_html_ad67ee0b7299d041aad77382dde893229"><div class="ttname"><a href="classIRHaierAC.html#ad67ee0b7299d041aad77382dde893229">IRHaierAC::toCommonFanSpeed</a></div><div class="ttdeci">static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)</div><div class="ttdoc">Convert a native fan speed into its stdAc equivilant.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:400</div></div>
<div class="ttc" id="air__Haier_8h_html_af36b9c628a697f6c596052ecd143d80b"><div class="ttname"><a href="ir__Haier_8h.html#af36b9c628a697f6c596052ecd143d80b">kHaierAcYrw02ButtonPower</a></div><div class="ttdeci">const uint8_t kHaierAcYrw02ButtonPower</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:180</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_ae762c5f5422b4af612fa00f7c26452ed"><div class="ttname"><a href="classIRHaierACYRW02.html#ae762c5f5422b4af612fa00f7c26452ed">IRHaierACYRW02::setMode</a></div><div class="ttdeci">void setMode(const uint8_t mode)</div><div class="ttdoc">Set the operating mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:621</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a99d3339eb5ecdbf1c86e85408507af7b"><div class="ttname"><a href="classIRHaierAC.html#a99d3339eb5ecdbf1c86e85408507af7b">IRHaierAC::getOnTimer</a></div><div class="ttdeci">int16_t getOnTimer(void)</div><div class="ttdoc">Get the On Timer value/setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:261</div></div>
<div class="ttc" id="air__Haier_8h_html_ad032725404a02c0e5a93350f20daf6e1"><div class="ttname"><a href="ir__Haier_8h.html#ad032725404a02c0e5a93350f20daf6e1">kHaierAcSwingSize</a></div><div class="ttdeci">const uint8_t kHaierAcSwingSize</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:62</div></div>
<div class="ttc" id="air__Haier_8h_html_ab780da80fc471f004c5b34dc8f347d00"><div class="ttname"><a href="ir__Haier_8h.html#ab780da80fc471f004c5b34dc8f347d00">kHaierAcCmdTimerCancel</a></div><div class="ttdeci">const uint8_t kHaierAcCmdTimerCancel</div><div class="ttdef"><b>Definition:</b> ir_Haier.h:47</div></div>
<div class="ttc" id="aclassIRHaierACYRW02_html_a66e42d018f3d86b136624a347d333401"><div class="ttname"><a href="classIRHaierACYRW02.html#a66e42d018f3d86b136624a347d333401">IRHaierACYRW02::convertFan</a></div><div class="ttdeci">uint8_t convertFan(const stdAc::fanspeed_t speed)</div><div class="ttdoc">Convert a stdAc::fanspeed_t enum into it's native speed.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:797</div></div>
<div class="ttc" id="anamespacestdAc_html_a99ad268c783486f9b3207cb78f48444f"><div class="ttname"><a href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a></div><div class="ttdeci">opmode_t</div><div class="ttdoc">Common A/C settings for A/C operating modes.</div><div class="ttdef"><b>Definition:</b> IRsend.h:46</div></div>
<div class="ttc" id="aclassIRHaierAC_html_a9fe53d04965efca6daf234f20d20eb5a"><div class="ttname"><a href="classIRHaierAC.html#a9fe53d04965efca6daf234f20d20eb5a">IRHaierAC::send</a></div><div class="ttdeci">void send(const uint16_t repeat=kHaierAcDefaultRepeat)</div><div class="ttdoc">Send the current internal state as an IR message.</div><div class="ttdef"><b>Definition:</b> ir_Haier.cpp:88</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>