-
Notifications
You must be signed in to change notification settings - Fork 851
/
Copy pathir__Coolix_8h_source.html
367 lines (365 loc) · 79.4 KB
/
ir__Coolix_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
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
<!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_Coolix.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_Coolix.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="ir__Coolix_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 2018 David Conran</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"></span> </div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// Supports:</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// Brand: Beko, Model: RG57K7(B)/BGEF Remote</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// Brand: Beko, Model: BINR 070/071 split-type A/C</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// Brand: Midea, Model: RG52D/BGE Remote</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// Brand: Midea, Model: MS12FU-10HRDN1-QRD0GW(B) A/C</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">// Brand: Midea, Model: MSABAU-07HRFN1-QRD0GW A/C (circa 2016)</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// Brand: Tokio, Model: AATOEMF17-12CHR1SW split-type RG51|50/BGE Remote</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// Brand: Airwell, Model: RC08B remote</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">// Brand: Kastron, Model: RG57A7/BGEF Inverter remote</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">// Brand: Kaysun, Model: Casual CF A/C</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">// Brand: Toshiba, Model: RAS-M10YKV-E A/C</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">// Brand: Toshiba, Model: RAS-M13YKV-E A/C</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">// Brand: Toshiba, Model: RAS-4M27YAV-E A/C</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// Brand: Toshiba, Model: WH-E1YE remote</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">// Brand: Bosch, Model: RG36B4/BGE remote</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">// Brand: Bosch, Model: B1ZAI2441W/B1ZAO2441W A/C</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  </div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#ifndef IR_COOLIX_H_</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#define IR_COOLIX_H_</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  </div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#define __STDC_LIMIT_MACROS</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <stdint.h></span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <Arduino.h></span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "<a class="code" href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a>"</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "<a class="code" href="IRsend_8h.html">IRsend.h</a>"</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#ifdef UNIT_TEST</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "IRsend_test.h"</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  </div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">// Constants</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">// Modes</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#ae285ee4206fe45d25bb1d99b848c7e65"> 45</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Coolix_8h.html#ae285ee4206fe45d25bb1d99b848c7e65">kCoolixCool</a> = 0b000;</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#a904c4135f61120e71577f6830adae689"> 46</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Coolix_8h.html#a904c4135f61120e71577f6830adae689">kCoolixDry</a> = 0b001;</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#a73c1ef7c2c80c861256a14a9f256b125"> 47</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Coolix_8h.html#a73c1ef7c2c80c861256a14a9f256b125">kCoolixAuto</a> = 0b010;</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#a234b39696f0b2fac6b37aa309082505e"> 48</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Coolix_8h.html#a234b39696f0b2fac6b37aa309082505e">kCoolixHeat</a> = 0b011;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#a2e050321c994844f2ff6668ba6973ac4"> 49</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Coolix_8h.html#a2e050321c994844f2ff6668ba6973ac4">kCoolixFan</a> = 0b100; <span class="comment">// Synthetic.</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">// const uint32_t kCoolixModeMask = 0b000000000000000000001100; // 0xC</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">// const uint32_t kCoolixZoneFollowMask = 0b000010000000000000000010 0x80002</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment">// Fan Control</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#a6c0086075cce1698c48cc30e045ab5bf"> 53</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Coolix_8h.html#a6c0086075cce1698c48cc30e045ab5bf">kCoolixFanMin</a> = 0b100;</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#a2750626cda2e389df901b459805e09bd"> 54</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Coolix_8h.html#a2750626cda2e389df901b459805e09bd">kCoolixFanMed</a> = 0b010;</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#aabb349ee111467088b9a292950aba753"> 55</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Coolix_8h.html#aabb349ee111467088b9a292950aba753">kCoolixFanMax</a> = 0b001;</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#ac25d3c45ed7d7d30ff2ebf617d8265f0"> 56</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Coolix_8h.html#ac25d3c45ed7d7d30ff2ebf617d8265f0">kCoolixFanAuto</a> = 0b101;</div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#a38cccd1edee2c88c1b080f1d5600ead7"> 57</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Coolix_8h.html#a38cccd1edee2c88c1b080f1d5600ead7">kCoolixFanAuto0</a> = 0b000;</div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#a5a71c6acd18b3198c7900e2de34c48a3"> 58</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Coolix_8h.html#a5a71c6acd18b3198c7900e2de34c48a3">kCoolixFanZoneFollow</a> = 0b110;</div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#a37a3a23d8fe30df024cb844f82f90b2a"> 59</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Coolix_8h.html#a37a3a23d8fe30df024cb844f82f90b2a">kCoolixFanFixed</a> = 0b111;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">// Temperature</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#accd37cf257fa5fbeb64e28f0d63888fb"> 61</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Coolix_8h.html#accd37cf257fa5fbeb64e28f0d63888fb">kCoolixTempMin</a> = 17; <span class="comment">// Celsius</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#afbbb02bfeaaf5cb558ca28cdd5cfc4c3"> 62</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Coolix_8h.html#afbbb02bfeaaf5cb558ca28cdd5cfc4c3">kCoolixTempMax</a> = 30; <span class="comment">// Celsius</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#a74e3e75466fd27672968d660e3fddc9a"> 63</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Coolix_8h.html#a74e3e75466fd27672968d660e3fddc9a">kCoolixTempRange</a> = <a class="code" href="ir__Coolix_8h.html#afbbb02bfeaaf5cb558ca28cdd5cfc4c3">kCoolixTempMax</a> - <a class="code" href="ir__Coolix_8h.html#accd37cf257fa5fbeb64e28f0d63888fb">kCoolixTempMin</a> + 1;</div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#a6d2d6f2fd8f5e9a4491623b9351efcba"> 64</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Coolix_8h.html#a6d2d6f2fd8f5e9a4491623b9351efcba">kCoolixFanTempCode</a> = 0b1110; <span class="comment">// Part of Fan Mode.</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#a9c8931df1dbed38c8119f6605266c710"> 65</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Coolix_8h.html#a9c8931df1dbed38c8119f6605266c710">kCoolixTempMap</a>[<a class="code" href="ir__Coolix_8h.html#a74e3e75466fd27672968d660e3fddc9a">kCoolixTempRange</a>] = {</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  0b0000, <span class="comment">// 17C</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  0b0001, <span class="comment">// 18c</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  0b0011, <span class="comment">// 19C</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  0b0010, <span class="comment">// 20C</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  0b0110, <span class="comment">// 21C</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  0b0111, <span class="comment">// 22C</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  0b0101, <span class="comment">// 23C</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  0b0100, <span class="comment">// 24C</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  0b1100, <span class="comment">// 25C</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  0b1101, <span class="comment">// 26C</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  0b1001, <span class="comment">// 27C</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  0b1000, <span class="comment">// 28C</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  0b1010, <span class="comment">// 29C</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  0b1011 <span class="comment">// 30C</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> };</div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#a71641b1240ee439e77128165cedf899f"> 81</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Coolix_8h.html#a71641b1240ee439e77128165cedf899f">kCoolixSensorTempMax</a> = 30; <span class="comment">// Celsius</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#ae3aba531b0c0053424786ec4bb2be934"> 82</a></span> <span class="keyword">const</span> uint8_t <a class="code" href="ir__Coolix_8h.html#ae3aba531b0c0053424786ec4bb2be934">kCoolixSensorTempIgnoreCode</a> = 0b11111; <span class="comment">// 0x1F / 31 (DEC)</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">// kCoolixSensorTempMask = 0b000000000000111100000000; // 0xF00</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment">// Fixed states/messages.</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#aef6f59b83a14b8505f395b2eb8d8ad39"> 85</a></span> <span class="keyword">const</span> uint32_t <a class="code" href="ir__Coolix_8h.html#aef6f59b83a14b8505f395b2eb8d8ad39">kCoolixOff</a> = 0b101100100111101111100000; <span class="comment">// 0xB27BE0</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#a799ad5ab7cf43f0aac3c342305f14b90"> 86</a></span> <span class="keyword">const</span> uint32_t <a class="code" href="ir__Coolix_8h.html#a799ad5ab7cf43f0aac3c342305f14b90">kCoolixSwing</a> = 0b101100100110101111100000; <span class="comment">// 0xB26BE0</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#a877bd2731dfc86d864e38a5ceb4ede6e"> 87</a></span> <span class="keyword">const</span> uint32_t <a class="code" href="ir__Coolix_8h.html#a877bd2731dfc86d864e38a5ceb4ede6e">kCoolixSwingH</a> = 0b101100101111010110100010; <span class="comment">// 0xB5F5A2</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#ab9fcaf25426f1f9ad293e165f8c0bf38"> 88</a></span> <span class="keyword">const</span> uint32_t <a class="code" href="ir__Coolix_8h.html#ab9fcaf25426f1f9ad293e165f8c0bf38">kCoolixSwingV</a> = 0b101100100000111111100000; <span class="comment">// 0xB20FE0</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#aa7f9f96e56bd3f6b814bc84b947b2417"> 89</a></span> <span class="keyword">const</span> uint32_t <a class="code" href="ir__Coolix_8h.html#aa7f9f96e56bd3f6b814bc84b947b2417">kCoolixSleep</a> = 0b101100101110000000000011; <span class="comment">// 0xB2E003</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#ade957b6f4a6cdb064c709972a5c31a4b"> 90</a></span> <span class="keyword">const</span> uint32_t <a class="code" href="ir__Coolix_8h.html#ade957b6f4a6cdb064c709972a5c31a4b">kCoolixTurbo</a> = 0b101101011111010110100010; <span class="comment">// 0xB5F5A2</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#a68ae46e117caf0d7a3cc2ef9492495f1"> 91</a></span> <span class="keyword">const</span> uint32_t <a class="code" href="ir__Coolix_8h.html#a68ae46e117caf0d7a3cc2ef9492495f1">kCoolixLed</a> = 0b101101011111010110100101; <span class="comment">// 0xB5F5A5</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#a5cc9fcde4a6da54917b4d69bb352bc86"> 92</a></span> <span class="keyword">const</span> uint32_t <a class="code" href="ir__Coolix_8h.html#a5cc9fcde4a6da54917b4d69bb352bc86">kCoolixClean</a> = 0b101101011111010110101010; <span class="comment">// 0xB5F5AA</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#a7d5ff02f4a0c379322877b3dcf934c77"> 93</a></span> <span class="keyword">const</span> uint32_t <a class="code" href="ir__Coolix_8h.html#a7d5ff02f4a0c379322877b3dcf934c77">kCoolixCmdFan</a> = 0b101100101011111111100100; <span class="comment">// 0xB2BFE4</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">// On, 25C, Mode: Auto, Fan: Auto, Zone Follow: Off, Sensor Temp: Ignore.</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="ir__Coolix_8h.html#ad54ebf20658c33e5ad54fc54a513511e"> 95</a></span> <span class="keyword">const</span> uint32_t <a class="code" href="ir__Coolix_8h.html#ad54ebf20658c33e5ad54fc54a513511e">kCoolixDefaultState</a> = 0b101100100001111111001000; <span class="comment">// 0xB21FC8</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  </div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="unionCoolixProtocol.html"> 98</a></span> <span class="keyword">union </span><a class="code" href="unionCoolixProtocol.html">CoolixProtocol</a> {</div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="unionCoolixProtocol.html#a41c5b4f502fedd08d691ee44b1767a11"> 99</a></span>  uint32_t <a class="code" href="unionCoolixProtocol.html#a41c5b4f502fedd08d691ee44b1767a11">raw</a>; </div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keyword">struct </span>{ <span class="comment">// Only 24 bits are used.</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="comment">// Byte</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="unionCoolixProtocol.html#aed69535018e1a145ecadf868b9285cce"> 102</a></span>  uint32_t :1; <span class="comment">// Unknown</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="unionCoolixProtocol.html#a5f19a21823bbdb6d5deceb03db0d3d5b"> 103</a></span>  uint32_t <a class="code" href="unionCoolixProtocol.html#a5f19a21823bbdb6d5deceb03db0d3d5b">ZoneFollow1</a>:1; </div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="unionCoolixProtocol.html#a5f2ec6733ba352bd48657adbf4f30985"> 104</a></span>  uint32_t <a class="code" href="unionCoolixProtocol.html#a5f2ec6733ba352bd48657adbf4f30985">Mode</a> :2; </div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="unionCoolixProtocol.html#a3d7fee6490b9d5f1a66e2f229760d7b7"> 105</a></span>  uint32_t <a class="code" href="unionCoolixProtocol.html#a3d7fee6490b9d5f1a66e2f229760d7b7">Temp</a> :4; </div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="comment">// Byte</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="unionCoolixProtocol.html#a3213a8e821e4f8dc89240b1aa429ab9d"> 107</a></span>  uint32_t <a class="code" href="unionCoolixProtocol.html#a3213a8e821e4f8dc89240b1aa429ab9d">SensorTemp</a> :5; </div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="unionCoolixProtocol.html#ad534acc857b6693327880b8a420da4dc"> 108</a></span>  uint32_t <a class="code" href="unionCoolixProtocol.html#ad534acc857b6693327880b8a420da4dc">Fan</a> :3; </div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="comment">// Byte</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="unionCoolixProtocol.html#a40ad4befacf2e80aa8b58ffa009282d8"> 110</a></span>  uint32_t :3; <span class="comment">// Unknown</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="unionCoolixProtocol.html#ade33ba99bcfcf9d7dac334e56e9bb167"> 111</a></span>  uint32_t <a class="code" href="unionCoolixProtocol.html#ade33ba99bcfcf9d7dac334e56e9bb167">ZoneFollow2</a>:1; </div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="unionCoolixProtocol.html#a6d0452c77ec2042ecd9f6067fae5333d"> 112</a></span>  uint32_t :4; </div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  };</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> };</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment">// Classes</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  </div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classIRCoolixAC.html"> 120</a></span> <span class="keyword">class </span><a class="code" href="classIRCoolixAC.html">IRCoolixAC</a> {</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keyword">public</span>:</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keyword">explicit</span> <a class="code" href="classIRCoolixAC.html#a043ad3b74e964e39b111e1fcf9e55f42">IRCoolixAC</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="l00123"></a><span class="lineno"> 123</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> use_modulation = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#a0048b9ef226f8f4312cf8221ee3123f8">stateReset</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="preprocessor">#if SEND_COOLIX</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#aaaa681d6cfcf04d110b913e8bb27a53c">send</a>(<span class="keyword">const</span> uint16_t repeat = <a class="code" href="IRremoteESP8266_8h.html#aa89410d369d71738c8cbefae6ac3b00f">kCoolixDefaultRepeat</a>);</div>
<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classIRCoolixAC.html#a9e39ce5050888210d6ba9b79ae3763e3"> 131</a></span>  int8_t <a class="code" href="classIRCoolixAC.html#a9e39ce5050888210d6ba9b79ae3763e3">calibrate</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> <a class="code" href="classIRCoolixAC.html#a6c7033e72fb860bca600ba6ea6e7afef">_irsend</a>.<a class="code" href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">calibrate</a>(); }</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="preprocessor">#endif // SEND_COOLIX</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#a089744bd3bfd65253cd507192afc5311">begin</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#a13f0346bf6450f3853c6dba6be8cb63a">on</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#a7d6133fe102a5869beb9a5334ca749aa">off</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#a975b59045a3c2a50392fdade2743e4e6">setPower</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRCoolixAC.html#a13f0346bf6450f3853c6dba6be8cb63a">on</a>);</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordtype">bool</span> <a class="code" href="classIRCoolixAC.html#a733ea01983f9936fbcee4c313c2ff54a">getPower</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#a1d4b4fb810b9f3835ee585b2aa66088f">setTemp</a>(<span class="keyword">const</span> uint8_t temp);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  uint8_t <a class="code" href="classIRCoolixAC.html#a5861b7089a7fb2dab02be36b287a42e8">getTemp</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#a9bf364245a05818ced3e8fb79d725d9c">setSensorTemp</a>(<span class="keyword">const</span> uint8_t temp);</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  uint8_t <a class="code" href="classIRCoolixAC.html#ab2f86254c73285bbd420d90d6f089dfd">getSensorTemp</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#a1881a0c74685920b54cbbbfb6adbb0c6">clearSensorTemp</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#aff4189cb1000c6db7d88624fbadbe0cb">setFan</a>(<span class="keyword">const</span> uint8_t speed, <span class="keyword">const</span> <span class="keywordtype">bool</span> modecheck = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  uint8_t <a class="code" href="classIRCoolixAC.html#a2ef6155c4a8880481a996fdf9462a8e9">getFan</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#a5c0094d32aca6a5323f4dc72a03f02e9">setMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  uint8_t <a class="code" href="classIRCoolixAC.html#a8fb9a73b6c3540bc395682bb32ef8a27">getMode</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#a8e8a76617d06d8ad8a74bc8af3512d95">setSwing</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordtype">bool</span> <a class="code" href="classIRCoolixAC.html#a59b96858b6fe88f46de40fd3c743f0e0">getSwing</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#af0659a8a63004a5f9833ca3c565afff4">setSwingVStep</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordtype">bool</span> <a class="code" href="classIRCoolixAC.html#af1324a62bdb4d847bf02b635d3a1df05">getSwingVStep</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#af0108f5a5ae0049fd296307a7cef605e">setSleep</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordtype">bool</span> <a class="code" href="classIRCoolixAC.html#a3baf61e1d13863681ce57f9465c42c65">getSleep</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#a857c14452f80d3d332729b2bdd04f92d">setTurbo</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordtype">bool</span> <a class="code" href="classIRCoolixAC.html#a31f5e82c5e68b1a0b41f4025885bf0cb">getTurbo</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#aee6c7fd3a065ff14425fc02cb2ed8354">setLed</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordtype">bool</span> <a class="code" href="classIRCoolixAC.html#a5eb13d05cf8aff9cfe8d5f437b8042e4">getLed</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#a4ca2c23f44ae56d80dcb7a7424ec17b3">setClean</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordtype">bool</span> <a class="code" href="classIRCoolixAC.html#a7f4c287068939ff94f03a005d9c7e4b4">getClean</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordtype">bool</span> <a class="code" href="classIRCoolixAC.html#acf811a44dfd28627ce352fd79e7ffec5">getZoneFollow</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  uint32_t <a class="code" href="classIRCoolixAC.html#ada7799bf0e9fb40e7475a510187ff762">getRaw</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#aed28d08743c529a5715331255a8d5507">setRaw</a>(<span class="keyword">const</span> uint32_t new_code);</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keyword">static</span> uint8_t <a class="code" href="classIRCoolixAC.html#acfb0d2c20322cb4d3cd681a3a54b30fe">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="l00163"></a><span class="lineno"> 163</span>  <span class="keyword">static</span> uint8_t <a class="code" href="classIRCoolixAC.html#a7ffa1cfcf82bd905b0f607401200c895">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="l00164"></a><span class="lineno"> 164</span>  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> <a class="code" href="classIRCoolixAC.html#a789fb5d5eab2e78d392c8e0b9a194b18">toCommonMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> <a class="code" href="classIRCoolixAC.html#a6a0e7219c667eb06897b47a7c36f5fbc">toCommonFanSpeed</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <a class="code" href="structstdAc_1_1state__t.html">stdAc::state_t</a> <a class="code" href="classIRCoolixAC.html#a533c6341065b5e47d56771d13c0c248a">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="l00167"></a><span class="lineno"> 167</span>  <a class="code" href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a> <a class="code" href="classIRCoolixAC.html#af4e833be17070157662c6fe01545b5f4">toString</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#a0c0f39d8e2e79d8259000695263ec3fa">setZoneFollow</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRCoolixAC.html#a13f0346bf6450f3853c6dba6be8cb63a">on</a>);</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  </div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keyword">private</span>:</div>
<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="classIRCoolixAC.html#a6c7033e72fb860bca600ba6ea6e7afef"> 172</a></span>  <a class="code" href="classIRsend.html">IRsend</a> <a class="code" href="classIRCoolixAC.html#a6c7033e72fb860bca600ba6ea6e7afef">_irsend</a>; </div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="preprocessor">#else</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  IRsendTest <a class="code" href="classIRCoolixAC.html#a6c7033e72fb860bca600ba6ea6e7afef">_irsend</a>; </div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="classIRCoolixAC.html#a35c7cd549fcd37c60199b53d67fb9dd2"> 178</a></span>  <a class="code" href="unionCoolixProtocol.html">CoolixProtocol</a> <a class="code" href="classIRCoolixAC.html#a35c7cd549fcd37c60199b53d67fb9dd2">_</a>; </div>
<div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="classIRCoolixAC.html#a24160742d72e8b1ee1069c9c6ddc57fa"> 179</a></span>  <a class="code" href="unionCoolixProtocol.html">CoolixProtocol</a> <a class="code" href="classIRCoolixAC.html#a24160742d72e8b1ee1069c9c6ddc57fa">_saved</a>; </div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  </div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="comment">// Internal State settings</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classIRCoolixAC.html#a5984ff64ff14df92291618a647da08f9"> 182</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classIRCoolixAC.html#a5984ff64ff14df92291618a647da08f9">powerFlag</a>;</div>
<div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="classIRCoolixAC.html#a60a8a848951555dba34f2a317d6611ea"> 183</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classIRCoolixAC.html#a60a8a848951555dba34f2a317d6611ea">turboFlag</a>;</div>
<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="classIRCoolixAC.html#a03ba5e0a6cb47a7bb054155c2111a69c"> 184</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classIRCoolixAC.html#a03ba5e0a6cb47a7bb054155c2111a69c">ledFlag</a>;</div>
<div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="classIRCoolixAC.html#a9280bc7517713dae451a64e35674804d"> 185</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classIRCoolixAC.html#a9280bc7517713dae451a64e35674804d">cleanFlag</a>;</div>
<div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="classIRCoolixAC.html#a26560e04d1f77830e40e5570845b9e06"> 186</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classIRCoolixAC.html#a26560e04d1f77830e40e5570845b9e06">sleepFlag</a>;</div>
<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classIRCoolixAC.html#a6d61903a90cebef56b931bebbfa5cba3"> 187</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classIRCoolixAC.html#a6d61903a90cebef56b931bebbfa5cba3">swingFlag</a>;</div>
<div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="classIRCoolixAC.html#a5645cc98a1b1c509729544c09dc77fbf"> 188</a></span>  uint8_t <a class="code" href="classIRCoolixAC.html#a5645cc98a1b1c509729544c09dc77fbf">savedFan</a>;</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  </div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#ae9371280e92daa8e1441523026f1ef0a">setTempRaw</a>(<span class="keyword">const</span> uint8_t code);</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  uint8_t <a class="code" href="classIRCoolixAC.html#a83e88b3f9d648ffd607db457fea401bc">getTempRaw</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#a425c3f5fb26330266156c133fb9104eb">setSensorTempRaw</a>(<span class="keyword">const</span> uint8_t code);</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordtype">bool</span> <a class="code" href="classIRCoolixAC.html#aa9bfc6c78fca87962c9335d60f625322">isSpecialState</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordtype">bool</span> <a class="code" href="classIRCoolixAC.html#af78090c6d8b45b4202a80f1223640390">handleSpecialState</a>(<span class="keyword">const</span> uint32_t data);</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#a2681a6affc5fb542584b1ef241bc38af">updateAndSaveState</a>(<span class="keyword">const</span> uint32_t raw_state);</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordtype">void</span> <a class="code" href="classIRCoolixAC.html#a134cb36681c3fab53074b402bba0a45c">recoverSavedState</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  uint32_t <a class="code" href="classIRCoolixAC.html#a458618f926f8b57e4b9bdeae0d13a70d">getNormalState</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> };</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  </div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="preprocessor">#endif // IR_COOLIX_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassIRCoolixAC_html_a59b96858b6fe88f46de40fd3c743f0e0"><div class="ttname"><a href="classIRCoolixAC.html#a59b96858b6fe88f46de40fd3c743f0e0">IRCoolixAC::getSwing</a></div><div class="ttdeci">bool getSwing(void) const</div><div class="ttdoc">Get the Swing setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:281</div></div>
<div class="ttc" id="air__Coolix_8h_html_a5a71c6acd18b3198c7900e2de34c48a3"><div class="ttname"><a href="ir__Coolix_8h.html#a5a71c6acd18b3198c7900e2de34c48a3">kCoolixFanZoneFollow</a></div><div class="ttdeci">const uint8_t kCoolixFanZoneFollow</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:58</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a7f4c287068939ff94f03a005d9c7e4b4"><div class="ttname"><a href="classIRCoolixAC.html#a7f4c287068939ff94f03a005d9c7e4b4">IRCoolixAC::getClean</a></div><div class="ttdeci">bool getClean(void) const</div><div class="ttdoc">Get the Clean setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:333</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a458618f926f8b57e4b9bdeae0d13a70d"><div class="ttname"><a href="classIRCoolixAC.html#a458618f926f8b57e4b9bdeae0d13a70d">IRCoolixAC::getNormalState</a></div><div class="ttdeci">uint32_t getNormalState(void)</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a5645cc98a1b1c509729544c09dc77fbf"><div class="ttname"><a href="classIRCoolixAC.html#a5645cc98a1b1c509729544c09dc77fbf">IRCoolixAC::savedFan</a></div><div class="ttdeci">uint8_t savedFan</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:188</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_ae9371280e92daa8e1441523026f1ef0a"><div class="ttname"><a href="classIRCoolixAC.html#ae9371280e92daa8e1441523026f1ef0a">IRCoolixAC::setTempRaw</a></div><div class="ttdeci">void setTempRaw(const uint8_t code)</div><div class="ttdoc">Set the raw (native) temperature value.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:214</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a2ef6155c4a8880481a996fdf9462a8e9"><div class="ttname"><a href="classIRCoolixAC.html#a2ef6155c4a8880481a996fdf9462a8e9">IRCoolixAC::getFan</a></div><div class="ttdeci">uint8_t getFan(void) const</div><div class="ttdoc">Get the current fan speed setting.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:401</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a425c3f5fb26330266156c133fb9104eb"><div class="ttname"><a href="classIRCoolixAC.html#a425c3f5fb26330266156c133fb9104eb">IRCoolixAC::setSensorTempRaw</a></div><div class="ttdeci">void setSensorTempRaw(const uint8_t code)</div><div class="ttdoc">Set the raw (native) sensor temperature value.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:241</div></div>
<div class="ttc" id="air__Coolix_8h_html_a6c0086075cce1698c48cc30e045ab5bf"><div class="ttname"><a href="ir__Coolix_8h.html#a6c0086075cce1698c48cc30e045ab5bf">kCoolixFanMin</a></div><div class="ttdeci">const uint8_t kCoolixFanMin</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:53</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a9e39ce5050888210d6ba9b79ae3763e3"><div class="ttname"><a href="classIRCoolixAC.html#a9e39ce5050888210d6ba9b79ae3763e3">IRCoolixAC::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_Coolix.h:131</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a0c0f39d8e2e79d8259000695263ec3fa"><div class="ttname"><a href="classIRCoolixAC.html#a0c0f39d8e2e79d8259000695263ec3fa">IRCoolixAC::setZoneFollow</a></div><div class="ttdeci">void setZoneFollow(const bool on)</div><div class="ttdoc">Change the Zone Follow setting.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:350</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a5c0094d32aca6a5323f4dc72a03f02e9"><div class="ttname"><a href="classIRCoolixAC.html#a5c0094d32aca6a5323f4dc72a03f02e9">IRCoolixAC::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_Coolix.cpp:364</div></div>
<div class="ttc" id="air__Coolix_8h_html_a877bd2731dfc86d864e38a5ceb4ede6e"><div class="ttname"><a href="ir__Coolix_8h.html#a877bd2731dfc86d864e38a5ceb4ede6e">kCoolixSwingH</a></div><div class="ttdeci">const uint32_t kCoolixSwingH</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:87</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_ada7799bf0e9fb40e7475a510187ff762"><div class="ttname"><a href="classIRCoolixAC.html#ada7799bf0e9fb40e7475a510187ff762">IRCoolixAC::getRaw</a></div><div class="ttdeci">uint32_t getRaw(void) const</div><div class="ttdoc">Get a copy of the internal state as a valid code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:125</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_aaaa681d6cfcf04d110b913e8bb27a53c"><div class="ttname"><a href="classIRCoolixAC.html#aaaa681d6cfcf04d110b913e8bb27a53c">IRCoolixAC::send</a></div><div class="ttdeci">void send(const uint16_t repeat=kCoolixDefaultRepeat)</div><div class="ttdoc">Send the current internal state as an IR message.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:110</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a1881a0c74685920b54cbbbfb6adbb0c6"><div class="ttname"><a href="classIRCoolixAC.html#a1881a0c74685920b54cbbbfb6adbb0c6">IRCoolixAC::clearSensorTemp</a></div><div class="ttdeci">void clearSensorTemp(void)</div><div class="ttdoc">Clear the Sensor Temperature setting..</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:357</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a13f0346bf6450f3853c6dba6be8cb63a"><div class="ttname"><a href="classIRCoolixAC.html#a13f0346bf6450f3853c6dba6be8cb63a">IRCoolixAC::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_Coolix.cpp:274</div></div>
<div class="ttc" id="air__Coolix_8h_html_a38cccd1edee2c88c1b080f1d5600ead7"><div class="ttname"><a href="ir__Coolix_8h.html#a38cccd1edee2c88c1b080f1d5600ead7">kCoolixFanAuto0</a></div><div class="ttdeci">const uint8_t kCoolixFanAuto0</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:57</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__Coolix_8h_html_a904c4135f61120e71577f6830adae689"><div class="ttname"><a href="ir__Coolix_8h.html#a904c4135f61120e71577f6830adae689">kCoolixDry</a></div><div class="ttdeci">const uint8_t kCoolixDry</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:46</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a5eb13d05cf8aff9cfe8d5f437b8042e4"><div class="ttname"><a href="classIRCoolixAC.html#a5eb13d05cf8aff9cfe8d5f437b8042e4">IRCoolixAC::getLed</a></div><div class="ttdeci">bool getLed(void) const</div><div class="ttdoc">Get the Led (light) setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:322</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a31f5e82c5e68b1a0b41f4025885bf0cb"><div class="ttname"><a href="classIRCoolixAC.html#a31f5e82c5e68b1a0b41f4025885bf0cb">IRCoolixAC::getTurbo</a></div><div class="ttdeci">bool getTurbo(void) const</div><div class="ttdoc">Get the Turbo setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:311</div></div>
<div class="ttc" id="air__Coolix_8h_html_a2750626cda2e389df901b459805e09bd"><div class="ttname"><a href="ir__Coolix_8h.html#a2750626cda2e389df901b459805e09bd">kCoolixFanMed</a></div><div class="ttdeci">const uint8_t kCoolixFanMed</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:54</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a6c7033e72fb860bca600ba6ea6e7afef"><div class="ttname"><a href="classIRCoolixAC.html#a6c7033e72fb860bca600ba6ea6e7afef">IRCoolixAC::_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_Coolix.h:172</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a60a8a848951555dba34f2a317d6611ea"><div class="ttname"><a href="classIRCoolixAC.html#a60a8a848951555dba34f2a317d6611ea">IRCoolixAC::turboFlag</a></div><div class="ttdeci">bool turboFlag</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:183</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="aclassIRCoolixAC_html_a03ba5e0a6cb47a7bb054155c2111a69c"><div class="ttname"><a href="classIRCoolixAC.html#a03ba5e0a6cb47a7bb054155c2111a69c">IRCoolixAC::ledFlag</a></div><div class="ttdeci">bool ledFlag</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:184</div></div>
<div class="ttc" id="air__Coolix_8h_html_a799ad5ab7cf43f0aac3c342305f14b90"><div class="ttname"><a href="ir__Coolix_8h.html#a799ad5ab7cf43f0aac3c342305f14b90">kCoolixSwing</a></div><div class="ttdeci">const uint32_t kCoolixSwing</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:86</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_aee6c7fd3a065ff14425fc02cb2ed8354"><div class="ttname"><a href="classIRCoolixAC.html#aee6c7fd3a065ff14425fc02cb2ed8354">IRCoolixAC::setLed</a></div><div class="ttdeci">void setLed(void)</div><div class="ttdoc">Toggle the Led (light) mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:325</div></div>
<div class="ttc" id="air__Coolix_8h_html_ae285ee4206fe45d25bb1d99b848c7e65"><div class="ttname"><a href="ir__Coolix_8h.html#ae285ee4206fe45d25bb1d99b848c7e65">kCoolixCool</a></div><div class="ttdeci">const uint8_t kCoolixCool</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:45</div></div>
<div class="ttc" id="air__Coolix_8h_html_a73c1ef7c2c80c861256a14a9f256b125"><div class="ttname"><a href="ir__Coolix_8h.html#a73c1ef7c2c80c861256a14a9f256b125">kCoolixAuto</a></div><div class="ttdeci">const uint8_t kCoolixAuto</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:47</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="aclassIRCoolixAC_html_a9280bc7517713dae451a64e35674804d"><div class="ttname"><a href="classIRCoolixAC.html#a9280bc7517713dae451a64e35674804d">IRCoolixAC::cleanFlag</a></div><div class="ttdeci">bool cleanFlag</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:185</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a6a0e7219c667eb06897b47a7c36f5fbc"><div class="ttname"><a href="classIRCoolixAC.html#a6a0e7219c667eb06897b47a7c36f5fbc">IRCoolixAC::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_Coolix.cpp:486</div></div>
<div class="ttc" id="aunionCoolixProtocol_html"><div class="ttname"><a href="unionCoolixProtocol.html">CoolixProtocol</a></div><div class="ttdoc">Native representation of a Coolix A/C message.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:98</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="air__Coolix_8h_html_a234b39696f0b2fac6b37aa309082505e"><div class="ttname"><a href="ir__Coolix_8h.html#a234b39696f0b2fac6b37aa309082505e">kCoolixHeat</a></div><div class="ttdeci">const uint8_t kCoolixHeat</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:48</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_acfb0d2c20322cb4d3cd681a3a54b30fe"><div class="ttname"><a href="classIRCoolixAC.html#acfb0d2c20322cb4d3cd681a3a54b30fe">IRCoolixAC::convertMode</a></div><div class="ttdeci">static uint8_t convertMode(const stdAc::opmode_t mode)</div><div class="ttdoc">Convert a standard A/C mode into its native mode.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:446</div></div>
<div class="ttc" id="air__Coolix_8h_html_aef6f59b83a14b8505f395b2eb8d8ad39"><div class="ttname"><a href="ir__Coolix_8h.html#aef6f59b83a14b8505f395b2eb8d8ad39">kCoolixOff</a></div><div class="ttdeci">const uint32_t kCoolixOff</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:85</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="aclassIRCoolixAC_html_a134cb36681c3fab53074b402bba0a45c"><div class="ttname"><a href="classIRCoolixAC.html#a134cb36681c3fab53074b402bba0a45c">IRCoolixAC::recoverSavedState</a></div><div class="ttdeci">void recoverSavedState(void)</div><div class="ttdoc">Restore the current internal state from backup as long as it isn't a special state.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:203</div></div>
<div class="ttc" id="air__Coolix_8h_html_a6d2d6f2fd8f5e9a4491623b9351efcba"><div class="ttname"><a href="ir__Coolix_8h.html#a6d2d6f2fd8f5e9a4491623b9351efcba">kCoolixFanTempCode</a></div><div class="ttdeci">const uint8_t kCoolixFanTempCode</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:64</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a9bf364245a05818ced3e8fb79d725d9c"><div class="ttname"><a href="classIRCoolixAC.html#a9bf364245a05818ced3e8fb79d725d9c">IRCoolixAC::setSensorTemp</a></div><div class="ttdeci">void setSensorTemp(const uint8_t temp)</div><div class="ttdoc">Set the sensor temperature.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:247</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a857c14452f80d3d332729b2bdd04f92d"><div class="ttname"><a href="classIRCoolixAC.html#a857c14452f80d3d332729b2bdd04f92d">IRCoolixAC::setTurbo</a></div><div class="ttdeci">void setTurbo(void)</div><div class="ttdoc">Toggle the Turbo mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:314</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a5861b7089a7fb2dab02be36b287a42e8"><div class="ttname"><a href="classIRCoolixAC.html#a5861b7089a7fb2dab02be36b287a42e8">IRCoolixAC::getTemp</a></div><div class="ttdeci">uint8_t getTemp(void) const</div><div class="ttdoc">Get the current temperature setting.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:231</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a7d6133fe102a5869beb9a5334ca749aa"><div class="ttname"><a href="classIRCoolixAC.html#a7d6133fe102a5869beb9a5334ca749aa">IRCoolixAC::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_Coolix.cpp:277</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="aunionCoolixProtocol_html_ad534acc857b6693327880b8a420da4dc"><div class="ttname"><a href="unionCoolixProtocol.html#ad534acc857b6693327880b8a420da4dc">CoolixProtocol::Fan</a></div><div class="ttdeci">uint32_t Fan</div><div class="ttdoc">Fan speed.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:108</div></div>
<div class="ttc" id="air__Coolix_8h_html_a9c8931df1dbed38c8119f6605266c710"><div class="ttname"><a href="ir__Coolix_8h.html#a9c8931df1dbed38c8119f6605266c710">kCoolixTempMap</a></div><div class="ttdeci">const uint8_t kCoolixTempMap[kCoolixTempRange]</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:65</div></div>
<div class="ttc" id="air__Coolix_8h_html_a5cc9fcde4a6da54917b4d69bb352bc86"><div class="ttname"><a href="ir__Coolix_8h.html#a5cc9fcde4a6da54917b4d69bb352bc86">kCoolixClean</a></div><div class="ttdeci">const uint32_t kCoolixClean</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:92</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a35c7cd549fcd37c60199b53d67fb9dd2"><div class="ttname"><a href="classIRCoolixAC.html#a35c7cd549fcd37c60199b53d67fb9dd2">IRCoolixAC::_</a></div><div class="ttdeci">CoolixProtocol _</div><div class="ttdoc">The state of the IR remote in IR code form.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:178</div></div>
<div class="ttc" id="air__Coolix_8h_html_a37a3a23d8fe30df024cb844f82f90b2a"><div class="ttname"><a href="ir__Coolix_8h.html#a37a3a23d8fe30df024cb844f82f90b2a">kCoolixFanFixed</a></div><div class="ttdeci">const uint8_t kCoolixFanFixed</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:59</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a0048b9ef226f8f4312cf8221ee3123f8"><div class="ttname"><a href="classIRCoolixAC.html#a0048b9ef226f8f4312cf8221ee3123f8">IRCoolixAC::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_Coolix.cpp:92</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a3baf61e1d13863681ce57f9465c42c65"><div class="ttname"><a href="classIRCoolixAC.html#a3baf61e1d13863681ce57f9465c42c65">IRCoolixAC::getSleep</a></div><div class="ttdeci">bool getSleep(void) const</div><div class="ttdoc">Get the Sleep setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:301</div></div>
<div class="ttc" id="air__Coolix_8h_html_ad54ebf20658c33e5ad54fc54a513511e"><div class="ttname"><a href="ir__Coolix_8h.html#ad54ebf20658c33e5ad54fc54a513511e">kCoolixDefaultState</a></div><div class="ttdeci">const uint32_t kCoolixDefaultState</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:95</div></div>
<div class="ttc" id="aunionCoolixProtocol_html_a3213a8e821e4f8dc89240b1aa429ab9d"><div class="ttname"><a href="unionCoolixProtocol.html#a3213a8e821e4f8dc89240b1aa429ab9d">CoolixProtocol::SensorTemp</a></div><div class="ttdeci">uint32_t SensorTemp</div><div class="ttdoc">The temperature sensor in the IR remote.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:107</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_aa89410d369d71738c8cbefae6ac3b00f"><div class="ttname"><a href="IRremoteESP8266_8h.html#aa89410d369d71738c8cbefae6ac3b00f">kCoolixDefaultRepeat</a></div><div class="ttdeci">const uint16_t kCoolixDefaultRepeat</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:1172</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a7ffa1cfcf82bd905b0f607401200c895"><div class="ttname"><a href="classIRCoolixAC.html#a7ffa1cfcf82bd905b0f607401200c895">IRCoolixAC::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_Coolix.cpp:459</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a789fb5d5eab2e78d392c8e0b9a194b18"><div class="ttname"><a href="classIRCoolixAC.html#a789fb5d5eab2e78d392c8e0b9a194b18">IRCoolixAC::toCommonMode</a></div><div class="ttdeci">static stdAc::opmode_t toCommonMode(const uint8_t mode)</div><div class="ttdoc">Convert a native mode to it's common stdAc::opmode_t equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:473</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a1d4b4fb810b9f3835ee585b2aa66088f"><div class="ttname"><a href="classIRCoolixAC.html#a1d4b4fb810b9f3835ee585b2aa66088f">IRCoolixAC::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_Coolix.cpp:222</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_af0659a8a63004a5f9833ca3c565afff4"><div class="ttname"><a href="classIRCoolixAC.html#af0659a8a63004a5f9833ca3c565afff4">IRCoolixAC::setSwingVStep</a></div><div class="ttdeci">void setSwingVStep(void)</div><div class="ttdoc">Set the Vertical Swing Step setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:295</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_ab2f86254c73285bbd420d90d6f089dfd"><div class="ttname"><a href="classIRCoolixAC.html#ab2f86254c73285bbd420d90d6f089dfd">IRCoolixAC::getSensorTemp</a></div><div class="ttdeci">uint8_t getSensorTemp(void) const</div><div class="ttdoc">Get the sensor temperature setting.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:254</div></div>
<div class="ttc" id="aclassIRCoolixAC_html"><div class="ttname"><a href="classIRCoolixAC.html">IRCoolixAC</a></div><div class="ttdoc">Class for handling detailed Coolix A/C messages.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:120</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a83e88b3f9d648ffd607db457fea401bc"><div class="ttname"><a href="classIRCoolixAC.html#a83e88b3f9d648ffd607db457fea401bc">IRCoolixAC::getTempRaw</a></div><div class="ttdeci">uint8_t getTempRaw(void) const</div><div class="ttdoc">Get the raw (native) temperature value.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:218</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_acf811a44dfd28627ce352fd79e7ffec5"><div class="ttname"><a href="classIRCoolixAC.html#acf811a44dfd28627ce352fd79e7ffec5">IRCoolixAC::getZoneFollow</a></div><div class="ttdeci">bool getZoneFollow(void) const</div><div class="ttdoc">Get the Zone Follow setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:343</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a24160742d72e8b1ee1069c9c6ddc57fa"><div class="ttname"><a href="classIRCoolixAC.html#a24160742d72e8b1ee1069c9c6ddc57fa">IRCoolixAC::_saved</a></div><div class="ttdeci">CoolixProtocol _saved</div><div class="ttdoc">Copy of the state if we required a special mode.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:179</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a4ca2c23f44ae56d80dcb7a7424ec17b3"><div class="ttname"><a href="classIRCoolixAC.html#a4ca2c23f44ae56d80dcb7a7424ec17b3">IRCoolixAC::setClean</a></div><div class="ttdeci">void setClean(void)</div><div class="ttdoc">Toggle the Clean mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:336</div></div>
<div class="ttc" id="air__Coolix_8h_html_a68ae46e117caf0d7a3cc2ef9492495f1"><div class="ttname"><a href="ir__Coolix_8h.html#a68ae46e117caf0d7a3cc2ef9492495f1">kCoolixLed</a></div><div class="ttdeci">const uint32_t kCoolixLed</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:91</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a8e8a76617d06d8ad8a74bc8af3512d95"><div class="ttname"><a href="classIRCoolixAC.html#a8e8a76617d06d8ad8a74bc8af3512d95">IRCoolixAC::setSwing</a></div><div class="ttdeci">void setSwing(void)</div><div class="ttdoc">Toggle the Swing mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:284</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_aed28d08743c529a5715331255a8d5507"><div class="ttname"><a href="classIRCoolixAC.html#aed28d08743c529a5715331255a8d5507">IRCoolixAC::setRaw</a></div><div class="ttdeci">void setRaw(const uint32_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_Coolix.cpp:129</div></div>
<div class="ttc" id="aunionCoolixProtocol_html_a5f2ec6733ba352bd48657adbf4f30985"><div class="ttname"><a href="unionCoolixProtocol.html#a5f2ec6733ba352bd48657adbf4f30985">CoolixProtocol::Mode</a></div><div class="ttdeci">uint32_t Mode</div><div class="ttdoc">Operation mode.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:104</div></div>
<div class="ttc" id="air__Coolix_8h_html_a7d5ff02f4a0c379322877b3dcf934c77"><div class="ttname"><a href="ir__Coolix_8h.html#a7d5ff02f4a0c379322877b3dcf934c77">kCoolixCmdFan</a></div><div class="ttdeci">const uint32_t kCoolixCmdFan</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:93</div></div>
<div class="ttc" id="aunionCoolixProtocol_html_a41c5b4f502fedd08d691ee44b1767a11"><div class="ttname"><a href="unionCoolixProtocol.html#a41c5b4f502fedd08d691ee44b1767a11">CoolixProtocol::raw</a></div><div class="ttdeci">uint32_t raw</div><div class="ttdoc">The state in IR code form.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:99</div></div>
<div class="ttc" id="air__Coolix_8h_html_afbbb02bfeaaf5cb558ca28cdd5cfc4c3"><div class="ttname"><a href="ir__Coolix_8h.html#afbbb02bfeaaf5cb558ca28cdd5cfc4c3">kCoolixTempMax</a></div><div class="ttdeci">const uint8_t kCoolixTempMax</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:62</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a6d61903a90cebef56b931bebbfa5cba3"><div class="ttname"><a href="classIRCoolixAC.html#a6d61903a90cebef56b931bebbfa5cba3">IRCoolixAC::swingFlag</a></div><div class="ttdeci">bool swingFlag</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:187</div></div>
<div class="ttc" id="air__Coolix_8h_html_a2e050321c994844f2ff6668ba6973ac4"><div class="ttname"><a href="ir__Coolix_8h.html#a2e050321c994844f2ff6668ba6973ac4">kCoolixFan</a></div><div class="ttdeci">const uint8_t kCoolixFan</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:49</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a089744bd3bfd65253cd507192afc5311"><div class="ttname"><a href="classIRCoolixAC.html#a089744bd3bfd65253cd507192afc5311">IRCoolixAC::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_Coolix.cpp:105</div></div>
<div class="ttc" id="air__Coolix_8h_html_ab9fcaf25426f1f9ad293e165f8c0bf38"><div class="ttname"><a href="ir__Coolix_8h.html#ab9fcaf25426f1f9ad293e165f8c0bf38">kCoolixSwingV</a></div><div class="ttdeci">const uint32_t kCoolixSwingV</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:88</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a2681a6affc5fb542584b1ef241bc38af"><div class="ttname"><a href="classIRCoolixAC.html#a2681a6affc5fb542584b1ef241bc38af">IRCoolixAC::updateAndSaveState</a></div><div class="ttdeci">void updateAndSaveState(const uint32_t raw_state)</div><div class="ttdoc">Backup the current internal state as long as it isn't a special state and set the new state.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:196</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a8fb9a73b6c3540bc395682bb32ef8a27"><div class="ttname"><a href="classIRCoolixAC.html#a8fb9a73b6c3540bc395682bb32ef8a27">IRCoolixAC::getMode</a></div><div class="ttdeci">uint8_t getMode(void) const</div><div class="ttdoc">Get the operating mode setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:392</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a26560e04d1f77830e40e5570845b9e06"><div class="ttname"><a href="classIRCoolixAC.html#a26560e04d1f77830e40e5570845b9e06">IRCoolixAC::sleepFlag</a></div><div class="ttdeci">bool sleepFlag</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:186</div></div>
<div class="ttc" id="air__Coolix_8h_html_aa7f9f96e56bd3f6b814bc84b947b2417"><div class="ttname"><a href="ir__Coolix_8h.html#aa7f9f96e56bd3f6b814bc84b947b2417">kCoolixSleep</a></div><div class="ttdeci">const uint32_t kCoolixSleep</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:89</div></div>
<div class="ttc" id="aunionCoolixProtocol_html_ade33ba99bcfcf9d7dac334e56e9bb167"><div class="ttname"><a href="unionCoolixProtocol.html#ade33ba99bcfcf9d7dac334e56e9bb167">CoolixProtocol::ZoneFollow2</a></div><div class="ttdeci">uint32_t ZoneFollow2</div><div class="ttdoc">Additional control bit for Zone Follow mode.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:111</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a043ad3b74e964e39b111e1fcf9e55f42"><div class="ttname"><a href="classIRCoolixAC.html#a043ad3b74e964e39b111e1fcf9e55f42">IRCoolixAC::IRCoolixAC</a></div><div class="ttdeci">IRCoolixAC(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_Coolix.cpp:87</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_aa9bfc6c78fca87962c9335d60f625322"><div class="ttname"><a href="classIRCoolixAC.html#aa9bfc6c78fca87962c9335d60f625322">IRCoolixAC::isSpecialState</a></div><div class="ttdeci">bool isSpecialState(void) const</div><div class="ttdoc">Is the current state is a special state?</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:145</div></div>
<div class="ttc" id="air__Coolix_8h_html_a74e3e75466fd27672968d660e3fddc9a"><div class="ttname"><a href="ir__Coolix_8h.html#a74e3e75466fd27672968d660e3fddc9a">kCoolixTempRange</a></div><div class="ttdeci">const uint8_t kCoolixTempRange</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:63</div></div>
<div class="ttc" id="air__Coolix_8h_html_accd37cf257fa5fbeb64e28f0d63888fb"><div class="ttname"><a href="ir__Coolix_8h.html#accd37cf257fa5fbeb64e28f0d63888fb">kCoolixTempMin</a></div><div class="ttdeci">const uint8_t kCoolixTempMin</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:61</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_af0108f5a5ae0049fd296307a7cef605e"><div class="ttname"><a href="classIRCoolixAC.html#af0108f5a5ae0049fd296307a7cef605e">IRCoolixAC::setSleep</a></div><div class="ttdeci">void setSleep(void)</div><div class="ttdoc">Toggle the Sleep mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:304</div></div>
<div class="ttc" id="air__Coolix_8h_html_a71641b1240ee439e77128165cedf899f"><div class="ttname"><a href="ir__Coolix_8h.html#a71641b1240ee439e77128165cedf899f">kCoolixSensorTempMax</a></div><div class="ttdeci">const uint8_t kCoolixSensorTempMax</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:81</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a533c6341065b5e47d56771d13c0c248a"><div class="ttname"><a href="classIRCoolixAC.html#a533c6341065b5e47d56771d13c0c248a">IRCoolixAC::toCommon</a></div><div class="ttdeci">stdAc::state_t toCommon(const stdAc::state_t *prev=NULL) const</div><div class="ttdoc">Convert the A/C state to it's common stdAc::state_t equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:498</div></div>
<div class="ttc" id="air__Coolix_8h_html_aabb349ee111467088b9a292950aba753"><div class="ttname"><a href="ir__Coolix_8h.html#aabb349ee111467088b9a292950aba753">kCoolixFanMax</a></div><div class="ttdeci">const uint8_t kCoolixFanMax</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:55</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a733ea01983f9936fbcee4c313c2ff54a"><div class="ttname"><a href="classIRCoolixAC.html#a733ea01983f9936fbcee4c313c2ff54a">IRCoolixAC::getPower</a></div><div class="ttdeci">bool getPower(void) const</div><div class="ttdoc">Get the value of the current power setting.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:259</div></div>
<div class="ttc" id="air__Coolix_8h_html_ac25d3c45ed7d7d30ff2ebf617d8265f0"><div class="ttname"><a href="ir__Coolix_8h.html#ac25d3c45ed7d7d30ff2ebf617d8265f0">kCoolixFanAuto</a></div><div class="ttdeci">const uint8_t kCoolixFanAuto</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:56</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a5984ff64ff14df92291618a647da08f9"><div class="ttname"><a href="classIRCoolixAC.html#a5984ff64ff14df92291618a647da08f9">IRCoolixAC::powerFlag</a></div><div class="ttdeci">bool powerFlag</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:182</div></div>
<div class="ttc" id="aunionCoolixProtocol_html_a3d7fee6490b9d5f1a66e2f229760d7b7"><div class="ttname"><a href="unionCoolixProtocol.html#a3d7fee6490b9d5f1a66e2f229760d7b7">CoolixProtocol::Temp</a></div><div class="ttdeci">uint32_t Temp</div><div class="ttdoc">Desired temperature (Celsius)</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:105</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_af4e833be17070157662c6fe01545b5f4"><div class="ttname"><a href="classIRCoolixAC.html#af4e833be17070157662c6fe01545b5f4">IRCoolixAC::toString</a></div><div class="ttdeci">String toString(void) const</div><div class="ttdoc">Convert the internal state into a human readable string.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:562</div></div>
<div class="ttc" id="aunionCoolixProtocol_html_a5f19a21823bbdb6d5deceb03db0d3d5b"><div class="ttname"><a href="unionCoolixProtocol.html#a5f19a21823bbdb6d5deceb03db0d3d5b">CoolixProtocol::ZoneFollow1</a></div><div class="ttdeci">uint32_t ZoneFollow1</div><div class="ttdoc">Control bit for Zone Follow mode.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:103</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_af1324a62bdb4d847bf02b635d3a1df05"><div class="ttname"><a href="classIRCoolixAC.html#af1324a62bdb4d847bf02b635d3a1df05">IRCoolixAC::getSwingVStep</a></div><div class="ttdeci">bool getSwingVStep(void) const</div><div class="ttdoc">Get the Vertical Swing Step setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:292</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_aff4189cb1000c6db7d88624fbadbe0cb"><div class="ttname"><a href="classIRCoolixAC.html#aff4189cb1000c6db7d88624fbadbe0cb">IRCoolixAC::setFan</a></div><div class="ttdeci">void setFan(const uint8_t speed, const bool modecheck=true)</div><div class="ttdoc">Set the speed of the fan.</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:406</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_af78090c6d8b45b4202a80f1223640390"><div class="ttname"><a href="classIRCoolixAC.html#af78090c6d8b45b4202a80f1223640390">IRCoolixAC::handleSpecialState</a></div><div class="ttdeci">bool handleSpecialState(const uint32_t data)</div><div class="ttdoc">Adjust any internal settings based on the type of special state we are supplied. Does nothing if it i...</div><div class="ttdef"><b>Definition:</b> ir_Coolix.cpp:165</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="air__Coolix_8h_html_ae3aba531b0c0053424786ec4bb2be934"><div class="ttname"><a href="ir__Coolix_8h.html#ae3aba531b0c0053424786ec4bb2be934">kCoolixSensorTempIgnoreCode</a></div><div class="ttdeci">const uint8_t kCoolixSensorTempIgnoreCode</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:82</div></div>
<div class="ttc" id="aclassIRCoolixAC_html_a975b59045a3c2a50392fdade2743e4e6"><div class="ttname"><a href="classIRCoolixAC.html#a975b59045a3c2a50392fdade2743e4e6">IRCoolixAC::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_Coolix.cpp:263</div></div>
<div class="ttc" id="air__Coolix_8h_html_ade957b6f4a6cdb064c709972a5c31a4b"><div class="ttname"><a href="ir__Coolix_8h.html#ade957b6f4a6cdb064c709972a5c31a4b">kCoolixTurbo</a></div><div class="ttdeci">const uint32_t kCoolixTurbo</div><div class="ttdef"><b>Definition:</b> ir_Coolix.h:90</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>