IRremoteESP8266

ir_Daikin.h
Go to the documentation of this file.
1 // Copyright 2016 sillyfrog
2 // Copyright 2017 sillyfrog, crankyoldgit
3 // Copyright 2018-2022 crankyoldgit
4 // Copyright 2019 pasna (IRDaikin160 class / Daikin176 class)
5
26
27 // Supports:
28 // Brand: Daikin, Model: ARC433** remote (DAIKIN)
29 // Brand: Daikin, Model: ARC477A1 remote (DAIKIN2)
30 // Brand: Daikin, Model: FTXZ25NV1B A/C (DAIKIN2)
31 // Brand: Daikin, Model: FTXZ35NV1B A/C (DAIKIN2)
32 // Brand: Daikin, Model: FTXZ50NV1B A/C (DAIKIN2)
33 // Brand: Daikin, Model: ARC433B69 remote (DAIKIN216)
34 // Brand: Daikin, Model: ARC423A5 remote (DAIKIN160)
35 // Brand: Daikin, Model: FTE12HV2S A/C
36 // Brand: Daikin, Model: BRC4C153 remote (DAIKIN176)
37 // Brand: Daikin, Model: FFQ35B8V1B A/C (DAIKIN176)
38 // Brand: Daikin, Model: BRC4C151 remote (DAIKIN176)
39 // Brand: Daikin, Model: 17 Series FTXB09AXVJU A/C (DAIKIN128)
40 // Brand: Daikin, Model: 17 Series FTXB12AXVJU A/C (DAIKIN128)
41 // Brand: Daikin, Model: 17 Series FTXB24AXVJU A/C (DAIKIN128)
42 // Brand: Daikin, Model: BRC52B63 remote (DAIKIN128)
43 // Brand: Daikin, Model: ARC480A5 remote (DAIKIN152)
44 // Brand: Daikin, Model: FFN-C/FCN-F Series A/C (DAIKIN64)
45 // Brand: Daikin, Model: DGS01 remote (DAIKIN64)
46 // Brand: Daikin, Model: M Series A/C (DAIKIN)
47 // Brand: Daikin, Model: FTXM-M A/C (DAIKIN)
48 // Brand: Daikin, Model: ARC466A12 remote (DAIKIN)
49 // Brand: Daikin, Model: ARC466A33 remote (DAIKIN)
50 // Brand: Daikin, Model: FTWX35AXV1 A/C (DAIKIN64)
51 // Brand: Daikin, Model: ARC484A4 remote (DAIKIN216)
52 // Brand: Daikin, Model: FTQ60TV16U2 A/C (DAIKIN216)
53 // Brand: Daikin, Model: BRC4M150W16 remote (DAIKIN200)
54 // Brand: Daikin, Model: FTXM20R5V1B A/C (DAIKIN312)
55 // Brand: Daikin, Model: ARC466A67 remote (DAIKIN312)
56
57 #ifndef IR_DAIKIN_H_
58 #define IR_DAIKIN_H_
59
60 #ifndef UNIT_TEST
61 #include <Arduino.h>
62 #endif
63 #include "IRrecv.h"
64 #include "IRremoteESP8266.h"
65 #include "IRsend.h"
66 #ifdef UNIT_TEST
67 #include "IRsend_test.h"
68 #endif
69
71 union DaikinESPProtocol{
72 uint8_t raw[kDaikinStateLength];
73 struct {
74 // Byte 0~5
75 uint64_t :48;
76 // Byte 6
77 uint64_t :4;
78 uint64_t Comfort :1;
79 uint64_t :3;
80 // Byte 7
81 uint64_t Sum1 :8; // checksum of the first part
82
83 // Byte 8~12
84 uint64_t :40;
85 // Byte 13~14
86 uint64_t CurrentTime :11; // Current time, mins past midnight
87 uint64_t CurrentDay :3; // Day of the week (SUN=1, MON=2, ..., SAT=7)
88 uint64_t :2;
89 // Byte 15
90 uint64_t Sum2 :8; // checksum of the second part
91
92 // Byte 16~20
93 uint64_t :40;
94 // Byte 21
95 uint64_t Power :1;
96 uint64_t OnTimer :1;
97 uint64_t OffTimer :1;
98 uint64_t :1; // always 1
99 uint64_t Mode :3;
100 uint64_t :1;
101 // Byte 22
102 uint64_t :1;
103 uint64_t Temp :7; // Temp should be between 10 - 32
104 // Byte 23
105 uint64_t :8;
106
107 // Byte 24
108 uint64_t SwingV :4; // 0000 = off, 1111 = on
109 uint64_t Fan :4;
110 // Byte 25
111 uint64_t SwingH :4; // 0000 = off, 1111 = on
112 uint64_t :4;
113 // Byte 26~28
114 uint64_t OnTime :12; // timer mins past midnight
115 uint64_t OffTime :12; // timer mins past midnight
116 // Byte 29
117 uint64_t Powerful :1;
118 uint64_t :4;
119 uint64_t Quiet :1;
120 uint64_t :2;
121 // Byte 30~31
122 uint64_t :0;
123
124 // Byte 32
125 uint8_t :1;
126 uint8_t Sensor :1;
127 uint8_t Econo :1;
128 uint8_t :4;
129 uint8_t WeeklyTimer :1;
130 // Byte 33
131 uint8_t :1;
132 uint8_t Mold :1;
133 uint8_t :6;
134 // Byte 34
135 uint8_t Sum3 :8; // checksum of the third part
136 };
137 };
138
139 // Constants
140 const uint8_t kDaikinAuto = 0b000; // temp 25
141 const uint8_t kDaikinDry = 0b010; // temp 0xc0 = 96 degrees c
142 const uint8_t kDaikinCool = 0b011;
143 const uint8_t kDaikinHeat = 0b100; // temp 23
144 const uint8_t kDaikinFan = 0b110; // temp not shown, but 25
145 const uint8_t kDaikinMinTemp = 10; // Celsius
146 const uint8_t kDaikinMaxTemp = 32; // Celsius
147 const uint8_t kDaikinFanMin = 1;
148 const uint8_t kDaikinFanMed = 3;
149 const uint8_t kDaikinFanMax = 5;
150 const uint8_t kDaikinFanAuto = 0b1010; // 10 / 0xA
151 const uint8_t kDaikinFanQuiet = 0b1011; // 11 / 0xB
152 const uint8_t kDaikinSwingOn = 0b1111;
153 const uint8_t kDaikinSwingOff = 0b0000;
154 const uint16_t kDaikinHeaderLength = 5;
155 const uint8_t kDaikinSections = 3;
156 const uint8_t kDaikinSection1Length = 8;
157 const uint8_t kDaikinSection2Length = 8;
158 const uint8_t kDaikinSection3Length =
159 kDaikinStateLength - kDaikinSection1Length - kDaikinSection2Length;
160 const uint8_t kDaikinByteChecksum1 = 7;
161 const uint8_t kDaikinByteChecksum2 = 15;
162 // const uint8_t kDaikinBitEye = 0b10000000;
163 const uint16_t kDaikinUnusedTime = 0x600;
164 const uint8_t kDaikinBeepQuiet = 1;
165 const uint8_t kDaikinBeepLoud = 2;
166 const uint8_t kDaikinBeepOff = 3;
167 const uint8_t kDaikinLightBright = 1;
168 const uint8_t kDaikinLightDim = 2;
169 const uint8_t kDaikinLightOff = 3;
170 const uint8_t kDaikinCurBit = kDaikinStateLength;
171 const uint8_t kDaikinCurIndex = kDaikinStateLength + 1;
172 const uint8_t kDaikinTolerance = 35;
173 const uint16_t kDaikinMarkExcess = kMarkExcess;
174 const uint16_t kDaikinHdrMark = 3650; // kDaikinBitMark * 8
175 const uint16_t kDaikinHdrSpace = 1623; // kDaikinBitMark * 4
176 const uint16_t kDaikinBitMark = 428;
177 const uint16_t kDaikinZeroSpace = 428;
178 const uint16_t kDaikinOneSpace = 1280;
179 const uint16_t kDaikinGap = 29000;
180 // Note bits in each octet swapped so can be sent as a single value
181 const uint64_t kDaikinFirstHeader64 =
182 0b1101011100000000000000001100010100000000001001111101101000010001;
183
185 union Daikin2Protocol{
186 struct{
187 uint8_t pad[3];
188 uint8_t raw[kDaikin2StateLength];
189 };
190 struct {
191 // Byte -3~4
192 uint64_t :64;
193
194 // Byte 5~6
195 uint64_t CurrentTime :12;
196 uint64_t :3;
197 uint64_t Power2 :1;
198 // Byte 7
199 uint64_t :4;
200 uint64_t Light :2;
201 uint64_t Beep :2;
202 // Byte 8
203 uint64_t FreshAir :1;
204 uint64_t :2;
205 uint64_t Mold :1;
206 uint64_t :1;
207 uint64_t Clean :1;
208 uint64_t :1;
209 uint64_t FreshAirHigh :1;
210 // Byte 9~12
211 uint64_t :32;
212
213 // Byte 13
214 uint64_t :7;
215 uint64_t EyeAuto :1;
216 // Byte 14~16
217 uint64_t :24;
218 // Byte 17
219 uint64_t SwingH :8;
220 // Byte 18
221 uint64_t SwingV :4;
222 uint64_t :4;
223 // Byte 19
224 uint64_t Sum1 :8;
225 // Byte 20
226 uint64_t :8;
227
228 // Byte 21~24
229 uint64_t :32;
230 // Byte 25
231 uint64_t Power :1;
232 uint64_t OnTimer :1;
233 uint64_t OffTimer :1;
234 uint64_t :1;
235 uint64_t Mode :3;
236 uint64_t :1;
237 // Byte 26
238 uint64_t :1;
239 uint64_t Temp :6;
240 uint64_t HumidOn :1;
241 // Byte 27
242 uint64_t Humidity :8;
243 // Byte 28
244 uint64_t :4;
245 uint64_t Fan :4;
246
247 // Byte 29
248 uint64_t :8;
249 // Byte 30~32
251 uint64_t OnTime :12;
252 uint64_t OffTime :12;
253 // Byte 33
254 uint64_t Powerful :1;
255 uint64_t :4;
256 uint64_t Quiet :1;
257 uint64_t :2;
258 // Byte 34~35
259 uint64_t :16;
260 // Byte 36
261 uint64_t :1;
262 uint64_t Eye :1;
263 uint64_t Econo :1;
264 uint64_t :1;
265 uint64_t Purify :1;
266 uint64_t SleepTimer :1;
267 uint64_t :2;
268
269 // Byte 37
270 uint8_t :8;
271 // Byte 38
272 uint8_t Sum2 :8;
273 };
274 };
275
276 const uint16_t kDaikin2Freq = 36700; // Modulation Frequency in Hz.
277 const uint16_t kDaikin2LeaderMark = 10024;
278 const uint16_t kDaikin2LeaderSpace = 25180;
279 const uint16_t kDaikin2Gap = kDaikin2LeaderMark + kDaikin2LeaderSpace;
280 const uint16_t kDaikin2HdrMark = 3500;
281 const uint16_t kDaikin2HdrSpace = 1728;
282 const uint16_t kDaikin2BitMark = 460;
283 const uint16_t kDaikin2OneSpace = 1270;
284 const uint16_t kDaikin2ZeroSpace = 420;
285 const uint16_t kDaikin2Sections = 2;
286 const uint16_t kDaikin2Section1Length = 20;
287 const uint16_t kDaikin2Section2Length = 19;
288 const uint8_t kDaikin2Tolerance = 5; // Extra percentage tolerance
289 const uint8_t kDaikin2SwingVHighest = 0x1;
290 const uint8_t kDaikin2SwingVHigh = 0x2;
291 const uint8_t kDaikin2SwingVUpperMiddle = 0x3;
292 const uint8_t kDaikin2SwingVLowerMiddle = 0x4;
293 const uint8_t kDaikin2SwingVLow = 0x5;
294 const uint8_t kDaikin2SwingVLowest = 0x6;
295 const uint8_t kDaikin2SwingVBreeze = 0xC;
296 const uint8_t kDaikin2SwingVCirculate = 0xD;
297 const uint8_t kDaikin2SwingVOff = 0xE;
298 const uint8_t kDaikin2SwingVAuto = 0xF; // A.k.a "Swing"
299 const uint8_t kDaikin2SwingVSwing = kDaikin2SwingVAuto;
300
301
302 const uint8_t kDaikin2SwingHWide = 0xA3;
303 const uint8_t kDaikin2SwingHLeftMax = 0xA8;
304 const uint8_t kDaikin2SwingHLeft = 0xA9;
305 const uint8_t kDaikin2SwingHMiddle = 0xAA;
306 const uint8_t kDaikin2SwingHRight = 0xAB;
307 const uint8_t kDaikin2SwingHRightMax = 0xAC;
308 const uint8_t kDaikin2SwingHAuto = 0xBE; // A.k.a "Swing"
309 const uint8_t kDaikin2SwingHOff = 0xBF;
310 const uint8_t kDaikin2SwingHSwing = kDaikin2SwingHAuto;
311
312 // Ref:
313 // https://github.com/crankyoldgit/IRremoteESP8266/issues/1535#issuecomment-882092486
314 // https://docs.google.com/spreadsheets/d/1kxHgFqiUB9ETXYEkszAIN5gE-t2ykvnPCnOV-sPUE0A/edit?usp=sharing
315 const uint8_t kDaikin2HumidityOff = 0x00;
316 const uint8_t kDaikin2HumidityHeatLow = 0x28; // Humidify (Heat) only (40%?)
317 const uint8_t kDaikin2HumidityHeatMedium = 0x2D; // Humidify (Heat) only (45%?)
318 const uint8_t kDaikin2HumidityHeatHigh = 0x32; // Humidify (Heat) only (50%?)
319 const uint8_t kDaikin2HumidityDryLow = 0x32; // Dry only (50%?)
320 const uint8_t kDaikin2HumidityDryMedium = 0x37; // Dry only (55%?)
321 const uint8_t kDaikin2HumidityDryHigh = 0x3C; // Dry only (60%?)
322 const uint8_t kDaikin2HumidityAuto = 0xFF;
323
324
325 const uint8_t kDaikin2MinCoolTemp = 18; // Min temp (in C) when in Cool mode.
326
328 union Daikin216Protocol{
329 uint8_t raw[kDaikin216StateLength];
330 struct {
331 // Byte 0~6
332 uint8_t pad0[7];
333 // Byte 7
334 uint8_t Sum1 :8;
335 // Byte 8~12
336 uint8_t pad1[5];
337 // Byte 13
338 uint8_t Power :1;
339 uint8_t :3;
340 uint8_t Mode :3;
341 uint8_t :1;
342 // Byte 14
343 uint8_t :1;
344 uint8_t Temp :6;
345 uint8_t :1;
346 // Byte 15
347 uint8_t :8;
348 // Byte 16
349 uint8_t SwingV :4;
350 uint8_t Fan :4;
351 // Byte 17
352 uint8_t SwingH :4;
353 uint8_t :4;
354 // Byte 18~20
355 uint8_t pad2[3];
356 // Byte 21
357 uint8_t Powerful :1;
358 uint8_t :0;
359 // Byte 22~25
360 uint8_t pad3[4];
361 // Byte 26
362 uint8_t Sum2 :8;
363 };
364 };
365
366 const uint16_t kDaikin216Freq = 38000; // Modulation Frequency in Hz.
367 const uint16_t kDaikin216HdrMark = 3440;
368 const uint16_t kDaikin216HdrSpace = 1750;
369 const uint16_t kDaikin216BitMark = 420;
370 const uint16_t kDaikin216OneSpace = 1300;
371 const uint16_t kDaikin216ZeroSpace = 450;
372 const uint16_t kDaikin216Gap = 29650;
373 const uint16_t kDaikin216Sections = 2;
374 const uint16_t kDaikin216Section1Length = 8;
375 const uint16_t kDaikin216Section2Length = kDaikin216StateLength -
376 kDaikin216Section1Length;
377
378 const uint8_t kDaikin216SwingOn = 0b1111;
379 const uint8_t kDaikin216SwingOff = 0b0000;
380
382 union Daikin160Protocol{
383 uint8_t raw[kDaikin160StateLength];
384 struct {
385 // Byte 0~5
386 uint8_t pad0[6];
387 // Byte 6
388 uint8_t Sum1 :8;
389 // Byte 7~11
390 uint8_t pad1[5];
391 // Byte 12
392 uint8_t Power :1;
393 uint8_t :3;
394 uint8_t Mode :3;
395 uint8_t :1;
396 // Byte 13
397 uint8_t :4;
398 uint8_t SwingV :4;
399 // Byte 14~15
400 uint8_t pad2[2];
401 // Byte 16
402 uint8_t :1;
403 uint8_t Temp :6;
404 uint8_t :1;
405 // Byte 17
406 uint8_t Fan :4;
407 uint8_t :4;
408 // Byte 18
409 uint8_t :8;
410 // Byte 19
411 uint8_t Sum2 :8;
412 };
413 };
414
415 const uint16_t kDaikin160Freq = 38000; // Modulation Frequency in Hz.
416 const uint16_t kDaikin160HdrMark = 5000;
417 const uint16_t kDaikin160HdrSpace = 2145;
418 const uint16_t kDaikin160BitMark = 342;
419 const uint16_t kDaikin160OneSpace = 1786;
420 const uint16_t kDaikin160ZeroSpace = 700;
421 const uint16_t kDaikin160Gap = 29650;
422 const uint16_t kDaikin160Sections = 2;
423 const uint16_t kDaikin160Section1Length = 7;
424 const uint16_t kDaikin160Section2Length = kDaikin160StateLength -
425 kDaikin160Section1Length;
426 const uint8_t kDaikin160SwingVLowest = 0x1;
427 const uint8_t kDaikin160SwingVLow = 0x2;
428 const uint8_t kDaikin160SwingVMiddle = 0x3;
429 const uint8_t kDaikin160SwingVHigh = 0x4;
430 const uint8_t kDaikin160SwingVHighest = 0x5;
431 const uint8_t kDaikin160SwingVAuto = 0xF;
432
434 union Daikin176Protocol{
435 uint8_t raw[kDaikin176StateLength];
436 struct {
437 // Byte 0~2
438 uint8_t :8;
439 uint8_t :8;
440 uint8_t :8;
441 // Byte 3
442 uint8_t Id1 :1;
443 uint8_t :7;
444 // Byte 4
445 uint8_t :8;
446 // Byte 5
447 uint8_t :8;
448 // Byte 6
449 uint8_t Sum1 :8;
450 // Byte 7-9
451 uint8_t :8;
452 uint8_t :8;
453 uint8_t :8;
454 // Byte 10
455 uint8_t Id2 :1;
456 uint8_t :7;
457 // Byte 11
458 uint8_t :8;
459 // Byte 12
460 uint8_t :4;
461 uint8_t AltMode :3;
462 uint8_t :1;
463 // Byte 13
464 uint8_t ModeButton :8;
465 // Byte 14
466 uint8_t Power :1;
467 uint8_t :3;
468 uint8_t Mode :3;
469 uint8_t :1;
470 // Byte 15~16
471 uint8_t pad2[2];
472 // Byte 17
473 uint8_t :1;
474 uint8_t Temp :6;
475 uint8_t :1;
476 // Byte 18
477 uint8_t SwingH :4;
478 uint8_t Fan :4;
479 // Byte 19~20
480 uint8_t pad3[2];
481 // Byte 21
482 uint8_t Sum2 :8;
483 };
484 };
485
486 const uint16_t kDaikin176Freq = 38000; // Modulation Frequency in Hz.
487 const uint16_t kDaikin176HdrMark = 5070;
488 const uint16_t kDaikin176HdrSpace = 2140;
489 const uint16_t kDaikin176BitMark = 370;
490 const uint16_t kDaikin176OneSpace = 1780;
491 const uint16_t kDaikin176ZeroSpace = 710;
492 const uint16_t kDaikin176Gap = 29410;
493 const uint16_t kDaikin176Sections = 2;
494 const uint16_t kDaikin176Section1Length = 7;
495 const uint16_t kDaikin176Section2Length = kDaikin176StateLength -
496 kDaikin176Section1Length;
497 const uint8_t kDaikin176Fan = 0b000; // 0
498 const uint8_t kDaikin176Heat = 0b001; // 1
499 const uint8_t kDaikin176Cool = 0b010; // 2
500 const uint8_t kDaikin176Auto = 0b011; // 3
501 const uint8_t kDaikin176Dry = 0b111; // 7
502 const uint8_t kDaikin176ModeButton = 0b00000100;
503 const uint8_t kDaikin176DryFanTemp = 17; // Dry/Fan mode is always 17 Celsius.
504 const uint8_t kDaikin176FanMax = 3;
505 const uint8_t kDaikin176SwingHAuto = 0x5;
506 const uint8_t kDaikin176SwingHOff = 0x6;
507
509 union Daikin128Protocol{
510 uint8_t raw[kDaikin128StateLength];
511 struct {
512 // Byte 0
513 uint8_t :8;
514 // Byte 1
515 uint8_t Mode :4;
516 uint8_t Fan :4;
517 // Byte 2
518 uint8_t ClockMins :8;
519 // Byte 3
520 uint8_t ClockHours :8;
521 // Byte 4
522 uint8_t OnHours :6;
523 uint8_t OnHalfHour :1;
524 uint8_t OnTimer :1;
525 // Byte 5
526 uint8_t OffHours :6;
527 uint8_t OffHalfHour :1;
528 uint8_t OffTimer :1;
529 // Byte 6
530 uint8_t Temp :8;
531 // Byte 7
532 uint8_t SwingV :1;
533 uint8_t Sleep :1;
534 uint8_t :1; // always 1
535 uint8_t Power :1;
536 uint8_t Sum1 :4;
537 // Byte 8
538 uint8_t :8;
539 // Byte 9
540 uint8_t Ceiling :1;
541 uint8_t :1;
542 uint8_t Econo :1;
543 uint8_t Wall :1;
544 uint8_t :4;
545 // Byte 10~14
546 uint8_t pad[5];
547 // Byte 15
548 uint8_t Sum2 :8;
549 };
550 };
551
552 const uint16_t kDaikin128Freq = 38000; // Modulation Frequency in Hz.
553 const uint16_t kDaikin128LeaderMark = 9800;
554 const uint16_t kDaikin128LeaderSpace = 9800;
555 const uint16_t kDaikin128HdrMark = 4600;
556 const uint16_t kDaikin128HdrSpace = 2500;
557 const uint16_t kDaikin128BitMark = 350;
558 const uint16_t kDaikin128OneSpace = 954;
559 const uint16_t kDaikin128ZeroSpace = 382;
560 const uint16_t kDaikin128Gap = 20300;
561 const uint16_t kDaikin128FooterMark = kDaikin128HdrMark;
562 const uint16_t kDaikin128Sections = 2;
563 const uint16_t kDaikin128SectionLength = 8;
564 const uint8_t kDaikin128Dry = 0b00000001;
565 const uint8_t kDaikin128Cool = 0b00000010;
566 const uint8_t kDaikin128Fan = 0b00000100;
567 const uint8_t kDaikin128Heat = 0b00001000;
568 const uint8_t kDaikin128Auto = 0b00001010;
569 const uint8_t kDaikin128FanAuto = 0b0001;
570 const uint8_t kDaikin128FanHigh = 0b0010;
571 const uint8_t kDaikin128FanMed = 0b0100;
572 const uint8_t kDaikin128FanLow = 0b1000;
573 const uint8_t kDaikin128FanPowerful = 0b0011;
574 const uint8_t kDaikin128FanQuiet = 0b1001;
575 const uint8_t kDaikin128MinTemp = 16; // C
576 const uint8_t kDaikin128MaxTemp = 30; // C
577 const uint8_t kDaikin128BitWall = 0b00001000;
578 const uint8_t kDaikin128BitCeiling = 0b00000001;
579
581 union Daikin152Protocol{
582 uint8_t raw[kDaikin152StateLength];
583 struct {
584 // Byte 0~4
585 uint8_t pad0[5];
586 // Byte 5
587 uint8_t Power :1;
588 uint8_t :3;
589 uint8_t Mode :3;
590 uint8_t :1;
591 // Byte 6
592 uint8_t :1;
593 uint8_t Temp :7;
594 // Byte 7
595 uint8_t :8;
596 // Byte 8
597 uint8_t SwingV :4;
598 uint8_t Fan :4;
599 // Byte 9~12
600 uint8_t pad1[4];
601 // Byte 13
602 uint8_t Powerful :1;
603 uint8_t :4;
604 uint8_t Quiet :1;
605 uint8_t :2;
606 // Byte 14~15
607 uint8_t pad2[2];
608 // Byte 16
609 uint8_t :1;
610 uint8_t Comfort :1;
611 uint8_t Econo :1;
612 uint8_t Sensor :1;
613 uint8_t :4;
614 // Byte 17
615 uint8_t :8;
616 // Byte 18
617 uint8_t Sum :8;
618 };
619 };
620
621 const uint16_t kDaikin152Freq = 38000; // Modulation Frequency in Hz.
622 const uint8_t kDaikin152LeaderBits = 5;
623 const uint16_t kDaikin152HdrMark = 3492;
624 const uint16_t kDaikin152HdrSpace = 1718;
625 const uint16_t kDaikin152BitMark = 433;
626 const uint16_t kDaikin152OneSpace = 1529;
627 const uint16_t kDaikin152ZeroSpace = kDaikin152BitMark;
628 const uint16_t kDaikin152Gap = 25182;
629
630 const uint8_t kDaikin152DryTemp = kDaikin2MinCoolTemp; // Celsius
631 const uint8_t kDaikin152FanTemp = 0x60; // 96 Celsius
632
634 union Daikin64Protocol{
635 uint64_t raw;
636 struct {
637 uint8_t :8;
638 uint8_t Mode :4;
639 uint8_t Fan :4;
640 uint8_t ClockMins :8;
641 uint8_t ClockHours :8;
642 uint8_t OnHours :6;
643 uint8_t OnHalfHour :1;
644 uint8_t OnTimer :1;
645 uint8_t OffHours :6;
646 uint8_t OffHalfHour :1;
647 uint8_t OffTimer :1;
648 uint8_t Temp :8;
649 uint8_t SwingV :1;
650 uint8_t Sleep :1;
651 uint8_t :1;
652 uint8_t Power :1;
653 uint8_t Sum :4;
654 };
655 };
656
657 const uint16_t kDaikin64HdrMark = kDaikin128HdrMark;
658 const uint16_t kDaikin64BitMark = kDaikin128BitMark;
659 const uint16_t kDaikin64HdrSpace = kDaikin128HdrSpace;
660 const uint16_t kDaikin64OneSpace = kDaikin128OneSpace;
661 const uint16_t kDaikin64ZeroSpace = kDaikin128ZeroSpace;
662 const uint16_t kDaikin64LdrMark = kDaikin128LeaderMark;
663 const uint16_t kDaikin64Gap = kDaikin128Gap;
664 const uint16_t kDaikin64LdrSpace = kDaikin128LeaderSpace;
665 const uint16_t kDaikin64Freq = kDaikin128Freq; // Hz.
666 const uint8_t kDaikin64Overhead = 9;
667 const int8_t kDaikin64ToleranceDelta = 5; // +5%
668
669 const uint64_t kDaikin64KnownGoodState = 0x7C16161607204216;
670 const uint8_t kDaikin64Dry = 0b0001;
671 const uint8_t kDaikin64Cool = 0b0010;
672 const uint8_t kDaikin64Fan = 0b0100;
673 const uint8_t kDaikin64Heat = 0b1000;
674 const uint8_t kDaikin64FanAuto = 0b0001;
675 const uint8_t kDaikin64FanLow = 0b1000;
676 const uint8_t kDaikin64FanMed = 0b0100;
677 const uint8_t kDaikin64FanHigh = 0b0010;
678 const uint8_t kDaikin64FanQuiet = 0b1001;
679 const uint8_t kDaikin64FanTurbo = 0b0011;
680 const uint8_t kDaikin64MinTemp = 16; // Celsius
681 const uint8_t kDaikin64MaxTemp = 30; // Celsius
682 const uint8_t kDaikin64ChecksumOffset = 60;
683 const uint8_t kDaikin64ChecksumSize = 4; // Mask 0b1111 << 59
684
685 const uint16_t kDaikin200Freq = 38000; // Modulation Frequency in Hz.
686 const uint16_t kDaikin200HdrMark = 4920;
687 const uint16_t kDaikin200HdrSpace = 2230;
688 const uint16_t kDaikin200BitMark = 290;
689 const uint16_t kDaikin200OneSpace = 1850;
690 const uint16_t kDaikin200ZeroSpace = 780;
691 const uint16_t kDaikin200Gap = 29400;
692 const uint16_t kDaikin200Sections = 2;
693 const uint16_t kDaikin200Section1Length = 7;
694 const uint16_t kDaikin200Section2Length = kDaikin200StateLength -
695 kDaikin200Section1Length;
696
697 const uint16_t kDaikin312HdrMark = 3518;
698 const uint16_t kDaikin312HdrSpace = 1688;
699 const uint16_t kDaikin312BitMark = 453;
700 const uint16_t kDaikin312ZeroSpace = 414;
701 const uint16_t kDaikin312OneSpace = 1275;
702 const uint16_t kDaikin312HdrGap = 25100;
703 const uint16_t kDaikin312SectionGap = 35512;
704 const uint16_t kDaikin312Sections = 2;
705 const uint16_t kDaikin312Section1Length = 20;
706 const uint16_t kDaikin312Section2Length = kDaikin312StateLength -
707 kDaikin312Section1Length;
708
709 // Legacy defines.
710 #define DAIKIN_COOL kDaikinCool
711 #define DAIKIN_HEAT kDaikinHeat
712 #define DAIKIN_FAN kDaikinFan
713 #define DAIKIN_AUTO kDaikinAuto
714 #define DAIKIN_DRY kDaikinDry
715 #define DAIKIN_MIN_TEMP kDaikinMinTemp
716 #define DAIKIN_MAX_TEMP kDaikinMaxTemp
717 #define DAIKIN_FAN_MIN kDaikinFanMin
718 #define DAIKIN_FAN_MAX kDaikinFanMax
719 #define DAIKIN_FAN_AUTO kDaikinFanAuto
720 #define DAIKIN_FAN_QUIET kDaikinFanQuiet
721
723 class IRDaikinESP {
724 public:
725 explicit IRDaikinESP(const uint16_t pin, const bool inverted = false,
726 const bool use_modulation = true);
727
728 #if SEND_DAIKIN
729 void send(const uint16_t repeat = kDaikinDefaultRepeat);
734 int8_t calibrate(void) { return _irsend.calibrate(); }
735 #endif
736 void begin(void);
737 void on(void);
738 void off(void);
739 void setPower(const bool on);
740 bool getPower(void) const;
741 void setTemp(const uint8_t temp);
742 uint8_t getTemp(void) const;
743 void setFan(const uint8_t fan);
744 uint8_t getFan(void) const;
745 void setMode(const uint8_t mode);
746 uint8_t getMode(void) const;
747 void setSwingVertical(const bool on);
748 bool getSwingVertical(void) const;
749 void setSwingHorizontal(const bool on);
750 bool getSwingHorizontal(void) const;
751 bool getQuiet(void) const;
752 void setQuiet(const bool on);
753 bool getPowerful(void) const;
754 void setPowerful(const bool on);
755 void setSensor(const bool on);
756 bool getSensor(void) const;
757 void setEcono(const bool on);
758 bool getEcono(void) const;
759 void setMold(const bool on);
760 bool getMold(void) const;
761 void setComfort(const bool on);
762 bool getComfort(void) const;
763 void enableOnTimer(const uint16_t starttime);
764 void disableOnTimer(void);
765 uint16_t getOnTime(void) const;
766 bool getOnTimerEnabled(void) const;
767 void enableOffTimer(const uint16_t endtime);
768 void disableOffTimer(void);
769 uint16_t getOffTime(void) const;
770 bool getOffTimerEnabled(void) const;
771 void setCurrentTime(const uint16_t mins_since_midnight);
772 uint16_t getCurrentTime(void) const;
773 void setCurrentDay(const uint8_t day_of_week);
774 uint8_t getCurrentDay(void) const;
775 void setWeeklyTimerEnable(const bool on);
776 bool getWeeklyTimerEnable(void) const;
777 uint8_t* getRaw(void);
778 void setRaw(const uint8_t new_code[],
779 const uint16_t length = kDaikinStateLength);
780 static bool validChecksum(uint8_t state[],
781 const uint16_t length = kDaikinStateLength);
782 static uint8_t convertMode(const stdAc::opmode_t mode);
783 static uint8_t convertFan(const stdAc::fanspeed_t speed);
784 static stdAc::opmode_t toCommonMode(const uint8_t mode);
785 static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
786 stdAc::state_t toCommon(void) const;
787 String toString(void) const;
788 #ifndef UNIT_TEST
789
790 private:
791 IRsend _irsend;
792 #else
793 IRsendTest _irsend;
795 #endif
797 // # of bytes per command
798 DaikinESPProtocol _;
799 void stateReset(void);
800 void checksum(void);
801 };
802
805 class IRDaikin2 {
806 public:
807 explicit IRDaikin2(const uint16_t pin, const bool inverted = false,
808 const bool use_modulation = true);
809
810 #if SEND_DAIKIN2
811 void send(const uint16_t repeat = kDaikin2DefaultRepeat);
816 int8_t calibrate(void) { return _irsend.calibrate(); }
817 #endif
818 void begin(void);
819 void on(void);
820 void off(void);
821 void setPower(const bool state);
822 bool getPower(void) const;
823 void setTemp(const uint8_t temp);
824 uint8_t getTemp(void) const;
825 void setFan(const uint8_t fan);
826 uint8_t getFan(void) const;
827 uint8_t getMode(void) const;
828 void setMode(const uint8_t mode);
829 void setSwingVertical(const uint8_t position);
830 uint8_t getSwingVertical(void) const;
831 void setSwingHorizontal(const uint8_t position);
832 uint8_t getSwingHorizontal(void) const;
833 bool getQuiet(void) const;
834 void setQuiet(const bool on);
835 bool getPowerful(void) const;
836 void setPowerful(const bool on);
837 void setEcono(const bool on);
838 bool getEcono(void) const;
839 void setEye(const bool on);
840 bool getEye(void) const;
841 void setEyeAuto(const bool on);
842 bool getEyeAuto(void) const;
843 void setPurify(const bool on);
844 bool getPurify(void) const;
845 void setMold(const bool on);
846 bool getMold(void) const;
847 void enableOnTimer(const uint16_t starttime);
848 void disableOnTimer(void);
849 uint16_t getOnTime(void) const;
850 bool getOnTimerEnabled(void) const;
851 void enableSleepTimer(const uint16_t sleeptime);
852 void disableSleepTimer(void);
853 uint16_t getSleepTime(void) const;
854 bool getSleepTimerEnabled(void) const;
855 void enableOffTimer(const uint16_t endtime);
856 void disableOffTimer(void);
857 uint16_t getOffTime(void) const;
858 bool getOffTimerEnabled(void) const;
859 void setCurrentTime(const uint16_t time);
860 uint16_t getCurrentTime(void) const;
861 void setBeep(const uint8_t beep);
862 uint8_t getBeep(void) const;
863 void setLight(const uint8_t light);
864 uint8_t getLight(void) const;
865 void setClean(const bool on);
866 bool getClean(void) const;
867 void setFreshAir(const bool on);
868 bool getFreshAir(void) const;
869 void setFreshAirHigh(const bool on);
870 bool getFreshAirHigh(void) const;
871 uint8_t getHumidity(void) const;
872 void setHumidity(const uint8_t percent);
873 uint8_t* getRaw(void);
874 void setRaw(const uint8_t new_code[]);
875 static bool validChecksum(uint8_t state[],
876 const uint16_t length = kDaikin2StateLength);
877 static uint8_t convertMode(const stdAc::opmode_t mode);
878 static uint8_t convertFan(const stdAc::fanspeed_t speed);
879 static uint8_t convertSwingV(const stdAc::swingv_t position);
880 static uint8_t convertSwingH(const stdAc::swingh_t position);
881 static stdAc::swingv_t toCommonSwingV(const uint8_t setting);
882 static stdAc::swingh_t toCommonSwingH(const uint8_t setting);
883 stdAc::state_t toCommon(void) const;
884 String toString(void) const;
885 #ifndef UNIT_TEST
886
887 private:
888 IRsend _irsend;
889 #else
890 IRsendTest _irsend;
892 #endif
894 // # of bytes per command
895 Daikin2Protocol _;
896 void stateReset(void);
897 void checksum(void);
898 void clearOnTimerFlag(void);
899 void clearSleepTimerFlag(void);
900 };
901
903 class IRDaikin216 {
904 public:
905 explicit IRDaikin216(const uint16_t pin, const bool inverted = false,
906 const bool use_modulation = true);
907
908 #if SEND_DAIKIN216
909 void send(const uint16_t repeat = kDaikin216DefaultRepeat);
914 int8_t calibrate(void) { return _irsend.calibrate(); }
915 #endif
916 void begin(void);
917 uint8_t* getRaw(void);
918 void setRaw(const uint8_t new_code[]);
919 static bool validChecksum(uint8_t state[],
920 const uint16_t length = kDaikin216StateLength);
921 void on(void);
922 void off(void);
923 void setPower(const bool on);
924 bool getPower(void) const;
925 void setTemp(const uint8_t temp);
926 uint8_t getTemp(void) const;
927 void setMode(const uint8_t mode);
928 uint8_t getMode(void) const;
929 static uint8_t convertMode(const stdAc::opmode_t mode);
930 void setFan(const uint8_t fan);
931 uint8_t getFan(void) const;
932 static uint8_t convertFan(const stdAc::fanspeed_t speed);
933 void setSwingVertical(const bool on);
934 bool getSwingVertical(void) const;
935 void setSwingHorizontal(const bool on);
936 bool getSwingHorizontal(void) const;
937 void setQuiet(const bool on);
938 bool getQuiet(void) const;
939 void setPowerful(const bool on);
940 bool getPowerful(void) const;
941 stdAc::state_t toCommon(void) const;
942 String toString(void) const;
943 #ifndef UNIT_TEST
944
945 private:
946 IRsend _irsend;
947 #else
948 IRsendTest _irsend;
950 #endif
952 // # of bytes per command
953 Daikin216Protocol _;
954 void stateReset(void);
955 void checksum(void);
956 };
957
959 class IRDaikin160 {
960 public:
961 explicit IRDaikin160(const uint16_t pin, const bool inverted = false,
962 const bool use_modulation = true);
963
964 #if SEND_DAIKIN160
965 void send(const uint16_t repeat = kDaikin160DefaultRepeat);
970 int8_t calibrate(void) { return _irsend.calibrate(); }
971 #endif
972 void begin(void);
973 uint8_t* getRaw(void);
974 void setRaw(const uint8_t new_code[]);
975 static bool validChecksum(uint8_t state[],
976 const uint16_t length = kDaikin160StateLength);
977 void on(void);
978 void off(void);
979 void setPower(const bool on);
980 bool getPower(void) const;
981 void setTemp(const uint8_t temp);
982 uint8_t getTemp(void) const;
983 void setMode(const uint8_t mode);
984 uint8_t getMode(void) const;
985 static uint8_t convertMode(const stdAc::opmode_t mode);
986 void setFan(const uint8_t fan);
987 uint8_t getFan(void) const;
988 static uint8_t convertFan(const stdAc::fanspeed_t speed);
989 void setSwingVertical(const uint8_t position);
990 uint8_t getSwingVertical(void) const;
991 static uint8_t convertSwingV(const stdAc::swingv_t position);
992 static stdAc::swingv_t toCommonSwingV(const uint8_t setting);
993 stdAc::state_t toCommon(void) const;
994 String toString(void) const;
995 #ifndef UNIT_TEST
996
997 private:
998 IRsend _irsend;
999 #else
1000 IRsendTest _irsend;
1002 #endif
1004 // # of bytes per command
1005 Daikin160Protocol _;
1006 void stateReset(void);
1007 void checksum(void);
1008 };
1009
1011 class IRDaikin176 {
1012 public:
1013 explicit IRDaikin176(const uint16_t pin, const bool inverted = false,
1014 const bool use_modulation = true);
1015
1016 #if SEND_DAIKIN176
1017 void send(const uint16_t repeat = kDaikin176DefaultRepeat);
1022 int8_t calibrate(void) { return _irsend.calibrate(); }
1023 #endif
1024 void begin(void);
1025 uint8_t* getRaw(void);
1026 void setRaw(const uint8_t new_code[]);
1027 static bool validChecksum(uint8_t state[],
1028 const uint16_t length = kDaikin176StateLength);
1029 void on(void);
1030 void off(void);
1031 void setPower(const bool on);
1032 bool getPower(void) const;
1033 void setTemp(const uint8_t temp);
1034 uint8_t getTemp(void) const;
1035 void setMode(const uint8_t mode);
1036 uint8_t getMode(void) const;
1037 static uint8_t convertMode(const stdAc::opmode_t mode);
1038 void setFan(const uint8_t fan);
1039 uint8_t getFan(void) const;
1040 static uint8_t convertFan(const stdAc::fanspeed_t speed);
1041 void setSwingHorizontal(const uint8_t position);
1042 uint8_t getSwingHorizontal(void) const;
1043 uint8_t getId(void) const;
1044 void setId(const uint8_t num);
1045 static uint8_t convertSwingH(const stdAc::swingh_t position);
1046 static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
1047 static stdAc::opmode_t toCommonMode(const uint8_t mode);
1048 static stdAc::swingh_t toCommonSwingH(const uint8_t setting);
1049 stdAc::state_t toCommon(void) const;
1050 String toString(void) const;
1051
1052 #ifndef UNIT_TEST
1053
1054 private:
1055 IRsend _irsend;
1056 #else
1057 IRsendTest _irsend;
1059 #endif
1061 // # of bytes per command
1062 Daikin176Protocol _;
1063 uint8_t _saved_temp;
1064 void stateReset(void);
1065 void checksum(void);
1066 };
1067
1070 class IRDaikin128 {
1071 public:
1072 explicit IRDaikin128(const uint16_t pin, const bool inverted = false,
1073 const bool use_modulation = true);
1074 #if SEND_DAIKIN128
1075 void send(const uint16_t repeat = kDaikin128DefaultRepeat);
1080 int8_t calibrate(void) { return _irsend.calibrate(); }
1081 #endif // SEND_DAIKIN128
1082 void begin(void);
1083 void setPowerToggle(const bool toggle);
1084 bool getPowerToggle(void) const;
1085 void setTemp(const uint8_t temp);
1086 uint8_t getTemp(void) const;
1087 void setFan(const uint8_t fan);
1088 uint8_t getFan(void) const;
1089 uint8_t getMode(void) const;
1090 void setMode(const uint8_t mode);
1091 void setSwingVertical(const bool on);
1092 bool getSwingVertical(void) const;
1093 bool getSleep(void) const;
1094 void setSleep(const bool on);
1095 bool getQuiet(void) const;
1096 void setQuiet(const bool on);
1097 bool getPowerful(void) const;
1098 void setPowerful(const bool on);
1099 void setEcono(const bool on);
1100 bool getEcono(void) const;
1101 void setOnTimer(const uint16_t mins_since_midnight);
1102 uint16_t getOnTimer(void) const;
1103 bool getOnTimerEnabled(void) const;
1104 void setOnTimerEnabled(const bool on);
1105 void setOffTimer(const uint16_t mins_since_midnight);
1106 uint16_t getOffTimer(void) const;
1107 bool getOffTimerEnabled(void) const;
1108 void setOffTimerEnabled(const bool on);
1109 void setClock(const uint16_t mins_since_midnight);
1110 uint16_t getClock(void) const;
1111 void setLightToggle(const uint8_t unit_type);
1112 uint8_t getLightToggle(void) const;
1113 uint8_t* getRaw(void);
1114 void setRaw(const uint8_t new_code[]);
1115 static bool validChecksum(uint8_t state[]);
1116 static uint8_t convertMode(const stdAc::opmode_t mode);
1117 static uint8_t convertFan(const stdAc::fanspeed_t speed);
1118 static stdAc::opmode_t toCommonMode(const uint8_t mode);
1119 static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
1120 stdAc::state_t toCommon(const stdAc::state_t *prev = NULL) const;
1121 String toString(void) const;
1122 #ifndef UNIT_TEST
1123
1124 private:
1125 IRsend _irsend;
1126 #else
1127 IRsendTest _irsend;
1129 #endif
1131 // # of bytes per command
1132 Daikin128Protocol _;
1133 void stateReset(void);
1134 static uint8_t calcFirstChecksum(const uint8_t state[]);
1135 static uint8_t calcSecondChecksum(const uint8_t state[]);
1136 void checksum(void);
1137 };
1138
1140 class IRDaikin152 {
1141 public:
1142 explicit IRDaikin152(const uint16_t pin, const bool inverted = false,
1143 const bool use_modulation = true);
1144
1145 #if SEND_DAIKIN152
1146 void send(const uint16_t repeat = kDaikin152DefaultRepeat);
1151 int8_t calibrate(void) { return _irsend.calibrate(); }
1152 #endif
1153 void begin(void);
1154 uint8_t* getRaw(void);
1155 void setRaw(const uint8_t new_code[]);
1156 static bool validChecksum(uint8_t state[],
1157 const uint16_t length = kDaikin152StateLength);
1158 void on(void);
1159 void off(void);
1160 void setPower(const bool on);
1161 bool getPower(void) const;
1162 void setTemp(const uint8_t temp);
1163 uint8_t getTemp(void) const;
1164 void setFan(const uint8_t fan);
1165 uint8_t getFan(void) const;
1166 void setMode(const uint8_t mode);
1167 uint8_t getMode(void) const;
1168 void setSwingV(const bool on);
1169 bool getSwingV(void) const;
1170 bool getQuiet(void) const;
1171 void setQuiet(const bool on);
1172 bool getPowerful(void) const;
1173 void setPowerful(const bool on);
1174 void setSensor(const bool on);
1175 bool getSensor(void) const;
1176 void setEcono(const bool on);
1177 bool getEcono(void) const;
1178 void setComfort(const bool on);
1179 bool getComfort(void) const;
1180 static uint8_t convertMode(const stdAc::opmode_t mode);
1181 static uint8_t convertFan(const stdAc::fanspeed_t speed);
1182 stdAc::state_t toCommon(void) const;
1183 String toString(void) const;
1184 #ifndef UNIT_TEST
1185
1186 private:
1187 IRsend _irsend;
1188 #else
1189 IRsendTest _irsend;
1191 #endif
1193 // # of bytes per command
1194 Daikin152Protocol _;
1195 void stateReset(void);
1196 void checksum(void);
1197 };
1198
1200 class IRDaikin64 {
1201 public:
1202 explicit IRDaikin64(const uint16_t pin, const bool inverted = false,
1203 const bool use_modulation = true);
1204
1205 #if SEND_DAIKIN64
1206 void send(const uint16_t repeat = kDaikin64DefaultRepeat);
1211 int8_t calibrate(void) { return _irsend.calibrate(); }
1212 #endif // SEND_DAIKIN64
1213 void begin(void);
1214 uint64_t getRaw(void);
1215 void setRaw(const uint64_t new_state);
1216 static uint8_t calcChecksum(const uint64_t state);
1217 static bool validChecksum(const uint64_t state);
1218 void setPowerToggle(const bool on);
1219 bool getPowerToggle(void) const;
1220 void setTemp(const uint8_t temp);
1221 uint8_t getTemp(void) const;
1222 void setFan(const uint8_t fan);
1223 uint8_t getFan(void) const;
1224 void setMode(const uint8_t mode);
1225 uint8_t getMode(void) const;
1226 void setSwingVertical(const bool on);
1227 bool getSwingVertical(void) const;
1228 void setSleep(const bool on);
1229 bool getSleep(void) const;
1230 bool getQuiet(void) const;
1231 void setQuiet(const bool on);
1232 bool getTurbo(void) const;
1233 void setTurbo(const bool on);
1234 void setClock(const uint16_t mins_since_midnight);
1235 uint16_t getClock(void) const;
1236 void setOnTimeEnabled(const bool on);
1237 bool getOnTimeEnabled(void) const;
1238 void setOnTime(const uint16_t mins_since_midnight);
1239 uint16_t getOnTime(void) const;
1240 void setOffTimeEnabled(const bool on);
1241 bool getOffTimeEnabled(void) const;
1242 void setOffTime(const uint16_t mins_since_midnight);
1243 uint16_t getOffTime(void) const;
1244 static uint8_t convertMode(const stdAc::opmode_t mode);
1245 static uint8_t convertFan(const stdAc::fanspeed_t speed);
1246 static stdAc::opmode_t toCommonMode(const uint8_t mode);
1247 static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
1248 stdAc::state_t toCommon(const stdAc::state_t *prev = NULL) const;
1249 String toString(void) const;
1250 #ifndef UNIT_TEST
1251
1252 private:
1253 IRsend _irsend;
1254 #else
1255 IRsendTest _irsend;
1257 #endif
1259 Daikin64Protocol _;
1260 void stateReset(void);
1261 void checksum(void);
1262 };
1263 #endif // IR_DAIKIN_H_
IRDaikin64::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:3456
IRDaikin128::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:2649
IRDaikinESP::getEcono
bool getEcono(void) const
Get the Economical mode of the A/C.
Definition: ir_Daikin.cpp:356
kDaikin2SwingHRightMax
const uint8_t kDaikin2SwingHRightMax
Definition: ir_Daikin.h:307
kDaikin200HdrSpace
const uint16_t kDaikin200HdrSpace
Definition: ir_Daikin.h:687
kDaikin64ChecksumOffset
const uint8_t kDaikin64ChecksumOffset
Definition: ir_Daikin.h:682
IRDaikin152::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:3288
IRDaikin2::setCurrentTime
void setCurrentTime(const uint16_t time)
Set the clock on the A/C unit.
Definition: ir_Daikin.cpp:932
IRDaikinESP::convertFan
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Daikin.cpp:491
kDaikin152DefaultRepeat
const uint16_t kDaikin152DefaultRepeat
Definition: IRremoteESP8266.h:1207
kDaikin312HdrMark
const uint16_t kDaikin312HdrMark
Definition: ir_Daikin.h:697
IRDaikin2::convertSwingH
static uint8_t convertSwingH(const stdAc::swingh_t position)
Convert a stdAc::swingh_t enum into it's native setting.
Definition: ir_Daikin.cpp:1171
IRDaikin160::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:1974
IRDaikinESP::validChecksum
static bool validChecksum(uint8_t state[], const uint16_t length=kDaikinStateLength)
Verify the checksum is valid for a given state.
Definition: ir_Daikin.cpp:129
kDaikin152OneSpace
const uint16_t kDaikin152OneSpace
Definition: ir_Daikin.h:626
Daikin216Protocol::pad3
uint8_t pad3[4]
Definition: ir_Daikin.h:360
IRDaikin216::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:1540
Daikin176Protocol::Power
uint8_t Power
Definition: ir_Daikin.h:466
IRDaikin64::setOffTimeEnabled
void setOffTimeEnabled(const bool on)
Set the enable status of the Off Timer.
Definition: ir_Daikin.cpp:3661
IRDaikin160::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:1784
Daikin152Protocol::Temp
uint8_t Temp
Definition: ir_Daikin.h:593
IRDaikinESP::send
void send(const uint16_t repeat=kDaikinDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:120
Daikin160Protocol
Native representation of a Daikin160 A/C message.
Definition: ir_Daikin.h:382
IRDaikin128::getClock
uint16_t getClock(void) const
Get the clock time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:2771
Daikin160Protocol::Power
uint8_t Power
Definition: ir_Daikin.h:392
Daikin152Protocol::Sum
uint8_t Sum
Definition: ir_Daikin.h:617
kDaikinDry
const uint8_t kDaikinDry
Definition: ir_Daikin.h:141
IRDaikin64::getOffTimeEnabled
bool getOffTimeEnabled(void) const
Get the enable status of the Off Timer.
Definition: ir_Daikin.cpp:3665
IRDaikin2::getOnTime
uint16_t getOnTime(void) const
Get the On Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:963
IRDaikin2::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:1101
IRDaikin216::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:1509
IRDaikin176::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:2138
IRDaikin64::getOffTime
uint16_t getOffTime(void) const
Get the Off Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:3669
IRDaikinESP::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:150
IRDaikinESP::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:734
IRDaikin2::getOffTimerEnabled
bool getOffTimerEnabled(void) const
Get the enable status of the Off Timer.
Definition: ir_Daikin.cpp:990
IRDaikin152::getQuiet
bool getQuiet(void) const
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:3231
IRDaikin128::getOffTimerEnabled
bool getOffTimerEnabled(void) const
Get the enable status of the Off Timer.
Definition: ir_Daikin.cpp:2808
Daikin160Protocol::raw
uint8_t raw[kDaikin160StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:383
Daikin176Protocol
Native representation of a Daikin176 A/C message.
Definition: ir_Daikin.h:434
Daikin176Protocol::Sum1
uint8_t Sum1
Definition: ir_Daikin.h:449
IRDaikin2::getOnTimerEnabled
bool getOnTimerEnabled(void) const
Get the enable status of the On Timer.
Definition: ir_Daikin.cpp:967
IRDaikinESP::getMold
bool getMold(void) const
Get the Mould mode status of the A/C.
Definition: ir_Daikin.cpp:368
Daikin64Protocol::Mode
uint8_t Mode
Definition: ir_Daikin.h:638
IRDaikin2::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:855
IRDaikin128::toCommon
stdAc::state_t toCommon(const stdAc::state_t *prev=NULL) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:2886
kDaikin64Heat
const uint8_t kDaikin64Heat
Definition: ir_Daikin.h:673
kDaikin152ZeroSpace
const uint16_t kDaikin152ZeroSpace
Definition: ir_Daikin.h:627
kDaikin64OneSpace
const uint16_t kDaikin64OneSpace
Definition: ir_Daikin.h:660
kDaikin2DefaultRepeat
const uint16_t kDaikin2DefaultRepeat
Definition: IRremoteESP8266.h:1196
kDaikin64Fan
const uint8_t kDaikin64Fan
Definition: ir_Daikin.h:672
IRDaikin128::getOffTimer
uint16_t getOffTimer(void) const
Get the Off Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:2818
DaikinESPProtocol::Power
uint64_t Power
Definition: ir_Daikin.h:95
IRDaikinESP::getOnTime
uint16_t getOnTime(void) const
Get the On Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:399
kDaikin64Freq
const uint16_t kDaikin64Freq
Definition: ir_Daikin.h:665
IRDaikin152::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:3166
IRDaikin2::getPowerful
bool getPowerful(void) const
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:1109
Daikin128Protocol::SwingV
uint8_t SwingV
Definition: ir_Daikin.h:532
Daikin216Protocol::pad2
uint8_t pad2[3]
Definition: ir_Daikin.h:355
IRDaikin2::send
void send(const uint16_t repeat=kDaikin2DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:708
IRDaikin2::getCurrentTime
uint16_t getCurrentTime(void) const
Get the clock time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:940
IRDaikin128::getLightToggle
uint8_t getLightToggle(void) const
Get the Light toggle setting of the A/C.
Definition: ir_Daikin.cpp:2838
IRDaikin64::getPowerToggle
bool getPowerToggle(void) const
Get the Power toggle setting of the A/C.
Definition: ir_Daikin.cpp:3475
IRDaikin128::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:2638
IRDaikin2::setEyeAuto
void setEyeAuto(const bool on)
Set the Automatic Eye (Sensor) mode of the A/C.
Definition: ir_Daikin.cpp:1042
IRDaikin176::convertSwingH
static uint8_t convertSwingH(const stdAc::swingh_t position)
Convert a stdAc::swingh_t enum into it's native setting.
Definition: ir_Daikin.cpp:2335
kDaikin176SwingHAuto
const uint8_t kDaikin176SwingHAuto
Definition: ir_Daikin.h:505
IRDaikin152::getEcono
bool getEcono(void) const
Get the Economical mode of the A/C.
Definition: ir_Daikin.cpp:3259
kDaikin200HdrMark
const uint16_t kDaikin200HdrMark
Definition: ir_Daikin.h:686
Daikin152Protocol::Mode
uint8_t Mode
Definition: ir_Daikin.h:589
IRDaikin2::IRDaikin2
IRDaikin2(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:698
IRDaikin160::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:1882
IRDaikinESP::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:115
IRDaikin216::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:1505
Daikin152Protocol::pad1
uint8_t pad1[4]
Definition: ir_Daikin.h:600
kDaikin176Section2Length
const uint16_t kDaikin176Section2Length
Definition: ir_Daikin.h:495
stdAc::swingv_t
swingv_t
Common A/C settings for Vertical Swing.
Definition: IRsend.h:74
Daikin152Protocol::Power
uint8_t Power
Definition: ir_Daikin.h:587
IRDaikin2::setSwingVertical
void setSwingVertical(const uint8_t position)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:866
IRDaikin2::convertFan
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Daikin.cpp:1164
IRDaikin64::toCommon
stdAc::state_t toCommon(const stdAc::state_t *prev=NULL) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:3713
DaikinESPProtocol::Fan
uint64_t Fan
Definition: ir_Daikin.h:109
IRDaikin2::validChecksum
static bool validChecksum(uint8_t state[], const uint16_t length=kDaikin2StateLength)
Verify the checksum is valid for a given state.
Definition: ir_Daikin.cpp:717
Daikin2Protocol::FreshAir
uint64_t FreshAir
Definition: ir_Daikin.h:203
kDaikin64Overhead
const uint8_t kDaikin64Overhead
Definition: ir_Daikin.h:666
kDaikinOneSpace
const uint16_t kDaikinOneSpace
Definition: ir_Daikin.h:178
kDaikin2ZeroSpace
const uint16_t kDaikin2ZeroSpace
Definition: ir_Daikin.h:284
IRDaikinESP
Class for handling detailed Daikin 280-bit A/C messages.
Definition: ir_Daikin.h:723
IRDaikin176::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:2260
kDaikin2SwingHOff
const uint8_t kDaikin2SwingHOff
Definition: ir_Daikin.h:309
kDaikin2HdrMark
const uint16_t kDaikin2HdrMark
Definition: ir_Daikin.h:280
IRDaikin216::validChecksum
static bool validChecksum(uint8_t state[], const uint16_t length=kDaikin216StateLength)
Verify the checksum is valid for a given state.
Definition: ir_Daikin.cpp:1440
IRDaikin64::setOffTime
void setOffTime(const uint16_t mins_since_midnight)
Set the Off Timer time for the A/C unit.
Definition: ir_Daikin.cpp:3673
IRDaikin176::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Daikin.cpp:2358
Daikin160Protocol::Sum2
uint8_t Sum2
Definition: ir_Daikin.h:411
Daikin128Protocol::pad
uint8_t pad[5]
Definition: ir_Daikin.h:546
IRDaikin176::getSwingHorizontal
uint8_t getSwingHorizontal(void) const
Get the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:2321
IRDaikin160::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:1836
IRDaikin2
Class for handling detailed Daikin 312-bit A/C messages.
Definition: ir_Daikin.h:805
IRDaikin216::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:914
kDaikin176StateLength
const uint16_t kDaikin176StateLength
Definition: IRremoteESP8266.h:1208
IRDaikin176::setSwingHorizontal
void setSwingHorizontal(const uint8_t position)
Set the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:2309
IRDaikin128
Class for handling detailed Daikin 128-bit A/C messages.
Definition: ir_Daikin.h:1070
Daikin176Protocol::Id2
uint8_t Id2
Definition: ir_Daikin.h:455
IRDaikin2::setMold
void setMold(const bool on)
Set the Mould (filter) mode of the A/C.
Definition: ir_Daikin.cpp:1010
stdAc::fanspeed_t
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:61
IRDaikin2::toCommonSwingH
static stdAc::swingh_t toCommonSwingH(const uint8_t setting)
Convert a native horizontal swing postion to it's common equivalent.
Definition: ir_Daikin.cpp:1187
IRDaikin160::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:1840
IRDaikin216::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:1559
IRDaikin2::getOffTime
uint16_t getOffTime(void) const
Get the Off Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:986
IRDaikin216::getQuiet
bool getQuiet(void) const
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:1608
IRDaikin128::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:2645
IRDaikinESP::setSwingHorizontal
void setSwingHorizontal(const bool on)
Set the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:293
IRDaikin216::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:1612
IRDaikin128::convertMode
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Daikin.cpp:2613
IRDaikin216::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:1497
kDaikin64HdrMark
const uint16_t kDaikin64HdrMark
Definition: ir_Daikin.h:657
IRDaikin160::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:1763
IRDaikin128::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:2559
kDaikin176HdrMark
const uint16_t kDaikin176HdrMark
Definition: ir_Daikin.h:487
IRDaikin128::setOffTimer
void setOffTimer(const uint16_t mins_since_midnight)
Set the Off Timer time for the A/C unit.
Definition: ir_Daikin.cpp:2812
Daikin216Protocol::SwingV
uint8_t SwingV
Definition: ir_Daikin.h:349
Daikin64Protocol::Sum
uint8_t Sum
Definition: ir_Daikin.h:653
IRDaikin64::setClock
void setClock(const uint16_t mins_since_midnight)
Set the clock on the A/C unit.
Definition: ir_Daikin.cpp:3628
kDaikin128FanPowerful
const uint8_t kDaikin128FanPowerful
Definition: ir_Daikin.h:573
kDaikin128Freq
const uint16_t kDaikin128Freq
Definition: ir_Daikin.h:552
IRDaikin2::clearOnTimerFlag
void clearOnTimerFlag(void)
Clear the On Timer flag.
Definition: ir_Daikin.cpp:952
kDaikinGap
const uint16_t kDaikinGap
Definition: ir_Daikin.h:179
IRDaikin128::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:1125
kDaikin128MinTemp
const uint8_t kDaikin128MinTemp
Definition: ir_Daikin.h:575
IRDaikin160::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:1833
IRDaikin128::getSwingVertical
bool getSwingVertical(void) const
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:2707
kDaikin2SwingVSwing
const uint8_t kDaikin2SwingVSwing
Definition: ir_Daikin.h:299
IRDaikin216::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:1493
IRDaikin64::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:3479
kDaikin2SwingVLowerMiddle
const uint8_t kDaikin2SwingVLowerMiddle
Definition: ir_Daikin.h:292
kDaikin200StateLength
const uint16_t kDaikin200StateLength
Definition: IRremoteESP8266.h:1211
kDaikin312OneSpace
const uint16_t kDaikin312OneSpace
Definition: ir_Daikin.h:701
IRDaikin2::getPurify
bool getPurify(void) const
Get the Purify (Filter) mode status of the A/C.
Definition: ir_Daikin.cpp:1117
IRDaikin176::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:2174
Daikin64Protocol::OnHours
uint8_t OnHours
Definition: ir_Daikin.h:642
IRDaikin2::disableOffTimer
void disableOffTimer(void)
Disable the Off timer.
Definition: ir_Daikin.cpp:978
Daikin128Protocol::Power
uint8_t Power
Definition: ir_Daikin.h:535
kDaikin160Gap
const uint16_t kDaikin160Gap
Definition: ir_Daikin.h:421
Daikin176Protocol::Temp
uint8_t Temp
Definition: ir_Daikin.h:474
IRDaikin64
Class for handling detailed Daikin 64-bit A/C messages.
Definition: ir_Daikin.h:1200
kDaikinBitMark
const uint16_t kDaikinBitMark
Definition: ir_Daikin.h:176
IRDaikin2::enableOffTimer
void enableOffTimer(const uint16_t endtime)
Set the enable status & time of the Off Timer.
Definition: ir_Daikin.cpp:971
IRDaikin64::calcChecksum
static uint8_t calcChecksum(const uint64_t state)
Calculate the checksum for a given state.
Definition: ir_Daikin.cpp:3435
Daikin160Protocol::Fan
uint8_t Fan
Definition: ir_Daikin.h:406
kDaikin152BitMark
const uint16_t kDaikin152BitMark
Definition: ir_Daikin.h:625
IRDaikin128::_
Daikin128Protocol _
Definition: ir_Daikin.h:1132
kDaikin176FanMax
const uint8_t kDaikin176FanMax
Definition: ir_Daikin.h:504
IRDaikinESP::setCurrentTime
void setCurrentTime(const uint16_t mins_since_midnight)
Set the clock on the A/C unit.
Definition: ir_Daikin.cpp:436
kDaikin2HumidityHeatLow
const uint8_t kDaikin2HumidityHeatLow
Definition: ir_Daikin.h:316
IRDaikin64::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:3453
kDaikin152HdrSpace
const uint16_t kDaikin152HdrSpace
Definition: ir_Daikin.h:624
kDaikin2SwingVHighest
const uint8_t kDaikin2SwingVHighest
Definition: ir_Daikin.h:289
Daikin64Protocol::SwingV
uint8_t SwingV
Definition: ir_Daikin.h:649
Daikin216Protocol::Fan
uint8_t Fan
Definition: ir_Daikin.h:350
kDaikin160BitMark
const uint16_t kDaikin160BitMark
Definition: ir_Daikin.h:418
IRDaikin2::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:781
DaikinESPProtocol::Econo
uint8_t Econo
Definition: ir_Daikin.h:127
IRDaikin152::setEcono
void setEcono(const bool on)
Set the Economy mode of the A/C.
Definition: ir_Daikin.cpp:3251
IRDaikin2::getSwingVertical
uint8_t getSwingVertical(void) const
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:884
IRDaikin152::convertFan
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Daikin.cpp:3207
IRDaikin152::getPowerful
bool getPowerful(void) const
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:3247
kDaikin2MinCoolTemp
const uint8_t kDaikin2MinCoolTemp
Definition: ir_Daikin.h:325
Daikin2Protocol::Mold
uint64_t Mold
Definition: ir_Daikin.h:205
IRDaikin152::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:3195
DaikinESPProtocol::Comfort
uint64_t Comfort
Definition: ir_Daikin.h:78
IRsend.h
IRDaikin176::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Daikin.cpp:2202
kDaikin64FanQuiet
const uint8_t kDaikin64FanQuiet
Definition: ir_Daikin.h:678
Daikin2Protocol::SwingV
uint64_t SwingV
Definition: ir_Daikin.h:221
IRDaikin128::setPowerToggle
void setPowerToggle(const bool toggle)
Set the Power toggle setting of the A/C.
Definition: ir_Daikin.cpp:2580
IRDaikin64::getSwingVertical
bool getSwingVertical(void) const
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:3616
Daikin152Protocol::Econo
uint8_t Econo
Definition: ir_Daikin.h:611
IRDaikin176::_
Daikin176Protocol _
Definition: ir_Daikin.h:1062
kDaikin152FanTemp
const uint8_t kDaikin152FanTemp
Definition: ir_Daikin.h:631
IRDaikinESP::getPowerful
bool getPowerful(void) const
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:330
IRDaikin216
Class for handling detailed Daikin 216-bit A/C messages.
Definition: ir_Daikin.h:903
Daikin2Protocol::Powerful
uint64_t Powerful
Definition: ir_Daikin.h:254
kDaikin64Cool
const uint8_t kDaikin64Cool
Definition: ir_Daikin.h:671
IRDaikinESP::setMold
void setMold(const bool on)
Set the Mould mode of the A/C.
Definition: ir_Daikin.cpp:362
Daikin160Protocol::pad0
uint8_t pad0[6]
Definition: ir_Daikin.h:386
Daikin2Protocol::OnTimer
uint64_t OnTimer
Definition: ir_Daikin.h:232
kDaikin64FanTurbo
const uint8_t kDaikin64FanTurbo
Definition: ir_Daikin.h:679
kDaikinFan
const uint8_t kDaikinFan
Definition: ir_Daikin.h:144
IRDaikin64::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:1253
IRDaikin2::setFreshAirHigh
void setFreshAirHigh(const bool on)
Set the (High) Fresh Air mode of the A/C.
Definition: ir_Daikin.cpp:1034
kDaikinZeroSpace
const uint16_t kDaikinZeroSpace
Definition: ir_Daikin.h:177
kDaikinSection1Length
const uint8_t kDaikinSection1Length
Definition: ir_Daikin.h:156
Daikin216Protocol::SwingH
uint8_t SwingH
Definition: ir_Daikin.h:352
Daikin64Protocol::OffHalfHour
uint8_t OffHalfHour
Definition: ir_Daikin.h:646
kDaikinByteChecksum2
const uint8_t kDaikinByteChecksum2
Definition: ir_Daikin.h:161
kDaikin312Section2Length
const uint16_t kDaikin312Section2Length
Definition: ir_Daikin.h:706
IRDaikin152::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:1151
IRDaikin128::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:2588
Daikin128Protocol::raw
uint8_t raw[kDaikin128StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:510
Daikin216Protocol
Native representation of a Daikin216 A/C message.
Definition: ir_Daikin.h:328
IRDaikinESP::setSensor
void setSensor(const bool on)
Set the Sensor mode of the A/C.
Definition: ir_Daikin.cpp:336
IRDaikin160::convertMode
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Daikin.cpp:1868
DaikinESPProtocol::OnTimer
uint64_t OnTimer
Definition: ir_Daikin.h:96
Daikin2Protocol::Econo
uint64_t Econo
Definition: ir_Daikin.h:263
IRsend
Class for sending all basic IR protocols.
Definition: IRsend.h:237
kDaikinUnusedTime
const uint16_t kDaikinUnusedTime
Definition: ir_Daikin.h:163
IRDaikin176::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:1022
kDaikin176Dry
const uint8_t kDaikin176Dry
Definition: ir_Daikin.h:501
Daikin128Protocol::Wall
uint8_t Wall
Definition: ir_Daikin.h:543
kDaikin176Auto
const uint8_t kDaikin176Auto
Definition: ir_Daikin.h:500
IRDaikin152::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:3235
IRDaikin2::disableOnTimer
void disableOnTimer(void)
Disable the On timer.
Definition: ir_Daikin.cpp:955
kDaikin200ZeroSpace
const uint16_t kDaikin200ZeroSpace
Definition: ir_Daikin.h:690
IRsend::calibrate
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition: IRsend.cpp:207
kDaikin216ZeroSpace
const uint16_t kDaikin216ZeroSpace
Definition: ir_Daikin.h:371
IRDaikin176::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:2210
IRDaikin152::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:3122
IRDaikin2::getSleepTime
uint16_t getSleepTime(void) const
Get the Sleep Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:1081
Daikin128Protocol::Sum1
uint8_t Sum1
Definition: ir_Daikin.h:536
Daikin128Protocol::OffHalfHour
uint8_t OffHalfHour
Definition: ir_Daikin.h:527
IRDaikin152::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:3134
Daikin2Protocol
Native representation of a Daikin2 A/C message.
Definition: ir_Daikin.h:185
IRDaikin216::getSwingVertical
bool getSwingVertical(void) const
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:1580
DaikinESPProtocol::OnTime
uint64_t OnTime
Definition: ir_Daikin.h:114
kDaikin2SwingHLeft
const uint8_t kDaikin2SwingHLeft
Definition: ir_Daikin.h:304
Daikin176Protocol::raw
uint8_t raw[kDaikin176StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:435
Daikin128Protocol::OffHours
uint8_t OffHours
Definition: ir_Daikin.h:526
IRDaikin176::toCommonSwingH
static stdAc::swingh_t toCommonSwingH(const uint8_t setting)
Convert a native horizontal swing postion to it's common equivalent.
Definition: ir_Daikin.cpp:2346
kDaikin2HumidityDryMedium
const uint8_t kDaikin2HumidityDryMedium
Definition: ir_Daikin.h:320
IRDaikin2::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:703
IRDaikin64::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:3602
IRDaikin216::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:1462
IRDaikinESP::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:319
IRDaikin160::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:2000
Daikin2Protocol::OffTime
uint64_t OffTime
Definition: ir_Daikin.h:252
kDaikinHdrSpace
const uint16_t kDaikinHdrSpace
Definition: ir_Daikin.h:175
kDaikin160HdrSpace
const uint16_t kDaikin160HdrSpace
Definition: ir_Daikin.h:417
String
std::string String
Definition: IRremoteESP8266.h:1521
IRDaikin64::setOnTimeEnabled
void setOnTimeEnabled(const bool on)
Set the enable status of the On Timer.
Definition: ir_Daikin.cpp:3643
IRDaikin152::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:3091
Daikin2Protocol::Sum1
uint64_t Sum1
Definition: ir_Daikin.h:224
IRDaikinESP::IRDaikinESP
IRDaikinESP(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:110
DaikinESPProtocol::WeeklyTimer
uint8_t WeeklyTimer
Definition: ir_Daikin.h:129
DaikinESPProtocol::raw
uint8_t raw[kDaikinStateLength]
The state of the IR remote.
Definition: ir_Daikin.h:72
IRDaikin2::setPower
void setPower(const bool state)
Change the power setting.
Definition: ir_Daikin.cpp:793
kDaikinCurIndex
const uint8_t kDaikinCurIndex
Definition: ir_Daikin.h:171
kDaikin160SwingVHighest
const uint8_t kDaikin160SwingVHighest
Definition: ir_Daikin.h:430
IRDaikin160::setSwingVertical
void setSwingVertical(const uint8_t position)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:1923
IRDaikin128::convertFan
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Daikin.cpp:2676
Daikin176Protocol::pad3
uint8_t pad3[2]
Definition: ir_Daikin.h:480
IRDaikin128::getPowerToggle
bool getPowerToggle(void) const
Get the Power toggle setting of the A/C.
Definition: ir_Daikin.cpp:2584
IRDaikin160::convertFan
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Daikin.cpp:1909
Daikin216Protocol::Powerful
uint8_t Powerful
Definition: ir_Daikin.h:357
kDaikin2Section2Length
const uint16_t kDaikin2Section2Length
Definition: ir_Daikin.h:287
kDaikin200OneSpace
const uint16_t kDaikin200OneSpace
Definition: ir_Daikin.h:689
IRDaikinESP::getSensor
bool getSensor(void) const
Get the Sensor mode of the A/C.
Definition: ir_Daikin.cpp:342
Daikin2Protocol::pad
uint8_t pad[3]
Definition: ir_Daikin.h:187
kDaikin152StateLength
const uint16_t kDaikin152StateLength
Definition: IRremoteESP8266.h:1205
kDaikin312HdrSpace
const uint16_t kDaikin312HdrSpace
Definition: ir_Daikin.h:698
Daikin160Protocol::pad1
uint8_t pad1[5]
Definition: ir_Daikin.h:390
IRDaikin160::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:1848
kDaikin128BitCeiling
const uint8_t kDaikin128BitCeiling
Definition: ir_Daikin.h:578
IRDaikinESP::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:208
IRDaikin2::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:837
IRDaikin152::getSwingV
bool getSwingV(void) const
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:3219
kDaikin160OneSpace
const uint16_t kDaikin160OneSpace
Definition: ir_Daikin.h:419
IRDaikin2::getFreshAirHigh
bool getFreshAirHigh(void) const
Get the (High) Fresh Air mode status of the A/C.
Definition: ir_Daikin.cpp:1038
IRDaikin2::setFreshAir
void setFreshAir(const bool on)
Set the Fresh Air mode of the A/C.
Definition: ir_Daikin.cpp:1026
IRDaikin2::setLight
void setLight(const uint8_t light)
Set the Light (LED) mode of the A/C.
Definition: ir_Daikin.cpp:1006
Daikin2Protocol::raw
uint8_t raw[kDaikin2StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:188
kDaikin128ZeroSpace
const uint16_t kDaikin128ZeroSpace
Definition: ir_Daikin.h:559
kDaikinFanMax
const uint8_t kDaikinFanMax
Definition: ir_Daikin.h:149
IRDaikin128::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:2592
kDaikin176Gap
const uint16_t kDaikin176Gap
Definition: ir_Daikin.h:492
IRDaikin2::enableOnTimer
void enableOnTimer(const uint16_t starttime)
Set the enable status & time of the On Timer.
Definition: ir_Daikin.cpp:945
IRDaikin128::setOffTimerEnabled
void setOffTimerEnabled(const bool on)
Set the enable status of the Off Timer.
Definition: ir_Daikin.cpp:2804
kDaikin312ZeroSpace
const uint16_t kDaikin312ZeroSpace
Definition: ir_Daikin.h:700
kDaikin128FanMed
const uint8_t kDaikin128FanMed
Definition: ir_Daikin.h:571
Daikin128Protocol::Sum2
uint8_t Sum2
Definition: ir_Daikin.h:548
IRDaikin176::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:2279
Daikin64Protocol::Fan
uint8_t Fan
Definition: ir_Daikin.h:639
IRDaikin176::off
void off(void)
Change the power setting to Off..
Definition: ir_Daikin.cpp:2191
IRDaikin2::getSwingHorizontal
uint8_t getSwingHorizontal(void) const
Get the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:928
IRDaikin216::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:1485
IRDaikinESP::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Daikin.cpp:218
kDaikinSwingOn
const uint8_t kDaikinSwingOn
Definition: ir_Daikin.h:152
kDaikin216Freq
const uint16_t kDaikin216Freq
Definition: ir_Daikin.h:366
IRDaikinESP::setSwingVertical
void setSwingVertical(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:281
kDaikin216StateLength
const uint16_t kDaikin216StateLength
Definition: IRremoteESP8266.h:1214
kDaikin176Freq
const uint16_t kDaikin176Freq
Definition: ir_Daikin.h:486
IRDaikin128::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:2730
Daikin216Protocol::pad0
uint8_t pad0[7]
Definition: ir_Daikin.h:332
Daikin64Protocol::Temp
uint8_t Temp
Definition: ir_Daikin.h:648
DaikinESPProtocol::Mold
uint8_t Mold
Definition: ir_Daikin.h:132
IRDaikin128::getOnTimer
uint16_t getOnTimer(void) const
Get the On Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:2800
kDaikin2Section1Length
const uint16_t kDaikin2Section1Length
Definition: ir_Daikin.h:286
IRDaikin128::setLightToggle
void setLightToggle(const uint8_t unit_type)
Set the Light toggle setting of the A/C.
Definition: ir_Daikin.cpp:2823
kDaikin2SwingHMiddle
const uint8_t kDaikin2SwingHMiddle
Definition: ir_Daikin.h:305
IRremoteESP8266.h
stdAc::swingh_t
swingh_t
Common A/C settings for Horizontal Swing.
Definition: IRsend.h:100
IRDaikin2::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:888
kDaikin2HumidityHeatHigh
const uint8_t kDaikin2HumidityHeatHigh
Definition: ir_Daikin.h:318
kDaikin152Freq
const uint16_t kDaikin152Freq
Definition: ir_Daikin.h:621
IRDaikin128::send
void send(const uint16_t repeat=kDaikin128DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:2573
IRDaikin152::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:3223
kDaikin128HdrSpace
const uint16_t kDaikin128HdrSpace
Definition: ir_Daikin.h:556
kDaikinBeepOff
const uint8_t kDaikinBeepOff
Definition: ir_Daikin.h:166
Daikin128Protocol::Fan
uint8_t Fan
Definition: ir_Daikin.h:516
Daikin64Protocol::Sleep
uint8_t Sleep
Definition: ir_Daikin.h:650
Daikin2Protocol::SwingH
uint64_t SwingH
Definition: ir_Daikin.h:219
IRDaikin152::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:3107
IRDaikin152::setSensor
void setSensor(const bool on)
Set the Sensor mode of the A/C.
Definition: ir_Daikin.cpp:3263
kDaikin176HdrSpace
const uint16_t kDaikin176HdrSpace
Definition: ir_Daikin.h:488
IRDaikin176::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Daikin.cpp:2248
IRDaikin64::convertMode
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Daikin.cpp:3511
kDaikin2Sections
const uint16_t kDaikin2Sections
Definition: ir_Daikin.h:285
kDaikin160SwingVHigh
const uint8_t kDaikin160SwingVHigh
Definition: ir_Daikin.h:429
IRDaikin2::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:1202
IRDaikin216::convertMode
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Daikin.cpp:1526
IRDaikin128::calcSecondChecksum
static uint8_t calcSecondChecksum(const uint8_t state[])
Definition: ir_Daikin.cpp:2524
IRDaikinESP::setComfort
void setComfort(const bool on)
Set the Comfort mode of the A/C.
Definition: ir_Daikin.cpp:374
kDaikin128StateLength
const uint16_t kDaikin128StateLength
Definition: IRremoteESP8266.h:1202
kDaikin176DefaultRepeat
const uint16_t kDaikin176DefaultRepeat
Definition: IRremoteESP8266.h:1210
Daikin2Protocol::OffTimer
uint64_t OffTimer
Definition: ir_Daikin.h:233
IRDaikin128::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:2543
kDaikin128BitWall
const uint8_t kDaikin128BitWall
Definition: ir_Daikin.h:577
IRDaikin64::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:3539
kDaikin2BitMark
const uint16_t kDaikin2BitMark
Definition: ir_Daikin.h:282
Daikin2Protocol::Mode
uint64_t Mode
Definition: ir_Daikin.h:235
IRDaikin152::validChecksum
static bool validChecksum(uint8_t state[], const uint16_t length=kDaikin152StateLength)
Verify the checksum is valid for a given state.
Definition: ir_Daikin.cpp:3082
kDaikin200Section1Length
const uint16_t kDaikin200Section1Length
Definition: ir_Daikin.h:693
kDaikin2LeaderSpace
const uint16_t kDaikin2LeaderSpace
Definition: ir_Daikin.h:278
IRDaikin216::_
Daikin216Protocol _
Definition: ir_Daikin.h:953
IRDaikin152::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:3314
IRDaikin152::setComfort
void setComfort(const bool on)
Set the Comfort mode of the A/C.
Definition: ir_Daikin.cpp:3271
IRDaikin2::toCommonSwingV
static stdAc::swingv_t toCommonSwingV(const uint8_t setting)
Convert a native vertical swing postion to it's common equivalent.
Definition: ir_Daikin.cpp:907
IRDaikin2::setHumidity
void setHumidity(const uint8_t percent)
Set the Humidity percentage setting of the A/C.
Definition: ir_Daikin.cpp:1126
IRDaikin216::getSwingHorizontal
bool getSwingHorizontal(void) const
Get the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:1590
kDaikin160Sections
const uint16_t kDaikin160Sections
Definition: ir_Daikin.h:422
IRDaikin152::setSwingV
void setSwingV(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:3213
Daikin2Protocol::HumidOn
uint64_t HumidOn
Definition: ir_Daikin.h:240
Daikin152Protocol::Sensor
uint8_t Sensor
Definition: ir_Daikin.h:612
IRDaikinESP::getCurrentDay
uint8_t getCurrentDay(void) const
Get the current day of the week to be sent to the A/C unit.
Definition: ir_Daikin.cpp:458
kDaikin64FanAuto
const uint8_t kDaikin64FanAuto
Definition: ir_Daikin.h:674
IRDaikin2::setSwingHorizontal
void setSwingHorizontal(const uint8_t position)
Set the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:922
IRDaikinESP::getCurrentTime
uint16_t getCurrentTime(void) const
Get the clock time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:444
IRDaikin216::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:1595
kDaikin160Freq
const uint16_t kDaikin160Freq
Definition: ir_Daikin.h:415
kDaikin312Section1Length
const uint16_t kDaikin312Section1Length
Definition: ir_Daikin.h:705
IRDaikin2::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:808
kDaikin64Dry
const uint8_t kDaikin64Dry
Definition: ir_Daikin.h:670
kDaikin2SwingVBreeze
const uint8_t kDaikin2SwingVBreeze
Definition: ir_Daikin.h:295
IRDaikinESP::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:186
IRDaikin64::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:3679
IRDaikin176::IRDaikin176
IRDaikin176(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:2112
IRDaikin160::validChecksum
static bool validChecksum(uint8_t state[], const uint16_t length=kDaikin160StateLength)
Verify the checksum is valid for a given state.
Definition: ir_Daikin.cpp:1769
IRDaikin128::getSleep
bool getSleep(void) const
Get the Sleep mode of the A/C.
Definition: ir_Daikin.cpp:2715
kDaikin64FanLow
const uint8_t kDaikin64FanLow
Definition: ir_Daikin.h:675
kDaikin312SectionGap
const uint16_t kDaikin312SectionGap
Definition: ir_Daikin.h:703
IRDaikin176::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:2145
IRDaikin152::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:3119
IRDaikin216::getPowerful
bool getPowerful(void) const
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:1620
IRDaikin160::IRDaikin160
IRDaikin160(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:1758
Daikin176Protocol::Mode
uint8_t Mode
Definition: ir_Daikin.h:468
kDaikinBeepLoud
const uint8_t kDaikinBeepLoud
Definition: ir_Daikin.h:165
kDaikinFanAuto
const uint8_t kDaikinFanAuto
Definition: ir_Daikin.h:150
IRDaikin64::getClock
uint16_t getClock(void) const
Get the clock time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:3637
Daikin2Protocol::OnTime
uint64_t OnTime
Definition: ir_Daikin.h:251
kDaikin128Dry
const uint8_t kDaikin128Dry
Definition: ir_Daikin.h:564
IRDaikin216::setSwingHorizontal
void setSwingHorizontal(const bool on)
Set the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:1584
kDaikin64KnownGoodState
const uint64_t kDaikin64KnownGoodState
Definition: ir_Daikin.h:669
Daikin152Protocol::Quiet
uint8_t Quiet
Definition: ir_Daikin.h:604
IRDaikin176::validChecksum
static bool validChecksum(uint8_t state[], const uint16_t length=kDaikin176StateLength)
Verify the checksum is valid for a given state.
Definition: ir_Daikin.cpp:2123
IRDaikin64::getRaw
uint64_t getRaw(void)
Get a copy of the internal state as a valid code for this protocol.
Definition: ir_Daikin.cpp:3460
Daikin160Protocol::SwingV
uint8_t SwingV
Definition: ir_Daikin.h:398
Daikin216Protocol::Sum1
uint8_t Sum1
Definition: ir_Daikin.h:334
kDaikin216Sections
const uint16_t kDaikin216Sections
Definition: ir_Daikin.h:373
IRDaikin176::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:2274
kDaikin176Heat
const uint8_t kDaikin176Heat
Definition: ir_Daikin.h:498
IRDaikin216::convertFan
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Daikin.cpp:1568
IRDaikin128::IRDaikin128
IRDaikin128(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:2512
Daikin176Protocol::ModeButton
uint8_t ModeButton
Definition: ir_Daikin.h:464
Daikin128Protocol::ClockMins
uint8_t ClockMins
Definition: ir_Daikin.h:518
Daikin128Protocol::OnHours
uint8_t OnHours
Definition: ir_Daikin.h:522
Daikin128Protocol::Ceiling
uint8_t Ceiling
Definition: ir_Daikin.h:540
kDaikin152DryTemp
const uint8_t kDaikin152DryTemp
Definition: ir_Daikin.h:630
IRDaikinESP::setCurrentDay
void setCurrentDay(const uint8_t day_of_week)
Set the current day of the week to be sent to the A/C unit.
Definition: ir_Daikin.cpp:451
IRDaikin64::IRDaikin64
IRDaikin64(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:3417
Daikin216Protocol::Temp
uint8_t Temp
Definition: ir_Daikin.h:344
IRDaikin152::IRDaikin152
IRDaikin152(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:3063
Daikin216Protocol::Sum2
uint8_t Sum2
Definition: ir_Daikin.h:362
kDaikin160HdrMark
const uint16_t kDaikin160HdrMark
Definition: ir_Daikin.h:416
IRDaikin176::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:2117
IRDaikin216::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:1426
kDaikin64ZeroSpace
const uint16_t kDaikin64ZeroSpace
Definition: ir_Daikin.h:661
Daikin128Protocol::Sleep
uint8_t Sleep
Definition: ir_Daikin.h:533
IRDaikin128::validChecksum
static bool validChecksum(uint8_t state[])
Verify the checksum is valid for a given state.
Definition: ir_Daikin.cpp:2532
kDaikin128SectionLength
const uint16_t kDaikin128SectionLength
Definition: ir_Daikin.h:563
kDaikin176Cool
const uint8_t kDaikin176Cool
Definition: ir_Daikin.h:499
IRDaikin64::setTurbo
void setTurbo(const bool on)
Set the Turbo (Powerful) mode of the A/C.
Definition: ir_Daikin.cpp:3588
kDaikin128LeaderSpace
const uint16_t kDaikin128LeaderSpace
Definition: ir_Daikin.h:554
IRDaikin2::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:842
IRDaikinESP::setWeeklyTimerEnable
void setWeeklyTimerEnable(const bool on)
Set the enable status of the Weekly Timer.
Definition: ir_Daikin.cpp:464
IRDaikin2::_
Daikin2Protocol _
Definition: ir_Daikin.h:895
IRDaikin64::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:1211
kDaikin2LeaderMark
const uint16_t kDaikin2LeaderMark
Definition: ir_Daikin.h:277
kDaikinBeepQuiet
const uint8_t kDaikinBeepQuiet
Definition: ir_Daikin.h:164
IRDaikin128::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:2851
IRDaikin64::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:3491
Daikin128Protocol::Mode
uint8_t Mode
Definition: ir_Daikin.h:515
Daikin216Protocol::Power
uint8_t Power
Definition: ir_Daikin.h:338
kDaikin2SwingVAuto
const uint8_t kDaikin2SwingVAuto
Definition: ir_Daikin.h:298
IRDaikin160::_
Daikin160Protocol _
Definition: ir_Daikin.h:1005
IRDaikin176::setId
void setId(const uint8_t num)
Set the Unit Id of the A/C.
Definition: ir_Daikin.cpp:2330
DaikinESPProtocol
Native representation of a Daikin A/C message.
Definition: ir_Daikin.h:71
Daikin2Protocol::Sum2
uint8_t Sum2
Definition: ir_Daikin.h:272
IRDaikinESP::getOffTimerEnabled
bool getOffTimerEnabled(void) const
Get the enable status of the Off Timer.
Definition: ir_Daikin.cpp:430
IRDaikinESP::convertMode
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Daikin.cpp:478
kDaikin216Section1Length
const uint16_t kDaikin216Section1Length
Definition: ir_Daikin.h:374
IRDaikin160::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Daikin.cpp:1844
kDaikinLightBright
const uint8_t kDaikinLightBright
Definition: ir_Daikin.h:167
Daikin176Protocol::AltMode
uint8_t AltMode
Definition: ir_Daikin.h:461
IRDaikin2::getMold
bool getMold(void) const
Get the Mould (filter) mode status of the A/C.
Definition: ir_Daikin.cpp:1014
kDaikin152Gap
const uint16_t kDaikin152Gap
Definition: ir_Daikin.h:628
IRDaikin176::send
void send(const uint16_t repeat=kDaikin176DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:2182
IRDaikin2::convertSwingV
static uint8_t convertSwingV(const stdAc::swingv_t position)
Convert a stdAc::swingv_t enum into it's native setting.
Definition: ir_Daikin.cpp:889
kDaikin128Auto
const uint8_t kDaikin128Auto
Definition: ir_Daikin.h:568
kDaikin160SwingVMiddle
const uint8_t kDaikin160SwingVMiddle
Definition: ir_Daikin.h:428
IRDaikin2::getSleepTimerEnabled
bool getSleepTimerEnabled(void) const
Get the Sleep timer enabled status of the A/C.
Definition: ir_Daikin.cpp:1085
IRDaikin160::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:1887
IRDaikin128::setEcono
void setEcono(const bool on)
Set the Economy mode of the A/C.
Definition: ir_Daikin.cpp:2719
Daikin64Protocol
Native representation of a Daikin64 A/C message.
Definition: ir_Daikin.h:634
IRDaikin176::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:2294
kDaikin128Gap
const uint16_t kDaikin128Gap
Definition: ir_Daikin.h:560
kDaikin64MaxTemp
const uint8_t kDaikin64MaxTemp
Definition: ir_Daikin.h:681
Daikin2Protocol::Temp
uint64_t Temp
Definition: ir_Daikin.h:239
IRDaikinESP::getSwingHorizontal
bool getSwingHorizontal(void) const
Get the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:299
IRDaikin64::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:3487
kDaikinHeat
const uint8_t kDaikinHeat
Definition: ir_Daikin.h:143
kDaikin216OneSpace
const uint16_t kDaikin216OneSpace
Definition: ir_Daikin.h:370
IRDaikin64::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:3535
DaikinESPProtocol::Mode
uint64_t Mode
Definition: ir_Daikin.h:99
Daikin152Protocol::pad0
uint8_t pad0[5]
Definition: ir_Daikin.h:585
Daikin2Protocol::SleepTimer
uint64_t SleepTimer
Definition: ir_Daikin.h:266
kDaikin176SwingHOff
const uint8_t kDaikin176SwingHOff
Definition: ir_Daikin.h:506
IRDaikinESP::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:305
kDaikin200BitMark
const uint16_t kDaikin200BitMark
Definition: ir_Daikin.h:688
kDaikin64BitMark
const uint16_t kDaikin64BitMark
Definition: ir_Daikin.h:658
kDaikin160SwingVLowest
const uint8_t kDaikin160SwingVLowest
Definition: ir_Daikin.h:426
kDaikin216DefaultRepeat
const uint16_t kDaikin216DefaultRepeat
Definition: IRremoteESP8266.h:1216
kDaikin2SwingHLeftMax
const uint8_t kDaikin2SwingHLeftMax
Definition: ir_Daikin.h:303
IRDaikin152::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:3126
Daikin176Protocol::Id1
uint8_t Id1
Definition: ir_Daikin.h:442
kDaikinCurBit
const uint8_t kDaikinCurBit
Definition: ir_Daikin.h:170
IRDaikin160::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:970
IRDaikin2::clearSleepTimerFlag
void clearSleepTimerFlag(void)
Clear the sleep timer flag.
Definition: ir_Daikin.cpp:1074
IRDaikin176::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:2206
IRDaikin128::getOnTimerEnabled
bool getOnTimerEnabled(void) const
Get the enable status of the On Timer.
Definition: ir_Daikin.cpp:2781
Daikin128Protocol::OnTimer
uint8_t OnTimer
Definition: ir_Daikin.h:524
kDaikin176BitMark
const uint16_t kDaikin176BitMark
Definition: ir_Daikin.h:489
IRDaikin152::getComfort
bool getComfort(void) const
Get the Comfort mode of the A/C.
Definition: ir_Daikin.cpp:3284
Daikin64Protocol::OffHours
uint8_t OffHours
Definition: ir_Daikin.h:645
Daikin2Protocol::FreshAirHigh
uint64_t FreshAirHigh
Definition: ir_Daikin.h:209
kDaikin160DefaultRepeat
const uint16_t kDaikin160DefaultRepeat
Definition: IRremoteESP8266.h:1201
IRDaikin64::setPowerToggle
void setPowerToggle(const bool on)
Set the Power toggle setting of the A/C.
Definition: ir_Daikin.cpp:3471
IRDaikin176::convertMode
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Daikin.cpp:2235
IRDaikinESP::setEcono
void setEcono(const bool on)
Set the Economy mode of the A/C.
Definition: ir_Daikin.cpp:348
IRDaikin176::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:2195
DaikinESPProtocol::CurrentTime
uint64_t CurrentTime
Definition: ir_Daikin.h:86
IRDaikin2::getClean
bool getClean(void) const
Get the Auto Clean mode status of the A/C.
Definition: ir_Daikin.cpp:1022
kDaikin64ToleranceDelta
const int8_t kDaikin64ToleranceDelta
Definition: ir_Daikin.h:667
IRDaikin64::getOnTimeEnabled
bool getOnTimeEnabled(void) const
Get the enable status of the On Timer.
Definition: ir_Daikin.cpp:3647
kDaikin160SwingVAuto
const uint8_t kDaikin160SwingVAuto
Definition: ir_Daikin.h:431
kDaikinHeaderLength
const uint16_t kDaikinHeaderLength
Definition: ir_Daikin.h:154
IRDaikinESP::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:212
kDaikin64LdrMark
const uint16_t kDaikin64LdrMark
Definition: ir_Daikin.h:662
IRDaikin152::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:3181
IRrecv.h
IRDaikin64::getTurbo
bool getTurbo(void) const
Get the Turbo (Powerful) mode status of the A/C.
Definition: ir_Daikin.cpp:3584
Daikin64Protocol::OffTimer
uint8_t OffTimer
Definition: ir_Daikin.h:647
kDaikin128Cool
const uint8_t kDaikin128Cool
Definition: ir_Daikin.h:565
kDaikin176ZeroSpace
const uint16_t kDaikin176ZeroSpace
Definition: ir_Daikin.h:491
Daikin64Protocol::ClockHours
uint8_t ClockHours
Definition: ir_Daikin.h:641
kDaikin128Heat
const uint8_t kDaikin128Heat
Definition: ir_Daikin.h:567
IRDaikin2::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:738
kDaikinSection3Length
const uint8_t kDaikinSection3Length
Definition: ir_Daikin.h:158
IRDaikin152::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Daikin.cpp:3130
IRDaikinESP::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:560
kDaikin200Freq
const uint16_t kDaikin200Freq
Definition: ir_Daikin.h:685
Daikin152Protocol::Powerful
uint8_t Powerful
Definition: ir_Daikin.h:602
IRDaikin2::getEye
bool getEye(void) const
Get the Eye (Sensor) mode status of the A/C.
Definition: ir_Daikin.cpp:1054
IRDaikin152::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:3138
kDaikin160Section1Length
const uint16_t kDaikin160Section1Length
Definition: ir_Daikin.h:423
IRDaikin216::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:1490
kDaikin128Sections
const uint16_t kDaikin128Sections
Definition: ir_Daikin.h:562
kDaikin176Sections
const uint16_t kDaikin176Sections
Definition: ir_Daikin.h:493
DaikinESPProtocol::SwingV
uint64_t SwingV
Definition: ir_Daikin.h:108
kDaikin128DefaultRepeat
const uint16_t kDaikin128DefaultRepeat
Definition: IRremoteESP8266.h:1204
IRDaikin2::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:774
IRDaikin152::convertMode
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Daikin.cpp:3160
IRDaikin152
Class for handling detailed Daikin 152-bit A/C messages.
Definition: ir_Daikin.h:1140
kDaikin2HumidityDryHigh
const uint8_t kDaikin2HumidityDryHigh
Definition: ir_Daikin.h:321
IRDaikin128::getEcono
bool getEcono(void) const
Get the Economical mode of the A/C.
Definition: ir_Daikin.cpp:2726
IRDaikin2::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:789
IRDaikin128::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:2744
kDaikin128FanLow
const uint8_t kDaikin128FanLow
Definition: ir_Daikin.h:572
Daikin2Protocol::Light
uint64_t Light
Definition: ir_Daikin.h:200
kDaikinStateLength
const uint16_t kDaikinStateLength
Definition: IRremoteESP8266.h:1189
IRDaikin64::setOnTime
void setOnTime(const uint16_t mins_since_midnight)
Set the On Timer time for the A/C unit.
Definition: ir_Daikin.cpp:3655
IRDaikin160
Class for handling detailed Daikin 160-bit A/C messages.
Definition: ir_Daikin.h:959
IRDaikinESP::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:791
kDaikin216Section2Length
const uint16_t kDaikin216Section2Length
Definition: ir_Daikin.h:375
IRDaikinESP::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:251
IRDaikin216::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:1478
kDaikin64FanMed
const uint8_t kDaikin64FanMed
Definition: ir_Daikin.h:676
IRDaikinESP::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:237
IRDaikin152::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:3096
Daikin2Protocol::Humidity
uint64_t Humidity
Definition: ir_Daikin.h:242
kDaikin128FooterMark
const uint16_t kDaikin128FooterMark
Definition: ir_Daikin.h:561
kDaikin312HdrGap
const uint16_t kDaikin312HdrGap
Definition: ir_Daikin.h:702
Daikin152Protocol::Comfort
uint8_t Comfort
Definition: ir_Daikin.h:610
IRDaikin216::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:1652
IRDaikinESP::getOnTimerEnabled
bool getOnTimerEnabled(void) const
Get the enable status of the On Timer.
Definition: ir_Daikin.cpp:405
IRDaikinESP::disableOffTimer
void disableOffTimer(void)
Clear and disable the Off timer.
Definition: ir_Daikin.cpp:417
kDaikin2HumidityDryLow
const uint8_t kDaikin2HumidityDryLow
Definition: ir_Daikin.h:319
IRDaikin2::setPurify
void setPurify(const bool on)
Set the Purify (Filter) mode of the A/C.
Definition: ir_Daikin.cpp:1113
kDaikin2Gap
const uint16_t kDaikin2Gap
Definition: ir_Daikin.h:279
IRDaikin64::setSleep
void setSleep(const bool on)
Set the Sleep mode of the A/C.
Definition: ir_Daikin.cpp:3620
Daikin2Protocol::Clean
uint64_t Clean
Definition: ir_Daikin.h:207
kDaikin152LeaderBits
const uint8_t kDaikin152LeaderBits
Definition: ir_Daikin.h:622
IRDaikin128::setOnTimer
void setOnTimer(const uint16_t mins_since_midnight)
Set the On Timer time for the A/C unit.
Definition: ir_Daikin.cpp:2794
IRDaikin2::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:804
kDaikinDefaultRepeat
const uint16_t kDaikinDefaultRepeat
Definition: IRremoteESP8266.h:1193
Daikin64Protocol::OnHalfHour
uint8_t OnHalfHour
Definition: ir_Daikin.h:643
kDaikin64DefaultRepeat
const uint16_t kDaikin64DefaultRepeat
Definition: IRremoteESP8266.h:1198
IRDaikinESP::getWeeklyTimerEnable
bool getWeeklyTimerEnable(void) const
Get the enable status of the Weekly Timer.
Definition: ir_Daikin.cpp:471
IRDaikinESP::getOffTime
uint16_t getOffTime(void) const
Get the Off Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:424
kDaikin64LdrSpace
const uint16_t kDaikin64LdrSpace
Definition: ir_Daikin.h:664
kDaikin128Fan
const uint8_t kDaikin128Fan
Definition: ir_Daikin.h:566
DaikinESPProtocol::Sensor
uint8_t Sensor
Definition: ir_Daikin.h:126
kDaikin200Sections
const uint16_t kDaikin200Sections
Definition: ir_Daikin.h:692
IRDaikin176::getId
uint8_t getId(void) const
Get the Unit Id of the A/C.
Definition: ir_Daikin.cpp:2325
Daikin2Protocol::Quiet
uint64_t Quiet
Definition: ir_Daikin.h:256
Daikin2Protocol::Power
uint64_t Power
Definition: ir_Daikin.h:231
IRDaikin2::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:816
IRDaikin64::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Daikin.cpp:3571
IRDaikin160::toCommonSwingV
static stdAc::swingv_t toCommonSwingV(const uint8_t setting)
Convert a native vertical swing postion to it's common equivalent.
Definition: ir_Daikin.cpp:1960
kDaikin2HumidityHeatMedium
const uint8_t kDaikin2HumidityHeatMedium
Definition: ir_Daikin.h:317
IRDaikin160::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:1900
Daikin160Protocol::Sum1
uint8_t Sum1
Definition: ir_Daikin.h:388
IRDaikin2::getHumidity
uint8_t getHumidity(void) const
Get the Humidity percentage setting of the A/C.
Definition: ir_Daikin.cpp:1121
IRDaikin128::setOnTimerEnabled
void setOnTimerEnabled(const bool on)
Set the enable status of the On Timer.
Definition: ir_Daikin.cpp:2777
Daikin64Protocol::OnTimer
uint8_t OnTimer
Definition: ir_Daikin.h:644
IRDaikin176::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:2365
IRDaikin64::setRaw
void setRaw(const uint64_t new_state)
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:3467
IRDaikin176::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:2188
IRDaikin2::enableSleepTimer
void enableSleepTimer(const uint16_t sleeptime)
Set the enable status & time of the Sleep Timer.
Definition: ir_Daikin.cpp:1067
IRDaikin2::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:1228
IRDaikin64::validChecksum
static bool validChecksum(const uint64_t state)
Verify the checksum is valid for a given state.
Definition: ir_Daikin.cpp:3446
kDaikin2HumidityAuto
const uint8_t kDaikin2HumidityAuto
Definition: ir_Daikin.h:322
kDaikin2SwingVHigh
const uint8_t kDaikin2SwingVHigh
Definition: ir_Daikin.h:290
kDaikin160Section2Length
const uint16_t kDaikin160Section2Length
Definition: ir_Daikin.h:424
kDaikin128FanQuiet
const uint8_t kDaikin128FanQuiet
Definition: ir_Daikin.h:574
kDaikin216SwingOn
const uint8_t kDaikin216SwingOn
Definition: ir_Daikin.h:378
IRDaikinESP::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:259
Daikin128Protocol::OffTimer
uint8_t OffTimer
Definition: ir_Daikin.h:528
IRDaikinESP::enableOnTimer
void enableOnTimer(const uint16_t starttime)
Set the enable status & time of the On Timer.
Definition: ir_Daikin.cpp:386
IRDaikin152::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:1187
IRDaikinESP::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:205
IRDaikin2::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:1089
IRDaikin160::getSwingVertical
uint8_t getSwingVertical(void) const
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:1939
IRDaikin64::setSwingVertical
void setSwingVertical(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:3612
IRDaikin2::getFreshAir
bool getFreshAir(void) const
Get the Fresh Air mode status of the A/C.
Definition: ir_Daikin.cpp:1030
IRDaikin152::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:3176
IRDaikinESP::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Daikin.cpp:518
IRDaikin128::getPowerful
bool getPowerful(void) const
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:2754
kDaikin2SwingVUpperMiddle
const uint8_t kDaikin2SwingVUpperMiddle
Definition: ir_Daikin.h:291
Daikin128Protocol::OnHalfHour
uint8_t OnHalfHour
Definition: ir_Daikin.h:523
Daikin160Protocol::Mode
uint8_t Mode
Definition: ir_Daikin.h:394
IRDaikinESP::getComfort
bool getComfort(void) const
Get the Comfort mode of the A/C.
Definition: ir_Daikin.cpp:380
Daikin176Protocol::SwingH
uint8_t SwingH
Definition: ir_Daikin.h:477
Daikin2Protocol::Beep
uint64_t Beep
Definition: ir_Daikin.h:201
Daikin176Protocol::Sum2
uint8_t Sum2
Definition: ir_Daikin.h:482
IRDaikin128::calcFirstChecksum
static uint8_t calcFirstChecksum(const uint8_t state[])
Definition: ir_Daikin.cpp:2519
IRDaikin216::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:1455
kDaikin64MinTemp
const uint8_t kDaikin64MinTemp
Definition: ir_Daikin.h:680
Daikin2Protocol::Fan
uint64_t Fan
Definition: ir_Daikin.h:245
kDaikin2SwingHRight
const uint8_t kDaikin2SwingHRight
Definition: ir_Daikin.h:306
IRDaikin160::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:1874
Daikin2Protocol::Power2
uint64_t Power2
Definition: ir_Daikin.h:197
IRDaikin2::getQuiet
bool getQuiet(void) const
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:1097
IRDaikin128::setClock
void setClock(const uint16_t mins_since_midnight)
Set the clock on the A/C unit.
Definition: ir_Daikin.cpp:2760
IRDaikin160::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:1852
kDaikin64Gap
const uint16_t kDaikin64Gap
Definition: ir_Daikin.h:663
kDaikin128OneSpace
const uint16_t kDaikin128OneSpace
Definition: ir_Daikin.h:558
IRDaikin152::_
Daikin152Protocol _
Definition: ir_Daikin.h:1194
kDaikin152HdrMark
const uint16_t kDaikin152HdrMark
Definition: ir_Daikin.h:623
IRDaikin176::convertFan
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Daikin.cpp:2299
DaikinESPProtocol::Sum1
uint64_t Sum1
Definition: ir_Daikin.h:81
kDaikin2SwingHSwing
const uint8_t kDaikin2SwingHSwing
Definition: ir_Daikin.h:310
IRDaikin128::setSwingVertical
void setSwingVertical(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:2703
IRDaikinESP::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:232
IRDaikin160::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:1813
IRDaikinESP::enableOffTimer
void enableOffTimer(const uint16_t endtime)
Set the enable status & time of the Off Timer.
Definition: ir_Daikin.cpp:411
kDaikin2HumidityOff
const uint8_t kDaikin2HumidityOff
Definition: ir_Daikin.h:315
kDaikin160StateLength
const uint16_t kDaikin160StateLength
Definition: IRremoteESP8266.h:1199
kDaikin216HdrMark
const uint16_t kDaikin216HdrMark
Definition: ir_Daikin.h:367
kDaikin2HdrSpace
const uint16_t kDaikin2HdrSpace
Definition: ir_Daikin.h:281
kDaikin176ModeButton
const uint8_t kDaikin176ModeButton
Definition: ir_Daikin.h:502
kDaikinSections
const uint8_t kDaikinSections
Definition: ir_Daikin.h:155
kDaikin2StateLength
const uint16_t kDaikin2StateLength
Definition: IRremoteESP8266.h:1194
IRDaikin176::_saved_temp
uint8_t _saved_temp
The previously user requested temp value.
Definition: ir_Daikin.h:1063
Daikin216Protocol::pad1
uint8_t pad1[5]
Definition: ir_Daikin.h:336
kDaikinByteChecksum1
const uint8_t kDaikinByteChecksum1
Definition: ir_Daikin.h:160
IRDaikin2::setEye
void setEye(const bool on)
Set the Eye (Sensor) mode of the A/C.
Definition: ir_Daikin.cpp:1050
Daikin152Protocol::pad2
uint8_t pad2[2]
Definition: ir_Daikin.h:607
IRDaikin152::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:3114
kDaikin64FanHigh
const uint8_t kDaikin64FanHigh
Definition: ir_Daikin.h:677
IRDaikin160::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:1791
IRDaikin160::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:998
IRDaikin152::send
void send(const uint16_t repeat=kDaikin152DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:3073
kDaikin64ChecksumSize
const uint8_t kDaikin64ChecksumSize
Definition: ir_Daikin.h:683
IRDaikin128::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:2517
IRDaikinESP::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:224
kDaikinFanMed
const uint8_t kDaikinFanMed
Definition: ir_Daikin.h:148
kDaikin312StateLength
const uint16_t kDaikin312StateLength
Definition: IRremoteESP8266.h:1217
IRDaikin2::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:732
kDaikin64HdrSpace
const uint16_t kDaikin64HdrSpace
Definition: ir_Daikin.h:659
IRDaikin128::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:2549
kDaikin2SwingVLowest
const uint8_t kDaikin2SwingVLowest
Definition: ir_Daikin.h:294
IRDaikin216::send
void send(const uint16_t repeat=kDaikin216DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:1431
IRDaikinESP::setRaw
void setRaw(const uint8_t new_code[], const uint16_t length=kDaikinStateLength)
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:194
Daikin128Protocol
Native representation of a Daikin128 A/C message.
Definition: ir_Daikin.h:509
IRDaikin216::setSwingVertical
void setSwingVertical(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:1574
kDaikinSwingOff
const uint8_t kDaikinSwingOff
Definition: ir_Daikin.h:153
IRDaikin64::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:3495
DaikinESPProtocol::SwingH
uint64_t SwingH
Definition: ir_Daikin.h:111
kMarkExcess
const uint16_t kMarkExcess
Definition: IRrecv.h:24
kDaikin216SwingOff
const uint8_t kDaikin216SwingOff
Definition: ir_Daikin.h:379
Daikin2Protocol::EyeAuto
uint64_t EyeAuto
Definition: ir_Daikin.h:215
kDaikinAuto
const uint8_t kDaikinAuto
Definition: ir_Daikin.h:140
IRDaikin64::convertFan
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Daikin.cpp:3557
kDaikin216BitMark
const uint16_t kDaikin216BitMark
Definition: ir_Daikin.h:369
IRDaikin176::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:2392
kDaikinCool
const uint8_t kDaikinCool
Definition: ir_Daikin.h:142
IRDaikin128::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:1080
DaikinESPProtocol::OffTime
uint64_t OffTime
Definition: ir_Daikin.h:115
Daikin128Protocol::Temp
uint8_t Temp
Definition: ir_Daikin.h:530
Daikin64Protocol::ClockMins
uint8_t ClockMins
Definition: ir_Daikin.h:640
kDaikin160ZeroSpace
const uint16_t kDaikin160ZeroSpace
Definition: ir_Daikin.h:420
kDaikin2SwingVOff
const uint8_t kDaikin2SwingVOff
Definition: ir_Daikin.h:297
kDaikinFirstHeader64
const uint64_t kDaikinFirstHeader64
Definition: ir_Daikin.h:181
kDaikin312BitMark
const uint16_t kDaikin312BitMark
Definition: ir_Daikin.h:699
Daikin128Protocol::Econo
uint8_t Econo
Definition: ir_Daikin.h:542
kDaikin216Gap
const uint16_t kDaikin216Gap
Definition: ir_Daikin.h:372
IRDaikin64::_
Daikin64Protocol _
Definition: ir_Daikin.h:1259
Daikin216Protocol::Mode
uint8_t Mode
Definition: ir_Daikin.h:340
IRDaikin2::setBeep
void setBeep(const uint8_t beep)
Set the Beep mode of the A/C.
Definition: ir_Daikin.cpp:998
IRDaikin64::getQuiet
bool getQuiet(void) const
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:3598
kDaikinFanQuiet
const uint8_t kDaikinFanQuiet
Definition: ir_Daikin.h:151
DaikinESPProtocol::CurrentDay
uint64_t CurrentDay
Definition: ir_Daikin.h:87
IRDaikin152::getSensor
bool getSensor(void) const
Get the Sensor mode of the A/C.
Definition: ir_Daikin.cpp:3267
IRDaikin2::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:786
kDaikinMarkExcess
const uint16_t kDaikinMarkExcess
Definition: ir_Daikin.h:173
IRDaikin128::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Daikin.cpp:2626
Daikin160Protocol::Temp
uint8_t Temp
Definition: ir_Daikin.h:403
kDaikinTolerance
const uint8_t kDaikinTolerance
Definition: ir_Daikin.h:172
DaikinESPProtocol::OffTimer
uint64_t OffTimer
Definition: ir_Daikin.h:97
kDaikin2SwingVLow
const uint8_t kDaikin2SwingVLow
Definition: ir_Daikin.h:293
IRDaikin216::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:1624
IRDaikin2::getLight
uint8_t getLight(void) const
Get the Light status of the A/C.
Definition: ir_Daikin.cpp:1002
IRDaikinESP::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Daikin.cpp:505
IRDaikin2::setClean
void setClean(const bool on)
Set the Auto clean mode of the A/C.
Definition: ir_Daikin.cpp:1018
kDaikin216HdrSpace
const uint16_t kDaikin216HdrSpace
Definition: ir_Daikin.h:368
kDaikinSection2Length
const uint8_t kDaikinSection2Length
Definition: ir_Daikin.h:157
DaikinESPProtocol::Sum2
uint64_t Sum2
Definition: ir_Daikin.h:90
kDaikin176OneSpace
const uint16_t kDaikin176OneSpace
Definition: ir_Daikin.h:490
IRDaikin2::getEcono
bool getEcono(void) const
Get the Economical mode of the A/C.
Definition: ir_Daikin.cpp:1062
IRDaikin176::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:1055
Daikin152Protocol::raw
uint8_t raw[kDaikin152StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:582
Daikin152Protocol::Fan
uint8_t Fan
Definition: ir_Daikin.h:598
Daikin2Protocol::Purify
uint64_t Purify
Definition: ir_Daikin.h:265
kDaikinHdrMark
const uint16_t kDaikinHdrMark
Definition: ir_Daikin.h:174
Daikin152Protocol::SwingV
uint8_t SwingV
Definition: ir_Daikin.h:597
kDaikinLightOff
const uint8_t kDaikinLightOff
Definition: ir_Daikin.h:169
IRDaikin2::setEcono
void setEcono(const bool on)
Set the Economy mode of the A/C.
Definition: ir_Daikin.cpp:1058
kDaikin200Section2Length
const uint16_t kDaikin200Section2Length
Definition: ir_Daikin.h:694
IRDaikin160::convertSwingV
static uint8_t convertSwingV(const stdAc::swingv_t position)
Convert a stdAc::swingv_t enum into it's native setting.
Definition: ir_Daikin.cpp:1944
Daikin2Protocol::Eye
uint64_t Eye
Definition: ir_Daikin.h:262
IRDaikin64::getOnTime
uint16_t getOnTime(void) const
Get the On Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:3651
kDaikin2Tolerance
const uint8_t kDaikin2Tolerance
Definition: ir_Daikin.h:288
kDaikin160SwingVLow
const uint8_t kDaikin160SwingVLow
Definition: ir_Daikin.h:427
IRDaikin128::getQuiet
bool getQuiet(void) const
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:2740
Daikin64Protocol::Power
uint8_t Power
Definition: ir_Daikin.h:652
kDaikin176DryFanTemp
const uint8_t kDaikin176DryFanTemp
Definition: ir_Daikin.h:503
IRDaikinESP::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:265
IRDaikin2::getBeep
uint8_t getBeep(void) const
Get the Beep status of the A/C.
Definition: ir_Daikin.cpp:994
IRDaikin128::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Daikin.cpp:2690
DaikinESPProtocol::Powerful
uint64_t Powerful
Definition: ir_Daikin.h:117
kDaikin2OneSpace
const uint16_t kDaikin2OneSpace
Definition: ir_Daikin.h:283
kDaikin2SwingHWide
const uint8_t kDaikin2SwingHWide
Definition: ir_Daikin.h:302
IRDaikinESP::_
DaikinESPProtocol _
Definition: ir_Daikin.h:798
IRDaikin64::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:3422
IRDaikin64::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Daikin.cpp:3523
kDaikin312Sections
const uint16_t kDaikin312Sections
Definition: ir_Daikin.h:704
Daikin160Protocol::pad2
uint8_t pad2[2]
Definition: ir_Daikin.h:400
kDaikin128HdrMark
const uint16_t kDaikin128HdrMark
Definition: ir_Daikin.h:555
Daikin216Protocol::raw
uint8_t raw[kDaikin216StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:329
IRDaikin64::getSleep
bool getSleep(void) const
Get the Sleep mode of the A/C.
Definition: ir_Daikin.cpp:3624
stdAc::state_t
Structure to hold a common A/C state.
Definition: IRsend.h:114
IRDaikinESP::getQuiet
bool getQuiet(void) const
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:313
IRDaikin128::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:2566
IRDaikin64::send
void send(const uint16_t repeat=kDaikin64DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:3427
IRDaikin176::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:2167
IRDaikin216::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:1545
DaikinESPProtocol::Sum3
uint8_t Sum3
Definition: ir_Daikin.h:135
IRDaikin2::disableSleepTimer
void disableSleepTimer(void)
Disable the sleep timer.
Definition: ir_Daikin.cpp:1077
IRDaikin160::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:1820
Daikin176Protocol::Fan
uint8_t Fan
Definition: ir_Daikin.h:478
IRDaikin2::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Daikin.cpp:800
IRDaikin128::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:2653
IRDaikinESP::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:158
kDaikin128MaxTemp
const uint8_t kDaikin128MaxTemp
Definition: ir_Daikin.h:576
DaikinESPProtocol::Quiet
uint64_t Quiet
Definition: ir_Daikin.h:119
IRDaikin160::send
void send(const uint16_t repeat=kDaikin160DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:1827
kDaikinMaxTemp
const uint8_t kDaikinMaxTemp
Definition: ir_Daikin.h:146
IRDaikin176
Class for handling detailed Daikin 176-bit A/C messages.
Definition: ir_Daikin.h:1011
kDaikin128FanHigh
const uint8_t kDaikin128FanHigh
Definition: ir_Daikin.h:570
IRDaikin216::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Daikin.cpp:1501
kDaikin128FanAuto
const uint8_t kDaikin128FanAuto
Definition: ir_Daikin.h:569
IRDaikin216::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:946
IRDaikin2::convertMode
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Daikin.cpp:1157
Daikin2Protocol::CurrentTime
uint64_t CurrentTime
Definition: ir_Daikin.h:195
IRDaikinESP::getSwingVertical
bool getSwingVertical(void) const
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:287
kDaikin176Section1Length
const uint16_t kDaikin176Section1Length
Definition: ir_Daikin.h:494
Daikin64Protocol::raw
uint64_t raw
The state of the IR remote.
Definition: ir_Daikin.h:635
kDaikin2Freq
const uint16_t kDaikin2Freq
Definition: ir_Daikin.h:276
kDaikin128BitMark
const uint16_t kDaikin128BitMark
Definition: ir_Daikin.h:557
kDaikinMinTemp
const uint8_t kDaikinMinTemp
Definition: ir_Daikin.h:145
IRDaikin216::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:1532
IRDaikinESP::disableOnTimer
void disableOnTimer(void)
Clear and disable the On timer.
Definition: ir_Daikin.cpp:392
IRDaikin216::IRDaikin216
IRDaikin216(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class Constructor.
Definition: ir_Daikin.cpp:1421
DaikinESPProtocol::Temp
uint64_t Temp
Definition: ir_Daikin.h:103
IRDaikin2::getEyeAuto
bool getEyeAuto(void) const
Get the Automaitc Eye (Sensor) mode status of the A/C.
Definition: ir_Daikin.cpp:1046
IRDaikin2::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:825
kDaikinFanMin
const uint8_t kDaikinFanMin
Definition: ir_Daikin.h:147
IRDaikin152::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:3068
kDaikin128LeaderMark
const uint16_t kDaikin128LeaderMark
Definition: ir_Daikin.h:553
IRDaikin128::setSleep
void setSleep(const bool on)
Set the Sleep mode of the A/C.
Definition: ir_Daikin.cpp:2711
IRDaikinESP::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:532
kDaikin2SwingVCirculate
const uint8_t kDaikin2SwingVCirculate
Definition: ir_Daikin.h:296
Daikin128Protocol::ClockHours
uint8_t ClockHours
Definition: ir_Daikin.h:520
Daikin176Protocol::pad2
uint8_t pad2[2]
Definition: ir_Daikin.h:471
kDaikin2SwingHAuto
const uint8_t kDaikin2SwingHAuto
Definition: ir_Daikin.h:308
kDaikinLightDim
const uint8_t kDaikinLightDim
Definition: ir_Daikin.h:168
kDaikin176Fan
const uint8_t kDaikin176Fan
Definition: ir_Daikin.h:497
kDaikin200Gap
const uint16_t kDaikin200Gap
Definition: ir_Daikin.h:691
stdAc::opmode_t
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:49
Daikin152Protocol
Native representation of a Daikin152 A/C message.
Definition: ir_Daikin.h:581