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 
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 =
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;
162 const uint8_t kDaikinTolerance = 35;
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 
176  struct{
177  uint8_t pad[3];
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;
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"
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;
300 
301 const uint8_t kDaikin2MinCoolTemp = 18; // Min temp (in C) when in Cool mode.
302 
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;
353 
354 const uint8_t kDaikin216SwingOn = 0b1111;
355 const uint8_t kDaikin216SwingOff = 0b0000;
356 
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;
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 
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;
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 
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;
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 
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;
588 const uint16_t kDaikin152Gap = 25182;
589 
590 const uint8_t kDaikin152DryTemp = kDaikin2MinCoolTemp; // Celsius
591 const uint8_t kDaikin152FanTemp = 0x60; // 96 Celsius
592 
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 
623 const uint16_t kDaikin64Gap = kDaikin128Gap;
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:
727 #else
728  IRsendTest _irsend;
730 #endif
732  // # of bytes per command
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:
822 #else
823  IRsendTest _irsend;
825 #endif
827  // # of bytes per command
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:
880 #else
881  IRsendTest _irsend;
883 #endif
885  // # of bytes per command
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:
932 #else
933  IRsendTest _irsend;
935 #endif
937  // # of bytes per command
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:
987 #else
988  IRsendTest _irsend;
990 #endif
992  // # of bytes per command
994  uint8_t _saved_temp;
995  void stateReset(void);
996  void checksum(void);
997 };
998 
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:
1057 #else
1058  IRsendTest _irsend;
1060 #endif
1062  // # of bytes per command
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 
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:
1119 #else
1120  IRsendTest _irsend;
1122 #endif
1124  // # of bytes per command
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:
1185 #else
1186  IRsendTest _irsend;
1188 #endif
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