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