-
Notifications
You must be signed in to change notification settings - Fork 851
/
Copy pathir__Airwell_8h_source.html
221 lines (219 loc) · 39.1 KB
/
ir__Airwell_8h_source.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
<!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_Airwell.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&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&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_Airwell.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="ir__Airwell_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> <span class="comment">// Copyright 2020 David Conran</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>  </div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>  </div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">// Supports:</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// Brand: Airwell, Model: RC08W remote</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// Brand: Airwell, Model: RC04 remote</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// Brand: Airwell, Model: DLS 21 DCI R410 AW A/C</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  </div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#ifndef IR_AIRWELL_H_</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#define IR_AIRWELL_H_</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  </div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#define __STDC_LIMIT_MACROS</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include <stdint.h></span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include <Arduino.h></span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a>"</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "<a class="code" href="IRsend_8h.html">IRsend.h</a>"</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#ifdef UNIT_TEST</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "IRsend_test.h"</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  </div>
<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="unionAirwellProtocol.html"> 27</a></span> <span class="keyword">union </span><a class="code" href="unionAirwellProtocol.html">AirwellProtocol</a>{</div>
<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="unionAirwellProtocol.html#a984e1bba5afac9887c2ebb976a38d560"> 28</a></span>  uint64_t <a class="code" href="unionAirwellProtocol.html#a984e1bba5afac9887c2ebb976a38d560">raw</a>; <span class="comment">// The state of the IR remote in native IR code form.</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="unionAirwellProtocol.html#ac8190704f390caf41b76dc0ee3377056"> 30</a></span>  uint64_t :19;</div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="unionAirwellProtocol.html#a5a6bd2772f3b9b5898ea84cf272cdf87"> 31</a></span>  uint64_t <a class="code" href="unionAirwellProtocol.html#a5a6bd2772f3b9b5898ea84cf272cdf87">Temp</a> :4;</div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="unionAirwellProtocol.html#ab2a20785c417317ac37cd1b5ef795249"> 32</a></span>  uint64_t :5;</div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="unionAirwellProtocol.html#a7d38043e982231fb6a331d72f7407c10"> 33</a></span>  uint64_t <a class="code" href="unionAirwellProtocol.html#a7d38043e982231fb6a331d72f7407c10">Fan</a> :2;</div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="unionAirwellProtocol.html#a4a12b674ee9dcdbca592a1c5f3deb43e"> 34</a></span>  uint64_t <a class="code" href="unionAirwellProtocol.html#a4a12b674ee9dcdbca592a1c5f3deb43e">Mode</a> :3;</div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="unionAirwellProtocol.html#a9a3893a0ec7811202697adeb60d89775"> 35</a></span>  uint64_t <a class="code" href="unionAirwellProtocol.html#a9a3893a0ec7811202697adeb60d89775">PowerToggle</a>:1;</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="unionAirwellProtocol.html#a3ba38aea4ada26e1936478d737e2080a"> 36</a></span>  uint64_t :0;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  };</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> };</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  </div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">// Constants</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="ir__Airwell_8h.html#ae907f815fab982317d7865525b0294d5"> 41</a></span> <span class="keyword">const</span> uint64_t <a class="code" href="ir__Airwell_8h.html#ae907f815fab982317d7865525b0294d5">kAirwellKnownGoodState</a> = 0x140500002; <span class="comment">// Mode Fan, Speed 1, 25C</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">// Temperature</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="ir__Airwell_8h.html#ad8eef8b76485134c1c5278cae460e028"> 43</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Airwell_8h.html#ad8eef8b76485134c1c5278cae460e028">kAirwellMinTemp</a> = 16; <span class="comment">// Celsius</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="ir__Airwell_8h.html#adccc14f29d12b3c1e38a2e6a7b820b5f"> 44</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Airwell_8h.html#adccc14f29d12b3c1e38a2e6a7b820b5f">kAirwellMaxTemp</a> = 30; <span class="comment">// Celsius</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">// Fan</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="ir__Airwell_8h.html#ab105d4d9a63166f9fbf2dfb47a58a3b7"> 46</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Airwell_8h.html#ab105d4d9a63166f9fbf2dfb47a58a3b7">kAirwellFanLow</a> = 0; <span class="comment">// 0b00</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ir__Airwell_8h.html#ac755543eac2fad7bbd1f2727e11aee21"> 47</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Airwell_8h.html#ac755543eac2fad7bbd1f2727e11aee21">kAirwellFanMedium</a> = 1; <span class="comment">// 0b01</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ir__Airwell_8h.html#ab269b3942bee5458ec89a917d2ab0288"> 48</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Airwell_8h.html#ab269b3942bee5458ec89a917d2ab0288">kAirwellFanHigh</a> = 2; <span class="comment">// 0b10</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ir__Airwell_8h.html#a40c8e262e6e6084c1d069bebb6a0fcb1"> 49</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Airwell_8h.html#a40c8e262e6e6084c1d069bebb6a0fcb1">kAirwellFanAuto</a> = 3; <span class="comment">// 0b11</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">// Modes</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="ir__Airwell_8h.html#ab82c81efca876184ab30f24347dfa6af"> 51</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Airwell_8h.html#ab82c81efca876184ab30f24347dfa6af">kAirwellCool</a> = 1; <span class="comment">// 0b001</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="ir__Airwell_8h.html#a0f6e36670946f015d4599ad626300ef7"> 52</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Airwell_8h.html#a0f6e36670946f015d4599ad626300ef7">kAirwellHeat</a> = 2; <span class="comment">// 0b010</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="ir__Airwell_8h.html#a5f3dbadb46874c672e093c5bbb59a97e"> 53</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Airwell_8h.html#a5f3dbadb46874c672e093c5bbb59a97e">kAirwellAuto</a> = 3; <span class="comment">// 0b011</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="ir__Airwell_8h.html#a1274093143c10ea0208fdfe7b4ebdb02"> 54</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Airwell_8h.html#a1274093143c10ea0208fdfe7b4ebdb02">kAirwellDry</a> = 4; <span class="comment">// 0b100</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="ir__Airwell_8h.html#abcdf6dac387c3fa5bb2eeb0327250ac7"> 55</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Airwell_8h.html#abcdf6dac387c3fa5bb2eeb0327250ac7">kAirwellFan</a> = 5; <span class="comment">// 0b101</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  </div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">// Classes</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classIRAirwellAc.html"> 60</a></span> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classIRAirwellAc.html">IRAirwellAc</a> {</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">public</span>:</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">explicit</span> <a class="code" href="classIRAirwellAc.html#a38cfe20bff4522034b16d64df64750e8">IRAirwellAc</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="l00063"></a><span class="lineno"> 63</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> use_modulation = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordtype">void</span> <a class="code" href="classIRAirwellAc.html#a82591a86e031ef30b58f9565b6233953">stateReset</a>();</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#if SEND_AIRWELL</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordtype">void</span> <a class="code" href="classIRAirwellAc.html#a503a7879c5739041bb97ad80128287ba">send</a>(<span class="keyword">const</span> uint16_t repeat = <a class="code" href="IRremoteESP8266_8h.html#a669217ae5aa0baa159f7452f53551875">kAirwellMinRepeats</a>);</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classIRAirwellAc.html#ae7a80cbb217d35835961477caaea3218"> 71</a></span>  int8_t <a class="code" href="classIRAirwellAc.html#ae7a80cbb217d35835961477caaea3218">calibrate</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> <a class="code" href="classIRAirwellAc.html#a57a01d6e65f6fa1127f8d3dc86ff8071">_irsend</a>.<a class="code" href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">calibrate</a>(); }</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#endif // SEND_AIRWELL</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordtype">void</span> <a class="code" href="classIRAirwellAc.html#a09a142457af5e012405da80ddaef1dc0">begin</a>();</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordtype">void</span> <a class="code" href="classIRAirwellAc.html#a1b6aa498d9766b041d39a7b3d73653e7">setPowerToggle</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> on);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordtype">bool</span> <a class="code" href="classIRAirwellAc.html#a73ae0827f0235788d5d6149ea4de8eb0">getPowerToggle</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordtype">void</span> <a class="code" href="classIRAirwellAc.html#a30883e7b4f7933b6fa2258736995d295">setTemp</a>(<span class="keyword">const</span> uint8_t temp);</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  uint8_t <a class="code" href="classIRAirwellAc.html#aee52deba26ba5b217704667d159d1110">getTemp</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordtype">void</span> <a class="code" href="classIRAirwellAc.html#a3b3acc1670d7057e7c36fc2bd0a71232">setFan</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  uint8_t <a class="code" href="classIRAirwellAc.html#aa24f7ff64fcb1cea358f7b5288eb7aa1">getFan</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordtype">void</span> <a class="code" href="classIRAirwellAc.html#a3cbc12fee37b9b2b19aa5455ace9d46e">setMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  uint8_t <a class="code" href="classIRAirwellAc.html#a9a1d651c8b71703212207888ddb4be14">getMode</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  uint64_t <a class="code" href="classIRAirwellAc.html#aec84bac505703ad872cd4b6391fbe748">getRaw</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordtype">void</span> <a class="code" href="classIRAirwellAc.html#a56e90d8b7e902be15c5db12be872d0fb">setRaw</a>(<span class="keyword">const</span> uint64_t state);</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">static</span> uint8_t <a class="code" href="classIRAirwellAc.html#a20f9a804b2f8774165befc43d434ad84">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="l00085"></a><span class="lineno"> 85</span>  <span class="keyword">static</span> uint8_t <a class="code" href="classIRAirwellAc.html#a44091f4d58b8078df1a93170cb9900d8">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="l00086"></a><span class="lineno"> 86</span>  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> <a class="code" href="classIRAirwellAc.html#ad2c717b7750e43894197ee8b292ba23b">toCommonMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> <a class="code" href="classIRAirwellAc.html#a38a93fc115fbe4deb0a5ee82a913c166">toCommonFanSpeed</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <a class="code" href="structstdAc_1_1state__t.html">stdAc::state_t</a> <a class="code" href="classIRAirwellAc.html#a279b9cf59acf8462ea99ffcd7d08b919">toCommon</a>(<span class="keyword">const</span> <a class="code" href="structstdAc_1_1state__t.html">stdAc::state_t</a> *prev = NULL) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <a class="code" href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a> <a class="code" href="classIRAirwellAc.html#acbd6772f93e897308db4f606d1f56eac">toString</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  </div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keyword">private</span>:</div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classIRAirwellAc.html#a57a01d6e65f6fa1127f8d3dc86ff8071"> 93</a></span>  <a class="code" href="classIRsend.html">IRsend</a> <a class="code" href="classIRAirwellAc.html#a57a01d6e65f6fa1127f8d3dc86ff8071">_irsend</a>; </div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor">#else</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  IRsendTest <a class="code" href="classIRAirwellAc.html#a57a01d6e65f6fa1127f8d3dc86ff8071">_irsend</a>; </div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classIRAirwellAc.html#af5675d200cdc571911162ecf8c74fdc0"> 99</a></span>  <a class="code" href="unionAirwellProtocol.html">AirwellProtocol</a> <a class="code" href="classIRAirwellAc.html#af5675d200cdc571911162ecf8c74fdc0">_</a>;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> };</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="preprocessor">#endif // IR_AIRWELL_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aIRremoteESP8266_8h_html_a669217ae5aa0baa159f7452f53551875"><div class="ttname"><a href="IRremoteESP8266_8h.html#a669217ae5aa0baa159f7452f53551875">kAirwellMinRepeats</a></div><div class="ttdeci">const uint16_t kAirwellMinRepeats</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:1151</div></div>
<div class="ttc" id="air__Airwell_8h_html_ab269b3942bee5458ec89a917d2ab0288"><div class="ttname"><a href="ir__Airwell_8h.html#ab269b3942bee5458ec89a917d2ab0288">kAirwellFanHigh</a></div><div class="ttdeci">const uint8_t kAirwellFanHigh</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:48</div></div>
<div class="ttc" id="aunionAirwellProtocol_html_a5a6bd2772f3b9b5898ea84cf272cdf87"><div class="ttname"><a href="unionAirwellProtocol.html#a5a6bd2772f3b9b5898ea84cf272cdf87">AirwellProtocol::Temp</a></div><div class="ttdeci">uint64_t Temp</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:31</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_a503a7879c5739041bb97ad80128287ba"><div class="ttname"><a href="classIRAirwellAc.html#a503a7879c5739041bb97ad80128287ba">IRAirwellAc::send</a></div><div class="ttdeci">void send(const uint16_t repeat=kAirwellMinRepeats)</div><div class="ttdoc">Send the current internal state as an IR message.</div><div class="ttdef"><b>Definition:</b> ir_Airwell.cpp:108</div></div>
<div class="ttc" id="aunionAirwellProtocol_html_a9a3893a0ec7811202697adeb60d89775"><div class="ttname"><a href="unionAirwellProtocol.html#a9a3893a0ec7811202697adeb60d89775">AirwellProtocol::PowerToggle</a></div><div class="ttdeci">uint64_t PowerToggle</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:35</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_a30883e7b4f7933b6fa2258736995d295"><div class="ttname"><a href="classIRAirwellAc.html#a30883e7b4f7933b6fa2258736995d295">IRAirwellAc::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_Airwell.cpp:225</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_a57a01d6e65f6fa1127f8d3dc86ff8071"><div class="ttname"><a href="classIRAirwellAc.html#a57a01d6e65f6fa1127f8d3dc86ff8071">IRAirwellAc::_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_Airwell.h:93</div></div>
<div class="ttc" id="aunionAirwellProtocol_html"><div class="ttname"><a href="unionAirwellProtocol.html">AirwellProtocol</a></div><div class="ttdoc">Native representation of a Airwell A/C message.</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:27</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:61</div></div>
<div class="ttc" id="air__Airwell_8h_html_ab82c81efca876184ab30f24347dfa6af"><div class="ttname"><a href="ir__Airwell_8h.html#ab82c81efca876184ab30f24347dfa6af">kAirwellCool</a></div><div class="ttdeci">const uint8_t kAirwellCool</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:51</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_a38cfe20bff4522034b16d64df64750e8"><div class="ttname"><a href="classIRAirwellAc.html#a38cfe20bff4522034b16d64df64750e8">IRAirwellAc::IRAirwellAc</a></div><div class="ttdeci">IRAirwellAc(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_Airwell.cpp:85</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_a279b9cf59acf8462ea99ffcd7d08b919"><div class="ttname"><a href="classIRAirwellAc.html#a279b9cf59acf8462ea99ffcd7d08b919">IRAirwellAc::toCommon</a></div><div class="ttdeci">stdAc::state_t toCommon(const stdAc::state_t *prev=NULL) const</div><div class="ttdoc">Convert the current internal state into its stdAc::state_t equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Airwell.cpp:240</div></div>
<div class="ttc" id="air__Airwell_8h_html_a0f6e36670946f015d4599ad626300ef7"><div class="ttname"><a href="ir__Airwell_8h.html#a0f6e36670946f015d4599ad626300ef7">kAirwellHeat</a></div><div class="ttdeci">const uint8_t kAirwellHeat</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:52</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_a3cbc12fee37b9b2b19aa5455ace9d46e"><div class="ttname"><a href="classIRAirwellAc.html#a3cbc12fee37b9b2b19aa5455ace9d46e">IRAirwellAc::setMode</a></div><div class="ttdeci">void setMode(const uint8_t mode)</div><div class="ttdoc">Set the desired operation mode.</div><div class="ttdef"><b>Definition:</b> ir_Airwell.cpp:138</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__Airwell_8h_html_ad8eef8b76485134c1c5278cae460e028"><div class="ttname"><a href="ir__Airwell_8h.html#ad8eef8b76485134c1c5278cae460e028">kAirwellMinTemp</a></div><div class="ttdeci">const uint8_t kAirwellMinTemp</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:43</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:237</div></div>
<div class="ttc" id="air__Airwell_8h_html_a40c8e262e6e6084c1d069bebb6a0fcb1"><div class="ttname"><a href="ir__Airwell_8h.html#a40c8e262e6e6084c1d069bebb6a0fcb1">kAirwellFanAuto</a></div><div class="ttdeci">const uint8_t kAirwellFanAuto</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:49</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 & 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="aunionAirwellProtocol_html_a984e1bba5afac9887c2ebb976a38d560"><div class="ttname"><a href="unionAirwellProtocol.html#a984e1bba5afac9887c2ebb976a38d560">AirwellProtocol::raw</a></div><div class="ttdeci">uint64_t raw</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:28</div></div>
<div class="ttc" id="air__Airwell_8h_html_abcdf6dac387c3fa5bb2eeb0327250ac7"><div class="ttname"><a href="ir__Airwell_8h.html#abcdf6dac387c3fa5bb2eeb0327250ac7">kAirwellFan</a></div><div class="ttdeci">const uint8_t kAirwellFan</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:55</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_aee52deba26ba5b217704667d159d1110"><div class="ttname"><a href="classIRAirwellAc.html#aee52deba26ba5b217704667d159d1110">IRAirwellAc::getTemp</a></div><div class="ttdeci">uint8_t getTemp() const</div><div class="ttdoc">Get the current temperature setting.</div><div class="ttdef"><b>Definition:</b> ir_Airwell.cpp:233</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:1521</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_aec84bac505703ad872cd4b6391fbe748"><div class="ttname"><a href="classIRAirwellAc.html#aec84bac505703ad872cd4b6391fbe748">IRAirwellAc::getRaw</a></div><div class="ttdeci">uint64_t getRaw() const</div><div class="ttdoc">Get the raw state of the object, suitable to be sent with the appropriate IRsend object method.</div><div class="ttdef"><b>Definition:</b> ir_Airwell.cpp:95</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="air__Airwell_8h_html_ab105d4d9a63166f9fbf2dfb47a58a3b7"><div class="ttname"><a href="ir__Airwell_8h.html#ab105d4d9a63166f9fbf2dfb47a58a3b7">kAirwellFanLow</a></div><div class="ttdeci">const uint8_t kAirwellFanLow</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:46</div></div>
<div class="ttc" id="air__Airwell_8h_html_a5f3dbadb46874c672e093c5bbb59a97e"><div class="ttname"><a href="ir__Airwell_8h.html#a5f3dbadb46874c672e093c5bbb59a97e">kAirwellAuto</a></div><div class="ttdeci">const uint8_t kAirwellAuto</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:53</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_ae7a80cbb217d35835961477caaea3218"><div class="ttname"><a href="classIRAirwellAc.html#ae7a80cbb217d35835961477caaea3218">IRAirwellAc::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_Airwell.h:71</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_aa24f7ff64fcb1cea358f7b5288eb7aa1"><div class="ttname"><a href="classIRAirwellAc.html#aa24f7ff64fcb1cea358f7b5288eb7aa1">IRAirwellAc::getFan</a></div><div class="ttdeci">uint8_t getFan() const</div><div class="ttdoc">Get the current fan speed setting.</div><div class="ttdef"><b>Definition:</b> ir_Airwell.cpp:189</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_a82591a86e031ef30b58f9565b6233953"><div class="ttname"><a href="classIRAirwellAc.html#a82591a86e031ef30b58f9565b6233953">IRAirwellAc::stateReset</a></div><div class="ttdeci">void stateReset()</div><div class="ttdoc">Reset the internals of the object to a known good state.</div><div class="ttdef"><b>Definition:</b> ir_Airwell.cpp:114</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_af5675d200cdc571911162ecf8c74fdc0"><div class="ttname"><a href="classIRAirwellAc.html#af5675d200cdc571911162ecf8c74fdc0">IRAirwellAc::_</a></div><div class="ttdeci">AirwellProtocol _</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:99</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_a3b3acc1670d7057e7c36fc2bd0a71232"><div class="ttname"><a href="classIRAirwellAc.html#a3b3acc1670d7057e7c36fc2bd0a71232">IRAirwellAc::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_Airwell.cpp:182</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_a20f9a804b2f8774165befc43d434ad84"><div class="ttname"><a href="classIRAirwellAc.html#a20f9a804b2f8774165befc43d434ad84">IRAirwellAc::convertMode</a></div><div class="ttdeci">static 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_Airwell.cpp:156</div></div>
<div class="ttc" id="air__Airwell_8h_html_adccc14f29d12b3c1e38a2e6a7b820b5f"><div class="ttname"><a href="ir__Airwell_8h.html#adccc14f29d12b3c1e38a2e6a7b820b5f">kAirwellMaxTemp</a></div><div class="ttdeci">const uint8_t kAirwellMaxTemp</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:44</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_ad2c717b7750e43894197ee8b292ba23b"><div class="ttname"><a href="classIRAirwellAc.html#ad2c717b7750e43894197ee8b292ba23b">IRAirwellAc::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 equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Airwell.cpp:169</div></div>
<div class="ttc" id="aclassIRAirwellAc_html"><div class="ttname"><a href="classIRAirwellAc.html">IRAirwellAc</a></div><div class="ttdoc">Class for handling detailed Airwell A/C messages.</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:60</div></div>
<div class="ttc" id="air__Airwell_8h_html_ae907f815fab982317d7865525b0294d5"><div class="ttname"><a href="ir__Airwell_8h.html#ae907f815fab982317d7865525b0294d5">kAirwellKnownGoodState</a></div><div class="ttdeci">const uint64_t kAirwellKnownGoodState</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:41</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_a9a1d651c8b71703212207888ddb4be14"><div class="ttname"><a href="classIRAirwellAc.html#a9a1d651c8b71703212207888ddb4be14">IRAirwellAc::getMode</a></div><div class="ttdeci">uint8_t getMode() const</div><div class="ttdoc">Get the current operation mode setting.</div><div class="ttdef"><b>Definition:</b> ir_Airwell.cpp:132</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_a38a93fc115fbe4deb0a5ee82a913c166"><div class="ttname"><a href="classIRAirwellAc.html#a38a93fc115fbe4deb0a5ee82a913c166">IRAirwellAc::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 equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Airwell.cpp:214</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_a44091f4d58b8078df1a93170cb9900d8"><div class="ttname"><a href="classIRAirwellAc.html#a44091f4d58b8078df1a93170cb9900d8">IRAirwellAc::convertFan</a></div><div class="ttdeci">static 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_Airwell.cpp:196</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_a1b6aa498d9766b041d39a7b3d73653e7"><div class="ttname"><a href="classIRAirwellAc.html#a1b6aa498d9766b041d39a7b3d73653e7">IRAirwellAc::setPowerToggle</a></div><div class="ttdeci">void setPowerToggle(const bool on)</div><div class="ttdoc">Turn on/off the Power Airwell setting.</div><div class="ttdef"><b>Definition:</b> ir_Airwell.cpp:120</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_a09a142457af5e012405da80ddaef1dc0"><div class="ttname"><a href="classIRAirwellAc.html#a09a142457af5e012405da80ddaef1dc0">IRAirwellAc::begin</a></div><div class="ttdeci">void begin()</div><div class="ttdoc">Set up hardware to be able to send a message.</div><div class="ttdef"><b>Definition:</b> ir_Airwell.cpp:90</div></div>
<div class="ttc" id="aunionAirwellProtocol_html_a7d38043e982231fb6a331d72f7407c10"><div class="ttname"><a href="unionAirwellProtocol.html#a7d38043e982231fb6a331d72f7407c10">AirwellProtocol::Fan</a></div><div class="ttdeci">uint64_t Fan</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:33</div></div>
<div class="ttc" id="air__Airwell_8h_html_ac755543eac2fad7bbd1f2727e11aee21"><div class="ttname"><a href="ir__Airwell_8h.html#ac755543eac2fad7bbd1f2727e11aee21">kAirwellFanMedium</a></div><div class="ttdeci">const uint8_t kAirwellFanMedium</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:47</div></div>
<div class="ttc" id="aunionAirwellProtocol_html_a4a12b674ee9dcdbca592a1c5f3deb43e"><div class="ttname"><a href="unionAirwellProtocol.html#a4a12b674ee9dcdbca592a1c5f3deb43e">AirwellProtocol::Mode</a></div><div class="ttdeci">uint64_t Mode</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:34</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_acbd6772f93e897308db4f606d1f56eac"><div class="ttname"><a href="classIRAirwellAc.html#acbd6772f93e897308db4f606d1f56eac">IRAirwellAc::toString</a></div><div class="ttdeci">String toString() const</div><div class="ttdoc">Convert the current internal state into a human readable string.</div><div class="ttdef"><b>Definition:</b> ir_Airwell.cpp:275</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:114</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_a73ae0827f0235788d5d6149ea4de8eb0"><div class="ttname"><a href="classIRAirwellAc.html#a73ae0827f0235788d5d6149ea4de8eb0">IRAirwellAc::getPowerToggle</a></div><div class="ttdeci">bool getPowerToggle() const</div><div class="ttdoc">Get the power toggle setting from the internal state.</div><div class="ttdef"><b>Definition:</b> ir_Airwell.cpp:126</div></div>
<div class="ttc" id="air__Airwell_8h_html_a1274093143c10ea0208fdfe7b4ebdb02"><div class="ttname"><a href="ir__Airwell_8h.html#a1274093143c10ea0208fdfe7b4ebdb02">kAirwellDry</a></div><div class="ttdeci">const uint8_t kAirwellDry</div><div class="ttdef"><b>Definition:</b> ir_Airwell.h:54</div></div>
<div class="ttc" id="aclassIRAirwellAc_html_a56e90d8b7e902be15c5db12be872d0fb"><div class="ttname"><a href="classIRAirwellAc.html#a56e90d8b7e902be15c5db12be872d0fb">IRAirwellAc::setRaw</a></div><div class="ttdeci">void setRaw(const uint64_t state)</div><div class="ttdoc">Set the raw state of the object.</div><div class="ttdef"><b>Definition:</b> ir_Airwell.cpp:101</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:49</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>