IRremoteESP8266: src/ir_Daikin.h Source File

IRremoteESP8266

ir_Daikin.h
Go to the documentation of this file.
1 // Copyright 2016 sillyfrog
2 // Copyright 2017 sillyfrog, crankyoldgit
3 // Copyright 2018-2020 crankyoldgit
4 // Copyright 2019 pasna (IRDaikin160 class / Daikin176 class)
5
23
24 // Supports:
25 // Brand: Daikin, Model: ARC433** remote (DAIKIN)
26 // Brand: Daikin, Model: ARC477A1 remote (DAIKIN2)
27 // Brand: Daikin, Model: FTXZ25NV1B A/C (DAIKIN2)
28 // Brand: Daikin, Model: FTXZ35NV1B A/C (DAIKIN2)
29 // Brand: Daikin, Model: FTXZ50NV1B A/C (DAIKIN2)
30 // Brand: Daikin, Model: ARC433B69 remote (DAIKIN216)
31 // Brand: Daikin, Model: ARC423A5 remote (DAIKIN160)
32 // Brand: Daikin, Model: FTE12HV2S A/C
33 // Brand: Daikin, Model: BRC4C153 remote (DAIKIN176)
34 // Brand: Daikin, Model: FFQ35B8V1B A/C (DAIKIN176)
35 // Brand: Daikin, Model: BRC4C151 remote (DAIKIN176)
36 // Brand: Daikin, Model: 17 Series A/C (DAIKIN128)
37 // Brand: Daikin, Model: FTXB12AXVJU A/C (DAIKIN128)
38 // Brand: Daikin, Model: FTXB09AXVJU A/C (DAIKIN128)
39 // Brand: Daikin, Model: BRC52B63 remote (DAIKIN128)
40 // Brand: Daikin, Model: ARC480A5 remote (DAIKIN152)
41 // Brand: Daikin, Model: FFN-C/FCN-F Series A/C (DAIKIN64)
42 // Brand: Daikin, Model: DGS01 remote (DAIKIN64)
43 // Brand: Daikin, Model: M Series A/C (DAIKIN)
44 // Brand: Daikin, Model: FTXM-M A/C (DAIKIN)
45 // Brand: Daikin, Model: ARC466A33 remote (DAIKIN)
46
47 #ifndef IR_DAIKIN_H_
48 #define IR_DAIKIN_H_
49
50 #ifndef UNIT_TEST
51 #include <Arduino.h>
52 #endif
53 #include "IRrecv.h"
54 #include "IRremoteESP8266.h"
55 #include "IRsend.h"
56 #ifdef UNIT_TEST
57 #include "IRsend_test.h"
58 #endif
59
61 union DaikinESPProtocol{
62 uint8_t raw[kDaikinStateLength];
63 struct {
64 // Byte 0~5
65 uint64_t :48;
66 // Byte 6
67 uint64_t :4;
68 uint64_t Comfort :1;
69 uint64_t :3;
70 // Byte 7
71 uint64_t Sum1 :8; // checksum of the first part
72
73 // Byte 8~12
74 uint64_t :40;
75 // Byte 13~14
76 uint64_t CurrentTime :11; // Current time, mins past midnight
77 uint64_t CurrentDay :3; // Day of the week (SUN=1, MON=2, ..., SAT=7)
78 uint64_t :2;
79 // Byte 15
80 uint64_t Sum2 :8; // checksum of the second part
81
82 // Byte 16~20
83 uint64_t :40;
84 // Byte 21
85 uint64_t Power :1;
86 uint64_t OnTimer :1;
87 uint64_t OffTimer :1;
88 uint64_t :1; // always 1
89 uint64_t Mode :3;
90 uint64_t :1;
91 // Byte 22
92 uint64_t :1;
93 uint64_t Temp :7; // Temp should be between 10 - 32
94 // Byte 23
95 uint64_t :8;
96
97 // Byte 24
98 uint64_t SwingV :4; // 0000 = off, 1111 = on
99 uint64_t Fan :4;
100 // Byte 25
101 uint64_t SwingH :4; // 0000 = off, 1111 = on
102 uint64_t :4;
103 // Byte 26~28
104 uint64_t OnTime :12; // timer mins past midnight
105 uint64_t OffTime :12; // timer mins past midnight
106 // Byte 29
107 uint64_t Powerful :1;
108 uint64_t :4;
109 uint64_t Quiet :1;
110 uint64_t :2;
111 // Byte 30~31
112 uint64_t :0;
113
114 // Byte 32
115 uint8_t :1;
116 uint8_t Sensor :1;
117 uint8_t Econo :1;
118 uint8_t :4;
119 uint8_t WeeklyTimer :1;
120 // Byte 33
121 uint8_t :1;
122 uint8_t Mold :1;
123 uint8_t :6;
124 // Byte 34
125 uint8_t Sum3 :8; // checksum of the third part
126 };
127 };
128
129 // Constants
130 const uint8_t kDaikinAuto = 0b000; // temp 25
131 const uint8_t kDaikinDry = 0b010; // temp 0xc0 = 96 degrees c
132 const uint8_t kDaikinCool = 0b011;
133 const uint8_t kDaikinHeat = 0b100; // temp 23
134 const uint8_t kDaikinFan = 0b110; // temp not shown, but 25
135 const uint8_t kDaikinMinTemp = 10; // Celsius
136 const uint8_t kDaikinMaxTemp = 32; // Celsius
137 const uint8_t kDaikinFanMin = 1;
138 const uint8_t kDaikinFanMed = 3;
139 const uint8_t kDaikinFanMax = 5;
140 const uint8_t kDaikinFanAuto = 0b1010; // 10 / 0xA
141 const uint8_t kDaikinFanQuiet = 0b1011; // 11 / 0xB
142 const uint8_t kDaikinSwingOn = 0b1111;
143 const uint8_t kDaikinSwingOff = 0b0000;
144 const uint16_t kDaikinHeaderLength = 5;
145 const uint8_t kDaikinSections = 3;
146 const uint8_t kDaikinSection1Length = 8;
147 const uint8_t kDaikinSection2Length = 8;
148 const uint8_t kDaikinSection3Length =
149 kDaikinStateLength - kDaikinSection1Length - kDaikinSection2Length;
150 const uint8_t kDaikinByteChecksum1 = 7;
151 const uint8_t kDaikinByteChecksum2 = 15;
152 // const uint8_t kDaikinBitEye = 0b10000000;
153 const uint16_t kDaikinUnusedTime = 0x600;
154 const uint8_t kDaikinBeepQuiet = 1;
155 const uint8_t kDaikinBeepLoud = 2;
156 const uint8_t kDaikinBeepOff = 3;
157 const uint8_t kDaikinLightBright = 1;
158 const uint8_t kDaikinLightDim = 2;
159 const uint8_t kDaikinLightOff = 3;
160 const uint8_t kDaikinCurBit = kDaikinStateLength;
161 const uint8_t kDaikinCurIndex = kDaikinStateLength + 1;
162 const uint8_t kDaikinTolerance = 35;
163 const uint16_t kDaikinMarkExcess = kMarkExcess;
164 const uint16_t kDaikinHdrMark = 3650; // kDaikinBitMark * 8
165 const uint16_t kDaikinHdrSpace = 1623; // kDaikinBitMark * 4
166 const uint16_t kDaikinBitMark = 428;
167 const uint16_t kDaikinZeroSpace = 428;
168 const uint16_t kDaikinOneSpace = 1280;
169 const uint16_t kDaikinGap = 29000;
170 // Note bits in each octet swapped so can be sent as a single value
171 const uint64_t kDaikinFirstHeader64 =
172 0b1101011100000000000000001100010100000000001001111101101000010001;
173
175 union Daikin2Protocol{
176 struct{
177 uint8_t pad[3];
178 uint8_t raw[kDaikin2StateLength];
179 };
180 struct {
181 // Byte -3~4
182 uint64_t :64;
183
184 // Byte 5~6
185 uint64_t CurrentTime :12;
186 uint64_t :3;
187 uint64_t Power2 :1;
188 // Byte 7
189 uint64_t :4;
190 uint64_t Light :2;
191 uint64_t Beep :2;
192 // Byte 8
193 uint64_t FreshAir :1;
194 uint64_t :2;
195 uint64_t Mold :1;
196 uint64_t :1;
197 uint64_t Clean :1;
198 uint64_t :1;
199 uint64_t FreshAirHigh :1;
200 // Byte 9~12
201 uint64_t :32;
202
203 // Byte 13
204 uint64_t :7;
205 uint64_t EyeAuto :1;
206 // Byte 14~16
207 uint64_t :24;
208 // Byte 17
209 uint64_t SwingH :8;
210 // Byte 18
211 uint64_t SwingV :4;
212 uint64_t :4;
213 // Byte 19
214 uint64_t Sum1 :8;
215 // Byte 20
216 uint64_t :8;
217
218 // Byte 21~24
219 uint64_t :32;
220 // Byte 25
221 uint64_t Power :1;
222 uint64_t OnTimer :1;
223 uint64_t OffTimer :1;
224 uint64_t :1;
225 uint64_t Mode :3;
226 uint64_t :1;
227 // Byte 26
228 uint64_t :1;
229 uint64_t Temp :7;
230 // Byte 27
231 uint64_t :8;
232 // Byte 28
233 uint64_t :4;
234 uint64_t Fan :4;
235
236 // Byte 29
237 uint64_t :8;
238 // Byte 30~32
240 uint64_t OnTime :12;
241 uint64_t OffTime :12;
242 // Byte 33
243 uint64_t Powerful :1;
244 uint64_t :4;
245 uint64_t Quiet :1;
246 uint64_t :2;
247 // Byte 34~35
248 uint64_t :16;
249 // Byte 36
250 uint64_t :1;
251 uint64_t Eye :1;
252 uint64_t Econo :1;
253 uint64_t :1;
254 uint64_t Purify :1;
255 uint64_t SleepTimer :1;
256 uint64_t :2;
257
258 // Byte 37
259 uint8_t :8;
260 // Byte 38
261 uint8_t Sum2 :8;
262 };
263 };
264
265 const uint16_t kDaikin2Freq = 36700; // Modulation Frequency in Hz.
266 const uint16_t kDaikin2LeaderMark = 10024;
267 const uint16_t kDaikin2LeaderSpace = 25180;
268 const uint16_t kDaikin2Gap = kDaikin2LeaderMark + kDaikin2LeaderSpace;
269 const uint16_t kDaikin2HdrMark = 3500;
270 const uint16_t kDaikin2HdrSpace = 1728;
271 const uint16_t kDaikin2BitMark = 460;
272 const uint16_t kDaikin2OneSpace = 1270;
273 const uint16_t kDaikin2ZeroSpace = 420;
274 const uint16_t kDaikin2Sections = 2;
275 const uint16_t kDaikin2Section1Length = 20;
276 const uint16_t kDaikin2Section2Length = 19;
277 const uint8_t kDaikin2Tolerance = 5; // Extra percentage tolerance
278 const uint8_t kDaikin2SwingVHighest = 0x1;
279 const uint8_t kDaikin2SwingVHigh = 0x2;
280 const uint8_t kDaikin2SwingVUpperMiddle = 0x3;
281 const uint8_t kDaikin2SwingVLowerMiddle = 0x4;
282 const uint8_t kDaikin2SwingVLow = 0x5;
283 const uint8_t kDaikin2SwingVLowest = 0x6;
284 const uint8_t kDaikin2SwingVBreeze = 0xC;
285 const uint8_t kDaikin2SwingVCirculate = 0xD;
286 const uint8_t kDaikin2SwingVOff = 0xE;
287 const uint8_t kDaikin2SwingVAuto = 0xF; // A.k.a "Swing"
288 const uint8_t kDaikin2SwingVSwing = kDaikin2SwingVAuto;
289
290
291 const uint8_t kDaikin2SwingHWide = 0xA3;
292 const uint8_t kDaikin2SwingHLeftMax = 0xA8;
293 const uint8_t kDaikin2SwingHLeft = 0xA9;
294 const uint8_t kDaikin2SwingHMiddle = 0xAA;
295 const uint8_t kDaikin2SwingHRight = 0xAB;
296 const uint8_t kDaikin2SwingHRightMax = 0xAC;
297 const uint8_t kDaikin2SwingHAuto = 0xBE; // A.k.a "Swing"
298 const uint8_t kDaikin2SwingHOff = 0xBF;
299 const uint8_t kDaikin2SwingHSwing = kDaikin2SwingHAuto;
300
301 const uint8_t kDaikin2MinCoolTemp = 18; // Min temp (in C) when in Cool mode.
302
304 union Daikin216Protocol{
305 uint8_t raw[kDaikin216StateLength];
306 struct {
307 // Byte 0~6
308 uint8_t pad0[7];
309 // Byte 7
310 uint8_t Sum1 :8;
311 // Byte 8~12
312 uint8_t pad1[5];
313 // Byte 13
314 uint8_t Power :1;
315 uint8_t :3;
316 uint8_t Mode :3;
317 uint8_t :1;
318 // Byte 14
319 uint8_t :1;
320 uint8_t Temp :6;
321 uint8_t :1;
322 // Byte 15
323 uint8_t :8;
324 // Byte 16
325 uint8_t SwingV :4;
326 uint8_t Fan :4;
327 // Byte 17
328 uint8_t SwingH :4;
329 uint8_t :4;
330 // Byte 18~20
331 uint8_t pad2[3];
332 // Byte 21
333 uint8_t Powerful :1;
334 uint8_t :0;
335 // Byte 22~25
336 uint8_t pad3[4];
337 // Byte 26
338 uint8_t Sum2 :8;
339 };
340 };
341
342 const uint16_t kDaikin216Freq = 38000; // Modulation Frequency in Hz.
343 const uint16_t kDaikin216HdrMark = 3440;
344 const uint16_t kDaikin216HdrSpace = 1750;
345 const uint16_t kDaikin216BitMark = 420;
346 const uint16_t kDaikin216OneSpace = 1300;
347 const uint16_t kDaikin216ZeroSpace = 450;
348 const uint16_t kDaikin216Gap = 29650;
349 const uint16_t kDaikin216Sections = 2;
350 const uint16_t kDaikin216Section1Length = 8;
351 const uint16_t kDaikin216Section2Length = kDaikin216StateLength -
352 kDaikin216Section1Length;
353
354 const uint8_t kDaikin216SwingOn = 0b1111;
355 const uint8_t kDaikin216SwingOff = 0b0000;
356
358 union Daikin160Protocol{
359 uint8_t raw[kDaikin160StateLength];
360 struct {
361 // Byte 0~5
362 uint8_t pad0[6];
363 // Byte 6
364 uint8_t Sum1 :8;
365 // Byte 7~11
366 uint8_t pad1[5];
367 // Byte 12
368 uint8_t Power :1;
369 uint8_t :3;
370 uint8_t Mode :3;
371 uint8_t :1;
372 // Byte 13
373 uint8_t :4;
374 uint8_t SwingV :4;
375 // Byte 14~15
376 uint8_t pad2[2];
377 // Byte 16
378 uint8_t :1;
379 uint8_t Temp :6;
380 uint8_t :1;
381 // Byte 17
382 uint8_t Fan :4;
383 uint8_t :4;
384 // Byte 18
385 uint8_t :8;
386 // Byte 19
387 uint8_t Sum2 :8;
388 };
389 };
390
391 const uint16_t kDaikin160Freq = 38000; // Modulation Frequency in Hz.
392 const uint16_t kDaikin160HdrMark = 5000;
393 const uint16_t kDaikin160HdrSpace = 2145;
394 const uint16_t kDaikin160BitMark = 342;
395 const uint16_t kDaikin160OneSpace = 1786;
396 const uint16_t kDaikin160ZeroSpace = 700;
397 const uint16_t kDaikin160Gap = 29650;
398 const uint16_t kDaikin160Sections = 2;
399 const uint16_t kDaikin160Section1Length = 7;
400 const uint16_t kDaikin160Section2Length = kDaikin160StateLength -
401 kDaikin160Section1Length;
402 const uint8_t kDaikin160SwingVLowest = 0x1;
403 const uint8_t kDaikin160SwingVLow = 0x2;
404 const uint8_t kDaikin160SwingVMiddle = 0x3;
405 const uint8_t kDaikin160SwingVHigh = 0x4;
406 const uint8_t kDaikin160SwingVHighest = 0x5;
407 const uint8_t kDaikin160SwingVAuto = 0xF;
408
410 union Daikin176Protocol{
411 uint8_t raw[kDaikin176StateLength];
412 struct {
413 // Byte 0~5
414 uint8_t pad0[6];
415 // Byte 6
416 uint8_t Sum1 :8;
417 // Byte 7~11
418 uint8_t pad1[5];
419 // Byte 12
420 uint8_t :4;
421 uint8_t AltMode :3;
422 uint8_t :1;
423 // Byte 13
424 uint8_t ModeButton :8;
425 // Byte 14
426 uint8_t Power :1;
427 uint8_t :3;
428 uint8_t Mode :3;
429 uint8_t :1;
430 // Byte 15~16
431 uint8_t pad2[2];
432 // Byte 17
433 uint8_t :1;
434 uint8_t Temp :6;
435 uint8_t :1;
436 // Byte 18
437 uint8_t SwingH :4;
438 uint8_t Fan :4;
439 // Byte 19~20
440 uint8_t pad3[2];
441 // Byte 21
442 uint8_t Sum2 :8;
443 };
444 };
445
446 const uint16_t kDaikin176Freq = 38000; // Modulation Frequency in Hz.
447 const uint16_t kDaikin176HdrMark = 5070;
448 const uint16_t kDaikin176HdrSpace = 2140;
449 const uint16_t kDaikin176BitMark = 370;
450 const uint16_t kDaikin176OneSpace = 1780;
451 const uint16_t kDaikin176ZeroSpace = 710;
452 const uint16_t kDaikin176Gap = 29410;
453 const uint16_t kDaikin176Sections = 2;
454 const uint16_t kDaikin176Section1Length = 7;
455 const uint16_t kDaikin176Section2Length = kDaikin176StateLength -
456 kDaikin176Section1Length;
457 const uint8_t kDaikin176Fan = 0b000; // 0
458 const uint8_t kDaikin176Heat = 0b001; // 1
459 const uint8_t kDaikin176Cool = 0b010; // 2
460 const uint8_t kDaikin176Auto = 0b011; // 3
461 const uint8_t kDaikin176Dry = 0b111; // 7
462 const uint8_t kDaikin176ModeButton = 0b00000100;
463 const uint8_t kDaikin176DryFanTemp = 17; // Dry/Fan mode is always 17 Celsius.
464 const uint8_t kDaikin176FanMax = 3;
465 const uint8_t kDaikin176SwingHAuto = 0x5;
466 const uint8_t kDaikin176SwingHOff = 0x6;
467
469 union Daikin128Protocol{
470 uint8_t raw[kDaikin128StateLength];
471 struct {
472 // Byte 0
473 uint8_t :8;
474 // Byte 1
475 uint8_t Mode :4;
476 uint8_t Fan :4;
477 // Byte 2
478 uint8_t ClockMins :8;
479 // Byte 3
480 uint8_t ClockHours :8;
481 // Byte 4
482 uint8_t OnHours :6;
483 uint8_t OnHalfHour :1;
484 uint8_t OnTimer :1;
485 // Byte 5
486 uint8_t OffHours :6;
487 uint8_t OffHalfHour :1;
488 uint8_t OffTimer :1;
489 // Byte 6
490 uint8_t Temp :8;
491 // Byte 7
492 uint8_t SwingV :1;
493 uint8_t Sleep :1;
494 uint8_t :1; // always 1
495 uint8_t Power :1;
496 uint8_t Sum1 :4;
497 // Byte 8
498 uint8_t :8;
499 // Byte 9
500 uint8_t Ceiling :1;
501 uint8_t :1;
502 uint8_t Econo :1;
503 uint8_t Wall :1;
504 uint8_t :4;
505 // Byte 10~14
506 uint8_t pad[5];
507 // Byte 15
508 uint8_t Sum2 :8;
509 };
510 };
511
512 const uint16_t kDaikin128Freq = 38000; // Modulation Frequency in Hz.
513 const uint16_t kDaikin128LeaderMark = 9800;
514 const uint16_t kDaikin128LeaderSpace = 9800;
515 const uint16_t kDaikin128HdrMark = 4600;
516 const uint16_t kDaikin128HdrSpace = 2500;
517 const uint16_t kDaikin128BitMark = 350;
518 const uint16_t kDaikin128OneSpace = 954;
519 const uint16_t kDaikin128ZeroSpace = 382;
520 const uint16_t kDaikin128Gap = 20300;
521 const uint16_t kDaikin128FooterMark = kDaikin128HdrMark;
522 const uint16_t kDaikin128Sections = 2;
523 const uint16_t kDaikin128SectionLength = 8;
524 const uint8_t kDaikin128Dry = 0b00000001;
525 const uint8_t kDaikin128Cool = 0b00000010;
526 const uint8_t kDaikin128Fan = 0b00000100;
527 const uint8_t kDaikin128Heat = 0b00001000;
528 const uint8_t kDaikin128Auto = 0b00001010;
529 const uint8_t kDaikin128FanAuto = 0b0001;
530 const uint8_t kDaikin128FanHigh = 0b0010;
531 const uint8_t kDaikin128FanMed = 0b0100;
532 const uint8_t kDaikin128FanLow = 0b1000;
533 const uint8_t kDaikin128FanPowerful = 0b0011;
534 const uint8_t kDaikin128FanQuiet = 0b1001;
535 const uint8_t kDaikin128MinTemp = 16; // C
536 const uint8_t kDaikin128MaxTemp = 30; // C
537 const uint8_t kDaikin128BitWall = 0b00001000;
538 const uint8_t kDaikin128BitCeiling = 0b00000001;
539
541 union Daikin152Protocol{
542 uint8_t raw[kDaikin152StateLength];
543 struct {
544 // Byte 0~4
545 uint8_t pad0[5];
546 // Byte 5
547 uint8_t Power :1;
548 uint8_t :3;
549 uint8_t Mode :3;
550 uint8_t :1;
551 // Byte 6
552 uint8_t :1;
553 uint8_t Temp :7;
554 // Byte 7
555 uint8_t :8;
556 // Byte 8
557 uint8_t SwingV :4;
558 uint8_t Fan :4;
559 // Byte 9~12
560 uint8_t pad1[4];
561 // Byte 13
562 uint8_t Powerful :1;
563 uint8_t :4;
564 uint8_t Quiet :1;
565 uint8_t :2;
566 // Byte 14~15
567 uint8_t pad2[2];
568 // Byte 16
569 uint8_t :1;
570 uint8_t Comfort :1;
571 uint8_t Econo :1;
572 uint8_t Sensor :1;
573 uint8_t :4;
574 // Byte 17
575 uint8_t :8;
576 // Byte 18
577 uint8_t Sum :8;
578 };
579 };
580
581 const uint16_t kDaikin152Freq = 38000; // Modulation Frequency in Hz.
582 const uint8_t kDaikin152LeaderBits = 5;
583 const uint16_t kDaikin152HdrMark = 3492;
584 const uint16_t kDaikin152HdrSpace = 1718;
585 const uint16_t kDaikin152BitMark = 433;
586 const uint16_t kDaikin152OneSpace = 1529;
587 const uint16_t kDaikin152ZeroSpace = kDaikin152BitMark;
588 const uint16_t kDaikin152Gap = 25182;
589
590 const uint8_t kDaikin152DryTemp = kDaikin2MinCoolTemp; // Celsius
591 const uint8_t kDaikin152FanTemp = 0x60; // 96 Celsius
592
594 union Daikin64Protocol{
595 uint64_t raw;
596 struct {
597 uint8_t :8;
598 uint8_t Mode :4;
599 uint8_t Fan :4;
600 uint8_t ClockMins :8;
601 uint8_t ClockHours :8;
602 uint8_t OnHours :6;
603 uint8_t OnHalfHour :1;
604 uint8_t OnTimer :1;
605 uint8_t OffHours :6;
606 uint8_t OffHalfHour :1;
607 uint8_t OffTimer :1;
608 uint8_t Temp :8;
609 uint8_t SwingV :1;
610 uint8_t Sleep :1;
611 uint8_t :1;
612 uint8_t Power :1;
613 uint8_t Sum :4;
614 };
615 };
616
617 const uint16_t kDaikin64HdrMark = kDaikin128HdrMark;
618 const uint16_t kDaikin64BitMark = kDaikin128BitMark;
619 const uint16_t kDaikin64HdrSpace = kDaikin128HdrSpace;
620 const uint16_t kDaikin64OneSpace = kDaikin128OneSpace;
621 const uint16_t kDaikin64ZeroSpace = kDaikin128ZeroSpace;
622 const uint16_t kDaikin64LdrMark = kDaikin128LeaderMark;
623 const uint16_t kDaikin64Gap = kDaikin128Gap;
624 const uint16_t kDaikin64LdrSpace = kDaikin128LeaderSpace;
625 const uint16_t kDaikin64Freq = kDaikin128Freq; // Hz.
626 const uint8_t kDaikin64Overhead = 9;
627 const int8_t kDaikin64ToleranceDelta = 5; // +5%
628
629 const uint64_t kDaikin64KnownGoodState = 0x7C16161607204216;
630 const uint8_t kDaikin64Dry = 0b001;
631 const uint8_t kDaikin64Cool = 0b010;
632 const uint8_t kDaikin64Fan = 0b100;
633 const uint8_t kDaikin64FanAuto = 0b0001;
634 const uint8_t kDaikin64FanLow = 0b1000;
635 const uint8_t kDaikin64FanMed = 0b0100;
636 const uint8_t kDaikin64FanHigh = 0b0010;
637 const uint8_t kDaikin64FanQuiet = 0b1001;
638 const uint8_t kDaikin64FanTurbo = 0b0011;
639 const uint8_t kDaikin64MinTemp = 16; // Celsius
640 const uint8_t kDaikin64MaxTemp = 30; // Celsius
641 const uint8_t kDaikin64ChecksumOffset = 60;
642 const uint8_t kDaikin64ChecksumSize = 4; // Mask 0b1111 << 59
643
644 // Legacy defines.
645 #define DAIKIN_COOL kDaikinCool
646 #define DAIKIN_HEAT kDaikinHeat
647 #define DAIKIN_FAN kDaikinFan
648 #define DAIKIN_AUTO kDaikinAuto
649 #define DAIKIN_DRY kDaikinDry
650 #define DAIKIN_MIN_TEMP kDaikinMinTemp
651 #define DAIKIN_MAX_TEMP kDaikinMaxTemp
652 #define DAIKIN_FAN_MIN kDaikinFanMin
653 #define DAIKIN_FAN_MAX kDaikinFanMax
654 #define DAIKIN_FAN_AUTO kDaikinFanAuto
655 #define DAIKIN_FAN_QUIET kDaikinFanQuiet
656
658 class IRDaikinESP {
659 public:
660 explicit IRDaikinESP(const uint16_t pin, const bool inverted = false,
661 const bool use_modulation = true);
662
663 #if SEND_DAIKIN
664 void send(const uint16_t repeat = kDaikinDefaultRepeat);
669 int8_t calibrate(void) { return _irsend.calibrate(); }
670 #endif
671 void begin(void);
672 void on(void);
673 void off(void);
674 void setPower(const bool on);
675 bool getPower(void) const;
676 void setTemp(const uint8_t temp);
677 uint8_t getTemp(void) const;
678 void setFan(const uint8_t fan);
679 uint8_t getFan(void) const;
680 void setMode(const uint8_t mode);
681 uint8_t getMode(void) const;
682 void setSwingVertical(const bool on);
683 bool getSwingVertical(void) const;
684 void setSwingHorizontal(const bool on);
685 bool getSwingHorizontal(void) const;
686 bool getQuiet(void) const;
687 void setQuiet(const bool on);
688 bool getPowerful(void) const;
689 void setPowerful(const bool on);
690 void setSensor(const bool on);
691 bool getSensor(void) const;
692 void setEcono(const bool on);
693 bool getEcono(void) const;
694 void setMold(const bool on);
695 bool getMold(void) const;
696 void setComfort(const bool on);
697 bool getComfort(void) const;
698 void enableOnTimer(const uint16_t starttime);
699 void disableOnTimer(void);
700 uint16_t getOnTime(void) const;
701 bool getOnTimerEnabled(void) const;
702 void enableOffTimer(const uint16_t endtime);
703 void disableOffTimer(void);
704 uint16_t getOffTime(void) const;
705 bool getOffTimerEnabled(void) const;
706 void setCurrentTime(const uint16_t mins_since_midnight);
707 uint16_t getCurrentTime(void) const;
708 void setCurrentDay(const uint8_t day_of_week);
709 uint8_t getCurrentDay(void) const;
710 void setWeeklyTimerEnable(const bool on);
711 bool getWeeklyTimerEnable(void) const;
712 uint8_t* getRaw(void);
713 void setRaw(const uint8_t new_code[],
714 const uint16_t length = kDaikinStateLength);
715 static bool validChecksum(uint8_t state[],
716 const uint16_t length = kDaikinStateLength);
717 static uint8_t convertMode(const stdAc::opmode_t mode);
718 static uint8_t convertFan(const stdAc::fanspeed_t speed);
719 static stdAc::opmode_t toCommonMode(const uint8_t mode);
720 static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
721 stdAc::state_t toCommon(void) const;
722 String toString(void) const;
723 #ifndef UNIT_TEST
724
725 private:
726 IRsend _irsend;
727 #else
728 IRsendTest _irsend;
730 #endif
732 // # of bytes per command
733 DaikinESPProtocol _;
734 void stateReset(void);
735 void checksum(void);
736 };
737
740 class IRDaikin2 {
741 public:
742 explicit IRDaikin2(const uint16_t pin, const bool inverted = false,
743 const bool use_modulation = true);
744
745 #if SEND_DAIKIN2
746 void send(const uint16_t repeat = kDaikin2DefaultRepeat);
751 int8_t calibrate(void) { return _irsend.calibrate(); }
752 #endif
753 void begin(void);
754 void on(void);
755 void off(void);
756 void setPower(const bool state);
757 bool getPower(void) const;
758 void setTemp(const uint8_t temp);
759 uint8_t getTemp(void) const;
760 void setFan(const uint8_t fan);
761 uint8_t getFan(void) const;
762 uint8_t getMode(void) const;
763 void setMode(const uint8_t mode);
764 void setSwingVertical(const uint8_t position);
765 uint8_t getSwingVertical(void) const;
766 void setSwingHorizontal(const uint8_t position);
767 uint8_t getSwingHorizontal(void) const;
768 bool getQuiet(void) const;
769 void setQuiet(const bool on);
770 bool getPowerful(void) const;
771 void setPowerful(const bool on);
772 void setEcono(const bool on);
773 bool getEcono(void) const;
774 void setEye(const bool on);
775 bool getEye(void) const;
776 void setEyeAuto(const bool on);
777 bool getEyeAuto(void) const;
778 void setPurify(const bool on);
779 bool getPurify(void) const;
780 void setMold(const bool on);
781 bool getMold(void) const;
782 void enableOnTimer(const uint16_t starttime);
783 void disableOnTimer(void);
784 uint16_t getOnTime(void) const;
785 bool getOnTimerEnabled(void) const;
786 void enableSleepTimer(const uint16_t sleeptime);
787 void disableSleepTimer(void);
788 uint16_t getSleepTime(void) const;
789 bool getSleepTimerEnabled(void) const;
790 void enableOffTimer(const uint16_t endtime);
791 void disableOffTimer(void);
792 uint16_t getOffTime(void) const;
793 bool getOffTimerEnabled(void) const;
794 void setCurrentTime(const uint16_t time);
795 uint16_t getCurrentTime(void) const;
796 void setBeep(const uint8_t beep);
797 uint8_t getBeep(void) const;
798 void setLight(const uint8_t light);
799 uint8_t getLight(void) const;
800 void setClean(const bool on);
801 bool getClean(void) const;
802 void setFreshAir(const bool on);
803 bool getFreshAir(void) const;
804 void setFreshAirHigh(const bool on);
805 bool getFreshAirHigh(void) const;
806 uint8_t* getRaw(void);
807 void setRaw(const uint8_t new_code[]);
808 static bool validChecksum(uint8_t state[],
809 const uint16_t length = kDaikin2StateLength);
810 static uint8_t convertMode(const stdAc::opmode_t mode);
811 static uint8_t convertFan(const stdAc::fanspeed_t speed);
812 static uint8_t convertSwingV(const stdAc::swingv_t position);
813 static uint8_t convertSwingH(const stdAc::swingh_t position);
814 static stdAc::swingv_t toCommonSwingV(const uint8_t setting);
815 static stdAc::swingh_t toCommonSwingH(const uint8_t setting);
816 stdAc::state_t toCommon(void) const;
817 String toString(void) const;
818 #ifndef UNIT_TEST
819
820 private:
821 IRsend _irsend;
822 #else
823 IRsendTest _irsend;
825 #endif
827 // # of bytes per command
828 Daikin2Protocol _;
829 void stateReset(void);
830 void checksum(void);
831 void clearOnTimerFlag(void);
832 void clearSleepTimerFlag(void);
833 };
834
836 class IRDaikin216 {
837 public:
838 explicit IRDaikin216(const uint16_t pin, const bool inverted = false,
839 const bool use_modulation = true);
840
841 #if SEND_DAIKIN216
842 void send(const uint16_t repeat = kDaikin216DefaultRepeat);
847 int8_t calibrate(void) { return _irsend.calibrate(); }
848 #endif
849 void begin(void);
850 uint8_t* getRaw(void);
851 void setRaw(const uint8_t new_code[]);
852 static bool validChecksum(uint8_t state[],
853 const uint16_t length = kDaikin216StateLength);
854 void on(void);
855 void off(void);
856 void setPower(const bool on);
857 bool getPower(void) const;
858 void setTemp(const uint8_t temp);
859 uint8_t getTemp(void) const;
860 void setMode(const uint8_t mode);
861 uint8_t getMode(void) const;
862 static uint8_t convertMode(const stdAc::opmode_t mode);
863 void setFan(const uint8_t fan);
864 uint8_t getFan(void) const;
865 static uint8_t convertFan(const stdAc::fanspeed_t speed);
866 void setSwingVertical(const bool on);
867 bool getSwingVertical(void) const;
868 void setSwingHorizontal(const bool on);
869 bool getSwingHorizontal(void) const;
870 void setQuiet(const bool on);
871 bool getQuiet(void) const;
872 void setPowerful(const bool on);
873 bool getPowerful(void) const;
874 stdAc::state_t toCommon(void) const;
875 String toString(void) const;
876 #ifndef UNIT_TEST
877
878 private:
879 IRsend _irsend;
880 #else
881 IRsendTest _irsend;
883 #endif
885 // # of bytes per command
886 Daikin216Protocol _;
887 void stateReset(void);
888 void checksum(void);
889 };
890
892 class IRDaikin160 {
893 public:
894 explicit IRDaikin160(const uint16_t pin, const bool inverted = false,
895 const bool use_modulation = true);
896
897 #if SEND_DAIKIN160
898 void send(const uint16_t repeat = kDaikin160DefaultRepeat);
903 int8_t calibrate(void) { return _irsend.calibrate(); }
904 #endif
905 void begin(void);
906 uint8_t* getRaw(void);
907 void setRaw(const uint8_t new_code[]);
908 static bool validChecksum(uint8_t state[],
909 const uint16_t length = kDaikin160StateLength);
910 void on(void);
911 void off(void);
912 void setPower(const bool on);
913 bool getPower(void) const;
914 void setTemp(const uint8_t temp);
915 uint8_t getTemp(void) const;
916 void setMode(const uint8_t mode);
917 uint8_t getMode(void) const;
918 static uint8_t convertMode(const stdAc::opmode_t mode);
919 void setFan(const uint8_t fan);
920 uint8_t getFan(void) const;
921 static uint8_t convertFan(const stdAc::fanspeed_t speed);
922 void setSwingVertical(const uint8_t position);
923 uint8_t getSwingVertical(void) const;
924 static uint8_t convertSwingV(const stdAc::swingv_t position);
925 static stdAc::swingv_t toCommonSwingV(const uint8_t setting);
926 stdAc::state_t toCommon(void) const;
927 String toString(void) const;
928 #ifndef UNIT_TEST
929
930 private:
931 IRsend _irsend;
932 #else
933 IRsendTest _irsend;
935 #endif
937 // # of bytes per command
938 Daikin160Protocol _;
939 void stateReset(void);
940 void checksum(void);
941 };
942
944 class IRDaikin176 {
945 public:
946 explicit IRDaikin176(const uint16_t pin, const bool inverted = false,
947 const bool use_modulation = true);
948
949 #if SEND_DAIKIN176
950 void send(const uint16_t repeat = kDaikin176DefaultRepeat);
955 int8_t calibrate(void) { return _irsend.calibrate(); }
956 #endif
957 void begin(void);
958 uint8_t* getRaw(void);
959 void setRaw(const uint8_t new_code[]);
960 static bool validChecksum(uint8_t state[],
961 const uint16_t length = kDaikin176StateLength);
962 void on(void);
963 void off(void);
964 void setPower(const bool on);
965 bool getPower(void) const;
966 void setTemp(const uint8_t temp);
967 uint8_t getTemp(void) const;
968 void setMode(const uint8_t mode);
969 uint8_t getMode(void) const;
970 static uint8_t convertMode(const stdAc::opmode_t mode);
971 void setFan(const uint8_t fan);
972 uint8_t getFan(void) const;
973 static uint8_t convertFan(const stdAc::fanspeed_t speed);
974 void setSwingHorizontal(const uint8_t position);
975 uint8_t getSwingHorizontal(void) const;
976 static uint8_t convertSwingH(const stdAc::swingh_t position);
977 static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
978 static stdAc::opmode_t toCommonMode(const uint8_t mode);
979 static stdAc::swingh_t toCommonSwingH(const uint8_t setting);
980 stdAc::state_t toCommon(void) const;
981 String toString(void) const;
982
983 #ifndef UNIT_TEST
984
985 private:
986 IRsend _irsend;
987 #else
988 IRsendTest _irsend;
990 #endif
992 // # of bytes per command
993 Daikin176Protocol _;
994 uint8_t _saved_temp;
995 void stateReset(void);
996 void checksum(void);
997 };
998
1001 class IRDaikin128 {
1002 public:
1003 explicit IRDaikin128(const uint16_t pin, const bool inverted = false,
1004 const bool use_modulation = true);
1005 #if SEND_DAIKIN128
1006 void send(const uint16_t repeat = kDaikin128DefaultRepeat);
1011 int8_t calibrate(void) { return _irsend.calibrate(); }
1012 #endif // SEND_DAIKIN128
1013 void begin(void);
1014 void setPowerToggle(const bool toggle);
1015 bool getPowerToggle(void) const;
1016 void setTemp(const uint8_t temp);
1017 uint8_t getTemp(void) const;
1018 void setFan(const uint8_t fan);
1019 uint8_t getFan(void) const;
1020 uint8_t getMode(void) const;
1021 void setMode(const uint8_t mode);
1022 void setSwingVertical(const bool on);
1023 bool getSwingVertical(void) const;
1024 bool getSleep(void) const;
1025 void setSleep(const bool on);
1026 bool getQuiet(void) const;
1027 void setQuiet(const bool on);
1028 bool getPowerful(void) const;
1029 void setPowerful(const bool on);
1030 void setEcono(const bool on);
1031 bool getEcono(void) const;
1032 void setOnTimer(const uint16_t mins_since_midnight);
1033 uint16_t getOnTimer(void) const;
1034 bool getOnTimerEnabled(void) const;
1035 void setOnTimerEnabled(const bool on);
1036 void setOffTimer(const uint16_t mins_since_midnight);
1037 uint16_t getOffTimer(void) const;
1038 bool getOffTimerEnabled(void) const;
1039 void setOffTimerEnabled(const bool on);
1040 void setClock(const uint16_t mins_since_midnight);
1041 uint16_t getClock(void) const;
1042 void setLightToggle(const uint8_t unit_type);
1043 uint8_t getLightToggle(void) const;
1044 uint8_t* getRaw(void);
1045 void setRaw(const uint8_t new_code[]);
1046 static bool validChecksum(uint8_t state[]);
1047 static uint8_t convertMode(const stdAc::opmode_t mode);
1048 static uint8_t convertFan(const stdAc::fanspeed_t speed);
1049 static stdAc::opmode_t toCommonMode(const uint8_t mode);
1050 static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
1051 stdAc::state_t toCommon(const stdAc::state_t *prev = NULL) const;
1052 String toString(void) const;
1053 #ifndef UNIT_TEST
1054
1055 private:
1056 IRsend _irsend;
1057 #else
1058 IRsendTest _irsend;
1060 #endif
1062 // # of bytes per command
1063 Daikin128Protocol _;
1064 void stateReset(void);
1065 static uint8_t calcFirstChecksum(const uint8_t state[]);
1066 static uint8_t calcSecondChecksum(const uint8_t state[]);
1067 void checksum(void);
1068 };
1069
1071 class IRDaikin152 {
1072 public:
1073 explicit IRDaikin152(const uint16_t pin, const bool inverted = false,
1074 const bool use_modulation = true);
1075
1076 #if SEND_DAIKIN152
1077 void send(const uint16_t repeat = kDaikin152DefaultRepeat);
1082 int8_t calibrate(void) { return _irsend.calibrate(); }
1083 #endif
1084 void begin(void);
1085 uint8_t* getRaw(void);
1086 void setRaw(const uint8_t new_code[]);
1087 static bool validChecksum(uint8_t state[],
1088 const uint16_t length = kDaikin152StateLength);
1089 void on(void);
1090 void off(void);
1091 void setPower(const bool on);
1092 bool getPower(void) const;
1093 void setTemp(const uint8_t temp);
1094 uint8_t getTemp(void) const;
1095 void setFan(const uint8_t fan);
1096 uint8_t getFan(void) const;
1097 void setMode(const uint8_t mode);
1098 uint8_t getMode(void) const;
1099 void setSwingV(const bool on);
1100 bool getSwingV(void) const;
1101 bool getQuiet(void) const;
1102 void setQuiet(const bool on);
1103 bool getPowerful(void) const;
1104 void setPowerful(const bool on);
1105 void setSensor(const bool on);
1106 bool getSensor(void) const;
1107 void setEcono(const bool on);
1108 bool getEcono(void) const;
1109 void setComfort(const bool on);
1110 bool getComfort(void) const;
1111 static uint8_t convertMode(const stdAc::opmode_t mode);
1112 static uint8_t convertFan(const stdAc::fanspeed_t speed);
1113 stdAc::state_t toCommon(void) const;
1114 String toString(void) const;
1115 #ifndef UNIT_TEST
1116
1117 private:
1118 IRsend _irsend;
1119 #else
1120 IRsendTest _irsend;
1122 #endif
1124 // # of bytes per command
1125 Daikin152Protocol _;
1126 void stateReset(void);
1127 void checksum(void);
1128 };
1129
1131 class IRDaikin64 {
1132 public:
1133 explicit IRDaikin64(const uint16_t pin, const bool inverted = false,
1134 const bool use_modulation = true);
1135
1136 #if SEND_DAIKIN64
1137 void send(const uint16_t repeat = kDaikin64DefaultRepeat);
1142 int8_t calibrate(void) { return _irsend.calibrate(); }
1143 #endif // SEND_DAIKIN64
1144 void begin(void);
1145 uint64_t getRaw(void);
1146 void setRaw(const uint64_t new_state);
1147 static uint8_t calcChecksum(const uint64_t state);
1148 static bool validChecksum(const uint64_t state);
1149 void setPowerToggle(const bool on);
1150 bool getPowerToggle(void) const;
1151 void setTemp(const uint8_t temp);
1152 uint8_t getTemp(void) const;
1153 void setFan(const uint8_t fan);
1154 uint8_t getFan(void) const;
1155 void setMode(const uint8_t mode);
1156 uint8_t getMode(void) const;
1157 void setSwingVertical(const bool on);
1158 bool getSwingVertical(void) const;
1159 void setSleep(const bool on);
1160 bool getSleep(void) const;
1161 bool getQuiet(void) const;
1162 void setQuiet(const bool on);
1163 bool getTurbo(void) const;
1164 void setTurbo(const bool on);
1165 void setClock(const uint16_t mins_since_midnight);
1166 uint16_t getClock(void) const;
1167 void setOnTimeEnabled(const bool on);
1168 bool getOnTimeEnabled(void) const;
1169 void setOnTime(const uint16_t mins_since_midnight);
1170 uint16_t getOnTime(void) const;
1171 void setOffTimeEnabled(const bool on);
1172 bool getOffTimeEnabled(void) const;
1173 void setOffTime(const uint16_t mins_since_midnight);
1174 uint16_t getOffTime(void) const;
1175 static uint8_t convertMode(const stdAc::opmode_t mode);
1176 static uint8_t convertFan(const stdAc::fanspeed_t speed);
1177 static stdAc::opmode_t toCommonMode(const uint8_t mode);
1178 static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
1179 stdAc::state_t toCommon(const stdAc::state_t *prev = NULL) const;
1180 String toString(void) const;
1181 #ifndef UNIT_TEST
1182
1183 private:
1184 IRsend _irsend;
1185 #else
1186 IRsendTest _irsend;
1188 #endif
1190 Daikin64Protocol _;
1191 void stateReset(void);
1192 void checksum(void);
1193 };
1194 #endif // IR_DAIKIN_H_
IRDaikin64::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:3559
IRDaikin128::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:2702
IRDaikinESP::getEcono
bool getEcono(void) const
Get the Economical mode of the A/C.
Definition: ir_Daikin.cpp:354
kDaikin2SwingHRightMax
const uint8_t kDaikin2SwingHRightMax
Definition: ir_Daikin.h:296
kDaikin64ChecksumOffset
const uint8_t kDaikin64ChecksumOffset
Definition: ir_Daikin.h:641
IRDaikin152::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:3389
IRDaikin2::setCurrentTime
void setCurrentTime(const uint16_t time)
Set the clock on the A/C unit.
Definition: ir_Daikin.cpp:933
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:489
kDaikin152DefaultRepeat
const uint16_t kDaikin152DefaultRepeat
Definition: IRremoteESP8266.h:935
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:1201
IRDaikin160::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:2019
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:127
kDaikin152OneSpace
const uint16_t kDaikin152OneSpace
Definition: ir_Daikin.h:586
Daikin216Protocol::pad3
uint8_t pad3[4]
Definition: ir_Daikin.h:336
IRDaikin216::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:1565
Daikin176Protocol::Power
uint8_t Power
Definition: ir_Daikin.h:426
IRDaikin64::setOffTimeEnabled
void setOffTimeEnabled(const bool on)
Set the enable status of the Off Timer.
Definition: ir_Daikin.cpp:3791
IRDaikin160::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:1819
Daikin152Protocol::Temp
uint8_t Temp
Definition: ir_Daikin.h:553
IRDaikinESP::send
void send(const uint16_t repeat=kDaikinDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:118
Daikin160Protocol
Native representation of a Daikin160 A/C message.
Definition: ir_Daikin.h:358
IRDaikin128::getClock
uint16_t getClock(void) const
Get the clock time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:2838
Daikin160Protocol::Power
uint8_t Power
Definition: ir_Daikin.h:368
Daikin152Protocol::Sum
uint8_t Sum
Definition: ir_Daikin.h:577
kDaikinDry
const uint8_t kDaikinDry
Definition: ir_Daikin.h:131
IRDaikin64::getOffTimeEnabled
bool getOffTimeEnabled(void) const
Get the enable status of the Off Timer.
Definition: ir_Daikin.cpp:3797
IRDaikin2::getOnTime
uint16_t getOnTime(void) const
Get the On Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:968
IRDaikin2::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:1160
IRDaikin216::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:1534
IRDaikin176::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:2183
IRDaikin64::getOffTime
uint16_t getOffTime(void) const
Get the Off Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:3803
IRDaikinESP::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:148
IRDaikinESP::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:669
IRDaikin2::getOffTimerEnabled
bool getOffTimerEnabled(void) const
Get the enable status of the Off Timer.
Definition: ir_Daikin.cpp:1001
IRDaikin152::getQuiet
bool getQuiet(void) const
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:3320
IRDaikin128::getOffTimerEnabled
bool getOffTimerEnabled(void) const
Get the enable status of the Off Timer.
Definition: ir_Daikin.cpp:2883
Daikin160Protocol::raw
uint8_t raw[kDaikin160StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:359
Daikin176Protocol
Native representation of a Daikin176 A/C message.
Definition: ir_Daikin.h:410
Daikin176Protocol::Sum1
uint8_t Sum1
Definition: ir_Daikin.h:416
IRDaikin2::getOnTimerEnabled
bool getOnTimerEnabled(void) const
Get the enable status of the On Timer.
Definition: ir_Daikin.cpp:974
IRDaikinESP::getMold
bool getMold(void) const
Get the Mould mode status of the A/C.
Definition: ir_Daikin.cpp:366
Daikin64Protocol::Mode
uint8_t Mode
Definition: ir_Daikin.h:598
IRDaikin2::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:854
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:2965
kDaikin152ZeroSpace
const uint16_t kDaikin152ZeroSpace
Definition: ir_Daikin.h:587
kDaikin64OneSpace
const uint16_t kDaikin64OneSpace
Definition: ir_Daikin.h:620
kDaikin2DefaultRepeat
const uint16_t kDaikin2DefaultRepeat
Definition: IRremoteESP8266.h:924
kDaikin64Fan
const uint8_t kDaikin64Fan
Definition: ir_Daikin.h:632
IRDaikin128::getOffTimer
uint16_t getOffTimer(void) const
Get the Off Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:2895
DaikinESPProtocol::Power
uint64_t Power
Definition: ir_Daikin.h:85
IRDaikinESP::getOnTime
uint16_t getOnTime(void) const
Get the On Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:397
kDaikin64Freq
const uint16_t kDaikin64Freq
Definition: ir_Daikin.h:625
IRDaikin152::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:3251
IRDaikin2::getPowerful
bool getPowerful(void) const
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:1168
Daikin128Protocol::SwingV
uint8_t SwingV
Definition: ir_Daikin.h:492
Daikin216Protocol::pad2
uint8_t pad2[3]
Definition: ir_Daikin.h:331
IRDaikin2::send
void send(const uint16_t repeat=kDaikin2DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:706
IRDaikin2::getCurrentTime
uint16_t getCurrentTime(void) const
Get the clock time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:941
IRDaikin128::getLightToggle
uint8_t getLightToggle(void) const
Get the Light toggle setting of the A/C.
Definition: ir_Daikin.cpp:2917
IRDaikin64::getPowerToggle
bool getPowerToggle(void) const
Get the Power toggle setting of the A/C.
Definition: ir_Daikin.cpp:3582
IRDaikin128::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:2689
IRDaikin2::setEyeAuto
void setEyeAuto(const bool on)
Set the Automatic Eye (Sensor) mode of the A/C.
Definition: ir_Daikin.cpp:1079
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:2381
kDaikin176SwingHAuto
const uint8_t kDaikin176SwingHAuto
Definition: ir_Daikin.h:465
IRDaikin152::getEcono
bool getEcono(void) const
Get the Economical mode of the A/C.
Definition: ir_Daikin.cpp:3352
Daikin152Protocol::Mode
uint8_t Mode
Definition: ir_Daikin.h:549
IRDaikin2::IRDaikin2
IRDaikin2(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:696
IRDaikin160::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:1923
IRDaikinESP::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:113
IRDaikin216::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:1528
Daikin152Protocol::pad1
uint8_t pad1[4]
Definition: ir_Daikin.h:560
kDaikin176Section2Length
const uint16_t kDaikin176Section2Length
Definition: ir_Daikin.h:455
stdAc::swingv_t
swingv_t
Common A/C settings for Vertical Swing.
Definition: IRsend.h:70
Daikin152Protocol::Power
uint8_t Power
Definition: ir_Daikin.h:547
IRDaikin2::setSwingVertical
void setSwingVertical(const uint8_t position)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:865
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:1194
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:3849
DaikinESPProtocol::Fan
uint64_t Fan
Definition: ir_Daikin.h:99
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:715
Daikin2Protocol::FreshAir
uint64_t FreshAir
Definition: ir_Daikin.h:193
kDaikin64Overhead
const uint8_t kDaikin64Overhead
Definition: ir_Daikin.h:626
kDaikinOneSpace
const uint16_t kDaikinOneSpace
Definition: ir_Daikin.h:168
kDaikin2ZeroSpace
const uint16_t kDaikin2ZeroSpace
Definition: ir_Daikin.h:273
IRDaikinESP
Class for handling detailed Daikin 280-bit A/C messages.
Definition: ir_Daikin.h:658
IRDaikin176::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:2309
kDaikin2SwingHOff
const uint8_t kDaikin2SwingHOff
Definition: ir_Daikin.h:298
kDaikin2HdrMark
const uint16_t kDaikin2HdrMark
Definition: ir_Daikin.h:269
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:1459
IRDaikin64::setOffTime
void setOffTime(const uint16_t mins_since_midnight)
Set the Off Timer time for the A/C unit.
Definition: ir_Daikin.cpp:3809
IRDaikin176::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Daikin.cpp:2404
Daikin160Protocol::Sum2
uint8_t Sum2
Definition: ir_Daikin.h:387
Daikin128Protocol::pad
uint8_t pad[5]
Definition: ir_Daikin.h:506
IRDaikin176::getSwingHorizontal
uint8_t getSwingHorizontal(void) const
Get the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:2374
IRDaikin160::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:1871
IRDaikin2
Class for handling detailed Daikin 312-bit A/C messages.
Definition: ir_Daikin.h:740
IRDaikin216::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:847
kDaikin176StateLength
const uint16_t kDaikin176StateLength
Definition: IRremoteESP8266.h:936
IRDaikin176::setSwingHorizontal
void setSwingHorizontal(const uint8_t position)
Set the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:2362
IRDaikin128
Class for handling detailed Daikin 128-bit A/C messages.
Definition: ir_Daikin.h:1001
IRDaikin2::setMold
void setMold(const bool on)
Set the Mould (filter) mode of the A/C.
Definition: ir_Daikin.cpp:1031
stdAc::fanspeed_t
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
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:1217
IRDaikin160::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:1875
IRDaikin216::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:1586
IRDaikin2::getOffTime
uint16_t getOffTime(void) const
Get the Off Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:995
IRDaikin216::getQuiet
bool getQuiet(void) const
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:1639
IRDaikin128::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:2696
IRDaikinESP::setSwingHorizontal
void setSwingHorizontal(const bool on)
Set the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:291
IRDaikin216::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:1645
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:2664
IRDaikin216::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:1516
kDaikin64HdrMark
const uint16_t kDaikin64HdrMark
Definition: ir_Daikin.h:617
IRDaikin160::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:1798
IRDaikin128::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:2604
kDaikin176HdrMark
const uint16_t kDaikin176HdrMark
Definition: ir_Daikin.h:447
IRDaikin128::setOffTimer
void setOffTimer(const uint16_t mins_since_midnight)
Set the Off Timer time for the A/C unit.
Definition: ir_Daikin.cpp:2889
Daikin216Protocol::SwingV
uint8_t SwingV
Definition: ir_Daikin.h:325
Daikin64Protocol::Sum
uint8_t Sum
Definition: ir_Daikin.h:613
IRDaikin64::setClock
void setClock(const uint16_t mins_since_midnight)
Set the clock on the A/C unit.
Definition: ir_Daikin.cpp:3752
kDaikin128FanPowerful
const uint8_t kDaikin128FanPowerful
Definition: ir_Daikin.h:533
kDaikin128Freq
const uint16_t kDaikin128Freq
Definition: ir_Daikin.h:512
IRDaikin2::clearOnTimerFlag
void clearOnTimerFlag(void)
Clear the On Timer flag.
Definition: ir_Daikin.cpp:955
kDaikinGap
const uint16_t kDaikinGap
Definition: ir_Daikin.h:169
IRDaikin128::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:1056
kDaikin128MinTemp
const uint8_t kDaikin128MinTemp
Definition: ir_Daikin.h:535
IRDaikin160::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:1868
IRDaikin128::getSwingVertical
bool getSwingVertical(void) const
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:2764
kDaikin2SwingVSwing
const uint8_t kDaikin2SwingVSwing
Definition: ir_Daikin.h:288
IRDaikin216::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:1512
IRDaikin64::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:3588
kDaikin2SwingVLowerMiddle
const uint8_t kDaikin2SwingVLowerMiddle
Definition: ir_Daikin.h:281
IRDaikin2::getPurify
bool getPurify(void) const
Get the Purify (Filter) mode status of the A/C.
Definition: ir_Daikin.cpp:1180
IRDaikin176::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:2219
Daikin64Protocol::OnHours
uint8_t OnHours
Definition: ir_Daikin.h:602
IRDaikin2::disableOffTimer
void disableOffTimer(void)
Disable the Off timer.
Definition: ir_Daikin.cpp:987
Daikin128Protocol::Power
uint8_t Power
Definition: ir_Daikin.h:495
kDaikin160Gap
const uint16_t kDaikin160Gap
Definition: ir_Daikin.h:397
Daikin176Protocol::Temp
uint8_t Temp
Definition: ir_Daikin.h:434
IRDaikin64
Class for handling detailed Daikin 64-bit A/C messages.
Definition: ir_Daikin.h:1131
kDaikinBitMark
const uint16_t kDaikinBitMark
Definition: ir_Daikin.h:166
IRDaikin2::enableOffTimer
void enableOffTimer(const uint16_t endtime)
Set the enable status & time of the Off Timer.
Definition: ir_Daikin.cpp:980
IRDaikin64::calcChecksum
static uint8_t calcChecksum(const uint64_t state)
Calculate the checksum for a given state.
Definition: ir_Daikin.cpp:3536
Daikin160Protocol::Fan
uint8_t Fan
Definition: ir_Daikin.h:382
kDaikin152BitMark
const uint16_t kDaikin152BitMark
Definition: ir_Daikin.h:585
IRDaikin128::_
Daikin128Protocol _
Definition: ir_Daikin.h:1063
kDaikin176FanMax
const uint8_t kDaikin176FanMax
Definition: ir_Daikin.h:464
IRDaikinESP::setCurrentTime
void setCurrentTime(const uint16_t mins_since_midnight)
Set the clock on the A/C unit.
Definition: ir_Daikin.cpp:434
IRDaikin64::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:3554
kDaikin152HdrSpace
const uint16_t kDaikin152HdrSpace
Definition: ir_Daikin.h:584
kDaikin2SwingVHighest
const uint8_t kDaikin2SwingVHighest
Definition: ir_Daikin.h:278
Daikin64Protocol::SwingV
uint8_t SwingV
Definition: ir_Daikin.h:609
Daikin216Protocol::Fan
uint8_t Fan
Definition: ir_Daikin.h:326
kDaikin160BitMark
const uint16_t kDaikin160BitMark
Definition: ir_Daikin.h:394
IRDaikin2::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:779
DaikinESPProtocol::Econo
uint8_t Econo
Definition: ir_Daikin.h:117
IRDaikin152::setEcono
void setEcono(const bool on)
Set the Economy mode of the A/C.
Definition: ir_Daikin.cpp:3344
IRDaikin2::getSwingVertical
uint8_t getSwingVertical(void) const
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:883
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:3294
IRDaikin152::getPowerful
bool getPowerful(void) const
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:3338
kDaikin2MinCoolTemp
const uint8_t kDaikin2MinCoolTemp
Definition: ir_Daikin.h:301
Daikin2Protocol::Mold
uint64_t Mold
Definition: ir_Daikin.h:195
IRDaikin152::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:3282
DaikinESPProtocol::Comfort
uint64_t Comfort
Definition: ir_Daikin.h:68
IRsend.h
IRDaikin176::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Daikin.cpp:2247
kDaikin64FanQuiet
const uint8_t kDaikin64FanQuiet
Definition: ir_Daikin.h:637
Daikin2Protocol::SwingV
uint64_t SwingV
Definition: ir_Daikin.h:211
IRDaikin128::setPowerToggle
void setPowerToggle(const bool toggle)
Set the Power toggle setting of the A/C.
Definition: ir_Daikin.cpp:2625
IRDaikin64::getSwingVertical
bool getSwingVertical(void) const
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:3734
Daikin152Protocol::Econo
uint8_t Econo
Definition: ir_Daikin.h:571
IRDaikin176::_
Daikin176Protocol _
Definition: ir_Daikin.h:993
kDaikin152FanTemp
const uint8_t kDaikin152FanTemp
Definition: ir_Daikin.h:591
IRDaikinESP::getPowerful
bool getPowerful(void) const
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:328
IRDaikin216
Class for handling detailed Daikin 216-bit A/C messages.
Definition: ir_Daikin.h:836
Daikin2Protocol::Powerful
uint64_t Powerful
Definition: ir_Daikin.h:243
kDaikin64Cool
const uint8_t kDaikin64Cool
Definition: ir_Daikin.h:631
IRDaikinESP::setMold
void setMold(const bool on)
Set the Mould mode of the A/C.
Definition: ir_Daikin.cpp:360
Daikin160Protocol::pad0
uint8_t pad0[6]
Definition: ir_Daikin.h:362
Daikin2Protocol::OnTimer
uint64_t OnTimer
Definition: ir_Daikin.h:222
kDaikin64FanTurbo
const uint8_t kDaikin64FanTurbo
Definition: ir_Daikin.h:638
kDaikinFan
const uint8_t kDaikinFan
Definition: ir_Daikin.h:134
IRDaikin64::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:1184
IRDaikin2::setFreshAirHigh
void setFreshAirHigh(const bool on)
Set the (High) Fresh Air mode of the A/C.
Definition: ir_Daikin.cpp:1067
kDaikinZeroSpace
const uint16_t kDaikinZeroSpace
Definition: ir_Daikin.h:167
kDaikinSection1Length
const uint8_t kDaikinSection1Length
Definition: ir_Daikin.h:146
Daikin216Protocol::SwingH
uint8_t SwingH
Definition: ir_Daikin.h:328
Daikin64Protocol::OffHalfHour
uint8_t OffHalfHour
Definition: ir_Daikin.h:606
kDaikinByteChecksum2
const uint8_t kDaikinByteChecksum2
Definition: ir_Daikin.h:151
IRDaikin152::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:1082
IRDaikin128::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:2637
Daikin128Protocol::raw
uint8_t raw[kDaikin128StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:470
Daikin216Protocol
Native representation of a Daikin216 A/C message.
Definition: ir_Daikin.h:304
IRDaikinESP::setSensor
void setSensor(const bool on)
Set the Sensor mode of the A/C.
Definition: ir_Daikin.cpp:334
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:1909
DaikinESPProtocol::OnTimer
uint64_t OnTimer
Definition: ir_Daikin.h:86
Daikin2Protocol::Econo
uint64_t Econo
Definition: ir_Daikin.h:252
IRsend
Class for sending all basic IR protocols.
Definition: IRsend.h:187
kDaikinUnusedTime
const uint16_t kDaikinUnusedTime
Definition: ir_Daikin.h:153
IRDaikin176::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:955
kDaikin176Dry
const uint8_t kDaikin176Dry
Definition: ir_Daikin.h:461
Daikin128Protocol::Wall
uint8_t Wall
Definition: ir_Daikin.h:503
kDaikin176Auto
const uint8_t kDaikin176Auto
Definition: ir_Daikin.h:460
IRDaikin152::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:3326
IRDaikin2::disableOnTimer
void disableOnTimer(void)
Disable the On timer.
Definition: ir_Daikin.cpp:960
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:347
IRDaikin176::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:2259
IRDaikin152::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:3201
IRDaikin2::getSleepTime
uint16_t getSleepTime(void) const
Get the Sleep Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:1134
Daikin128Protocol::Sum1
uint8_t Sum1
Definition: ir_Daikin.h:496
Daikin128Protocol::OffHalfHour
uint8_t OffHalfHour
Definition: ir_Daikin.h:487
IRDaikin152::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:3217
Daikin2Protocol
Native representation of a Daikin2 A/C message.
Definition: ir_Daikin.h:175
IRDaikin216::getSwingVertical
bool getSwingVertical(void) const
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:1607
DaikinESPProtocol::OnTime
uint64_t OnTime
Definition: ir_Daikin.h:104
kDaikin2SwingHLeft
const uint8_t kDaikin2SwingHLeft
Definition: ir_Daikin.h:293
Daikin176Protocol::raw
uint8_t raw[kDaikin176StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:411
Daikin128Protocol::OffHours
uint8_t OffHours
Definition: ir_Daikin.h:486
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:2392
IRDaikin2::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:701
IRDaikin64::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:3718
IRDaikin216::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:1481
IRDaikinESP::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:317
IRDaikin160::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:2045
Daikin2Protocol::OffTime
uint64_t OffTime
Definition: ir_Daikin.h:241
kDaikinHdrSpace
const uint16_t kDaikinHdrSpace
Definition: ir_Daikin.h:165
kDaikin160HdrSpace
const uint16_t kDaikin160HdrSpace
Definition: ir_Daikin.h:393
String
std::string String
Definition: IRremoteESP8266.h:1199
IRDaikin64::setOnTimeEnabled
void setOnTimeEnabled(const bool on)
Set the enable status of the On Timer.
Definition: ir_Daikin.cpp:3767
IRDaikin152::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:3170
Daikin2Protocol::Sum1
uint64_t Sum1
Definition: ir_Daikin.h:214
IRDaikinESP::IRDaikinESP
IRDaikinESP(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:108
DaikinESPProtocol::WeeklyTimer
uint8_t WeeklyTimer
Definition: ir_Daikin.h:119
DaikinESPProtocol::raw
uint8_t raw[kDaikinStateLength]
The state of the IR remote.
Definition: ir_Daikin.h:62
IRDaikin2::setPower
void setPower(const bool state)
Change the power setting.
Definition: ir_Daikin.cpp:791
kDaikinCurIndex
const uint8_t kDaikinCurIndex
Definition: ir_Daikin.h:161
kDaikin160SwingVHighest
const uint8_t kDaikin160SwingVHighest
Definition: ir_Daikin.h:406
IRDaikin160::setSwingVertical
void setSwingVertical(const uint8_t position)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:1966
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:2731
Daikin176Protocol::pad3
uint8_t pad3[2]
Definition: ir_Daikin.h:440
IRDaikin128::getPowerToggle
bool getPowerToggle(void) const
Get the Power toggle setting of the A/C.
Definition: ir_Daikin.cpp:2631
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:1952
Daikin216Protocol::Powerful
uint8_t Powerful
Definition: ir_Daikin.h:333
kDaikin2Section2Length
const uint16_t kDaikin2Section2Length
Definition: ir_Daikin.h:276
Daikin176Protocol::pad1
uint8_t pad1[5]
Definition: ir_Daikin.h:418
IRDaikinESP::getSensor
bool getSensor(void) const
Get the Sensor mode of the A/C.
Definition: ir_Daikin.cpp:340
Daikin2Protocol::pad
uint8_t pad[3]
Definition: ir_Daikin.h:177
kDaikin152StateLength
const uint16_t kDaikin152StateLength
Definition: IRremoteESP8266.h:933
Daikin160Protocol::pad1
uint8_t pad1[5]
Definition: ir_Daikin.h:366
IRDaikin160::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:1887
kDaikin128BitCeiling
const uint8_t kDaikin128BitCeiling
Definition: ir_Daikin.h:538
IRDaikinESP::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:206
IRDaikin2::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:836
IRDaikin152::getSwingV
bool getSwingV(void) const
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:3306
kDaikin160OneSpace
const uint16_t kDaikin160OneSpace
Definition: ir_Daikin.h:395
IRDaikin2::getFreshAirHigh
bool getFreshAirHigh(void) const
Get the (High) Fresh Air mode status of the A/C.
Definition: ir_Daikin.cpp:1073
IRDaikin2::setFreshAir
void setFreshAir(const bool on)
Set the Fresh Air mode of the A/C.
Definition: ir_Daikin.cpp:1055
IRDaikin2::setLight
void setLight(const uint8_t light)
Set the Light (LED) mode of the A/C.
Definition: ir_Daikin.cpp:1025
Daikin2Protocol::raw
uint8_t raw[kDaikin2StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:178
kDaikin128ZeroSpace
const uint16_t kDaikin128ZeroSpace
Definition: ir_Daikin.h:519
kDaikinFanMax
const uint8_t kDaikinFanMax
Definition: ir_Daikin.h:139
IRDaikin128::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:2643
kDaikin176Gap
const uint16_t kDaikin176Gap
Definition: ir_Daikin.h:452
IRDaikin2::enableOnTimer
void enableOnTimer(const uint16_t starttime)
Set the enable status & time of the On Timer.
Definition: ir_Daikin.cpp:948
IRDaikin128::setOffTimerEnabled
void setOffTimerEnabled(const bool on)
Set the enable status of the Off Timer.
Definition: ir_Daikin.cpp:2877
kDaikin128FanMed
const uint8_t kDaikin128FanMed
Definition: ir_Daikin.h:531
Daikin128Protocol::Sum2
uint8_t Sum2
Definition: ir_Daikin.h:508
IRDaikin176::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:2330
Daikin64Protocol::Fan
uint8_t Fan
Definition: ir_Daikin.h:599
IRDaikin176::off
void off(void)
Change the power setting to Off..
Definition: ir_Daikin.cpp:2236
IRDaikin2::getSwingHorizontal
uint8_t getSwingHorizontal(void) const
Get the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:929
IRDaikin216::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:1504
IRDaikinESP::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Daikin.cpp:216
kDaikinSwingOn
const uint8_t kDaikinSwingOn
Definition: ir_Daikin.h:142
kDaikin216Freq
const uint16_t kDaikin216Freq
Definition: ir_Daikin.h:342
IRDaikinESP::setSwingVertical
void setSwingVertical(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:279
kDaikin216StateLength
const uint16_t kDaikin216StateLength
Definition: IRremoteESP8266.h:939
kDaikin176Freq
const uint16_t kDaikin176Freq
Definition: ir_Daikin.h:446
IRDaikin128::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:2795
Daikin216Protocol::pad0
uint8_t pad0[7]
Definition: ir_Daikin.h:308
Daikin64Protocol::Temp
uint8_t Temp
Definition: ir_Daikin.h:608
DaikinESPProtocol::Mold
uint8_t Mold
Definition: ir_Daikin.h:122
IRDaikin128::getOnTimer
uint16_t getOnTimer(void) const
Get the On Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:2871
kDaikin2Section1Length
const uint16_t kDaikin2Section1Length
Definition: ir_Daikin.h:275
IRDaikin128::setLightToggle
void setLightToggle(const uint8_t unit_type)
Set the Light toggle setting of the A/C.
Definition: ir_Daikin.cpp:2902
kDaikin2SwingHMiddle
const uint8_t kDaikin2SwingHMiddle
Definition: ir_Daikin.h:294
IRremoteESP8266.h
stdAc::swingh_t
swingh_t
Common A/C settings for Horizontal Swing.
Definition: IRsend.h:83
IRDaikin2::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:821
kDaikin152Freq
const uint16_t kDaikin152Freq
Definition: ir_Daikin.h:581
IRDaikin128::send
void send(const uint16_t repeat=kDaikin128DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:2618
IRDaikin152::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:3312
kDaikin128HdrSpace
const uint16_t kDaikin128HdrSpace
Definition: ir_Daikin.h:516
kDaikinBeepOff
const uint8_t kDaikinBeepOff
Definition: ir_Daikin.h:156
Daikin128Protocol::Fan
uint8_t Fan
Definition: ir_Daikin.h:476
Daikin64Protocol::Sleep
uint8_t Sleep
Definition: ir_Daikin.h:610
Daikin2Protocol::SwingH
uint64_t SwingH
Definition: ir_Daikin.h:209
IRDaikin152::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:3186
IRDaikin152::setSensor
void setSensor(const bool on)
Set the Sensor mode of the A/C.
Definition: ir_Daikin.cpp:3358
kDaikin176HdrSpace
const uint16_t kDaikin176HdrSpace
Definition: ir_Daikin.h:448
IRDaikin176::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Daikin.cpp:2297
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:3623
kDaikin2Sections
const uint16_t kDaikin2Sections
Definition: ir_Daikin.h:274
kDaikin160SwingVHigh
const uint8_t kDaikin160SwingVHigh
Definition: ir_Daikin.h:405
IRDaikin2::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:1232
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:1551
IRDaikin128::calcSecondChecksum
static uint8_t calcSecondChecksum(const uint8_t state[])
Definition: ir_Daikin.cpp:2569
IRDaikinESP::setComfort
void setComfort(const bool on)
Set the Comfort mode of the A/C.
Definition: ir_Daikin.cpp:372
kDaikin128StateLength
const uint16_t kDaikin128StateLength
Definition: IRremoteESP8266.h:930
kDaikin176DefaultRepeat
const uint16_t kDaikin176DefaultRepeat
Definition: IRremoteESP8266.h:938
Daikin2Protocol::OffTimer
uint64_t OffTimer
Definition: ir_Daikin.h:223
IRDaikin128::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:2588
kDaikin128BitWall
const uint8_t kDaikin128BitWall
Definition: ir_Daikin.h:537
IRDaikin64::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:3651
kDaikin2BitMark
const uint16_t kDaikin2BitMark
Definition: ir_Daikin.h:271
Daikin2Protocol::Mode
uint64_t Mode
Definition: ir_Daikin.h:225
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:3161
kDaikin2LeaderSpace
const uint16_t kDaikin2LeaderSpace
Definition: ir_Daikin.h:267
IRDaikin216::_
Daikin216Protocol _
Definition: ir_Daikin.h:886
IRDaikin152::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:3415
IRDaikin152::setComfort
void setComfort(const bool on)
Set the Comfort mode of the A/C.
Definition: ir_Daikin.cpp:3370
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:908
IRDaikin216::getSwingHorizontal
bool getSwingHorizontal(void) const
Get the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:1619
kDaikin160Sections
const uint16_t kDaikin160Sections
Definition: ir_Daikin.h:398
IRDaikin152::setSwingV
void setSwingV(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:3300
Daikin152Protocol::Sensor
uint8_t Sensor
Definition: ir_Daikin.h:572
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:456
kDaikin64FanAuto
const uint8_t kDaikin64FanAuto
Definition: ir_Daikin.h:633
IRDaikin2::setSwingHorizontal
void setSwingHorizontal(const uint8_t position)
Set the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:923
IRDaikinESP::getCurrentTime
uint16_t getCurrentTime(void) const
Get the clock time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:442
IRDaikin216::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:1626
kDaikin160Freq
const uint16_t kDaikin160Freq
Definition: ir_Daikin.h:391
IRDaikin2::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:810
kDaikin64Dry
const uint8_t kDaikin64Dry
Definition: ir_Daikin.h:630
kDaikin2SwingVBreeze
const uint8_t kDaikin2SwingVBreeze
Definition: ir_Daikin.h:284
IRDaikinESP::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:184
IRDaikin64::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:3815
IRDaikin176::IRDaikin176
IRDaikin176(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:2157
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:1804
IRDaikin128::getSleep
bool getSleep(void) const
Get the Sleep mode of the A/C.
Definition: ir_Daikin.cpp:2776
kDaikin64FanLow
const uint8_t kDaikin64FanLow
Definition: ir_Daikin.h:634
IRDaikin176::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:2190
IRDaikin152::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:3198
IRDaikin216::getPowerful
bool getPowerful(void) const
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:1653
IRDaikin160::IRDaikin160
IRDaikin160(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:1793
Daikin176Protocol::Mode
uint8_t Mode
Definition: ir_Daikin.h:428
kDaikinBeepLoud
const uint8_t kDaikinBeepLoud
Definition: ir_Daikin.h:155
kDaikinFanAuto
const uint8_t kDaikinFanAuto
Definition: ir_Daikin.h:140
IRDaikin64::getClock
uint16_t getClock(void) const
Get the clock time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:3761
Daikin2Protocol::OnTime
uint64_t OnTime
Definition: ir_Daikin.h:240
kDaikin128Dry
const uint8_t kDaikin128Dry
Definition: ir_Daikin.h:524
IRDaikin216::setSwingHorizontal
void setSwingHorizontal(const bool on)
Set the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:1613
kDaikin64KnownGoodState
const uint64_t kDaikin64KnownGoodState
Definition: ir_Daikin.h:629
Daikin152Protocol::Quiet
uint8_t Quiet
Definition: ir_Daikin.h:564
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:2168
IRDaikin64::getRaw
uint64_t getRaw(void)
Get a copy of the internal state as a valid code for this protocol.
Definition: ir_Daikin.cpp:3565
Daikin160Protocol::SwingV
uint8_t SwingV
Definition: ir_Daikin.h:374
Daikin216Protocol::Sum1
uint8_t Sum1
Definition: ir_Daikin.h:310
kDaikin216Sections
const uint16_t kDaikin216Sections
Definition: ir_Daikin.h:349
IRDaikin176::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:2323
kDaikin176Heat
const uint8_t kDaikin176Heat
Definition: ir_Daikin.h:458
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:1595
IRDaikin128::IRDaikin128
IRDaikin128(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:2557
Daikin176Protocol::ModeButton
uint8_t ModeButton
Definition: ir_Daikin.h:424
Daikin128Protocol::ClockMins
uint8_t ClockMins
Definition: ir_Daikin.h:478
Daikin128Protocol::OnHours
uint8_t OnHours
Definition: ir_Daikin.h:482
Daikin128Protocol::Ceiling
uint8_t Ceiling
Definition: ir_Daikin.h:500
kDaikin152DryTemp
const uint8_t kDaikin152DryTemp
Definition: ir_Daikin.h:590
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:449
IRDaikin64::IRDaikin64
IRDaikin64(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:3518
Daikin216Protocol::Temp
uint8_t Temp
Definition: ir_Daikin.h:320
IRDaikin152::IRDaikin152
IRDaikin152(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:3142
Daikin216Protocol::Sum2
uint8_t Sum2
Definition: ir_Daikin.h:338
kDaikin160HdrMark
const uint16_t kDaikin160HdrMark
Definition: ir_Daikin.h:392
IRDaikin176::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:2162
IRDaikin216::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:1445
kDaikin64ZeroSpace
const uint16_t kDaikin64ZeroSpace
Definition: ir_Daikin.h:621
Daikin128Protocol::Sleep
uint8_t Sleep
Definition: ir_Daikin.h:493
IRDaikin128::validChecksum
static bool validChecksum(uint8_t state[])
Verify the checksum is valid for a given state.
Definition: ir_Daikin.cpp:2577
kDaikin128SectionLength
const uint16_t kDaikin128SectionLength
Definition: ir_Daikin.h:523
kDaikin176Cool
const uint8_t kDaikin176Cool
Definition: ir_Daikin.h:459
IRDaikin64::setTurbo
void setTurbo(const bool on)
Set the Turbo (Powerful) mode of the A/C.
Definition: ir_Daikin.cpp:3702
kDaikin128LeaderSpace
const uint16_t kDaikin128LeaderSpace
Definition: ir_Daikin.h:514
IRDaikin2::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:841
IRDaikinESP::setWeeklyTimerEnable
void setWeeklyTimerEnable(const bool on)
Set the enable status of the Weekly Timer.
Definition: ir_Daikin.cpp:462
IRDaikin2::_
Daikin2Protocol _
Definition: ir_Daikin.h:828
IRDaikin64::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:1142
kDaikin2LeaderMark
const uint16_t kDaikin2LeaderMark
Definition: ir_Daikin.h:266
kDaikinBeepQuiet
const uint8_t kDaikinBeepQuiet
Definition: ir_Daikin.h:154
IRDaikin128::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:2930
IRDaikin64::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:3602
Daikin128Protocol::Mode
uint8_t Mode
Definition: ir_Daikin.h:475
Daikin216Protocol::Power
uint8_t Power
Definition: ir_Daikin.h:314
kDaikin2SwingVAuto
const uint8_t kDaikin2SwingVAuto
Definition: ir_Daikin.h:287
IRDaikin160::_
Daikin160Protocol _
Definition: ir_Daikin.h:938
DaikinESPProtocol
Native representation of a Daikin A/C message.
Definition: ir_Daikin.h:61
Daikin2Protocol::Sum2
uint8_t Sum2
Definition: ir_Daikin.h:261
IRDaikinESP::getOffTimerEnabled
bool getOffTimerEnabled(void) const
Get the enable status of the Off Timer.
Definition: ir_Daikin.cpp:428
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:476
kDaikin216Section1Length
const uint16_t kDaikin216Section1Length
Definition: ir_Daikin.h:350
IRDaikin160::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Daikin.cpp:1881
kDaikinLightBright
const uint8_t kDaikinLightBright
Definition: ir_Daikin.h:157
Daikin176Protocol::AltMode
uint8_t AltMode
Definition: ir_Daikin.h:421
IRDaikin2::getMold
bool getMold(void) const
Get the Mould (filter) mode status of the A/C.
Definition: ir_Daikin.cpp:1037
kDaikin152Gap
const uint16_t kDaikin152Gap
Definition: ir_Daikin.h:588
IRDaikin176::send
void send(const uint16_t repeat=kDaikin176DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:2227
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:890
kDaikin128Auto
const uint8_t kDaikin128Auto
Definition: ir_Daikin.h:528
kDaikin160SwingVMiddle
const uint8_t kDaikin160SwingVMiddle
Definition: ir_Daikin.h:404
IRDaikin2::getSleepTimerEnabled
bool getSleepTimerEnabled(void) const
Get the Sleep timer enabled status of the A/C.
Definition: ir_Daikin.cpp:1140
IRDaikin160::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:1930
IRDaikin128::setEcono
void setEcono(const bool on)
Set the Economy mode of the A/C.
Definition: ir_Daikin.cpp:2782
Daikin64Protocol
Native representation of a Daikin64 A/C message.
Definition: ir_Daikin.h:594
IRDaikin176::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:2345
kDaikin128Gap
const uint16_t kDaikin128Gap
Definition: ir_Daikin.h:520
kDaikin64MaxTemp
const uint8_t kDaikin64MaxTemp
Definition: ir_Daikin.h:640
Daikin2Protocol::Temp
uint64_t Temp
Definition: ir_Daikin.h:229
IRDaikinESP::getSwingHorizontal
bool getSwingHorizontal(void) const
Get the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:297
IRDaikin64::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:3596
kDaikinHeat
const uint8_t kDaikinHeat
Definition: ir_Daikin.h:133
kDaikin216OneSpace
const uint16_t kDaikin216OneSpace
Definition: ir_Daikin.h:346
IRDaikin64::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:3645
DaikinESPProtocol::Mode
uint64_t Mode
Definition: ir_Daikin.h:89
Daikin152Protocol::pad0
uint8_t pad0[5]
Definition: ir_Daikin.h:545
Daikin2Protocol::SleepTimer
uint64_t SleepTimer
Definition: ir_Daikin.h:255
kDaikin176SwingHOff
const uint8_t kDaikin176SwingHOff
Definition: ir_Daikin.h:466
IRDaikinESP::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:303
kDaikin64BitMark
const uint16_t kDaikin64BitMark
Definition: ir_Daikin.h:618
kDaikin160SwingVLowest
const uint8_t kDaikin160SwingVLowest
Definition: ir_Daikin.h:402
kDaikin216DefaultRepeat
const uint16_t kDaikin216DefaultRepeat
Definition: IRremoteESP8266.h:941
kDaikin2SwingHLeftMax
const uint8_t kDaikin2SwingHLeftMax
Definition: ir_Daikin.h:292
IRDaikin152::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:3205
kDaikinCurBit
const uint8_t kDaikinCurBit
Definition: ir_Daikin.h:160
IRDaikin160::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:903
IRDaikin2::clearSleepTimerFlag
void clearSleepTimerFlag(void)
Clear the sleep timer flag.
Definition: ir_Daikin.cpp:1123
IRDaikin176::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:2253
IRDaikin128::getOnTimerEnabled
bool getOnTimerEnabled(void) const
Get the enable status of the On Timer.
Definition: ir_Daikin.cpp:2850
Daikin128Protocol::OnTimer
uint8_t OnTimer
Definition: ir_Daikin.h:484
kDaikin176BitMark
const uint16_t kDaikin176BitMark
Definition: ir_Daikin.h:449
IRDaikin152::getComfort
bool getComfort(void) const
Get the Comfort mode of the A/C.
Definition: ir_Daikin.cpp:3383
Daikin64Protocol::OffHours
uint8_t OffHours
Definition: ir_Daikin.h:605
Daikin2Protocol::FreshAirHigh
uint64_t FreshAirHigh
Definition: ir_Daikin.h:199
kDaikin160DefaultRepeat
const uint16_t kDaikin160DefaultRepeat
Definition: IRremoteESP8266.h:929
IRDaikin64::setPowerToggle
void setPowerToggle(const bool on)
Set the Power toggle setting of the A/C.
Definition: ir_Daikin.cpp:3576
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:2284
IRDaikinESP::setEcono
void setEcono(const bool on)
Set the Economy mode of the A/C.
Definition: ir_Daikin.cpp:346
IRDaikin176::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:2240
DaikinESPProtocol::CurrentTime
uint64_t CurrentTime
Definition: ir_Daikin.h:76
IRDaikin2::getClean
bool getClean(void) const
Get the Auto Clean mode status of the A/C.
Definition: ir_Daikin.cpp:1049
kDaikin64ToleranceDelta
const int8_t kDaikin64ToleranceDelta
Definition: ir_Daikin.h:627
IRDaikin64::getOnTimeEnabled
bool getOnTimeEnabled(void) const
Get the enable status of the On Timer.
Definition: ir_Daikin.cpp:3773
kDaikin160SwingVAuto
const uint8_t kDaikin160SwingVAuto
Definition: ir_Daikin.h:407
kDaikinHeaderLength
const uint16_t kDaikinHeaderLength
Definition: ir_Daikin.h:144
IRDaikinESP::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:210
kDaikin64LdrMark
const uint16_t kDaikin64LdrMark
Definition: ir_Daikin.h:622
IRDaikin152::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:3268
IRrecv.h
IRDaikin64::getTurbo
bool getTurbo(void) const
Get the Turbo (Powerful) mode status of the A/C.
Definition: ir_Daikin.cpp:3696
Daikin64Protocol::OffTimer
uint8_t OffTimer
Definition: ir_Daikin.h:607
kDaikin128Cool
const uint8_t kDaikin128Cool
Definition: ir_Daikin.h:525
kDaikin176ZeroSpace
const uint16_t kDaikin176ZeroSpace
Definition: ir_Daikin.h:451
Daikin64Protocol::ClockHours
uint8_t ClockHours
Definition: ir_Daikin.h:601
kDaikin128Heat
const uint8_t kDaikin128Heat
Definition: ir_Daikin.h:527
IRDaikin2::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:736
kDaikinSection3Length
const uint8_t kDaikinSection3Length
Definition: ir_Daikin.h:148
IRDaikin152::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Daikin.cpp:3211
IRDaikinESP::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:558
Daikin152Protocol::Powerful
uint8_t Powerful
Definition: ir_Daikin.h:562
IRDaikin2::getEye
bool getEye(void) const
Get the Eye (Sensor) mode status of the A/C.
Definition: ir_Daikin.cpp:1097
IRDaikin152::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:3223
kDaikin160Section1Length
const uint16_t kDaikin160Section1Length
Definition: ir_Daikin.h:399
IRDaikin216::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:1509
kDaikin128Sections
const uint16_t kDaikin128Sections
Definition: ir_Daikin.h:522
kDaikin176Sections
const uint16_t kDaikin176Sections
Definition: ir_Daikin.h:453
DaikinESPProtocol::SwingV
uint64_t SwingV
Definition: ir_Daikin.h:98
kDaikin128DefaultRepeat
const uint16_t kDaikin128DefaultRepeat
Definition: IRremoteESP8266.h:932
IRDaikin2::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:772
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:3245
IRDaikin152
Class for handling detailed Daikin 152-bit A/C messages.
Definition: ir_Daikin.h:1071
IRDaikin128::getEcono
bool getEcono(void) const
Get the Economical mode of the A/C.
Definition: ir_Daikin.cpp:2789
IRDaikin2::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:787
IRDaikin128::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:2811
kDaikin128FanLow
const uint8_t kDaikin128FanLow
Definition: ir_Daikin.h:532
Daikin2Protocol::Light
uint64_t Light
Definition: ir_Daikin.h:190
kDaikinStateLength
const uint16_t kDaikinStateLength
Definition: IRremoteESP8266.h:917
IRDaikin64::setOnTime
void setOnTime(const uint16_t mins_since_midnight)
Set the On Timer time for the A/C unit.
Definition: ir_Daikin.cpp:3785
IRDaikin160
Class for handling detailed Daikin 160-bit A/C messages.
Definition: ir_Daikin.h:892
IRDaikinESP::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:726
kDaikin216Section2Length
const uint16_t kDaikin216Section2Length
Definition: ir_Daikin.h:351
IRDaikinESP::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:249
IRDaikin216::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:1497
kDaikin64FanMed
const uint8_t kDaikin64FanMed
Definition: ir_Daikin.h:635
IRDaikinESP::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:235
IRDaikin152::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:3175
kDaikin128FooterMark
const uint16_t kDaikin128FooterMark
Definition: ir_Daikin.h:521
Daikin152Protocol::Comfort
uint8_t Comfort
Definition: ir_Daikin.h:570
IRDaikin216::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:1687
IRDaikinESP::getOnTimerEnabled
bool getOnTimerEnabled(void) const
Get the enable status of the On Timer.
Definition: ir_Daikin.cpp:403
IRDaikinESP::disableOffTimer
void disableOffTimer(void)
Clear and disable the Off timer.
Definition: ir_Daikin.cpp:415
IRDaikin2::setPurify
void setPurify(const bool on)
Set the Purify (Filter) mode of the A/C.
Definition: ir_Daikin.cpp:1174
kDaikin2Gap
const uint16_t kDaikin2Gap
Definition: ir_Daikin.h:268
IRDaikin64::setSleep
void setSleep(const bool on)
Set the Sleep mode of the A/C.
Definition: ir_Daikin.cpp:3740
Daikin2Protocol::Clean
uint64_t Clean
Definition: ir_Daikin.h:197
kDaikin152LeaderBits
const uint8_t kDaikin152LeaderBits
Definition: ir_Daikin.h:582
IRDaikin128::setOnTimer
void setOnTimer(const uint16_t mins_since_midnight)
Set the On Timer time for the A/C unit.
Definition: ir_Daikin.cpp:2865
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:921
Daikin64Protocol::OnHalfHour
uint8_t OnHalfHour
Definition: ir_Daikin.h:603
kDaikin64DefaultRepeat
const uint16_t kDaikin64DefaultRepeat
Definition: IRremoteESP8266.h:926
IRDaikinESP::getWeeklyTimerEnable
bool getWeeklyTimerEnable(void) const
Get the enable status of the Weekly Timer.
Definition: ir_Daikin.cpp:469
IRDaikinESP::getOffTime
uint16_t getOffTime(void) const
Get the Off Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:422
kDaikin64LdrSpace
const uint16_t kDaikin64LdrSpace
Definition: ir_Daikin.h:624
kDaikin128Fan
const uint8_t kDaikin128Fan
Definition: ir_Daikin.h:526
DaikinESPProtocol::Sensor
uint8_t Sensor
Definition: ir_Daikin.h:116
Daikin2Protocol::Quiet
uint64_t Quiet
Definition: ir_Daikin.h:245
Daikin2Protocol::Power
uint64_t Power
Definition: ir_Daikin.h:221
IRDaikin2::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:751
IRDaikin64::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Daikin.cpp:3683
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:2005
IRDaikin160::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:1943
Daikin160Protocol::Sum1
uint8_t Sum1
Definition: ir_Daikin.h:364
IRDaikin128::setOnTimerEnabled
void setOnTimerEnabled(const bool on)
Set the enable status of the On Timer.
Definition: ir_Daikin.cpp:2844
Daikin64Protocol::OnTimer
uint8_t OnTimer
Definition: ir_Daikin.h:604
IRDaikin176::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:2411
IRDaikin64::setRaw
void setRaw(const uint64_t new_state)
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:3572
IRDaikin176::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:2233
IRDaikin2::enableSleepTimer
void enableSleepTimer(const uint16_t sleeptime)
Set the enable status & time of the Sleep Timer.
Definition: ir_Daikin.cpp:1116
IRDaikin2::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:1258
IRDaikin64::validChecksum
static bool validChecksum(const uint64_t state)
Verify the checksum is valid for a given state.
Definition: ir_Daikin.cpp:3547
kDaikin2SwingVHigh
const uint8_t kDaikin2SwingVHigh
Definition: ir_Daikin.h:279
kDaikin160Section2Length
const uint16_t kDaikin160Section2Length
Definition: ir_Daikin.h:400
kDaikin128FanQuiet
const uint8_t kDaikin128FanQuiet
Definition: ir_Daikin.h:534
kDaikin216SwingOn
const uint8_t kDaikin216SwingOn
Definition: ir_Daikin.h:354
IRDaikinESP::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:257
Daikin128Protocol::OffTimer
uint8_t OffTimer
Definition: ir_Daikin.h:488
IRDaikinESP::enableOnTimer
void enableOnTimer(const uint16_t starttime)
Set the enable status & time of the On Timer.
Definition: ir_Daikin.cpp:384
IRDaikin152::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:1118
IRDaikinESP::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:203
IRDaikin2::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:1146
IRDaikin160::getSwingVertical
uint8_t getSwingVertical(void) const
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:1982
IRDaikin64::setSwingVertical
void setSwingVertical(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:3728
IRDaikin2::getFreshAir
bool getFreshAir(void) const
Get the Fresh Air mode status of the A/C.
Definition: ir_Daikin.cpp:1061
IRDaikin152::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:3261
IRDaikinESP::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Daikin.cpp:516
IRDaikin128::getPowerful
bool getPowerful(void) const
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:2821
kDaikin2SwingVUpperMiddle
const uint8_t kDaikin2SwingVUpperMiddle
Definition: ir_Daikin.h:280
Daikin128Protocol::OnHalfHour
uint8_t OnHalfHour
Definition: ir_Daikin.h:483
Daikin160Protocol::Mode
uint8_t Mode
Definition: ir_Daikin.h:370
IRDaikinESP::getComfort
bool getComfort(void) const
Get the Comfort mode of the A/C.
Definition: ir_Daikin.cpp:378
Daikin176Protocol::SwingH
uint8_t SwingH
Definition: ir_Daikin.h:437
Daikin2Protocol::Beep
uint64_t Beep
Definition: ir_Daikin.h:191
Daikin176Protocol::Sum2
uint8_t Sum2
Definition: ir_Daikin.h:442
IRDaikin128::calcFirstChecksum
static uint8_t calcFirstChecksum(const uint8_t state[])
Definition: ir_Daikin.cpp:2564
IRDaikin216::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:1474
kDaikin64MinTemp
const uint8_t kDaikin64MinTemp
Definition: ir_Daikin.h:639
Daikin2Protocol::Fan
uint64_t Fan
Definition: ir_Daikin.h:234
kDaikin2SwingHRight
const uint8_t kDaikin2SwingHRight
Definition: ir_Daikin.h:295
IRDaikin160::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:1915
Daikin2Protocol::Power2
uint64_t Power2
Definition: ir_Daikin.h:187
IRDaikin2::getQuiet
bool getQuiet(void) const
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:1154
IRDaikin128::setClock
void setClock(const uint16_t mins_since_midnight)
Set the clock on the A/C unit.
Definition: ir_Daikin.cpp:2827
IRDaikin160::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:1893
kDaikin64Gap
const uint16_t kDaikin64Gap
Definition: ir_Daikin.h:623
kDaikin128OneSpace
const uint16_t kDaikin128OneSpace
Definition: ir_Daikin.h:518
IRDaikin152::_
Daikin152Protocol _
Definition: ir_Daikin.h:1125
kDaikin152HdrMark
const uint16_t kDaikin152HdrMark
Definition: ir_Daikin.h:583
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:2352
DaikinESPProtocol::Sum1
uint64_t Sum1
Definition: ir_Daikin.h:71
kDaikin2SwingHSwing
const uint8_t kDaikin2SwingHSwing
Definition: ir_Daikin.h:299
IRDaikin128::setSwingVertical
void setSwingVertical(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:2758
IRDaikinESP::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:230
IRDaikin160::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:1848
IRDaikinESP::enableOffTimer
void enableOffTimer(const uint16_t endtime)
Set the enable status & time of the Off Timer.
Definition: ir_Daikin.cpp:409
kDaikin160StateLength
const uint16_t kDaikin160StateLength
Definition: IRremoteESP8266.h:927
kDaikin216HdrMark
const uint16_t kDaikin216HdrMark
Definition: ir_Daikin.h:343
kDaikin2HdrSpace
const uint16_t kDaikin2HdrSpace
Definition: ir_Daikin.h:270
kDaikin176ModeButton
const uint8_t kDaikin176ModeButton
Definition: ir_Daikin.h:462
kDaikinSections
const uint8_t kDaikinSections
Definition: ir_Daikin.h:145
kDaikin2StateLength
const uint16_t kDaikin2StateLength
Definition: IRremoteESP8266.h:922
IRDaikin176::_saved_temp
uint8_t _saved_temp
The previously user requested temp value.
Definition: ir_Daikin.h:994
Daikin216Protocol::pad1
uint8_t pad1[5]
Definition: ir_Daikin.h:312
kDaikinByteChecksum1
const uint8_t kDaikinByteChecksum1
Definition: ir_Daikin.h:150
IRDaikin2::setEye
void setEye(const bool on)
Set the Eye (Sensor) mode of the A/C.
Definition: ir_Daikin.cpp:1091
Daikin152Protocol::pad2
uint8_t pad2[2]
Definition: ir_Daikin.h:567
IRDaikin152::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:3193
kDaikin64FanHigh
const uint8_t kDaikin64FanHigh
Definition: ir_Daikin.h:636
IRDaikin160::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:1826
IRDaikin160::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:931
IRDaikin152::send
void send(const uint16_t repeat=kDaikin152DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:3152
Daikin176Protocol::pad0
uint8_t pad0[6]
Definition: ir_Daikin.h:414
kDaikin64ChecksumSize
const uint8_t kDaikin64ChecksumSize
Definition: ir_Daikin.h:642
IRDaikin128::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:2562
IRDaikinESP::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:222
kDaikinFanMed
const uint8_t kDaikinFanMed
Definition: ir_Daikin.h:138
IRDaikin2::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:730
kDaikin64HdrSpace
const uint16_t kDaikin64HdrSpace
Definition: ir_Daikin.h:619
IRDaikin128::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:2594
kDaikin2SwingVLowest
const uint8_t kDaikin2SwingVLowest
Definition: ir_Daikin.h:283
IRDaikin216::send
void send(const uint16_t repeat=kDaikin216DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:1450
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:192
Daikin128Protocol
Native representation of a Daikin128 A/C message.
Definition: ir_Daikin.h:469
IRDaikin216::setSwingVertical
void setSwingVertical(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:1601
kDaikinSwingOff
const uint8_t kDaikinSwingOff
Definition: ir_Daikin.h:143
IRDaikin64::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:3608
DaikinESPProtocol::SwingH
uint64_t SwingH
Definition: ir_Daikin.h:101
kMarkExcess
const uint16_t kMarkExcess
Definition: IRrecv.h:24
kDaikin216SwingOff
const uint8_t kDaikin216SwingOff
Definition: ir_Daikin.h:355
Daikin2Protocol::EyeAuto
uint64_t EyeAuto
Definition: ir_Daikin.h:205
kDaikinAuto
const uint8_t kDaikinAuto
Definition: ir_Daikin.h:130
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:3669
kDaikin216BitMark
const uint16_t kDaikin216BitMark
Definition: ir_Daikin.h:345
IRDaikin176::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:2438
kDaikinCool
const uint8_t kDaikinCool
Definition: ir_Daikin.h:132
IRDaikin128::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:1011
DaikinESPProtocol::OffTime
uint64_t OffTime
Definition: ir_Daikin.h:105
Daikin128Protocol::Temp
uint8_t Temp
Definition: ir_Daikin.h:490
Daikin64Protocol::ClockMins
uint8_t ClockMins
Definition: ir_Daikin.h:600
kDaikin160ZeroSpace
const uint16_t kDaikin160ZeroSpace
Definition: ir_Daikin.h:396
kDaikin2SwingVOff
const uint8_t kDaikin2SwingVOff
Definition: ir_Daikin.h:286
kDaikinFirstHeader64
const uint64_t kDaikinFirstHeader64
Definition: ir_Daikin.h:171
Daikin128Protocol::Econo
uint8_t Econo
Definition: ir_Daikin.h:502
kDaikin216Gap
const uint16_t kDaikin216Gap
Definition: ir_Daikin.h:348
IRDaikin64::_
Daikin64Protocol _
Definition: ir_Daikin.h:1190
Daikin216Protocol::Mode
uint8_t Mode
Definition: ir_Daikin.h:316
IRDaikin2::setBeep
void setBeep(const uint8_t beep)
Set the Beep mode of the A/C.
Definition: ir_Daikin.cpp:1013
IRDaikin64::getQuiet
bool getQuiet(void) const
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:3712
kDaikinFanQuiet
const uint8_t kDaikinFanQuiet
Definition: ir_Daikin.h:141
DaikinESPProtocol::CurrentDay
uint64_t CurrentDay
Definition: ir_Daikin.h:77
IRDaikin152::getSensor
bool getSensor(void) const
Get the Sensor mode of the A/C.
Definition: ir_Daikin.cpp:3364
IRDaikin2::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:784
kDaikinMarkExcess
const uint16_t kDaikinMarkExcess
Definition: ir_Daikin.h:163
IRDaikin128::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Daikin.cpp:2677
Daikin160Protocol::Temp
uint8_t Temp
Definition: ir_Daikin.h:379
kDaikinTolerance
const uint8_t kDaikinTolerance
Definition: ir_Daikin.h:162
DaikinESPProtocol::OffTimer
uint64_t OffTimer
Definition: ir_Daikin.h:87
kDaikin2SwingVLow
const uint8_t kDaikin2SwingVLow
Definition: ir_Daikin.h:282
IRDaikin216::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:1659
IRDaikin2::getLight
uint8_t getLight(void) const
Get the Light status of the A/C.
Definition: ir_Daikin.cpp:1019
IRDaikinESP::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Daikin.cpp:503
IRDaikin2::setClean
void setClean(const bool on)
Set the Auto clean mode of the A/C.
Definition: ir_Daikin.cpp:1043
kDaikin216HdrSpace
const uint16_t kDaikin216HdrSpace
Definition: ir_Daikin.h:344
kDaikinSection2Length
const uint8_t kDaikinSection2Length
Definition: ir_Daikin.h:147
DaikinESPProtocol::Sum2
uint64_t Sum2
Definition: ir_Daikin.h:80
kDaikin176OneSpace
const uint16_t kDaikin176OneSpace
Definition: ir_Daikin.h:450
IRDaikin2::getEcono
bool getEcono(void) const
Get the Economical mode of the A/C.
Definition: ir_Daikin.cpp:1109
IRDaikin176::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:986
Daikin152Protocol::raw
uint8_t raw[kDaikin152StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:542
Daikin152Protocol::Fan
uint8_t Fan
Definition: ir_Daikin.h:558
Daikin2Protocol::Purify
uint64_t Purify
Definition: ir_Daikin.h:254
kDaikinHdrMark
const uint16_t kDaikinHdrMark
Definition: ir_Daikin.h:164
Daikin152Protocol::SwingV
uint8_t SwingV
Definition: ir_Daikin.h:557
kDaikinLightOff
const uint8_t kDaikinLightOff
Definition: ir_Daikin.h:159
IRDaikin2::setEcono
void setEcono(const bool on)
Set the Economy mode of the A/C.
Definition: ir_Daikin.cpp:1103
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:1989
Daikin2Protocol::Eye
uint64_t Eye
Definition: ir_Daikin.h:251
IRDaikin64::getOnTime
uint16_t getOnTime(void) const
Get the On Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:3779
kDaikin2Tolerance
const uint8_t kDaikin2Tolerance
Definition: ir_Daikin.h:277
kDaikin160SwingVLow
const uint8_t kDaikin160SwingVLow
Definition: ir_Daikin.h:403
IRDaikin128::getQuiet
bool getQuiet(void) const
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:2805
Daikin64Protocol::Power
uint8_t Power
Definition: ir_Daikin.h:612
kDaikin176DryFanTemp
const uint8_t kDaikin176DryFanTemp
Definition: ir_Daikin.h:463
IRDaikinESP::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:263
IRDaikin2::getBeep
uint8_t getBeep(void) const
Get the Beep status of the A/C.
Definition: ir_Daikin.cpp:1007
IRDaikin128::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Daikin.cpp:2745
DaikinESPProtocol::Powerful
uint64_t Powerful
Definition: ir_Daikin.h:107
kDaikin2OneSpace
const uint16_t kDaikin2OneSpace
Definition: ir_Daikin.h:272
kDaikin2SwingHWide
const uint8_t kDaikin2SwingHWide
Definition: ir_Daikin.h:291
IRDaikinESP::_
DaikinESPProtocol _
Definition: ir_Daikin.h:733
IRDaikin64::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:3523
IRDaikin64::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Daikin.cpp:3634
Daikin160Protocol::pad2
uint8_t pad2[2]
Definition: ir_Daikin.h:376
kDaikin128HdrMark
const uint16_t kDaikin128HdrMark
Definition: ir_Daikin.h:515
Daikin216Protocol::raw
uint8_t raw[kDaikin216StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:305
IRDaikin64::getSleep
bool getSleep(void) const
Get the Sleep mode of the A/C.
Definition: ir_Daikin.cpp:3746
stdAc::state_t
Structure to hold a common A/C state.
Definition: IRsend.h:97
IRDaikinESP::getQuiet
bool getQuiet(void) const
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:311
IRDaikin128::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:2611
IRDaikin64::send
void send(const uint16_t repeat=kDaikin64DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:3528
IRDaikin176::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:2212
IRDaikin216::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:1572
DaikinESPProtocol::Sum3
uint8_t Sum3
Definition: ir_Daikin.h:125
IRDaikin2::disableSleepTimer
void disableSleepTimer(void)
Disable the sleep timer.
Definition: ir_Daikin.cpp:1128
IRDaikin160::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:1855
Daikin176Protocol::Fan
uint8_t Fan
Definition: ir_Daikin.h:438
IRDaikin2::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Daikin.cpp:798
IRDaikin128::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:2708
IRDaikinESP::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:156
kDaikin128MaxTemp
const uint8_t kDaikin128MaxTemp
Definition: ir_Daikin.h:536
DaikinESPProtocol::Quiet
uint64_t Quiet
Definition: ir_Daikin.h:109
IRDaikin160::send
void send(const uint16_t repeat=kDaikin160DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:1862
kDaikinMaxTemp
const uint8_t kDaikinMaxTemp
Definition: ir_Daikin.h:136
IRDaikin176
Class for handling detailed Daikin 176-bit A/C messages.
Definition: ir_Daikin.h:944
kDaikin128FanHigh
const uint8_t kDaikin128FanHigh
Definition: ir_Daikin.h:530
IRDaikin216::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Daikin.cpp:1522
kDaikin128FanAuto
const uint8_t kDaikin128FanAuto
Definition: ir_Daikin.h:529
IRDaikin216::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:879
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:1187
Daikin2Protocol::CurrentTime
uint64_t CurrentTime
Definition: ir_Daikin.h:185
IRDaikinESP::getSwingVertical
bool getSwingVertical(void) const
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:285
kDaikin176Section1Length
const uint16_t kDaikin176Section1Length
Definition: ir_Daikin.h:454
Daikin64Protocol::raw
uint64_t raw
The state of the IR remote.
Definition: ir_Daikin.h:595
kDaikin2Freq
const uint16_t kDaikin2Freq
Definition: ir_Daikin.h:265
kDaikin128BitMark
const uint16_t kDaikin128BitMark
Definition: ir_Daikin.h:517
kDaikinMinTemp
const uint8_t kDaikinMinTemp
Definition: ir_Daikin.h:135
IRDaikin216::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:1557
IRDaikinESP::disableOnTimer
void disableOnTimer(void)
Clear and disable the On timer.
Definition: ir_Daikin.cpp:390
IRDaikin216::IRDaikin216
IRDaikin216(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class Constructor.
Definition: ir_Daikin.cpp:1440
DaikinESPProtocol::Temp
uint64_t Temp
Definition: ir_Daikin.h:93
IRDaikin2::getEyeAuto
bool getEyeAuto(void) const
Get the Automaitc Eye (Sensor) mode status of the A/C.
Definition: ir_Daikin.cpp:1085
IRDaikin2::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:826
kDaikinFanMin
const uint8_t kDaikinFanMin
Definition: ir_Daikin.h:137
IRDaikin152::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:3147
kDaikin128LeaderMark
const uint16_t kDaikin128LeaderMark
Definition: ir_Daikin.h:513
IRDaikin128::setSleep
void setSleep(const bool on)
Set the Sleep mode of the A/C.
Definition: ir_Daikin.cpp:2770
IRDaikinESP::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:530
kDaikin2SwingVCirculate
const uint8_t kDaikin2SwingVCirculate
Definition: ir_Daikin.h:285
Daikin128Protocol::ClockHours
uint8_t ClockHours
Definition: ir_Daikin.h:480
Daikin176Protocol::pad2
uint8_t pad2[2]
Definition: ir_Daikin.h:431
kDaikin2SwingHAuto
const uint8_t kDaikin2SwingHAuto
Definition: ir_Daikin.h:297
kDaikinLightDim
const uint8_t kDaikinLightDim
Definition: ir_Daikin.h:158
kDaikin176Fan
const uint8_t kDaikin176Fan
Definition: ir_Daikin.h:457
stdAc::opmode_t
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46
Daikin152Protocol
Native representation of a Daikin152 A/C message.
Definition: ir_Daikin.h:541