IRremoteESP8266
ir_Daikin.h
Go to the documentation of this file.
1 // Copyright 2016 sillyfrog
2 // Copyright 2017 sillyfrog, crankyoldgit
3 // Copyright 2018-2021 crankyoldgit
4 // Copyright 2019 pasna (IRDaikin160 class / Daikin176 class)
5 
24 
25 // Supports:
26 // Brand: Daikin, Model: ARC433** remote (DAIKIN)
27 // Brand: Daikin, Model: ARC477A1 remote (DAIKIN2)
28 // Brand: Daikin, Model: FTXZ25NV1B A/C (DAIKIN2)
29 // Brand: Daikin, Model: FTXZ35NV1B A/C (DAIKIN2)
30 // Brand: Daikin, Model: FTXZ50NV1B A/C (DAIKIN2)
31 // Brand: Daikin, Model: ARC433B69 remote (DAIKIN216)
32 // Brand: Daikin, Model: ARC423A5 remote (DAIKIN160)
33 // Brand: Daikin, Model: FTE12HV2S A/C
34 // Brand: Daikin, Model: BRC4C153 remote (DAIKIN176)
35 // Brand: Daikin, Model: FFQ35B8V1B A/C (DAIKIN176)
36 // Brand: Daikin, Model: BRC4C151 remote (DAIKIN176)
37 // Brand: Daikin, Model: 17 Series A/C (DAIKIN128)
38 // Brand: Daikin, Model: FTXB12AXVJU A/C (DAIKIN128)
39 // Brand: Daikin, Model: FTXB09AXVJU A/C (DAIKIN128)
40 // Brand: Daikin, Model: BRC52B63 remote (DAIKIN128)
41 // Brand: Daikin, Model: ARC480A5 remote (DAIKIN152)
42 // Brand: Daikin, Model: FFN-C/FCN-F Series A/C (DAIKIN64)
43 // Brand: Daikin, Model: DGS01 remote (DAIKIN64)
44 // Brand: Daikin, Model: M Series A/C (DAIKIN)
45 // Brand: Daikin, Model: FTXM-M A/C (DAIKIN)
46 // Brand: Daikin, Model: ARC466A33 remote (DAIKIN)
47 // Brand: Daikin, Model: FTWX35AXV1 A/C (DAIKIN64)
48 // Brand: Daikin, Model: ARC484A4 remote (DAIKIN216)
49 // Brand: Daikin, Model: FTQ60TV16U2 A/C (DAIKIN216)
50 
51 #ifndef IR_DAIKIN_H_
52 #define IR_DAIKIN_H_
53 
54 #ifndef UNIT_TEST
55 #include <Arduino.h>
56 #endif
57 #include "IRrecv.h"
58 #include "IRremoteESP8266.h"
59 #include "IRsend.h"
60 #ifdef UNIT_TEST
61 #include "IRsend_test.h"
62 #endif
63 
67  struct {
68  // Byte 0~5
69  uint64_t :48;
70  // Byte 6
71  uint64_t :4;
72  uint64_t Comfort :1;
73  uint64_t :3;
74  // Byte 7
75  uint64_t Sum1 :8; // checksum of the first part
76 
77  // Byte 8~12
78  uint64_t :40;
79  // Byte 13~14
80  uint64_t CurrentTime :11; // Current time, mins past midnight
81  uint64_t CurrentDay :3; // Day of the week (SUN=1, MON=2, ..., SAT=7)
82  uint64_t :2;
83  // Byte 15
84  uint64_t Sum2 :8; // checksum of the second part
85 
86  // Byte 16~20
87  uint64_t :40;
88  // Byte 21
89  uint64_t Power :1;
90  uint64_t OnTimer :1;
91  uint64_t OffTimer :1;
92  uint64_t :1; // always 1
93  uint64_t Mode :3;
94  uint64_t :1;
95  // Byte 22
96  uint64_t :1;
97  uint64_t Temp :7; // Temp should be between 10 - 32
98  // Byte 23
99  uint64_t :8;
100 
101  // Byte 24
102  uint64_t SwingV :4; // 0000 = off, 1111 = on
103  uint64_t Fan :4;
104  // Byte 25
105  uint64_t SwingH :4; // 0000 = off, 1111 = on
106  uint64_t :4;
107  // Byte 26~28
108  uint64_t OnTime :12; // timer mins past midnight
109  uint64_t OffTime :12; // timer mins past midnight
110  // Byte 29
111  uint64_t Powerful :1;
112  uint64_t :4;
113  uint64_t Quiet :1;
114  uint64_t :2;
115  // Byte 30~31
116  uint64_t :0;
117 
118  // Byte 32
119  uint8_t :1;
120  uint8_t Sensor :1;
121  uint8_t Econo :1;
122  uint8_t :4;
123  uint8_t WeeklyTimer :1;
124  // Byte 33
125  uint8_t :1;
126  uint8_t Mold :1;
127  uint8_t :6;
128  // Byte 34
129  uint8_t Sum3 :8; // checksum of the third part
130  };
131 };
132 
133 // Constants
134 const uint8_t kDaikinAuto = 0b000; // temp 25
135 const uint8_t kDaikinDry = 0b010; // temp 0xc0 = 96 degrees c
136 const uint8_t kDaikinCool = 0b011;
137 const uint8_t kDaikinHeat = 0b100; // temp 23
138 const uint8_t kDaikinFan = 0b110; // temp not shown, but 25
139 const uint8_t kDaikinMinTemp = 10; // Celsius
140 const uint8_t kDaikinMaxTemp = 32; // Celsius
141 const uint8_t kDaikinFanMin = 1;
142 const uint8_t kDaikinFanMed = 3;
143 const uint8_t kDaikinFanMax = 5;
144 const uint8_t kDaikinFanAuto = 0b1010; // 10 / 0xA
145 const uint8_t kDaikinFanQuiet = 0b1011; // 11 / 0xB
146 const uint8_t kDaikinSwingOn = 0b1111;
147 const uint8_t kDaikinSwingOff = 0b0000;
148 const uint16_t kDaikinHeaderLength = 5;
149 const uint8_t kDaikinSections = 3;
150 const uint8_t kDaikinSection1Length = 8;
151 const uint8_t kDaikinSection2Length = 8;
152 const uint8_t kDaikinSection3Length =
154 const uint8_t kDaikinByteChecksum1 = 7;
155 const uint8_t kDaikinByteChecksum2 = 15;
156 // const uint8_t kDaikinBitEye = 0b10000000;
157 const uint16_t kDaikinUnusedTime = 0x600;
158 const uint8_t kDaikinBeepQuiet = 1;
159 const uint8_t kDaikinBeepLoud = 2;
160 const uint8_t kDaikinBeepOff = 3;
161 const uint8_t kDaikinLightBright = 1;
162 const uint8_t kDaikinLightDim = 2;
163 const uint8_t kDaikinLightOff = 3;
166 const uint8_t kDaikinTolerance = 35;
168 const uint16_t kDaikinHdrMark = 3650; // kDaikinBitMark * 8
169 const uint16_t kDaikinHdrSpace = 1623; // kDaikinBitMark * 4
170 const uint16_t kDaikinBitMark = 428;
171 const uint16_t kDaikinZeroSpace = 428;
172 const uint16_t kDaikinOneSpace = 1280;
173 const uint16_t kDaikinGap = 29000;
174 // Note bits in each octet swapped so can be sent as a single value
175 const uint64_t kDaikinFirstHeader64 =
176  0b1101011100000000000000001100010100000000001001111101101000010001;
177 
180  struct{
181  uint8_t pad[3];
183  };
184  struct {
185  // Byte -3~4
186  uint64_t :64;
187 
188  // Byte 5~6
189  uint64_t CurrentTime :12;
190  uint64_t :3;
191  uint64_t Power2 :1;
192  // Byte 7
193  uint64_t :4;
194  uint64_t Light :2;
195  uint64_t Beep :2;
196  // Byte 8
197  uint64_t FreshAir :1;
198  uint64_t :2;
199  uint64_t Mold :1;
200  uint64_t :1;
201  uint64_t Clean :1;
202  uint64_t :1;
203  uint64_t FreshAirHigh :1;
204  // Byte 9~12
205  uint64_t :32;
206 
207  // Byte 13
208  uint64_t :7;
209  uint64_t EyeAuto :1;
210  // Byte 14~16
211  uint64_t :24;
212  // Byte 17
213  uint64_t SwingH :8;
214  // Byte 18
215  uint64_t SwingV :4;
216  uint64_t :4;
217  // Byte 19
218  uint64_t Sum1 :8;
219  // Byte 20
220  uint64_t :8;
221 
222  // Byte 21~24
223  uint64_t :32;
224  // Byte 25
225  uint64_t Power :1;
226  uint64_t OnTimer :1;
227  uint64_t OffTimer :1;
228  uint64_t :1;
229  uint64_t Mode :3;
230  uint64_t :1;
231  // Byte 26
232  uint64_t :1;
233  uint64_t Temp :6;
234  uint64_t HumidOn :1;
235  // Byte 27
236  uint64_t Humidity :8;
237  // Byte 28
238  uint64_t :4;
239  uint64_t Fan :4;
240 
241  // Byte 29
242  uint64_t :8;
243  // Byte 30~32
245  uint64_t OnTime :12;
246  uint64_t OffTime :12;
247  // Byte 33
248  uint64_t Powerful :1;
249  uint64_t :4;
250  uint64_t Quiet :1;
251  uint64_t :2;
252  // Byte 34~35
253  uint64_t :16;
254  // Byte 36
255  uint64_t :1;
256  uint64_t Eye :1;
257  uint64_t Econo :1;
258  uint64_t :1;
259  uint64_t Purify :1;
260  uint64_t SleepTimer :1;
261  uint64_t :2;
262 
263  // Byte 37
264  uint8_t :8;
265  // Byte 38
266  uint8_t Sum2 :8;
267  };
268 };
269 
270 const uint16_t kDaikin2Freq = 36700; // Modulation Frequency in Hz.
271 const uint16_t kDaikin2LeaderMark = 10024;
272 const uint16_t kDaikin2LeaderSpace = 25180;
274 const uint16_t kDaikin2HdrMark = 3500;
275 const uint16_t kDaikin2HdrSpace = 1728;
276 const uint16_t kDaikin2BitMark = 460;
277 const uint16_t kDaikin2OneSpace = 1270;
278 const uint16_t kDaikin2ZeroSpace = 420;
279 const uint16_t kDaikin2Sections = 2;
280 const uint16_t kDaikin2Section1Length = 20;
281 const uint16_t kDaikin2Section2Length = 19;
282 const uint8_t kDaikin2Tolerance = 5; // Extra percentage tolerance
283 const uint8_t kDaikin2SwingVHighest = 0x1;
284 const uint8_t kDaikin2SwingVHigh = 0x2;
285 const uint8_t kDaikin2SwingVUpperMiddle = 0x3;
286 const uint8_t kDaikin2SwingVLowerMiddle = 0x4;
287 const uint8_t kDaikin2SwingVLow = 0x5;
288 const uint8_t kDaikin2SwingVLowest = 0x6;
289 const uint8_t kDaikin2SwingVBreeze = 0xC;
290 const uint8_t kDaikin2SwingVCirculate = 0xD;
291 const uint8_t kDaikin2SwingVOff = 0xE;
292 const uint8_t kDaikin2SwingVAuto = 0xF; // A.k.a "Swing"
294 
295 
296 const uint8_t kDaikin2SwingHWide = 0xA3;
297 const uint8_t kDaikin2SwingHLeftMax = 0xA8;
298 const uint8_t kDaikin2SwingHLeft = 0xA9;
299 const uint8_t kDaikin2SwingHMiddle = 0xAA;
300 const uint8_t kDaikin2SwingHRight = 0xAB;
301 const uint8_t kDaikin2SwingHRightMax = 0xAC;
302 const uint8_t kDaikin2SwingHAuto = 0xBE; // A.k.a "Swing"
303 const uint8_t kDaikin2SwingHOff = 0xBF;
305 
306 // Ref:
307 // https://github.com/crankyoldgit/IRremoteESP8266/issues/1535#issuecomment-882092486
308 // https://docs.google.com/spreadsheets/d/1kxHgFqiUB9ETXYEkszAIN5gE-t2ykvnPCnOV-sPUE0A/edit?usp=sharing
309 const uint8_t kDaikin2HumidityOff = 0x00;
310 const uint8_t kDaikin2HumidityHeatLow = 0x28; // Humidify (Heat) only (40%?)
311 const uint8_t kDaikin2HumidityHeatMedium = 0x2D; // Humidify (Heat) only (45%?)
312 const uint8_t kDaikin2HumidityHeatHigh = 0x32; // Humidify (Heat) only (50%?)
313 const uint8_t kDaikin2HumidityDryLow = 0x32; // Dry only (50%?)
314 const uint8_t kDaikin2HumidityDryMedium = 0x37; // Dry only (55%?)
315 const uint8_t kDaikin2HumidityDryHigh = 0x3C; // Dry only (60%?)
316 const uint8_t kDaikin2HumidityAuto = 0xFF;
317 
318 
319 const uint8_t kDaikin2MinCoolTemp = 18; // Min temp (in C) when in Cool mode.
320 
324  struct {
325  // Byte 0~6
326  uint8_t pad0[7];
327  // Byte 7
328  uint8_t Sum1 :8;
329  // Byte 8~12
330  uint8_t pad1[5];
331  // Byte 13
332  uint8_t Power :1;
333  uint8_t :3;
334  uint8_t Mode :3;
335  uint8_t :1;
336  // Byte 14
337  uint8_t :1;
338  uint8_t Temp :6;
339  uint8_t :1;
340  // Byte 15
341  uint8_t :8;
342  // Byte 16
343  uint8_t SwingV :4;
344  uint8_t Fan :4;
345  // Byte 17
346  uint8_t SwingH :4;
347  uint8_t :4;
348  // Byte 18~20
349  uint8_t pad2[3];
350  // Byte 21
351  uint8_t Powerful :1;
352  uint8_t :0;
353  // Byte 22~25
354  uint8_t pad3[4];
355  // Byte 26
356  uint8_t Sum2 :8;
357  };
358 };
359 
360 const uint16_t kDaikin216Freq = 38000; // Modulation Frequency in Hz.
361 const uint16_t kDaikin216HdrMark = 3440;
362 const uint16_t kDaikin216HdrSpace = 1750;
363 const uint16_t kDaikin216BitMark = 420;
364 const uint16_t kDaikin216OneSpace = 1300;
365 const uint16_t kDaikin216ZeroSpace = 450;
366 const uint16_t kDaikin216Gap = 29650;
367 const uint16_t kDaikin216Sections = 2;
368 const uint16_t kDaikin216Section1Length = 8;
371 
372 const uint8_t kDaikin216SwingOn = 0b1111;
373 const uint8_t kDaikin216SwingOff = 0b0000;
374 
378  struct {
379  // Byte 0~5
380  uint8_t pad0[6];
381  // Byte 6
382  uint8_t Sum1 :8;
383  // Byte 7~11
384  uint8_t pad1[5];
385  // Byte 12
386  uint8_t Power :1;
387  uint8_t :3;
388  uint8_t Mode :3;
389  uint8_t :1;
390  // Byte 13
391  uint8_t :4;
392  uint8_t SwingV :4;
393  // Byte 14~15
394  uint8_t pad2[2];
395  // Byte 16
396  uint8_t :1;
397  uint8_t Temp :6;
398  uint8_t :1;
399  // Byte 17
400  uint8_t Fan :4;
401  uint8_t :4;
402  // Byte 18
403  uint8_t :8;
404  // Byte 19
405  uint8_t Sum2 :8;
406  };
407 };
408 
409 const uint16_t kDaikin160Freq = 38000; // Modulation Frequency in Hz.
410 const uint16_t kDaikin160HdrMark = 5000;
411 const uint16_t kDaikin160HdrSpace = 2145;
412 const uint16_t kDaikin160BitMark = 342;
413 const uint16_t kDaikin160OneSpace = 1786;
414 const uint16_t kDaikin160ZeroSpace = 700;
415 const uint16_t kDaikin160Gap = 29650;
416 const uint16_t kDaikin160Sections = 2;
417 const uint16_t kDaikin160Section1Length = 7;
420 const uint8_t kDaikin160SwingVLowest = 0x1;
421 const uint8_t kDaikin160SwingVLow = 0x2;
422 const uint8_t kDaikin160SwingVMiddle = 0x3;
423 const uint8_t kDaikin160SwingVHigh = 0x4;
424 const uint8_t kDaikin160SwingVHighest = 0x5;
425 const uint8_t kDaikin160SwingVAuto = 0xF;
426 
430  struct {
431  // Byte 0~2
432  uint8_t :8;
433  uint8_t :8;
434  uint8_t :8;
435  // Byte 3
436  uint8_t Id1 :1;
437  uint8_t :7;
438  // Byte 4
439  uint8_t :8;
440  // Byte 5
441  uint8_t :8;
442  // Byte 6
443  uint8_t Sum1 :8;
444  // Byte 7-9
445  uint8_t :8;
446  uint8_t :8;
447  uint8_t :8;
448  // Byte 10
449  uint8_t Id2 :1;
450  uint8_t :7;
451  // Byte 11
452  uint8_t :8;
453  // Byte 12
454  uint8_t :4;
455  uint8_t AltMode :3;
456  uint8_t :1;
457  // Byte 13
458  uint8_t ModeButton :8;
459  // Byte 14
460  uint8_t Power :1;
461  uint8_t :3;
462  uint8_t Mode :3;
463  uint8_t :1;
464  // Byte 15~16
465  uint8_t pad2[2];
466  // Byte 17
467  uint8_t :1;
468  uint8_t Temp :6;
469  uint8_t :1;
470  // Byte 18
471  uint8_t SwingH :4;
472  uint8_t Fan :4;
473  // Byte 19~20
474  uint8_t pad3[2];
475  // Byte 21
476  uint8_t Sum2 :8;
477  };
478 };
479 
480 const uint16_t kDaikin176Freq = 38000; // Modulation Frequency in Hz.
481 const uint16_t kDaikin176HdrMark = 5070;
482 const uint16_t kDaikin176HdrSpace = 2140;
483 const uint16_t kDaikin176BitMark = 370;
484 const uint16_t kDaikin176OneSpace = 1780;
485 const uint16_t kDaikin176ZeroSpace = 710;
486 const uint16_t kDaikin176Gap = 29410;
487 const uint16_t kDaikin176Sections = 2;
488 const uint16_t kDaikin176Section1Length = 7;
491 const uint8_t kDaikin176Fan = 0b000; // 0
492 const uint8_t kDaikin176Heat = 0b001; // 1
493 const uint8_t kDaikin176Cool = 0b010; // 2
494 const uint8_t kDaikin176Auto = 0b011; // 3
495 const uint8_t kDaikin176Dry = 0b111; // 7
496 const uint8_t kDaikin176ModeButton = 0b00000100;
497 const uint8_t kDaikin176DryFanTemp = 17; // Dry/Fan mode is always 17 Celsius.
498 const uint8_t kDaikin176FanMax = 3;
499 const uint8_t kDaikin176SwingHAuto = 0x5;
500 const uint8_t kDaikin176SwingHOff = 0x6;
501 
505  struct {
506  // Byte 0
507  uint8_t :8;
508  // Byte 1
509  uint8_t Mode :4;
510  uint8_t Fan :4;
511  // Byte 2
512  uint8_t ClockMins :8;
513  // Byte 3
514  uint8_t ClockHours :8;
515  // Byte 4
516  uint8_t OnHours :6;
517  uint8_t OnHalfHour :1;
518  uint8_t OnTimer :1;
519  // Byte 5
520  uint8_t OffHours :6;
521  uint8_t OffHalfHour :1;
522  uint8_t OffTimer :1;
523  // Byte 6
524  uint8_t Temp :8;
525  // Byte 7
526  uint8_t SwingV :1;
527  uint8_t Sleep :1;
528  uint8_t :1; // always 1
529  uint8_t Power :1;
530  uint8_t Sum1 :4;
531  // Byte 8
532  uint8_t :8;
533  // Byte 9
534  uint8_t Ceiling :1;
535  uint8_t :1;
536  uint8_t Econo :1;
537  uint8_t Wall :1;
538  uint8_t :4;
539  // Byte 10~14
540  uint8_t pad[5];
541  // Byte 15
542  uint8_t Sum2 :8;
543  };
544 };
545 
546 const uint16_t kDaikin128Freq = 38000; // Modulation Frequency in Hz.
547 const uint16_t kDaikin128LeaderMark = 9800;
548 const uint16_t kDaikin128LeaderSpace = 9800;
549 const uint16_t kDaikin128HdrMark = 4600;
550 const uint16_t kDaikin128HdrSpace = 2500;
551 const uint16_t kDaikin128BitMark = 350;
552 const uint16_t kDaikin128OneSpace = 954;
553 const uint16_t kDaikin128ZeroSpace = 382;
554 const uint16_t kDaikin128Gap = 20300;
556 const uint16_t kDaikin128Sections = 2;
557 const uint16_t kDaikin128SectionLength = 8;
558 const uint8_t kDaikin128Dry = 0b00000001;
559 const uint8_t kDaikin128Cool = 0b00000010;
560 const uint8_t kDaikin128Fan = 0b00000100;
561 const uint8_t kDaikin128Heat = 0b00001000;
562 const uint8_t kDaikin128Auto = 0b00001010;
563 const uint8_t kDaikin128FanAuto = 0b0001;
564 const uint8_t kDaikin128FanHigh = 0b0010;
565 const uint8_t kDaikin128FanMed = 0b0100;
566 const uint8_t kDaikin128FanLow = 0b1000;
567 const uint8_t kDaikin128FanPowerful = 0b0011;
568 const uint8_t kDaikin128FanQuiet = 0b1001;
569 const uint8_t kDaikin128MinTemp = 16; // C
570 const uint8_t kDaikin128MaxTemp = 30; // C
571 const uint8_t kDaikin128BitWall = 0b00001000;
572 const uint8_t kDaikin128BitCeiling = 0b00000001;
573 
577  struct {
578  // Byte 0~4
579  uint8_t pad0[5];
580  // Byte 5
581  uint8_t Power :1;
582  uint8_t :3;
583  uint8_t Mode :3;
584  uint8_t :1;
585  // Byte 6
586  uint8_t :1;
587  uint8_t Temp :7;
588  // Byte 7
589  uint8_t :8;
590  // Byte 8
591  uint8_t SwingV :4;
592  uint8_t Fan :4;
593  // Byte 9~12
594  uint8_t pad1[4];
595  // Byte 13
596  uint8_t Powerful :1;
597  uint8_t :4;
598  uint8_t Quiet :1;
599  uint8_t :2;
600  // Byte 14~15
601  uint8_t pad2[2];
602  // Byte 16
603  uint8_t :1;
604  uint8_t Comfort :1;
605  uint8_t Econo :1;
606  uint8_t Sensor :1;
607  uint8_t :4;
608  // Byte 17
609  uint8_t :8;
610  // Byte 18
611  uint8_t Sum :8;
612  };
613 };
614 
615 const uint16_t kDaikin152Freq = 38000; // Modulation Frequency in Hz.
616 const uint8_t kDaikin152LeaderBits = 5;
617 const uint16_t kDaikin152HdrMark = 3492;
618 const uint16_t kDaikin152HdrSpace = 1718;
619 const uint16_t kDaikin152BitMark = 433;
620 const uint16_t kDaikin152OneSpace = 1529;
622 const uint16_t kDaikin152Gap = 25182;
623 
624 const uint8_t kDaikin152DryTemp = kDaikin2MinCoolTemp; // Celsius
625 const uint8_t kDaikin152FanTemp = 0x60; // 96 Celsius
626 
629  uint64_t raw;
630  struct {
631  uint8_t :8;
632  uint8_t Mode :4;
633  uint8_t Fan :4;
634  uint8_t ClockMins :8;
635  uint8_t ClockHours :8;
636  uint8_t OnHours :6;
637  uint8_t OnHalfHour :1;
638  uint8_t OnTimer :1;
639  uint8_t OffHours :6;
640  uint8_t OffHalfHour :1;
641  uint8_t OffTimer :1;
642  uint8_t Temp :8;
643  uint8_t SwingV :1;
644  uint8_t Sleep :1;
645  uint8_t :1;
646  uint8_t Power :1;
647  uint8_t Sum :4;
648  };
649 };
650 
657 const uint16_t kDaikin64Gap = kDaikin128Gap;
659 const uint16_t kDaikin64Freq = kDaikin128Freq; // Hz.
660 const uint8_t kDaikin64Overhead = 9;
661 const int8_t kDaikin64ToleranceDelta = 5; // +5%
662 
663 const uint64_t kDaikin64KnownGoodState = 0x7C16161607204216;
664 const uint8_t kDaikin64Dry = 0b0001;
665 const uint8_t kDaikin64Cool = 0b0010;
666 const uint8_t kDaikin64Fan = 0b0100;
667 const uint8_t kDaikin64Heat = 0b1000;
668 const uint8_t kDaikin64FanAuto = 0b0001;
669 const uint8_t kDaikin64FanLow = 0b1000;
670 const uint8_t kDaikin64FanMed = 0b0100;
671 const uint8_t kDaikin64FanHigh = 0b0010;
672 const uint8_t kDaikin64FanQuiet = 0b1001;
673 const uint8_t kDaikin64FanTurbo = 0b0011;
674 const uint8_t kDaikin64MinTemp = 16; // Celsius
675 const uint8_t kDaikin64MaxTemp = 30; // Celsius
676 const uint8_t kDaikin64ChecksumOffset = 60;
677 const uint8_t kDaikin64ChecksumSize = 4; // Mask 0b1111 << 59
678 
679 // Legacy defines.
680 #define DAIKIN_COOL kDaikinCool
681 #define DAIKIN_HEAT kDaikinHeat
682 #define DAIKIN_FAN kDaikinFan
683 #define DAIKIN_AUTO kDaikinAuto
684 #define DAIKIN_DRY kDaikinDry
685 #define DAIKIN_MIN_TEMP kDaikinMinTemp
686 #define DAIKIN_MAX_TEMP kDaikinMaxTemp
687 #define DAIKIN_FAN_MIN kDaikinFanMin
688 #define DAIKIN_FAN_MAX kDaikinFanMax
689 #define DAIKIN_FAN_AUTO kDaikinFanAuto
690 #define DAIKIN_FAN_QUIET kDaikinFanQuiet
691 
693 class IRDaikinESP {
694  public:
695  explicit IRDaikinESP(const uint16_t pin, const bool inverted = false,
696  const bool use_modulation = true);
697 
698 #if SEND_DAIKIN
699  void send(const uint16_t repeat = kDaikinDefaultRepeat);
704  int8_t calibrate(void) { return _irsend.calibrate(); }
705 #endif
706  void begin(void);
707  void on(void);
708  void off(void);
709  void setPower(const bool on);
710  bool getPower(void) const;
711  void setTemp(const uint8_t temp);
712  uint8_t getTemp(void) const;
713  void setFan(const uint8_t fan);
714  uint8_t getFan(void) const;
715  void setMode(const uint8_t mode);
716  uint8_t getMode(void) const;
717  void setSwingVertical(const bool on);
718  bool getSwingVertical(void) const;
719  void setSwingHorizontal(const bool on);
720  bool getSwingHorizontal(void) const;
721  bool getQuiet(void) const;
722  void setQuiet(const bool on);
723  bool getPowerful(void) const;
724  void setPowerful(const bool on);
725  void setSensor(const bool on);
726  bool getSensor(void) const;
727  void setEcono(const bool on);
728  bool getEcono(void) const;
729  void setMold(const bool on);
730  bool getMold(void) const;
731  void setComfort(const bool on);
732  bool getComfort(void) const;
733  void enableOnTimer(const uint16_t starttime);
734  void disableOnTimer(void);
735  uint16_t getOnTime(void) const;
736  bool getOnTimerEnabled(void) const;
737  void enableOffTimer(const uint16_t endtime);
738  void disableOffTimer(void);
739  uint16_t getOffTime(void) const;
740  bool getOffTimerEnabled(void) const;
741  void setCurrentTime(const uint16_t mins_since_midnight);
742  uint16_t getCurrentTime(void) const;
743  void setCurrentDay(const uint8_t day_of_week);
744  uint8_t getCurrentDay(void) const;
745  void setWeeklyTimerEnable(const bool on);
746  bool getWeeklyTimerEnable(void) const;
747  uint8_t* getRaw(void);
748  void setRaw(const uint8_t new_code[],
749  const uint16_t length = kDaikinStateLength);
750  static bool validChecksum(uint8_t state[],
751  const uint16_t length = kDaikinStateLength);
752  static uint8_t convertMode(const stdAc::opmode_t mode);
753  static uint8_t convertFan(const stdAc::fanspeed_t speed);
754  static stdAc::opmode_t toCommonMode(const uint8_t mode);
755  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
756  stdAc::state_t toCommon(void) const;
757  String toString(void) const;
758 #ifndef UNIT_TEST
759 
760  private:
762 #else
763  IRsendTest _irsend;
765 #endif
767  // # of bytes per command
769  void stateReset(void);
770  void checksum(void);
771 };
772 
775 class IRDaikin2 {
776  public:
777  explicit IRDaikin2(const uint16_t pin, const bool inverted = false,
778  const bool use_modulation = true);
779 
780 #if SEND_DAIKIN2
781  void send(const uint16_t repeat = kDaikin2DefaultRepeat);
786  int8_t calibrate(void) { return _irsend.calibrate(); }
787 #endif
788  void begin(void);
789  void on(void);
790  void off(void);
791  void setPower(const bool state);
792  bool getPower(void) const;
793  void setTemp(const uint8_t temp);
794  uint8_t getTemp(void) const;
795  void setFan(const uint8_t fan);
796  uint8_t getFan(void) const;
797  uint8_t getMode(void) const;
798  void setMode(const uint8_t mode);
799  void setSwingVertical(const uint8_t position);
800  uint8_t getSwingVertical(void) const;
801  void setSwingHorizontal(const uint8_t position);
802  uint8_t getSwingHorizontal(void) const;
803  bool getQuiet(void) const;
804  void setQuiet(const bool on);
805  bool getPowerful(void) const;
806  void setPowerful(const bool on);
807  void setEcono(const bool on);
808  bool getEcono(void) const;
809  void setEye(const bool on);
810  bool getEye(void) const;
811  void setEyeAuto(const bool on);
812  bool getEyeAuto(void) const;
813  void setPurify(const bool on);
814  bool getPurify(void) const;
815  void setMold(const bool on);
816  bool getMold(void) const;
817  void enableOnTimer(const uint16_t starttime);
818  void disableOnTimer(void);
819  uint16_t getOnTime(void) const;
820  bool getOnTimerEnabled(void) const;
821  void enableSleepTimer(const uint16_t sleeptime);
822  void disableSleepTimer(void);
823  uint16_t getSleepTime(void) const;
824  bool getSleepTimerEnabled(void) const;
825  void enableOffTimer(const uint16_t endtime);
826  void disableOffTimer(void);
827  uint16_t getOffTime(void) const;
828  bool getOffTimerEnabled(void) const;
829  void setCurrentTime(const uint16_t time);
830  uint16_t getCurrentTime(void) const;
831  void setBeep(const uint8_t beep);
832  uint8_t getBeep(void) const;
833  void setLight(const uint8_t light);
834  uint8_t getLight(void) const;
835  void setClean(const bool on);
836  bool getClean(void) const;
837  void setFreshAir(const bool on);
838  bool getFreshAir(void) const;
839  void setFreshAirHigh(const bool on);
840  bool getFreshAirHigh(void) const;
841  uint8_t getHumidity(void) const;
842  void setHumidity(const uint8_t percent);
843  uint8_t* getRaw(void);
844  void setRaw(const uint8_t new_code[]);
845  static bool validChecksum(uint8_t state[],
846  const uint16_t length = kDaikin2StateLength);
847  static uint8_t convertMode(const stdAc::opmode_t mode);
848  static uint8_t convertFan(const stdAc::fanspeed_t speed);
849  static uint8_t convertSwingV(const stdAc::swingv_t position);
850  static uint8_t convertSwingH(const stdAc::swingh_t position);
851  static stdAc::swingv_t toCommonSwingV(const uint8_t setting);
852  static stdAc::swingh_t toCommonSwingH(const uint8_t setting);
853  stdAc::state_t toCommon(void) const;
854  String toString(void) const;
855 #ifndef UNIT_TEST
856 
857  private:
859 #else
860  IRsendTest _irsend;
862 #endif
864  // # of bytes per command
866  void stateReset(void);
867  void checksum(void);
868  void clearOnTimerFlag(void);
869  void clearSleepTimerFlag(void);
870 };
871 
873 class IRDaikin216 {
874  public:
875  explicit IRDaikin216(const uint16_t pin, const bool inverted = false,
876  const bool use_modulation = true);
877 
878 #if SEND_DAIKIN216
879  void send(const uint16_t repeat = kDaikin216DefaultRepeat);
884  int8_t calibrate(void) { return _irsend.calibrate(); }
885 #endif
886  void begin(void);
887  uint8_t* getRaw(void);
888  void setRaw(const uint8_t new_code[]);
889  static bool validChecksum(uint8_t state[],
890  const uint16_t length = kDaikin216StateLength);
891  void on(void);
892  void off(void);
893  void setPower(const bool on);
894  bool getPower(void) const;
895  void setTemp(const uint8_t temp);
896  uint8_t getTemp(void) const;
897  void setMode(const uint8_t mode);
898  uint8_t getMode(void) const;
899  static uint8_t convertMode(const stdAc::opmode_t mode);
900  void setFan(const uint8_t fan);
901  uint8_t getFan(void) const;
902  static uint8_t convertFan(const stdAc::fanspeed_t speed);
903  void setSwingVertical(const bool on);
904  bool getSwingVertical(void) const;
905  void setSwingHorizontal(const bool on);
906  bool getSwingHorizontal(void) const;
907  void setQuiet(const bool on);
908  bool getQuiet(void) const;
909  void setPowerful(const bool on);
910  bool getPowerful(void) const;
911  stdAc::state_t toCommon(void) const;
912  String toString(void) const;
913 #ifndef UNIT_TEST
914 
915  private:
917 #else
918  IRsendTest _irsend;
920 #endif
922  // # of bytes per command
924  void stateReset(void);
925  void checksum(void);
926 };
927 
929 class IRDaikin160 {
930  public:
931  explicit IRDaikin160(const uint16_t pin, const bool inverted = false,
932  const bool use_modulation = true);
933 
934 #if SEND_DAIKIN160
935  void send(const uint16_t repeat = kDaikin160DefaultRepeat);
940  int8_t calibrate(void) { return _irsend.calibrate(); }
941 #endif
942  void begin(void);
943  uint8_t* getRaw(void);
944  void setRaw(const uint8_t new_code[]);
945  static bool validChecksum(uint8_t state[],
946  const uint16_t length = kDaikin160StateLength);
947  void on(void);
948  void off(void);
949  void setPower(const bool on);
950  bool getPower(void) const;
951  void setTemp(const uint8_t temp);
952  uint8_t getTemp(void) const;
953  void setMode(const uint8_t mode);
954  uint8_t getMode(void) const;
955  static uint8_t convertMode(const stdAc::opmode_t mode);
956  void setFan(const uint8_t fan);
957  uint8_t getFan(void) const;
958  static uint8_t convertFan(const stdAc::fanspeed_t speed);
959  void setSwingVertical(const uint8_t position);
960  uint8_t getSwingVertical(void) const;
961  static uint8_t convertSwingV(const stdAc::swingv_t position);
962  static stdAc::swingv_t toCommonSwingV(const uint8_t setting);
963  stdAc::state_t toCommon(void) const;
964  String toString(void) const;
965 #ifndef UNIT_TEST
966 
967  private:
969 #else
970  IRsendTest _irsend;
972 #endif
974  // # of bytes per command
976  void stateReset(void);
977  void checksum(void);
978 };
979 
981 class IRDaikin176 {
982  public:
983  explicit IRDaikin176(const uint16_t pin, const bool inverted = false,
984  const bool use_modulation = true);
985 
986 #if SEND_DAIKIN176
987  void send(const uint16_t repeat = kDaikin176DefaultRepeat);
992  int8_t calibrate(void) { return _irsend.calibrate(); }
993 #endif
994  void begin(void);
995  uint8_t* getRaw(void);
996  void setRaw(const uint8_t new_code[]);
997  static bool validChecksum(uint8_t state[],
998  const uint16_t length = kDaikin176StateLength);
999  void on(void);
1000  void off(void);
1001  void setPower(const bool on);
1002  bool getPower(void) const;
1003  void setTemp(const uint8_t temp);
1004  uint8_t getTemp(void) const;
1005  void setMode(const uint8_t mode);
1006  uint8_t getMode(void) const;
1007  static uint8_t convertMode(const stdAc::opmode_t mode);
1008  void setFan(const uint8_t fan);
1009  uint8_t getFan(void) const;
1010  static uint8_t convertFan(const stdAc::fanspeed_t speed);
1011  void setSwingHorizontal(const uint8_t position);
1012  uint8_t getSwingHorizontal(void) const;
1013  uint8_t getId(void) const;
1014  void setId(const uint8_t num);
1015  static uint8_t convertSwingH(const stdAc::swingh_t position);
1016  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
1017  static stdAc::opmode_t toCommonMode(const uint8_t mode);
1018  static stdAc::swingh_t toCommonSwingH(const uint8_t setting);
1019  stdAc::state_t toCommon(void) const;
1020  String toString(void) const;
1021 
1022 #ifndef UNIT_TEST
1023 
1024  private:
1026 #else
1027  IRsendTest _irsend;
1029 #endif
1031  // # of bytes per command
1033  uint8_t _saved_temp;
1034  void stateReset(void);
1035  void checksum(void);
1036 };
1037 
1041  public:
1042  explicit IRDaikin128(const uint16_t pin, const bool inverted = false,
1043  const bool use_modulation = true);
1044 #if SEND_DAIKIN128
1045  void send(const uint16_t repeat = kDaikin128DefaultRepeat);
1050  int8_t calibrate(void) { return _irsend.calibrate(); }
1051 #endif // SEND_DAIKIN128
1052  void begin(void);
1053  void setPowerToggle(const bool toggle);
1054  bool getPowerToggle(void) const;
1055  void setTemp(const uint8_t temp);
1056  uint8_t getTemp(void) const;
1057  void setFan(const uint8_t fan);
1058  uint8_t getFan(void) const;
1059  uint8_t getMode(void) const;
1060  void setMode(const uint8_t mode);
1061  void setSwingVertical(const bool on);
1062  bool getSwingVertical(void) const;
1063  bool getSleep(void) const;
1064  void setSleep(const bool on);
1065  bool getQuiet(void) const;
1066  void setQuiet(const bool on);
1067  bool getPowerful(void) const;
1068  void setPowerful(const bool on);
1069  void setEcono(const bool on);
1070  bool getEcono(void) const;
1071  void setOnTimer(const uint16_t mins_since_midnight);
1072  uint16_t getOnTimer(void) const;
1073  bool getOnTimerEnabled(void) const;
1074  void setOnTimerEnabled(const bool on);
1075  void setOffTimer(const uint16_t mins_since_midnight);
1076  uint16_t getOffTimer(void) const;
1077  bool getOffTimerEnabled(void) const;
1078  void setOffTimerEnabled(const bool on);
1079  void setClock(const uint16_t mins_since_midnight);
1080  uint16_t getClock(void) const;
1081  void setLightToggle(const uint8_t unit_type);
1082  uint8_t getLightToggle(void) const;
1083  uint8_t* getRaw(void);
1084  void setRaw(const uint8_t new_code[]);
1085  static bool validChecksum(uint8_t state[]);
1086  static uint8_t convertMode(const stdAc::opmode_t mode);
1087  static uint8_t convertFan(const stdAc::fanspeed_t speed);
1088  static stdAc::opmode_t toCommonMode(const uint8_t mode);
1089  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
1090  stdAc::state_t toCommon(const stdAc::state_t *prev = NULL) const;
1091  String toString(void) const;
1092 #ifndef UNIT_TEST
1093 
1094  private:
1096 #else
1097  IRsendTest _irsend;
1099 #endif
1101  // # of bytes per command
1103  void stateReset(void);
1104  static uint8_t calcFirstChecksum(const uint8_t state[]);
1105  static uint8_t calcSecondChecksum(const uint8_t state[]);
1106  void checksum(void);
1107 };
1108 
1111  public:
1112  explicit IRDaikin152(const uint16_t pin, const bool inverted = false,
1113  const bool use_modulation = true);
1114 
1115 #if SEND_DAIKIN152
1116  void send(const uint16_t repeat = kDaikin152DefaultRepeat);
1121  int8_t calibrate(void) { return _irsend.calibrate(); }
1122 #endif
1123  void begin(void);
1124  uint8_t* getRaw(void);
1125  void setRaw(const uint8_t new_code[]);
1126  static bool validChecksum(uint8_t state[],
1127  const uint16_t length = kDaikin152StateLength);
1128  void on(void);
1129  void off(void);
1130  void setPower(const bool on);
1131  bool getPower(void) const;
1132  void setTemp(const uint8_t temp);
1133  uint8_t getTemp(void) const;
1134  void setFan(const uint8_t fan);
1135  uint8_t getFan(void) const;
1136  void setMode(const uint8_t mode);
1137  uint8_t getMode(void) const;
1138  void setSwingV(const bool on);
1139  bool getSwingV(void) const;
1140  bool getQuiet(void) const;
1141  void setQuiet(const bool on);
1142  bool getPowerful(void) const;
1143  void setPowerful(const bool on);
1144  void setSensor(const bool on);
1145  bool getSensor(void) const;
1146  void setEcono(const bool on);
1147  bool getEcono(void) const;
1148  void setComfort(const bool on);
1149  bool getComfort(void) const;
1150  static uint8_t convertMode(const stdAc::opmode_t mode);
1151  static uint8_t convertFan(const stdAc::fanspeed_t speed);
1152  stdAc::state_t toCommon(void) const;
1153  String toString(void) const;
1154 #ifndef UNIT_TEST
1155 
1156  private:
1158 #else
1159  IRsendTest _irsend;
1161 #endif
1163  // # of bytes per command
1165  void stateReset(void);
1166  void checksum(void);
1167 };
1168 
1170 class IRDaikin64 {
1171  public:
1172  explicit IRDaikin64(const uint16_t pin, const bool inverted = false,
1173  const bool use_modulation = true);
1174 
1175 #if SEND_DAIKIN64
1176  void send(const uint16_t repeat = kDaikin64DefaultRepeat);
1181  int8_t calibrate(void) { return _irsend.calibrate(); }
1182 #endif // SEND_DAIKIN64
1183  void begin(void);
1184  uint64_t getRaw(void);
1185  void setRaw(const uint64_t new_state);
1186  static uint8_t calcChecksum(const uint64_t state);
1187  static bool validChecksum(const uint64_t state);
1188  void setPowerToggle(const bool on);
1189  bool getPowerToggle(void) const;
1190  void setTemp(const uint8_t temp);
1191  uint8_t getTemp(void) const;
1192  void setFan(const uint8_t fan);
1193  uint8_t getFan(void) const;
1194  void setMode(const uint8_t mode);
1195  uint8_t getMode(void) const;
1196  void setSwingVertical(const bool on);
1197  bool getSwingVertical(void) const;
1198  void setSleep(const bool on);
1199  bool getSleep(void) const;
1200  bool getQuiet(void) const;
1201  void setQuiet(const bool on);
1202  bool getTurbo(void) const;
1203  void setTurbo(const bool on);
1204  void setClock(const uint16_t mins_since_midnight);
1205  uint16_t getClock(void) const;
1206  void setOnTimeEnabled(const bool on);
1207  bool getOnTimeEnabled(void) const;
1208  void setOnTime(const uint16_t mins_since_midnight);
1209  uint16_t getOnTime(void) const;
1210  void setOffTimeEnabled(const bool on);
1211  bool getOffTimeEnabled(void) const;
1212  void setOffTime(const uint16_t mins_since_midnight);
1213  uint16_t getOffTime(void) const;
1214  static uint8_t convertMode(const stdAc::opmode_t mode);
1215  static uint8_t convertFan(const stdAc::fanspeed_t speed);
1216  static stdAc::opmode_t toCommonMode(const uint8_t mode);
1217  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
1218  stdAc::state_t toCommon(const stdAc::state_t *prev = NULL) const;
1219  String toString(void) const;
1220 #ifndef UNIT_TEST
1221 
1222  private:
1224 #else
1225  IRsendTest _irsend;
1227 #endif
1230  void stateReset(void);
1231  void checksum(void);
1232 };
1233 #endif // IR_DAIKIN_H_
IRDaikin64::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:3455
IRDaikin128::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:2648
IRDaikinESP::getEcono
bool getEcono(void) const
Get the Economical mode of the A/C.
Definition: ir_Daikin.cpp:355
kDaikin2SwingHRightMax
const uint8_t kDaikin2SwingHRightMax
Definition: ir_Daikin.h:301
kDaikin64ChecksumOffset
const uint8_t kDaikin64ChecksumOffset
Definition: ir_Daikin.h:676
IRDaikin152::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:3287
IRDaikin2::setCurrentTime
void setCurrentTime(const uint16_t time)
Set the clock on the A/C unit.
Definition: ir_Daikin.cpp:931
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:490
kDaikin152DefaultRepeat
const uint16_t kDaikin152DefaultRepeat
Definition: IRremoteESP8266.h:1030
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:1170
IRDaikin160::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:1973
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:128
kDaikin152OneSpace
const uint16_t kDaikin152OneSpace
Definition: ir_Daikin.h:620
Daikin216Protocol::pad3
uint8_t pad3[4]
Definition: ir_Daikin.h:354
IRDaikin216::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:1539
Daikin176Protocol::Power
uint8_t Power
Definition: ir_Daikin.h:460
IRDaikin64::setOffTimeEnabled
void setOffTimeEnabled(const bool on)
Set the enable status of the Off Timer.
Definition: ir_Daikin.cpp:3660
IRDaikin160::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:1783
Daikin152Protocol::Temp
uint8_t Temp
Definition: ir_Daikin.h:587
IRDaikinESP::send
void send(const uint16_t repeat=kDaikinDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:119
Daikin160Protocol
Native representation of a Daikin160 A/C message.
Definition: ir_Daikin.h:376
IRDaikin128::getClock
uint16_t getClock(void) const
Get the clock time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:2770
Daikin160Protocol::Power
uint8_t Power
Definition: ir_Daikin.h:386
Daikin152Protocol::Sum
uint8_t Sum
Definition: ir_Daikin.h:611
kDaikinDry
const uint8_t kDaikinDry
Definition: ir_Daikin.h:135
IRDaikin64::getOffTimeEnabled
bool getOffTimeEnabled(void) const
Get the enable status of the Off Timer.
Definition: ir_Daikin.cpp:3664
IRDaikin2::getOnTime
uint16_t getOnTime(void) const
Get the On Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:962
IRDaikin2::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:1100
IRDaikin216::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:1508
IRDaikin176::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:2137
IRDaikin64::getOffTime
uint16_t getOffTime(void) const
Get the Off Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:3668
IRDaikinESP::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:149
IRDaikinESP::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:704
IRDaikin2::getOffTimerEnabled
bool getOffTimerEnabled(void) const
Get the enable status of the Off Timer.
Definition: ir_Daikin.cpp:989
IRDaikin152::getQuiet
bool getQuiet(void) const
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:3230
IRDaikin128::getOffTimerEnabled
bool getOffTimerEnabled(void) const
Get the enable status of the Off Timer.
Definition: ir_Daikin.cpp:2807
Daikin160Protocol::raw
uint8_t raw[kDaikin160StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:377
Daikin176Protocol
Native representation of a Daikin176 A/C message.
Definition: ir_Daikin.h:428
Daikin176Protocol::Sum1
uint8_t Sum1
Definition: ir_Daikin.h:443
IRDaikin2::getOnTimerEnabled
bool getOnTimerEnabled(void) const
Get the enable status of the On Timer.
Definition: ir_Daikin.cpp:966
IRDaikinESP::getMold
bool getMold(void) const
Get the Mould mode status of the A/C.
Definition: ir_Daikin.cpp:367
Daikin64Protocol::Mode
uint8_t Mode
Definition: ir_Daikin.h:632
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:2885
kDaikin64Heat
const uint8_t kDaikin64Heat
Definition: ir_Daikin.h:667
kDaikin152ZeroSpace
const uint16_t kDaikin152ZeroSpace
Definition: ir_Daikin.h:621
kDaikin64OneSpace
const uint16_t kDaikin64OneSpace
Definition: ir_Daikin.h:654
kDaikin2DefaultRepeat
const uint16_t kDaikin2DefaultRepeat
Definition: IRremoteESP8266.h:1019
kDaikin64Fan
const uint8_t kDaikin64Fan
Definition: ir_Daikin.h:666
IRDaikin128::getOffTimer
uint16_t getOffTimer(void) const
Get the Off Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:2817
DaikinESPProtocol::Power
uint64_t Power
Definition: ir_Daikin.h:89
IRDaikinESP::getOnTime
uint16_t getOnTime(void) const
Get the On Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:398
kDaikin64Freq
const uint16_t kDaikin64Freq
Definition: ir_Daikin.h:659
IRDaikin152::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:3165
IRDaikin2::getPowerful
bool getPowerful(void) const
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:1108
Daikin128Protocol::SwingV
uint8_t SwingV
Definition: ir_Daikin.h:526
Daikin216Protocol::pad2
uint8_t pad2[3]
Definition: ir_Daikin.h:349
IRDaikin2::send
void send(const uint16_t repeat=kDaikin2DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:707
IRDaikin2::getCurrentTime
uint16_t getCurrentTime(void) const
Get the clock time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:939
IRDaikin128::getLightToggle
uint8_t getLightToggle(void) const
Get the Light toggle setting of the A/C.
Definition: ir_Daikin.cpp:2837
IRDaikin64::getPowerToggle
bool getPowerToggle(void) const
Get the Power toggle setting of the A/C.
Definition: ir_Daikin.cpp:3474
IRDaikin128::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:2637
IRDaikin2::setEyeAuto
void setEyeAuto(const bool on)
Set the Automatic Eye (Sensor) mode of the A/C.
Definition: ir_Daikin.cpp:1041
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:2334
kDaikin176SwingHAuto
const uint8_t kDaikin176SwingHAuto
Definition: ir_Daikin.h:499
IRDaikin152::getEcono
bool getEcono(void) const
Get the Economical mode of the A/C.
Definition: ir_Daikin.cpp:3258
Daikin152Protocol::Mode
uint8_t Mode
Definition: ir_Daikin.h:583
IRDaikin2::IRDaikin2
IRDaikin2(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:697
IRDaikin160::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:1881
IRDaikinESP::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:114
IRDaikin216::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:1504
Daikin152Protocol::pad1
uint8_t pad1[4]
Definition: ir_Daikin.h:594
kDaikin176Section2Length
const uint16_t kDaikin176Section2Length
Definition: ir_Daikin.h:489
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:581
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:1163
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:3712
DaikinESPProtocol::Fan
uint64_t Fan
Definition: ir_Daikin.h:103
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:716
Daikin2Protocol::FreshAir
uint64_t FreshAir
Definition: ir_Daikin.h:197
kDaikin64Overhead
const uint8_t kDaikin64Overhead
Definition: ir_Daikin.h:660
kDaikinOneSpace
const uint16_t kDaikinOneSpace
Definition: ir_Daikin.h:172
kDaikin2ZeroSpace
const uint16_t kDaikin2ZeroSpace
Definition: ir_Daikin.h:278
IRDaikinESP
Class for handling detailed Daikin 280-bit A/C messages.
Definition: ir_Daikin.h:693
IRDaikin176::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:2259
kDaikin2SwingHOff
const uint8_t kDaikin2SwingHOff
Definition: ir_Daikin.h:303
kDaikin2HdrMark
const uint16_t kDaikin2HdrMark
Definition: ir_Daikin.h:274
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:1439
IRDaikin64::setOffTime
void setOffTime(const uint16_t mins_since_midnight)
Set the Off Timer time for the A/C unit.
Definition: ir_Daikin.cpp:3672
IRDaikin176::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Daikin.cpp:2357
Daikin160Protocol::Sum2
uint8_t Sum2
Definition: ir_Daikin.h:405
Daikin128Protocol::pad
uint8_t pad[5]
Definition: ir_Daikin.h:540
IRDaikin176::getSwingHorizontal
uint8_t getSwingHorizontal(void) const
Get the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:2320
IRDaikin160::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:1835
IRDaikin2
Class for handling detailed Daikin 312-bit A/C messages.
Definition: ir_Daikin.h:775
IRDaikin216::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:884
kDaikin176StateLength
const uint16_t kDaikin176StateLength
Definition: IRremoteESP8266.h:1031
IRDaikin176::setSwingHorizontal
void setSwingHorizontal(const uint8_t position)
Set the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:2308
IRDaikin128
Class for handling detailed Daikin 128-bit A/C messages.
Definition: ir_Daikin.h:1040
Daikin176Protocol::Id2
uint8_t Id2
Definition: ir_Daikin.h:449
IRDaikin2::setMold
void setMold(const bool on)
Set the Mould (filter) mode of the A/C.
Definition: ir_Daikin.cpp:1009
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:1186
IRDaikin160::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:1839
IRDaikin216::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:1558
IRDaikin2::getOffTime
uint16_t getOffTime(void) const
Get the Off Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:985
IRDaikin216::getQuiet
bool getQuiet(void) const
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:1607
IRDaikin128::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:2644
IRDaikinESP::setSwingHorizontal
void setSwingHorizontal(const bool on)
Set the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:292
IRDaikin216::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:1611
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:2612
IRDaikin216::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:1496
kDaikin64HdrMark
const uint16_t kDaikin64HdrMark
Definition: ir_Daikin.h:651
IRDaikin160::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:1762
IRDaikin128::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:2558
kDaikin176HdrMark
const uint16_t kDaikin176HdrMark
Definition: ir_Daikin.h:481
IRDaikin128::setOffTimer
void setOffTimer(const uint16_t mins_since_midnight)
Set the Off Timer time for the A/C unit.
Definition: ir_Daikin.cpp:2811
Daikin216Protocol::SwingV
uint8_t SwingV
Definition: ir_Daikin.h:343
Daikin64Protocol::Sum
uint8_t Sum
Definition: ir_Daikin.h:647
IRDaikin64::setClock
void setClock(const uint16_t mins_since_midnight)
Set the clock on the A/C unit.
Definition: ir_Daikin.cpp:3627
kDaikin128FanPowerful
const uint8_t kDaikin128FanPowerful
Definition: ir_Daikin.h:567
kDaikin128Freq
const uint16_t kDaikin128Freq
Definition: ir_Daikin.h:546
IRDaikin2::clearOnTimerFlag
void clearOnTimerFlag(void)
Clear the On Timer flag.
Definition: ir_Daikin.cpp:951
kDaikinGap
const uint16_t kDaikinGap
Definition: ir_Daikin.h:173
IRDaikin128::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:1095
kDaikin128MinTemp
const uint8_t kDaikin128MinTemp
Definition: ir_Daikin.h:569
IRDaikin160::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:1832
IRDaikin128::getSwingVertical
bool getSwingVertical(void) const
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:2706
kDaikin2SwingVSwing
const uint8_t kDaikin2SwingVSwing
Definition: ir_Daikin.h:293
IRDaikin216::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:1492
IRDaikin64::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:3478
kDaikin2SwingVLowerMiddle
const uint8_t kDaikin2SwingVLowerMiddle
Definition: ir_Daikin.h:286
IRDaikin2::getPurify
bool getPurify(void) const
Get the Purify (Filter) mode status of the A/C.
Definition: ir_Daikin.cpp:1116
IRDaikin176::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:2173
Daikin64Protocol::OnHours
uint8_t OnHours
Definition: ir_Daikin.h:636
IRDaikin2::disableOffTimer
void disableOffTimer(void)
Disable the Off timer.
Definition: ir_Daikin.cpp:977
Daikin128Protocol::Power
uint8_t Power
Definition: ir_Daikin.h:529
kDaikin160Gap
const uint16_t kDaikin160Gap
Definition: ir_Daikin.h:415
Daikin176Protocol::Temp
uint8_t Temp
Definition: ir_Daikin.h:468
IRDaikin64
Class for handling detailed Daikin 64-bit A/C messages.
Definition: ir_Daikin.h:1170
kDaikinBitMark
const uint16_t kDaikinBitMark
Definition: ir_Daikin.h:170
IRDaikin2::enableOffTimer
void enableOffTimer(const uint16_t endtime)
Set the enable status & time of the Off Timer.
Definition: ir_Daikin.cpp:970
IRDaikin64::calcChecksum
static uint8_t calcChecksum(const uint64_t state)
Calculate the checksum for a given state.
Definition: ir_Daikin.cpp:3434
Daikin160Protocol::Fan
uint8_t Fan
Definition: ir_Daikin.h:400
kDaikin152BitMark
const uint16_t kDaikin152BitMark
Definition: ir_Daikin.h:619
IRDaikin128::_
Daikin128Protocol _
Definition: ir_Daikin.h:1102
kDaikin176FanMax
const uint8_t kDaikin176FanMax
Definition: ir_Daikin.h:498
IRDaikinESP::setCurrentTime
void setCurrentTime(const uint16_t mins_since_midnight)
Set the clock on the A/C unit.
Definition: ir_Daikin.cpp:435
kDaikin2HumidityHeatLow
const uint8_t kDaikin2HumidityHeatLow
Definition: ir_Daikin.h:310
IRDaikin64::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:3452
kDaikin152HdrSpace
const uint16_t kDaikin152HdrSpace
Definition: ir_Daikin.h:618
kDaikin2SwingVHighest
const uint8_t kDaikin2SwingVHighest
Definition: ir_Daikin.h:283
Daikin64Protocol::SwingV
uint8_t SwingV
Definition: ir_Daikin.h:643
Daikin216Protocol::Fan
uint8_t Fan
Definition: ir_Daikin.h:344
kDaikin160BitMark
const uint16_t kDaikin160BitMark
Definition: ir_Daikin.h:412
IRDaikin2::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:780
DaikinESPProtocol::Econo
uint8_t Econo
Definition: ir_Daikin.h:121
IRDaikin152::setEcono
void setEcono(const bool on)
Set the Economy mode of the A/C.
Definition: ir_Daikin.cpp:3250
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:3206
IRDaikin152::getPowerful
bool getPowerful(void) const
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:3246
kDaikin2MinCoolTemp
const uint8_t kDaikin2MinCoolTemp
Definition: ir_Daikin.h:319
Daikin2Protocol::Mold
uint64_t Mold
Definition: ir_Daikin.h:199
IRDaikin152::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:3194
DaikinESPProtocol::Comfort
uint64_t Comfort
Definition: ir_Daikin.h:72
IRsend.h
IRDaikin176::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Daikin.cpp:2201
kDaikin64FanQuiet
const uint8_t kDaikin64FanQuiet
Definition: ir_Daikin.h:672
Daikin2Protocol::SwingV
uint64_t SwingV
Definition: ir_Daikin.h:215
IRDaikin128::setPowerToggle
void setPowerToggle(const bool toggle)
Set the Power toggle setting of the A/C.
Definition: ir_Daikin.cpp:2579
IRDaikin64::getSwingVertical
bool getSwingVertical(void) const
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:3615
Daikin152Protocol::Econo
uint8_t Econo
Definition: ir_Daikin.h:605
IRDaikin176::_
Daikin176Protocol _
Definition: ir_Daikin.h:1032
kDaikin152FanTemp
const uint8_t kDaikin152FanTemp
Definition: ir_Daikin.h:625
IRDaikinESP::getPowerful
bool getPowerful(void) const
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:329
IRDaikin216
Class for handling detailed Daikin 216-bit A/C messages.
Definition: ir_Daikin.h:873
Daikin2Protocol::Powerful
uint64_t Powerful
Definition: ir_Daikin.h:248
kDaikin64Cool
const uint8_t kDaikin64Cool
Definition: ir_Daikin.h:665
IRDaikinESP::setMold
void setMold(const bool on)
Set the Mould mode of the A/C.
Definition: ir_Daikin.cpp:361
Daikin160Protocol::pad0
uint8_t pad0[6]
Definition: ir_Daikin.h:380
Daikin2Protocol::OnTimer
uint64_t OnTimer
Definition: ir_Daikin.h:226
kDaikin64FanTurbo
const uint8_t kDaikin64FanTurbo
Definition: ir_Daikin.h:673
kDaikinFan
const uint8_t kDaikinFan
Definition: ir_Daikin.h:138
IRDaikin64::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:1223
IRDaikin2::setFreshAirHigh
void setFreshAirHigh(const bool on)
Set the (High) Fresh Air mode of the A/C.
Definition: ir_Daikin.cpp:1033
kDaikinZeroSpace
const uint16_t kDaikinZeroSpace
Definition: ir_Daikin.h:171
kDaikinSection1Length
const uint8_t kDaikinSection1Length
Definition: ir_Daikin.h:150
Daikin216Protocol::SwingH
uint8_t SwingH
Definition: ir_Daikin.h:346
Daikin64Protocol::OffHalfHour
uint8_t OffHalfHour
Definition: ir_Daikin.h:640
kDaikinByteChecksum2
const uint8_t kDaikinByteChecksum2
Definition: ir_Daikin.h:155
IRDaikin152::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:1121
IRDaikin128::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:2587
Daikin128Protocol::raw
uint8_t raw[kDaikin128StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:504
Daikin216Protocol
Native representation of a Daikin216 A/C message.
Definition: ir_Daikin.h:322
IRDaikinESP::setSensor
void setSensor(const bool on)
Set the Sensor mode of the A/C.
Definition: ir_Daikin.cpp:335
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:1867
DaikinESPProtocol::OnTimer
uint64_t OnTimer
Definition: ir_Daikin.h:90
Daikin2Protocol::Econo
uint64_t Econo
Definition: ir_Daikin.h:257
IRsend
Class for sending all basic IR protocols.
Definition: IRsend.h:208
kDaikinUnusedTime
const uint16_t kDaikinUnusedTime
Definition: ir_Daikin.h:157
IRDaikin176::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:992
kDaikin176Dry
const uint8_t kDaikin176Dry
Definition: ir_Daikin.h:495
Daikin128Protocol::Wall
uint8_t Wall
Definition: ir_Daikin.h:537
kDaikin176Auto
const uint8_t kDaikin176Auto
Definition: ir_Daikin.h:494
IRDaikin152::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:3234
IRDaikin2::disableOnTimer
void disableOnTimer(void)
Disable the On timer.
Definition: ir_Daikin.cpp:954
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:365
IRDaikin176::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:2209
IRDaikin152::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:3121
IRDaikin2::getSleepTime
uint16_t getSleepTime(void) const
Get the Sleep Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:1080
Daikin128Protocol::Sum1
uint8_t Sum1
Definition: ir_Daikin.h:530
Daikin128Protocol::OffHalfHour
uint8_t OffHalfHour
Definition: ir_Daikin.h:521
IRDaikin152::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:3133
Daikin2Protocol
Native representation of a Daikin2 A/C message.
Definition: ir_Daikin.h:179
IRDaikin216::getSwingVertical
bool getSwingVertical(void) const
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:1579
DaikinESPProtocol::OnTime
uint64_t OnTime
Definition: ir_Daikin.h:108
kDaikin2SwingHLeft
const uint8_t kDaikin2SwingHLeft
Definition: ir_Daikin.h:298
Daikin176Protocol::raw
uint8_t raw[kDaikin176StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:429
Daikin128Protocol::OffHours
uint8_t OffHours
Definition: ir_Daikin.h:520
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:2345
kDaikin2HumidityDryMedium
const uint8_t kDaikin2HumidityDryMedium
Definition: ir_Daikin.h:314
IRDaikin2::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:702
IRDaikin64::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:3601
IRDaikin216::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:1461
IRDaikinESP::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:318
IRDaikin160::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:1999
Daikin2Protocol::OffTime
uint64_t OffTime
Definition: ir_Daikin.h:246
kDaikinHdrSpace
const uint16_t kDaikinHdrSpace
Definition: ir_Daikin.h:169
kDaikin160HdrSpace
const uint16_t kDaikin160HdrSpace
Definition: ir_Daikin.h:411
String
std::string String
Definition: IRremoteESP8266.h:1309
IRDaikin64::setOnTimeEnabled
void setOnTimeEnabled(const bool on)
Set the enable status of the On Timer.
Definition: ir_Daikin.cpp:3642
IRDaikin152::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:3090
Daikin2Protocol::Sum1
uint64_t Sum1
Definition: ir_Daikin.h:218
IRDaikinESP::IRDaikinESP
IRDaikinESP(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:109
DaikinESPProtocol::WeeklyTimer
uint8_t WeeklyTimer
Definition: ir_Daikin.h:123
DaikinESPProtocol::raw
uint8_t raw[kDaikinStateLength]
The state of the IR remote.
Definition: ir_Daikin.h:66
IRDaikin2::setPower
void setPower(const bool state)
Change the power setting.
Definition: ir_Daikin.cpp:792
kDaikinCurIndex
const uint8_t kDaikinCurIndex
Definition: ir_Daikin.h:165
kDaikin160SwingVHighest
const uint8_t kDaikin160SwingVHighest
Definition: ir_Daikin.h:424
IRDaikin160::setSwingVertical
void setSwingVertical(const uint8_t position)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:1922
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:2675
Daikin176Protocol::pad3
uint8_t pad3[2]
Definition: ir_Daikin.h:474
IRDaikin128::getPowerToggle
bool getPowerToggle(void) const
Get the Power toggle setting of the A/C.
Definition: ir_Daikin.cpp:2583
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:1908
Daikin216Protocol::Powerful
uint8_t Powerful
Definition: ir_Daikin.h:351
kDaikin2Section2Length
const uint16_t kDaikin2Section2Length
Definition: ir_Daikin.h:281
IRDaikinESP::getSensor
bool getSensor(void) const
Get the Sensor mode of the A/C.
Definition: ir_Daikin.cpp:341
Daikin2Protocol::pad
uint8_t pad[3]
Definition: ir_Daikin.h:181
kDaikin152StateLength
const uint16_t kDaikin152StateLength
Definition: IRremoteESP8266.h:1028
Daikin160Protocol::pad1
uint8_t pad1[5]
Definition: ir_Daikin.h:384
IRDaikin160::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:1847
kDaikin128BitCeiling
const uint8_t kDaikin128BitCeiling
Definition: ir_Daikin.h:572
IRDaikinESP::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:207
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:3218
kDaikin160OneSpace
const uint16_t kDaikin160OneSpace
Definition: ir_Daikin.h:413
IRDaikin2::getFreshAirHigh
bool getFreshAirHigh(void) const
Get the (High) Fresh Air mode status of the A/C.
Definition: ir_Daikin.cpp:1037
IRDaikin2::setFreshAir
void setFreshAir(const bool on)
Set the Fresh Air mode of the A/C.
Definition: ir_Daikin.cpp:1025
IRDaikin2::setLight
void setLight(const uint8_t light)
Set the Light (LED) mode of the A/C.
Definition: ir_Daikin.cpp:1005
Daikin2Protocol::raw
uint8_t raw[kDaikin2StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:182
kDaikin128ZeroSpace
const uint16_t kDaikin128ZeroSpace
Definition: ir_Daikin.h:553
kDaikinFanMax
const uint8_t kDaikinFanMax
Definition: ir_Daikin.h:143
IRDaikin128::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:2591
kDaikin176Gap
const uint16_t kDaikin176Gap
Definition: ir_Daikin.h:486
IRDaikin2::enableOnTimer
void enableOnTimer(const uint16_t starttime)
Set the enable status & time of the On Timer.
Definition: ir_Daikin.cpp:944
IRDaikin128::setOffTimerEnabled
void setOffTimerEnabled(const bool on)
Set the enable status of the Off Timer.
Definition: ir_Daikin.cpp:2803
kDaikin128FanMed
const uint8_t kDaikin128FanMed
Definition: ir_Daikin.h:565
Daikin128Protocol::Sum2
uint8_t Sum2
Definition: ir_Daikin.h:542
IRDaikin176::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:2278
Daikin64Protocol::Fan
uint8_t Fan
Definition: ir_Daikin.h:633
IRDaikin176::off
void off(void)
Change the power setting to Off..
Definition: ir_Daikin.cpp:2190
IRDaikin2::getSwingHorizontal
uint8_t getSwingHorizontal(void) const
Get the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:927
IRDaikin216::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:1484
IRDaikinESP::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Daikin.cpp:217
kDaikinSwingOn
const uint8_t kDaikinSwingOn
Definition: ir_Daikin.h:146
kDaikin216Freq
const uint16_t kDaikin216Freq
Definition: ir_Daikin.h:360
IRDaikinESP::setSwingVertical
void setSwingVertical(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:280
kDaikin216StateLength
const uint16_t kDaikin216StateLength
Definition: IRremoteESP8266.h:1034
kDaikin176Freq
const uint16_t kDaikin176Freq
Definition: ir_Daikin.h:480
IRDaikin128::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:2729
Daikin216Protocol::pad0
uint8_t pad0[7]
Definition: ir_Daikin.h:326
Daikin64Protocol::Temp
uint8_t Temp
Definition: ir_Daikin.h:642
DaikinESPProtocol::Mold
uint8_t Mold
Definition: ir_Daikin.h:126
IRDaikin128::getOnTimer
uint16_t getOnTimer(void) const
Get the On Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:2799
kDaikin2Section1Length
const uint16_t kDaikin2Section1Length
Definition: ir_Daikin.h:280
IRDaikin128::setLightToggle
void setLightToggle(const uint8_t unit_type)
Set the Light toggle setting of the A/C.
Definition: ir_Daikin.cpp:2822
kDaikin2SwingHMiddle
const uint8_t kDaikin2SwingHMiddle
Definition: ir_Daikin.h:299
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:858
kDaikin2HumidityHeatHigh
const uint8_t kDaikin2HumidityHeatHigh
Definition: ir_Daikin.h:312
kDaikin152Freq
const uint16_t kDaikin152Freq
Definition: ir_Daikin.h:615
IRDaikin128::send
void send(const uint16_t repeat=kDaikin128DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:2572
IRDaikin152::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:3222
kDaikin128HdrSpace
const uint16_t kDaikin128HdrSpace
Definition: ir_Daikin.h:550
kDaikinBeepOff
const uint8_t kDaikinBeepOff
Definition: ir_Daikin.h:160
Daikin128Protocol::Fan
uint8_t Fan
Definition: ir_Daikin.h:510
Daikin64Protocol::Sleep
uint8_t Sleep
Definition: ir_Daikin.h:644
Daikin2Protocol::SwingH
uint64_t SwingH
Definition: ir_Daikin.h:213
IRDaikin152::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:3106
IRDaikin152::setSensor
void setSensor(const bool on)
Set the Sensor mode of the A/C.
Definition: ir_Daikin.cpp:3262
kDaikin176HdrSpace
const uint16_t kDaikin176HdrSpace
Definition: ir_Daikin.h:482
IRDaikin176::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Daikin.cpp:2247
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:3510
kDaikin2Sections
const uint16_t kDaikin2Sections
Definition: ir_Daikin.h:279
kDaikin160SwingVHigh
const uint8_t kDaikin160SwingVHigh
Definition: ir_Daikin.h:423
IRDaikin2::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:1201
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:1525
IRDaikin128::calcSecondChecksum
static uint8_t calcSecondChecksum(const uint8_t state[])
Definition: ir_Daikin.cpp:2523
IRDaikinESP::setComfort
void setComfort(const bool on)
Set the Comfort mode of the A/C.
Definition: ir_Daikin.cpp:373
kDaikin128StateLength
const uint16_t kDaikin128StateLength
Definition: IRremoteESP8266.h:1025
kDaikin176DefaultRepeat
const uint16_t kDaikin176DefaultRepeat
Definition: IRremoteESP8266.h:1033
Daikin2Protocol::OffTimer
uint64_t OffTimer
Definition: ir_Daikin.h:227
IRDaikin128::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:2542
kDaikin128BitWall
const uint8_t kDaikin128BitWall
Definition: ir_Daikin.h:571
IRDaikin64::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:3538
kDaikin2BitMark
const uint16_t kDaikin2BitMark
Definition: ir_Daikin.h:276
Daikin2Protocol::Mode
uint64_t Mode
Definition: ir_Daikin.h:229
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:3081
kDaikin2LeaderSpace
const uint16_t kDaikin2LeaderSpace
Definition: ir_Daikin.h:272
IRDaikin216::_
Daikin216Protocol _
Definition: ir_Daikin.h:923
IRDaikin152::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:3313
IRDaikin152::setComfort
void setComfort(const bool on)
Set the Comfort mode of the A/C.
Definition: ir_Daikin.cpp:3270
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:906
IRDaikin2::setHumidity
void setHumidity(const uint8_t percent)
Set the Humidity percentage setting of the A/C.
Definition: ir_Daikin.cpp:1125
IRDaikin216::getSwingHorizontal
bool getSwingHorizontal(void) const
Get the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:1589
kDaikin160Sections
const uint16_t kDaikin160Sections
Definition: ir_Daikin.h:416
IRDaikin152::setSwingV
void setSwingV(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:3212
Daikin2Protocol::HumidOn
uint64_t HumidOn
Definition: ir_Daikin.h:234
Daikin152Protocol::Sensor
uint8_t Sensor
Definition: ir_Daikin.h:606
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:457
kDaikin64FanAuto
const uint8_t kDaikin64FanAuto
Definition: ir_Daikin.h:668
IRDaikin2::setSwingHorizontal
void setSwingHorizontal(const uint8_t position)
Set the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:921
IRDaikinESP::getCurrentTime
uint16_t getCurrentTime(void) const
Get the clock time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:443
IRDaikin216::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:1594
kDaikin160Freq
const uint16_t kDaikin160Freq
Definition: ir_Daikin.h:409
IRDaikin2::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:807
kDaikin64Dry
const uint8_t kDaikin64Dry
Definition: ir_Daikin.h:664
kDaikin2SwingVBreeze
const uint8_t kDaikin2SwingVBreeze
Definition: ir_Daikin.h:289
IRDaikinESP::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:185
IRDaikin64::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:3678
IRDaikin176::IRDaikin176
IRDaikin176(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:2111
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:1768
IRDaikin128::getSleep
bool getSleep(void) const
Get the Sleep mode of the A/C.
Definition: ir_Daikin.cpp:2714
kDaikin64FanLow
const uint8_t kDaikin64FanLow
Definition: ir_Daikin.h:669
IRDaikin176::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:2144
IRDaikin152::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:3118
IRDaikin216::getPowerful
bool getPowerful(void) const
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:1619
IRDaikin160::IRDaikin160
IRDaikin160(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:1757
Daikin176Protocol::Mode
uint8_t Mode
Definition: ir_Daikin.h:462
kDaikinBeepLoud
const uint8_t kDaikinBeepLoud
Definition: ir_Daikin.h:159
kDaikinFanAuto
const uint8_t kDaikinFanAuto
Definition: ir_Daikin.h:144
IRDaikin64::getClock
uint16_t getClock(void) const
Get the clock time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:3636
Daikin2Protocol::OnTime
uint64_t OnTime
Definition: ir_Daikin.h:245
kDaikin128Dry
const uint8_t kDaikin128Dry
Definition: ir_Daikin.h:558
IRDaikin216::setSwingHorizontal
void setSwingHorizontal(const bool on)
Set the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:1583
kDaikin64KnownGoodState
const uint64_t kDaikin64KnownGoodState
Definition: ir_Daikin.h:663
Daikin152Protocol::Quiet
uint8_t Quiet
Definition: ir_Daikin.h:598
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:2122
IRDaikin64::getRaw
uint64_t getRaw(void)
Get a copy of the internal state as a valid code for this protocol.
Definition: ir_Daikin.cpp:3459
Daikin160Protocol::SwingV
uint8_t SwingV
Definition: ir_Daikin.h:392
Daikin216Protocol::Sum1
uint8_t Sum1
Definition: ir_Daikin.h:328
kDaikin216Sections
const uint16_t kDaikin216Sections
Definition: ir_Daikin.h:367
IRDaikin176::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:2273
kDaikin176Heat
const uint8_t kDaikin176Heat
Definition: ir_Daikin.h:492
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:1567
IRDaikin128::IRDaikin128
IRDaikin128(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:2511
Daikin176Protocol::ModeButton
uint8_t ModeButton
Definition: ir_Daikin.h:458
Daikin128Protocol::ClockMins
uint8_t ClockMins
Definition: ir_Daikin.h:512
Daikin128Protocol::OnHours
uint8_t OnHours
Definition: ir_Daikin.h:516
Daikin128Protocol::Ceiling
uint8_t Ceiling
Definition: ir_Daikin.h:534
kDaikin152DryTemp
const uint8_t kDaikin152DryTemp
Definition: ir_Daikin.h:624
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:450
IRDaikin64::IRDaikin64
IRDaikin64(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:3416
Daikin216Protocol::Temp
uint8_t Temp
Definition: ir_Daikin.h:338
IRDaikin152::IRDaikin152
IRDaikin152(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:3062
Daikin216Protocol::Sum2
uint8_t Sum2
Definition: ir_Daikin.h:356
kDaikin160HdrMark
const uint16_t kDaikin160HdrMark
Definition: ir_Daikin.h:410
IRDaikin176::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:2116
IRDaikin216::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:1425
kDaikin64ZeroSpace
const uint16_t kDaikin64ZeroSpace
Definition: ir_Daikin.h:655
Daikin128Protocol::Sleep
uint8_t Sleep
Definition: ir_Daikin.h:527
IRDaikin128::validChecksum
static bool validChecksum(uint8_t state[])
Verify the checksum is valid for a given state.
Definition: ir_Daikin.cpp:2531
kDaikin128SectionLength
const uint16_t kDaikin128SectionLength
Definition: ir_Daikin.h:557
kDaikin176Cool
const uint8_t kDaikin176Cool
Definition: ir_Daikin.h:493
IRDaikin64::setTurbo
void setTurbo(const bool on)
Set the Turbo (Powerful) mode of the A/C.
Definition: ir_Daikin.cpp:3587
kDaikin128LeaderSpace
const uint16_t kDaikin128LeaderSpace
Definition: ir_Daikin.h:548
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:463
IRDaikin2::_
Daikin2Protocol _
Definition: ir_Daikin.h:865
IRDaikin64::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:1181
kDaikin2LeaderMark
const uint16_t kDaikin2LeaderMark
Definition: ir_Daikin.h:271
kDaikinBeepQuiet
const uint8_t kDaikinBeepQuiet
Definition: ir_Daikin.h:158
IRDaikin128::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:2850
IRDaikin64::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:3490
Daikin128Protocol::Mode
uint8_t Mode
Definition: ir_Daikin.h:509
Daikin216Protocol::Power
uint8_t Power
Definition: ir_Daikin.h:332
kDaikin2SwingVAuto
const uint8_t kDaikin2SwingVAuto
Definition: ir_Daikin.h:292
IRDaikin160::_
Daikin160Protocol _
Definition: ir_Daikin.h:975
IRDaikin176::setId
void setId(const uint8_t num)
Set the Unit Id of the A/C.
Definition: ir_Daikin.cpp:2329
DaikinESPProtocol
Native representation of a Daikin A/C message.
Definition: ir_Daikin.h:65
Daikin2Protocol::Sum2
uint8_t Sum2
Definition: ir_Daikin.h:266
IRDaikinESP::getOffTimerEnabled
bool getOffTimerEnabled(void) const
Get the enable status of the Off Timer.
Definition: ir_Daikin.cpp:429
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:477
kDaikin216Section1Length
const uint16_t kDaikin216Section1Length
Definition: ir_Daikin.h:368
IRDaikin160::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Daikin.cpp:1843
kDaikinLightBright
const uint8_t kDaikinLightBright
Definition: ir_Daikin.h:161
Daikin176Protocol::AltMode
uint8_t AltMode
Definition: ir_Daikin.h:455
IRDaikin2::getMold
bool getMold(void) const
Get the Mould (filter) mode status of the A/C.
Definition: ir_Daikin.cpp:1013
kDaikin152Gap
const uint16_t kDaikin152Gap
Definition: ir_Daikin.h:622
IRDaikin176::send
void send(const uint16_t repeat=kDaikin176DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:2181
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:888
kDaikin128Auto
const uint8_t kDaikin128Auto
Definition: ir_Daikin.h:562
kDaikin160SwingVMiddle
const uint8_t kDaikin160SwingVMiddle
Definition: ir_Daikin.h:422
IRDaikin2::getSleepTimerEnabled
bool getSleepTimerEnabled(void) const
Get the Sleep timer enabled status of the A/C.
Definition: ir_Daikin.cpp:1084
IRDaikin160::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:1886
IRDaikin128::setEcono
void setEcono(const bool on)
Set the Economy mode of the A/C.
Definition: ir_Daikin.cpp:2718
Daikin64Protocol
Native representation of a Daikin64 A/C message.
Definition: ir_Daikin.h:628
IRDaikin176::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:2293
kDaikin128Gap
const uint16_t kDaikin128Gap
Definition: ir_Daikin.h:554
kDaikin64MaxTemp
const uint8_t kDaikin64MaxTemp
Definition: ir_Daikin.h:675
Daikin2Protocol::Temp
uint64_t Temp
Definition: ir_Daikin.h:233
IRDaikinESP::getSwingHorizontal
bool getSwingHorizontal(void) const
Get the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:298
IRDaikin64::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:3486
kDaikinHeat
const uint8_t kDaikinHeat
Definition: ir_Daikin.h:137
kDaikin216OneSpace
const uint16_t kDaikin216OneSpace
Definition: ir_Daikin.h:364
IRDaikin64::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:3534
DaikinESPProtocol::Mode
uint64_t Mode
Definition: ir_Daikin.h:93
Daikin152Protocol::pad0
uint8_t pad0[5]
Definition: ir_Daikin.h:579
Daikin2Protocol::SleepTimer
uint64_t SleepTimer
Definition: ir_Daikin.h:260
kDaikin176SwingHOff
const uint8_t kDaikin176SwingHOff
Definition: ir_Daikin.h:500
IRDaikinESP::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:304
kDaikin64BitMark
const uint16_t kDaikin64BitMark
Definition: ir_Daikin.h:652
kDaikin160SwingVLowest
const uint8_t kDaikin160SwingVLowest
Definition: ir_Daikin.h:420
kDaikin216DefaultRepeat
const uint16_t kDaikin216DefaultRepeat
Definition: IRremoteESP8266.h:1036
kDaikin2SwingHLeftMax
const uint8_t kDaikin2SwingHLeftMax
Definition: ir_Daikin.h:297
IRDaikin152::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:3125
Daikin176Protocol::Id1
uint8_t Id1
Definition: ir_Daikin.h:436
kDaikinCurBit
const uint8_t kDaikinCurBit
Definition: ir_Daikin.h:164
IRDaikin160::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:940
IRDaikin2::clearSleepTimerFlag
void clearSleepTimerFlag(void)
Clear the sleep timer flag.
Definition: ir_Daikin.cpp:1073
IRDaikin176::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:2205
IRDaikin128::getOnTimerEnabled
bool getOnTimerEnabled(void) const
Get the enable status of the On Timer.
Definition: ir_Daikin.cpp:2780
Daikin128Protocol::OnTimer
uint8_t OnTimer
Definition: ir_Daikin.h:518
kDaikin176BitMark
const uint16_t kDaikin176BitMark
Definition: ir_Daikin.h:483
IRDaikin152::getComfort
bool getComfort(void) const
Get the Comfort mode of the A/C.
Definition: ir_Daikin.cpp:3283
Daikin64Protocol::OffHours
uint8_t OffHours
Definition: ir_Daikin.h:639
Daikin2Protocol::FreshAirHigh
uint64_t FreshAirHigh
Definition: ir_Daikin.h:203
kDaikin160DefaultRepeat
const uint16_t kDaikin160DefaultRepeat
Definition: IRremoteESP8266.h:1024
IRDaikin64::setPowerToggle
void setPowerToggle(const bool on)
Set the Power toggle setting of the A/C.
Definition: ir_Daikin.cpp:3470
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:2234
IRDaikinESP::setEcono
void setEcono(const bool on)
Set the Economy mode of the A/C.
Definition: ir_Daikin.cpp:347
IRDaikin176::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:2194
DaikinESPProtocol::CurrentTime
uint64_t CurrentTime
Definition: ir_Daikin.h:80
IRDaikin2::getClean
bool getClean(void) const
Get the Auto Clean mode status of the A/C.
Definition: ir_Daikin.cpp:1021
kDaikin64ToleranceDelta
const int8_t kDaikin64ToleranceDelta
Definition: ir_Daikin.h:661
IRDaikin64::getOnTimeEnabled
bool getOnTimeEnabled(void) const
Get the enable status of the On Timer.
Definition: ir_Daikin.cpp:3646
kDaikin160SwingVAuto
const uint8_t kDaikin160SwingVAuto
Definition: ir_Daikin.h:425
kDaikinHeaderLength
const uint16_t kDaikinHeaderLength
Definition: ir_Daikin.h:148
IRDaikinESP::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:211
kDaikin64LdrMark
const uint16_t kDaikin64LdrMark
Definition: ir_Daikin.h:656
IRDaikin152::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:3180
IRrecv.h
IRDaikin64::getTurbo
bool getTurbo(void) const
Get the Turbo (Powerful) mode status of the A/C.
Definition: ir_Daikin.cpp:3583
Daikin64Protocol::OffTimer
uint8_t OffTimer
Definition: ir_Daikin.h:641
kDaikin128Cool
const uint8_t kDaikin128Cool
Definition: ir_Daikin.h:559
kDaikin176ZeroSpace
const uint16_t kDaikin176ZeroSpace
Definition: ir_Daikin.h:485
Daikin64Protocol::ClockHours
uint8_t ClockHours
Definition: ir_Daikin.h:635
kDaikin128Heat
const uint8_t kDaikin128Heat
Definition: ir_Daikin.h:561
IRDaikin2::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:737
kDaikinSection3Length
const uint8_t kDaikinSection3Length
Definition: ir_Daikin.h:152
IRDaikin152::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Daikin.cpp:3129
IRDaikinESP::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:559
Daikin152Protocol::Powerful
uint8_t Powerful
Definition: ir_Daikin.h:596
IRDaikin2::getEye
bool getEye(void) const
Get the Eye (Sensor) mode status of the A/C.
Definition: ir_Daikin.cpp:1053
IRDaikin152::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:3137
kDaikin160Section1Length
const uint16_t kDaikin160Section1Length
Definition: ir_Daikin.h:417
IRDaikin216::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:1489
kDaikin128Sections
const uint16_t kDaikin128Sections
Definition: ir_Daikin.h:556
kDaikin176Sections
const uint16_t kDaikin176Sections
Definition: ir_Daikin.h:487
DaikinESPProtocol::SwingV
uint64_t SwingV
Definition: ir_Daikin.h:102
kDaikin128DefaultRepeat
const uint16_t kDaikin128DefaultRepeat
Definition: IRremoteESP8266.h:1027
IRDaikin2::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:773
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:3159
IRDaikin152
Class for handling detailed Daikin 152-bit A/C messages.
Definition: ir_Daikin.h:1110
kDaikin2HumidityDryHigh
const uint8_t kDaikin2HumidityDryHigh
Definition: ir_Daikin.h:315
IRDaikin128::getEcono
bool getEcono(void) const
Get the Economical mode of the A/C.
Definition: ir_Daikin.cpp:2725
IRDaikin2::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:788
IRDaikin128::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:2743
kDaikin128FanLow
const uint8_t kDaikin128FanLow
Definition: ir_Daikin.h:566
Daikin2Protocol::Light
uint64_t Light
Definition: ir_Daikin.h:194
kDaikinStateLength
const uint16_t kDaikinStateLength
Definition: IRremoteESP8266.h:1012
IRDaikin64::setOnTime
void setOnTime(const uint16_t mins_since_midnight)
Set the On Timer time for the A/C unit.
Definition: ir_Daikin.cpp:3654
IRDaikin160
Class for handling detailed Daikin 160-bit A/C messages.
Definition: ir_Daikin.h:929
IRDaikinESP::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:761
kDaikin216Section2Length
const uint16_t kDaikin216Section2Length
Definition: ir_Daikin.h:369
IRDaikinESP::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:250
IRDaikin216::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:1477
kDaikin64FanMed
const uint8_t kDaikin64FanMed
Definition: ir_Daikin.h:670
IRDaikinESP::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:236
IRDaikin152::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:3095
Daikin2Protocol::Humidity
uint64_t Humidity
Definition: ir_Daikin.h:236
kDaikin128FooterMark
const uint16_t kDaikin128FooterMark
Definition: ir_Daikin.h:555
Daikin152Protocol::Comfort
uint8_t Comfort
Definition: ir_Daikin.h:604
IRDaikin216::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:1651
IRDaikinESP::getOnTimerEnabled
bool getOnTimerEnabled(void) const
Get the enable status of the On Timer.
Definition: ir_Daikin.cpp:404
IRDaikinESP::disableOffTimer
void disableOffTimer(void)
Clear and disable the Off timer.
Definition: ir_Daikin.cpp:416
kDaikin2HumidityDryLow
const uint8_t kDaikin2HumidityDryLow
Definition: ir_Daikin.h:313
IRDaikin2::setPurify
void setPurify(const bool on)
Set the Purify (Filter) mode of the A/C.
Definition: ir_Daikin.cpp:1112
kDaikin2Gap
const uint16_t kDaikin2Gap
Definition: ir_Daikin.h:273
IRDaikin64::setSleep
void setSleep(const bool on)
Set the Sleep mode of the A/C.
Definition: ir_Daikin.cpp:3619
Daikin2Protocol::Clean
uint64_t Clean
Definition: ir_Daikin.h:201
kDaikin152LeaderBits
const uint8_t kDaikin152LeaderBits
Definition: ir_Daikin.h:616
IRDaikin128::setOnTimer
void setOnTimer(const uint16_t mins_since_midnight)
Set the On Timer time for the A/C unit.
Definition: ir_Daikin.cpp:2793
IRDaikin2::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:803
kDaikinDefaultRepeat
const uint16_t kDaikinDefaultRepeat
Definition: IRremoteESP8266.h:1016
Daikin64Protocol::OnHalfHour
uint8_t OnHalfHour
Definition: ir_Daikin.h:637
kDaikin64DefaultRepeat
const uint16_t kDaikin64DefaultRepeat
Definition: IRremoteESP8266.h:1021
IRDaikinESP::getWeeklyTimerEnable
bool getWeeklyTimerEnable(void) const
Get the enable status of the Weekly Timer.
Definition: ir_Daikin.cpp:470
IRDaikinESP::getOffTime
uint16_t getOffTime(void) const
Get the Off Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:423
kDaikin64LdrSpace
const uint16_t kDaikin64LdrSpace
Definition: ir_Daikin.h:658
kDaikin128Fan
const uint8_t kDaikin128Fan
Definition: ir_Daikin.h:560
DaikinESPProtocol::Sensor
uint8_t Sensor
Definition: ir_Daikin.h:120
IRDaikin176::getId
uint8_t getId(void) const
Get the Unit Id of the A/C.
Definition: ir_Daikin.cpp:2324
Daikin2Protocol::Quiet
uint64_t Quiet
Definition: ir_Daikin.h:250
Daikin2Protocol::Power
uint64_t Power
Definition: ir_Daikin.h:225
IRDaikin2::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:786
IRDaikin64::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Daikin.cpp:3570
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:1959
kDaikin2HumidityHeatMedium
const uint8_t kDaikin2HumidityHeatMedium
Definition: ir_Daikin.h:311
IRDaikin160::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Daikin.cpp:1899
Daikin160Protocol::Sum1
uint8_t Sum1
Definition: ir_Daikin.h:382
IRDaikin2::getHumidity
uint8_t getHumidity(void) const
Get the Humidity percentage setting of the A/C.
Definition: ir_Daikin.cpp:1120
IRDaikin128::setOnTimerEnabled
void setOnTimerEnabled(const bool on)
Set the enable status of the On Timer.
Definition: ir_Daikin.cpp:2776
Daikin64Protocol::OnTimer
uint8_t OnTimer
Definition: ir_Daikin.h:638
IRDaikin176::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:2364
IRDaikin64::setRaw
void setRaw(const uint64_t new_state)
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:3466
IRDaikin176::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:2187
IRDaikin2::enableSleepTimer
void enableSleepTimer(const uint16_t sleeptime)
Set the enable status & time of the Sleep Timer.
Definition: ir_Daikin.cpp:1066
IRDaikin2::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:1227
IRDaikin64::validChecksum
static bool validChecksum(const uint64_t state)
Verify the checksum is valid for a given state.
Definition: ir_Daikin.cpp:3445
kDaikin2HumidityAuto
const uint8_t kDaikin2HumidityAuto
Definition: ir_Daikin.h:316
kDaikin2SwingVHigh
const uint8_t kDaikin2SwingVHigh
Definition: ir_Daikin.h:284
kDaikin160Section2Length
const uint16_t kDaikin160Section2Length
Definition: ir_Daikin.h:418
kDaikin128FanQuiet
const uint8_t kDaikin128FanQuiet
Definition: ir_Daikin.h:568
kDaikin216SwingOn
const uint8_t kDaikin216SwingOn
Definition: ir_Daikin.h:372
IRDaikinESP::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:258
Daikin128Protocol::OffTimer
uint8_t OffTimer
Definition: ir_Daikin.h:522
IRDaikinESP::enableOnTimer
void enableOnTimer(const uint16_t starttime)
Set the enable status & time of the On Timer.
Definition: ir_Daikin.cpp:385
IRDaikin152::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:1157
IRDaikinESP::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:204
IRDaikin2::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:1088
IRDaikin160::getSwingVertical
uint8_t getSwingVertical(void) const
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:1938
IRDaikin64::setSwingVertical
void setSwingVertical(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:3611
IRDaikin2::getFreshAir
bool getFreshAir(void) const
Get the Fresh Air mode status of the A/C.
Definition: ir_Daikin.cpp:1029
IRDaikin152::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:3175
IRDaikinESP::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Daikin.cpp:517
IRDaikin128::getPowerful
bool getPowerful(void) const
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:2753
kDaikin2SwingVUpperMiddle
const uint8_t kDaikin2SwingVUpperMiddle
Definition: ir_Daikin.h:285
Daikin128Protocol::OnHalfHour
uint8_t OnHalfHour
Definition: ir_Daikin.h:517
Daikin160Protocol::Mode
uint8_t Mode
Definition: ir_Daikin.h:388
IRDaikinESP::getComfort
bool getComfort(void) const
Get the Comfort mode of the A/C.
Definition: ir_Daikin.cpp:379
Daikin176Protocol::SwingH
uint8_t SwingH
Definition: ir_Daikin.h:471
Daikin2Protocol::Beep
uint64_t Beep
Definition: ir_Daikin.h:195
Daikin176Protocol::Sum2
uint8_t Sum2
Definition: ir_Daikin.h:476
IRDaikin128::calcFirstChecksum
static uint8_t calcFirstChecksum(const uint8_t state[])
Definition: ir_Daikin.cpp:2518
IRDaikin216::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:1454
kDaikin64MinTemp
const uint8_t kDaikin64MinTemp
Definition: ir_Daikin.h:674
Daikin2Protocol::Fan
uint64_t Fan
Definition: ir_Daikin.h:239
kDaikin2SwingHRight
const uint8_t kDaikin2SwingHRight
Definition: ir_Daikin.h:300
IRDaikin160::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:1873
Daikin2Protocol::Power2
uint64_t Power2
Definition: ir_Daikin.h:191
IRDaikin2::getQuiet
bool getQuiet(void) const
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:1096
IRDaikin128::setClock
void setClock(const uint16_t mins_since_midnight)
Set the clock on the A/C unit.
Definition: ir_Daikin.cpp:2759
IRDaikin160::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:1851
kDaikin64Gap
const uint16_t kDaikin64Gap
Definition: ir_Daikin.h:657
kDaikin128OneSpace
const uint16_t kDaikin128OneSpace
Definition: ir_Daikin.h:552
IRDaikin152::_
Daikin152Protocol _
Definition: ir_Daikin.h:1164
kDaikin152HdrMark
const uint16_t kDaikin152HdrMark
Definition: ir_Daikin.h:617
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:2298
DaikinESPProtocol::Sum1
uint64_t Sum1
Definition: ir_Daikin.h:75
kDaikin2SwingHSwing
const uint8_t kDaikin2SwingHSwing
Definition: ir_Daikin.h:304
IRDaikin128::setSwingVertical
void setSwingVertical(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:2702
IRDaikinESP::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Daikin.cpp:231
IRDaikin160::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:1812
IRDaikinESP::enableOffTimer
void enableOffTimer(const uint16_t endtime)
Set the enable status & time of the Off Timer.
Definition: ir_Daikin.cpp:410
kDaikin2HumidityOff
const uint8_t kDaikin2HumidityOff
Definition: ir_Daikin.h:309
kDaikin160StateLength
const uint16_t kDaikin160StateLength
Definition: IRremoteESP8266.h:1022
kDaikin216HdrMark
const uint16_t kDaikin216HdrMark
Definition: ir_Daikin.h:361
kDaikin2HdrSpace
const uint16_t kDaikin2HdrSpace
Definition: ir_Daikin.h:275
kDaikin176ModeButton
const uint8_t kDaikin176ModeButton
Definition: ir_Daikin.h:496
kDaikinSections
const uint8_t kDaikinSections
Definition: ir_Daikin.h:149
kDaikin2StateLength
const uint16_t kDaikin2StateLength
Definition: IRremoteESP8266.h:1017
IRDaikin176::_saved_temp
uint8_t _saved_temp
The previously user requested temp value.
Definition: ir_Daikin.h:1033
Daikin216Protocol::pad1
uint8_t pad1[5]
Definition: ir_Daikin.h:330
kDaikinByteChecksum1
const uint8_t kDaikinByteChecksum1
Definition: ir_Daikin.h:154
IRDaikin2::setEye
void setEye(const bool on)
Set the Eye (Sensor) mode of the A/C.
Definition: ir_Daikin.cpp:1049
Daikin152Protocol::pad2
uint8_t pad2[2]
Definition: ir_Daikin.h:601
IRDaikin152::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:3113
kDaikin64FanHigh
const uint8_t kDaikin64FanHigh
Definition: ir_Daikin.h:671
IRDaikin160::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:1790
IRDaikin160::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:968
IRDaikin152::send
void send(const uint16_t repeat=kDaikin152DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:3072
kDaikin64ChecksumSize
const uint8_t kDaikin64ChecksumSize
Definition: ir_Daikin.h:677
IRDaikin128::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:2516
IRDaikinESP::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:223
kDaikinFanMed
const uint8_t kDaikinFanMed
Definition: ir_Daikin.h:142
IRDaikin2::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:731
kDaikin64HdrSpace
const uint16_t kDaikin64HdrSpace
Definition: ir_Daikin.h:653
IRDaikin128::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:2548
kDaikin2SwingVLowest
const uint8_t kDaikin2SwingVLowest
Definition: ir_Daikin.h:288
IRDaikin216::send
void send(const uint16_t repeat=kDaikin216DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:1430
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:193
Daikin128Protocol
Native representation of a Daikin128 A/C message.
Definition: ir_Daikin.h:503
IRDaikin216::setSwingVertical
void setSwingVertical(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:1573
kDaikinSwingOff
const uint8_t kDaikinSwingOff
Definition: ir_Daikin.h:147
IRDaikin64::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:3494
DaikinESPProtocol::SwingH
uint64_t SwingH
Definition: ir_Daikin.h:105
kMarkExcess
const uint16_t kMarkExcess
Definition: IRrecv.h:24
kDaikin216SwingOff
const uint8_t kDaikin216SwingOff
Definition: ir_Daikin.h:373
Daikin2Protocol::EyeAuto
uint64_t EyeAuto
Definition: ir_Daikin.h:209
kDaikinAuto
const uint8_t kDaikinAuto
Definition: ir_Daikin.h:134
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:3556
kDaikin216BitMark
const uint16_t kDaikin216BitMark
Definition: ir_Daikin.h:363
IRDaikin176::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:2391
kDaikinCool
const uint8_t kDaikinCool
Definition: ir_Daikin.h:136
IRDaikin128::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:1050
DaikinESPProtocol::OffTime
uint64_t OffTime
Definition: ir_Daikin.h:109
Daikin128Protocol::Temp
uint8_t Temp
Definition: ir_Daikin.h:524
Daikin64Protocol::ClockMins
uint8_t ClockMins
Definition: ir_Daikin.h:634
kDaikin160ZeroSpace
const uint16_t kDaikin160ZeroSpace
Definition: ir_Daikin.h:414
kDaikin2SwingVOff
const uint8_t kDaikin2SwingVOff
Definition: ir_Daikin.h:291
kDaikinFirstHeader64
const uint64_t kDaikinFirstHeader64
Definition: ir_Daikin.h:175
Daikin128Protocol::Econo
uint8_t Econo
Definition: ir_Daikin.h:536
kDaikin216Gap
const uint16_t kDaikin216Gap
Definition: ir_Daikin.h:366
IRDaikin64::_
Daikin64Protocol _
Definition: ir_Daikin.h:1229
Daikin216Protocol::Mode
uint8_t Mode
Definition: ir_Daikin.h:334
IRDaikin2::setBeep
void setBeep(const uint8_t beep)
Set the Beep mode of the A/C.
Definition: ir_Daikin.cpp:997
IRDaikin64::getQuiet
bool getQuiet(void) const
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:3597
kDaikinFanQuiet
const uint8_t kDaikinFanQuiet
Definition: ir_Daikin.h:145
DaikinESPProtocol::CurrentDay
uint64_t CurrentDay
Definition: ir_Daikin.h:81
IRDaikin152::getSensor
bool getSensor(void) const
Get the Sensor mode of the A/C.
Definition: ir_Daikin.cpp:3266
IRDaikin2::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:785
kDaikinMarkExcess
const uint16_t kDaikinMarkExcess
Definition: ir_Daikin.h:167
IRDaikin128::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Daikin.cpp:2625
Daikin160Protocol::Temp
uint8_t Temp
Definition: ir_Daikin.h:397
kDaikinTolerance
const uint8_t kDaikinTolerance
Definition: ir_Daikin.h:166
DaikinESPProtocol::OffTimer
uint64_t OffTimer
Definition: ir_Daikin.h:91
kDaikin2SwingVLow
const uint8_t kDaikin2SwingVLow
Definition: ir_Daikin.h:287
IRDaikin216::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:1623
IRDaikin2::getLight
uint8_t getLight(void) const
Get the Light status of the A/C.
Definition: ir_Daikin.cpp:1001
IRDaikinESP::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Daikin.cpp:504
IRDaikin2::setClean
void setClean(const bool on)
Set the Auto clean mode of the A/C.
Definition: ir_Daikin.cpp:1017
kDaikin216HdrSpace
const uint16_t kDaikin216HdrSpace
Definition: ir_Daikin.h:362
kDaikinSection2Length
const uint8_t kDaikinSection2Length
Definition: ir_Daikin.h:151
DaikinESPProtocol::Sum2
uint64_t Sum2
Definition: ir_Daikin.h:84
kDaikin176OneSpace
const uint16_t kDaikin176OneSpace
Definition: ir_Daikin.h:484
IRDaikin2::getEcono
bool getEcono(void) const
Get the Economical mode of the A/C.
Definition: ir_Daikin.cpp:1061
IRDaikin176::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:1025
Daikin152Protocol::raw
uint8_t raw[kDaikin152StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:576
Daikin152Protocol::Fan
uint8_t Fan
Definition: ir_Daikin.h:592
Daikin2Protocol::Purify
uint64_t Purify
Definition: ir_Daikin.h:259
kDaikinHdrMark
const uint16_t kDaikinHdrMark
Definition: ir_Daikin.h:168
Daikin152Protocol::SwingV
uint8_t SwingV
Definition: ir_Daikin.h:591
kDaikinLightOff
const uint8_t kDaikinLightOff
Definition: ir_Daikin.h:163
IRDaikin2::setEcono
void setEcono(const bool on)
Set the Economy mode of the A/C.
Definition: ir_Daikin.cpp:1057
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:1943
Daikin2Protocol::Eye
uint64_t Eye
Definition: ir_Daikin.h:256
IRDaikin64::getOnTime
uint16_t getOnTime(void) const
Get the On Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:3650
kDaikin2Tolerance
const uint8_t kDaikin2Tolerance
Definition: ir_Daikin.h:282
kDaikin160SwingVLow
const uint8_t kDaikin160SwingVLow
Definition: ir_Daikin.h:421
IRDaikin128::getQuiet
bool getQuiet(void) const
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:2739
Daikin64Protocol::Power
uint8_t Power
Definition: ir_Daikin.h:646
kDaikin176DryFanTemp
const uint8_t kDaikin176DryFanTemp
Definition: ir_Daikin.h:497
IRDaikinESP::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:264
IRDaikin2::getBeep
uint8_t getBeep(void) const
Get the Beep status of the A/C.
Definition: ir_Daikin.cpp:993
IRDaikin128::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Daikin.cpp:2689
DaikinESPProtocol::Powerful
uint64_t Powerful
Definition: ir_Daikin.h:111
kDaikin2OneSpace
const uint16_t kDaikin2OneSpace
Definition: ir_Daikin.h:277
kDaikin2SwingHWide
const uint8_t kDaikin2SwingHWide
Definition: ir_Daikin.h:296
IRDaikinESP::_
DaikinESPProtocol _
Definition: ir_Daikin.h:768
IRDaikin64::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:3421
IRDaikin64::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Daikin.cpp:3522
Daikin160Protocol::pad2
uint8_t pad2[2]
Definition: ir_Daikin.h:394
kDaikin128HdrMark
const uint16_t kDaikin128HdrMark
Definition: ir_Daikin.h:549
Daikin216Protocol::raw
uint8_t raw[kDaikin216StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:323
IRDaikin64::getSleep
bool getSleep(void) const
Get the Sleep mode of the A/C.
Definition: ir_Daikin.cpp:3623
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:312
IRDaikin128::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:2565
IRDaikin64::send
void send(const uint16_t repeat=kDaikin64DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:3426
IRDaikin176::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:2166
IRDaikin216::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:1544
DaikinESPProtocol::Sum3
uint8_t Sum3
Definition: ir_Daikin.h:129
IRDaikin2::disableSleepTimer
void disableSleepTimer(void)
Disable the sleep timer.
Definition: ir_Daikin.cpp:1076
IRDaikin160::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:1819
Daikin176Protocol::Fan
uint8_t Fan
Definition: ir_Daikin.h:472
IRDaikin2::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Daikin.cpp:799
IRDaikin128::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:2652
IRDaikinESP::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:157
kDaikin128MaxTemp
const uint8_t kDaikin128MaxTemp
Definition: ir_Daikin.h:570
DaikinESPProtocol::Quiet
uint64_t Quiet
Definition: ir_Daikin.h:113
IRDaikin160::send
void send(const uint16_t repeat=kDaikin160DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:1826
kDaikinMaxTemp
const uint8_t kDaikinMaxTemp
Definition: ir_Daikin.h:140
IRDaikin176
Class for handling detailed Daikin 176-bit A/C messages.
Definition: ir_Daikin.h:981
kDaikin128FanHigh
const uint8_t kDaikin128FanHigh
Definition: ir_Daikin.h:564
IRDaikin216::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Daikin.cpp:1500
kDaikin128FanAuto
const uint8_t kDaikin128FanAuto
Definition: ir_Daikin.h:563
IRDaikin216::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:916
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:1156
Daikin2Protocol::CurrentTime
uint64_t CurrentTime
Definition: ir_Daikin.h:189
IRDaikinESP::getSwingVertical
bool getSwingVertical(void) const
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:286
kDaikin176Section1Length
const uint16_t kDaikin176Section1Length
Definition: ir_Daikin.h:488
Daikin64Protocol::raw
uint64_t raw
The state of the IR remote.
Definition: ir_Daikin.h:629
kDaikin2Freq
const uint16_t kDaikin2Freq
Definition: ir_Daikin.h:270
kDaikin128BitMark
const uint16_t kDaikin128BitMark
Definition: ir_Daikin.h:551
kDaikinMinTemp
const uint8_t kDaikinMinTemp
Definition: ir_Daikin.h:139
IRDaikin216::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:1531
IRDaikinESP::disableOnTimer
void disableOnTimer(void)
Clear and disable the On timer.
Definition: ir_Daikin.cpp:391
IRDaikin216::IRDaikin216
IRDaikin216(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class Constructor.
Definition: ir_Daikin.cpp:1420
DaikinESPProtocol::Temp
uint64_t Temp
Definition: ir_Daikin.h:97
IRDaikin2::getEyeAuto
bool getEyeAuto(void) const
Get the Automaitc Eye (Sensor) mode status of the A/C.
Definition: ir_Daikin.cpp:1045
IRDaikin2::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:824
kDaikinFanMin
const uint8_t kDaikinFanMin
Definition: ir_Daikin.h:141
IRDaikin152::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:3067
kDaikin128LeaderMark
const uint16_t kDaikin128LeaderMark
Definition: ir_Daikin.h:547
IRDaikin128::setSleep
void setSleep(const bool on)
Set the Sleep mode of the A/C.
Definition: ir_Daikin.cpp:2710
IRDaikinESP::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Daikin.cpp:531
kDaikin2SwingVCirculate
const uint8_t kDaikin2SwingVCirculate
Definition: ir_Daikin.h:290
Daikin128Protocol::ClockHours
uint8_t ClockHours
Definition: ir_Daikin.h:514
Daikin176Protocol::pad2
uint8_t pad2[2]
Definition: ir_Daikin.h:465
kDaikin2SwingHAuto
const uint8_t kDaikin2SwingHAuto
Definition: ir_Daikin.h:302
kDaikinLightDim
const uint8_t kDaikinLightDim
Definition: ir_Daikin.h:162
kDaikin176Fan
const uint8_t kDaikin176Fan
Definition: ir_Daikin.h:491
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:575