IRremoteESP8266
ir_Daikin.h
Go to the documentation of this file.
1 // Copyright 2016 sillyfrog
2 // Copyright 2017 sillyfrog, crankyoldgit
3 // Copyright 2018-2020 crankyoldgit
4 // Copyright 2019 pasna (IRDaikin160 class / Daikin176 class)
5 
23 
24 // Supports:
25 // Brand: Daikin, Model: ARC433** remote (DAIKIN)
26 // Brand: Daikin, Model: ARC477A1 remote (DAIKIN2)
27 // Brand: Daikin, Model: FTXZ25NV1B A/C (DAIKIN2)
28 // Brand: Daikin, Model: FTXZ35NV1B A/C (DAIKIN2)
29 // Brand: Daikin, Model: FTXZ50NV1B A/C (DAIKIN2)
30 // Brand: Daikin, Model: ARC433B69 remote (DAIKIN216)
31 // Brand: Daikin, Model: ARC423A5 remote (DAIKIN160)
32 // Brand: Daikin, Model: FTE12HV2S A/C
33 // Brand: Daikin, Model: BRC4C153 remote (DAIKIN176)
34 // Brand: Daikin, Model: 17 Series A/C (DAIKIN128)
35 // Brand: Daikin, Model: FTXB12AXVJU A/C (DAIKIN128)
36 // Brand: Daikin, Model: FTXB09AXVJU A/C (DAIKIN128)
37 // Brand: Daikin, Model: BRC52B63 remote (DAIKIN128)
38 // Brand: Daikin, Model: ARC480A5 remote (DAIKIN152)
39 // Brand: Daikin, Model: FFN-C/FCN-F Series A/C (DAIKIN64)
40 // Brand: Daikin, Model: DGS01 remote (DAIKIN64)
41 // Brand: Daikin, Model: M Series A/C (DAIKIN)
42 // Brand: Daikin, Model: FTXM-M A/C (DAIKIN)
43 // Brand: Daikin, Model: ARC466A33 remote (DAIKIN)
44 
45 #ifndef IR_DAIKIN_H_
46 #define IR_DAIKIN_H_
47 
48 #ifndef UNIT_TEST
49 #include <Arduino.h>
50 #endif
51 #include "IRrecv.h"
52 #include "IRremoteESP8266.h"
53 #include "IRsend.h"
54 #ifdef UNIT_TEST
55 #include "IRsend_test.h"
56 #endif
57 
58 /*
59  Daikin AC map (i.e. DAIKIN, not the other variants)
60  byte 6=
61  b4:Comfort
62  byte 7= checksum of the first part (and last byte before a 29ms pause)
63  byte 13=Current time, mins past midnight, low bits
64  byte 14
65  b5-b3=Day of the week (SUN=1, MON=2, ..., SAT=7)
66  b2-b0=Current time, mins past midnight, high bits
67  byte 15= checksum of the second part (and last byte before a 29ms pause)
68  byte 21=mode
69  b7 = 0
70  b6+b5+b4 = Mode
71  Modes: b6+b5+b4
72  011 = Cool
73  100 = Heat (temp 23)
74  110 = FAN (temp not shown, but 25)
75  000 = Fully Automatic (temp 25)
76  010 = DRY (temp 0xc0 = 96 degrees c)
77  b3 = 1
78  b2 = OFF timer set
79  b1 = ON timer set
80  b0 = Air Conditioner ON
81  byte 22=temp*2 (Temp should be between 10 - 32)
82  byte 24=Fan
83  FAN control
84  b7+b6+b5+b4 = Fan speed
85  Fan: b7+b6+b5+b4
86  0×3 = 1 bar
87  0×4 = 2 bar
88  0×5 = 3 bar
89  0×6 = 4 bar
90  0×7 = 5 bar
91  0xa = Auto
92  0xb = Quite
93  b3+b2+b1+b0 = Swing control up/down
94  Swing control up/down:
95  0000 = Swing up/down off
96  1111 = Swing up/down on
97  byte 25
98  Swing control left/right:
99  0000 = Swing left/right off
100  1111 = Swing left/right on
101  byte 26=On timer mins past midnight, low bits
102  byte 27
103  b0-b3=On timer mins past midnight, high bits
104  b4-b7=Off timer mins past midnight, low bits
105  byte 28=Off timer mins past midnight, high bits
106  byte 29=Aux -> Powerful (bit 1), Silent (bit 5)
107  byte 32=Aux2
108  b1: Sensor
109  b2: Econo mode
110  b7: Intelligent eye on
111  byte 33=Aux3
112  b1: Mold Proof
113  byte 34= checksum of the third part
114 */
115 
116 // Constants
117 const uint8_t kDaikinAuto = 0b000;
118 const uint8_t kDaikinDry = 0b010;
119 const uint8_t kDaikinCool = 0b011;
120 const uint8_t kDaikinHeat = 0b100;
121 const uint8_t kDaikinFan = 0b110;
122 const uint8_t kDaikinModeOffset = 4;
123 const uint8_t kDaikinModeSize = 3;
124 const uint8_t kDaikinMinTemp = 10; // Celsius
125 const uint8_t kDaikinMaxTemp = 32; // Celsius
126 const uint8_t kDaikinFanMin = 1;
127 const uint8_t kDaikinFanMed = 3;
128 const uint8_t kDaikinFanMax = 5;
129 const uint8_t kDaikinFanAuto = 0b1010; // 10 / 0xA
130 const uint8_t kDaikinFanQuiet = 0b1011; // 11 / 0xB
131 const uint8_t kDaikinFanOffset = 4;
132 const uint8_t kDaikinFanSize = 4;
133 const uint8_t kDaikinSwingOffset = 0;
134 const uint8_t kDaikinSwingSize = 4;
135 const uint8_t kDaikinSwingOn = 0b1111;
136 const uint8_t kDaikinSwingOff = 0b0000;
137 const uint16_t kDaikinHeaderLength = 5;
138 const uint8_t kDaikinSections = 3;
139 const uint8_t kDaikinSection1Length = 8;
140 const uint8_t kDaikinSection2Length = 8;
141 const uint8_t kDaikinSection3Length =
143 const uint8_t kDaikinByteComfort = 6;
144 const uint8_t kDaikinByteChecksum1 = 7;
145 const uint8_t kDaikinBitComfortOffset = 4;
147 const uint8_t kDaikinByteClockMinsLow = 13;
148 const uint8_t kDaikinByteClockMinsHigh = 14;
149 const uint8_t kDaikinClockMinsHighOffset = 0;
150 const uint8_t kDaikinClockMinsHighSize = 3;
151 const uint8_t kDaikinDoWOffset = 3;
152 const uint8_t kDaikinDoWSize = 3;
153 const uint8_t kDaikinByteChecksum2 = 15;
154 const uint8_t kDaikinBytePower = 21;
155 const uint8_t kDaikinBitPowerOffset = 0;
157 const uint8_t kDaikinTempOffset = 1;
158 const uint8_t kDaikinTempSize = 6;
159 const uint8_t kDaikinByteTemp = 22;
160 const uint8_t kDaikinByteFan = 24;
161 const uint8_t kDaikinByteSwingH = 25;
162 const uint8_t kDaikinByteOnTimerMinsLow = 26;
163 const uint8_t kDaikinByteOnTimerMinsHigh = 27;
165 const uint8_t kDaikinOnTimerMinsHighSize = 4;
167 const uint8_t kDaikinByteOffTimerMinsHigh = 28;
168 const uint8_t kDaikinBytePowerful = 29;
169 const uint8_t kDaikinBitPowerfulOffset = 0;
172 const uint8_t kDaikinBitSilentOffset = 5;
174 const uint8_t kDaikinByteSensor = 32;
175 const uint8_t kDaikinBitSensorOffset = 1;
178 const uint8_t kDaikinBitEconoOffset = 2;
181 const uint8_t kDaikinBitEye = 0b10000000;
183 const uint8_t kDaikinBitWeeklyTimerOffset = 7;
185 const uint8_t kDaikinByteMold = 33;
186 const uint8_t kDaikinBitMoldOffset = 1;
189 const uint8_t kDaikinBitOffTimerOffset = 2;
192 const uint8_t kDaikinBitOnTimerOffset = 1;
195 const uint16_t kDaikinUnusedTime = 0x600;
196 const uint8_t kDaikinBeepQuiet = 1;
197 const uint8_t kDaikinBeepLoud = 2;
198 const uint8_t kDaikinBeepOff = 3;
199 const uint8_t kDaikinLightBright = 1;
200 const uint8_t kDaikinLightDim = 2;
201 const uint8_t kDaikinLightOff = 3;
204 const uint8_t kDaikinTolerance = 35;
206 const uint16_t kDaikinHdrMark = 3650; // kDaikinBitMark * 8
207 const uint16_t kDaikinHdrSpace = 1623; // kDaikinBitMark * 4
208 const uint16_t kDaikinBitMark = 428;
209 const uint16_t kDaikinZeroSpace = 428;
210 const uint16_t kDaikinOneSpace = 1280;
211 const uint16_t kDaikinGap = 29000;
212 // Note bits in each octet swapped so can be sent as a single value
213 const uint64_t kDaikinFirstHeader64 =
214  0b1101011100000000000000001100010100000000001001111101101000010001;
215 
216 
217 const uint16_t kDaikin2Freq = 36700; // Modulation Frequency in Hz.
218 const uint16_t kDaikin2LeaderMark = 10024;
219 const uint16_t kDaikin2LeaderSpace = 25180;
221 const uint16_t kDaikin2HdrMark = 3500;
222 const uint16_t kDaikin2HdrSpace = 1728;
223 const uint16_t kDaikin2BitMark = 460;
224 const uint16_t kDaikin2OneSpace = 1270;
225 const uint16_t kDaikin2ZeroSpace = 420;
226 const uint16_t kDaikin2Sections = 2;
227 const uint16_t kDaikin2Section1Length = 20;
228 const uint16_t kDaikin2Section2Length = 19;
229 const uint8_t kDaikin2Tolerance = 5; // Extra percentage tolerance
230 const uint8_t kDaikin2BitSleepTimerOffset = 5;
232 const uint8_t kDaikin2BitPurifyOffset = 4;
233 const uint8_t kDaikin2BitPurify = 1 << kDaikin2BitPurifyOffset; // 0b00010000
234 const uint8_t kDaikin2BitEyeOffset = 1;
235 const uint8_t kDaikin2BitEye = 1 << kDaikin2BitEyeOffset; // 0b00000010
236 const uint8_t kDaikin2BitEyeAutoOffset = 7;
237 const uint8_t kDaikin2BitEyeAuto = 1 << kDaikin2BitEyeAutoOffset; // 0b10000000
238 const uint8_t kDaikin2BitMoldOffset = 3;
239 const uint8_t kDaikin2BitMold = 1 << kDaikin2BitMoldOffset; // 0b00001000
240 const uint8_t kDaikin2BitCleanOffset = 5; // Byte[8]
241 const uint8_t kDaikin2BitClean = 1 << kDaikin2BitCleanOffset; // 0b00100000
242 const uint8_t kDaikin2BitFreshAirOffset = 0;
246 const uint8_t kDaikin2BitPowerOffset = 7;
247 const uint8_t kDaikin2BitPower = 1 << kDaikin2BitPowerOffset; // 0b10000000
248 // const uint8_t kDaikin2LightMask = 0b00110000; // Byte[7]
249 const uint8_t kDaikin2LightOffset = 4; // Byte[7]
250 const uint8_t kDaikin2LightSize = 2;
251 // const uint8_t kDaikin2BeepMask = 0b11000000; // Byte[7]
252 const uint8_t kDaikin2BeepOffset = 6; // Byte[7]
253 const uint8_t kDaikin2BeepSize = 2;
254 const uint8_t kDaikin2SwingVHigh = 0x1;
255 const uint8_t kDaikin2SwingVLow = 0x6;
256 const uint8_t kDaikin2SwingVSwing = 0xF;
257 const uint8_t kDaikin2SwingVAuto = 0xE;
258 const uint8_t kDaikin2SwingVBreeze = 0xC;
259 const uint8_t kDaikin2SwingVCirculate = 0xD;
260 const uint8_t kDaikin2FanByte = 28;
261 
262 const uint8_t kDaikin2SwingHWide = 0xA3;
263 const uint8_t kDaikin2SwingHLeftMax = 0xA8;
264 const uint8_t kDaikin2SwingHLeft = 0xA9;
265 const uint8_t kDaikin2SwingHMiddle = 0xAA;
266 const uint8_t kDaikin2SwingHRight = 0xAB;
267 const uint8_t kDaikin2SwingHRightMax = 0xAC;
268 const uint8_t kDaikin2SwingHAuto = 0xBE;
269 const uint8_t kDaikin2SwingHSwing = 0xBF;
270 
271 const uint8_t kDaikin2MinCoolTemp = 18; // Min temp (in C) when in Cool mode.
272 
273 
274 const uint16_t kDaikin216Freq = 38000; // Modulation Frequency in Hz.
275 const uint16_t kDaikin216HdrMark = 3440;
276 const uint16_t kDaikin216HdrSpace = 1750;
277 const uint16_t kDaikin216BitMark = 420;
278 const uint16_t kDaikin216OneSpace = 1300;
279 const uint16_t kDaikin216ZeroSpace = 450;
280 const uint16_t kDaikin216Gap = 29650;
281 const uint16_t kDaikin216Sections = 2;
282 const uint16_t kDaikin216Section1Length = 8;
285 const uint8_t kDaikin216BytePower = 13;
287 // const uint8_t kDaikin216MaskMode = 0b01110000;
288 const uint8_t kDaikin216ByteTemp = 14;
289 // const uint8_t kDaikin216MaskTemp = 0b01111110;
290 const uint8_t kDaikin216TempOffset = 1;
291 const uint8_t kDaikin216TempSize = 6;
292 
293 const uint8_t kDaikin216ByteFan = 16;
294 const uint8_t kDaikin216MaskFan = 0b11110000;
295 const uint8_t kDaikin216ByteSwingV = 16;
296 // const uint8_t kDaikin216MaskSwingV = 0b00001111;
297 const uint8_t kDaikin216SwingSize = 4;
298 const uint8_t kDaikin216SwingOn = 0b1111;
299 const uint8_t kDaikin216SwingOff = 0b0000;
300 const uint8_t kDaikin216ByteSwingH = 17;
301 const uint8_t kDaikin216BytePowerful = 21;
302 
303 
304 const uint16_t kDaikin160Freq = 38000; // Modulation Frequency in Hz.
305 const uint16_t kDaikin160HdrMark = 5000;
306 const uint16_t kDaikin160HdrSpace = 2145;
307 const uint16_t kDaikin160BitMark = 342;
308 const uint16_t kDaikin160OneSpace = 1786;
309 const uint16_t kDaikin160ZeroSpace = 700;
310 const uint16_t kDaikin160Gap = 29650;
311 const uint16_t kDaikin160Sections = 2;
312 const uint16_t kDaikin160Section1Length = 7;
315 const uint8_t kDaikin160BytePower = 12;
317 // const uint8_t kDaikin160MaskMode = 0b01110000;
318 const uint8_t kDaikin160ByteTemp = 16;
319 // const uint8_t kDaikin160MaskTemp = 0b01111110;
320 const uint8_t kDaikin160TempOffset = 1;
321 const uint8_t kDaikin160TempSize = 6;
322 const uint8_t kDaikin160ByteFan = 17;
323 const uint8_t kDaikin160MaskFan = 0b00001111;
324 const uint8_t kDaikin160ByteSwingV = 13;
325 const uint8_t kDaikin160MaskSwingV = 0b11110000;
326 const uint8_t kDaikin160SwingVLowest = 0x1;
327 const uint8_t kDaikin160SwingVLow = 0x2;
328 const uint8_t kDaikin160SwingVMiddle = 0x3;
329 const uint8_t kDaikin160SwingVHigh = 0x4;
330 const uint8_t kDaikin160SwingVHighest = 0x5;
331 const uint8_t kDaikin160SwingVAuto = 0xF;
332 
333 
334 const uint16_t kDaikin176Freq = 38000; // Modulation Frequency in Hz.
335 const uint16_t kDaikin176HdrMark = 5070;
336 const uint16_t kDaikin176HdrSpace = 2140;
337 const uint16_t kDaikin176BitMark = 370;
338 const uint16_t kDaikin176OneSpace = 1780;
339 const uint16_t kDaikin176ZeroSpace = 710;
340 const uint16_t kDaikin176Gap = 29410;
341 const uint16_t kDaikin176Sections = 2;
342 const uint16_t kDaikin176Section1Length = 7;
345 const uint8_t kDaikin176Cool = 0b111; // 7
346 const uint8_t kDaikin176BytePower = 14;
347 const uint8_t kDaikin176ByteMode = 12;
348 const uint8_t kDaikin176MaskMode = 0b01110000;
349 const uint8_t kDaikin176ByteModeButton = 13;
350 const uint8_t kDaikin176ModeButton = 0b00000100;
351 const uint8_t kDaikin176ByteTemp = 17;
352 // const uint8_t kDaikin176MaskTemp = 0b01111110;
353 const uint8_t kDaikin176TempOffset = 1;
354 const uint8_t kDaikin176TempSize = 6;
355 const uint8_t kDaikin176DryFanTemp = 17; // Dry/Fan mode is always 17 Celsius.
356 const uint8_t kDaikin176ByteFan = 18;
357 const uint8_t kDaikin176MaskFan = 0b11110000;
358 const uint8_t kDaikin176FanMax = 3;
359 const uint8_t kDaikin176ByteSwingH = 18;
360 // const uint8_t kDaikin176MaskSwingH = 0b00001111;
361 const uint8_t kDaikin176SwingHAuto = 0x5;
362 const uint8_t kDaikin176SwingHOff = 0x6;
363 
364 
365 const uint16_t kDaikin128Freq = 38000; // Modulation Frequency in Hz.
366 const uint16_t kDaikin128LeaderMark = 9800;
367 const uint16_t kDaikin128LeaderSpace = 9800;
368 const uint16_t kDaikin128HdrMark = 4600;
369 const uint16_t kDaikin128HdrSpace = 2500;
370 const uint16_t kDaikin128BitMark = 350;
371 const uint16_t kDaikin128OneSpace = 954;
372 const uint16_t kDaikin128ZeroSpace = 382;
373 const uint16_t kDaikin128Gap = 20300;
375 const uint16_t kDaikin128Sections = 2;
376 const uint16_t kDaikin128SectionLength = 8;
377 const uint8_t kDaikin128ByteModeFan = 1;
378 // const uint8_t kDaikin128MaskMode = 0b00001111;
379 const uint8_t kDaikin128ModeSize = 4;
380 const uint8_t kDaikin128Dry = 0b00000001;
381 const uint8_t kDaikin128Cool = 0b00000010;
382 const uint8_t kDaikin128Fan = 0b00000100;
383 const uint8_t kDaikin128Heat = 0b00001000;
384 const uint8_t kDaikin128Auto = 0b00001010;
385 const uint8_t kDaikin128MaskFan = 0b11110000;
386 const uint8_t kDaikin128FanAuto = 0b0001;
387 const uint8_t kDaikin128FanHigh = 0b0010;
388 const uint8_t kDaikin128FanMed = 0b0100;
389 const uint8_t kDaikin128FanLow = 0b1000;
390 const uint8_t kDaikin128FanPowerful = 0b0011;
391 const uint8_t kDaikin128FanQuiet = 0b1001;
392 const uint8_t kDaikin128ByteClockMins = 2;
393 const uint8_t kDaikin128ByteClockHours = 3;
394 const uint8_t kDaikin128ByteOnTimer = 4;
395 const uint8_t kDaikin128ByteOffTimer = 5;
398 const uint8_t kDaikin128TimerOffset = 0;
399 const uint8_t kDaikin128TimerSize = 7;
400 const uint8_t kDaikin128HalfHourOffset = 6;
402 // const uint8_t kDaikin128MaskHours = 0b00111111;
403 const uint8_t kDaikin128HoursOffset = 0;
404 const uint8_t kDaikin128HoursSize = 6;
405 const uint8_t kDaikin128ByteTemp = 6;
406 const uint8_t kDaikin128MinTemp = 16; // C
407 const uint8_t kDaikin128MaxTemp = 30; // C
409 const uint8_t kDaikin128BitSwingOffset = 0;
410 const uint8_t kDaikin128BitSwing = 1 << kDaikin128BitSwingOffset; // 0b00000001
411 const uint8_t kDaikin128BitSleepOffset = 1;
412 const uint8_t kDaikin128BitSleep = 1 << kDaikin128BitSleepOffset; // 0b00000010
415 const uint8_t kDaikin128ByteEconoLight = 9;
416 const uint8_t kDaikin128BitEconoOffset = 2;
417 const uint8_t kDaikin128BitEcono = 1 << kDaikin128BitEconoOffset; // 0b00000100
418 const uint8_t kDaikin128BitWall = 0b00001000;
419 const uint8_t kDaikin128BitCeiling = 0b00000001;
421 
422 
423 const uint16_t kDaikin152Freq = 38000; // Modulation Frequency in Hz.
424 const uint8_t kDaikin152LeaderBits = 5;
425 const uint16_t kDaikin152HdrMark = 3492;
426 const uint16_t kDaikin152HdrSpace = 1718;
427 const uint16_t kDaikin152BitMark = 433;
428 const uint16_t kDaikin152OneSpace = 1529;
430 const uint16_t kDaikin152Gap = 25182;
431 
432 // Byte[5]
433 const uint8_t kDaikin152ModeByte = 5; // Mask 0b01110000
434 const uint8_t kDaikin152PowerByte = kDaikin152ModeByte; // Mask 0b00000001
435 // Byte[6]
436 const uint8_t kDaikin152TempByte = 6; // Mask 0b11111110
437 const uint8_t kDaikin152TempSize = 7;
438 const uint8_t kDaikin152DryTemp = kDaikin2MinCoolTemp; // Celsius
439 const uint8_t kDaikin152FanTemp = 0x60; // 96 Celsius
440 // Byte[8]
441 const uint8_t kDaikin152FanByte = 8;
443 // Byte[13]
444 const uint8_t kDaikin152QuietByte = 13; // Mask 0b00100000
445 const uint8_t kDaikin152PowerfulByte = kDaikin152QuietByte; // Mask 0b00000001
446 // Byte[16]
447 const uint8_t kDaikin152EconoByte = 16; // Mask 0b00000100
448 const uint8_t kDaikin152ComfortByte = kDaikin152EconoByte; // Mask 0b00000010
449 const uint8_t kDaikin152ComfortOffset = 1; // Mask 0b00000010
450 const uint8_t kDaikin152SensorByte = kDaikin152EconoByte; // Mask 0b00001000
451 const uint8_t kDaikin152SensorOffset = 3; // Mask 0b00001000
452 
453 
460 const uint16_t kDaikin64Gap = kDaikin128Gap;
462 const uint16_t kDaikin64Freq = kDaikin128Freq; // Hz.
463 const uint8_t kDaikin64Overhead = 9;
464 const int8_t kDaikin64ToleranceDelta = 5; // +5%
465 
466 const uint64_t kDaikin64KnownGoodState = 0x7C16161607204216;
467 const uint8_t kDaikin64ModeOffset = 8;
468 const uint8_t kDaikin64ModeSize = 4; // Mask 0b111100000000
469 const uint8_t kDaikin64Dry = 0b001;
470 const uint8_t kDaikin64Cool = 0b010;
471 const uint8_t kDaikin64Fan = 0b100;
473 const uint8_t kDaikin64FanSize = 4; // Mask 0b1111000000000000
474 const uint8_t kDaikin64FanAuto = 0b0001;
475 const uint8_t kDaikin64FanLow = 0b1000;
476 const uint8_t kDaikin64FanMed = 0b0100;
477 const uint8_t kDaikin64FanHigh = 0b0010;
478 const uint8_t kDaikin64FanQuiet = 0b1001;
479 const uint8_t kDaikin64FanTurbo = 0b0011;
481 const uint8_t kDaikin64ClockMinsSize = 8;
482 const uint8_t kDaikin64ClockHoursSize = 8;
484  kDaikin64ClockHoursSize; // Mask 0b1111111111111111 << 15
487 const uint8_t kDaikin64OnTimeSize = 6;
492 const uint8_t kDaikin64OffTimeSize = 6;
496 const uint8_t kDaikin64TempOffset = 48;
497 const uint8_t kDaikin64TempSize = 8; // Mask 0b11111111 << 47
498 const uint8_t kDaikin64MinTemp = 16; // Celsius
499 const uint8_t kDaikin64MaxTemp = 30; // Celsius
500 const uint8_t kDaikin64SwingVBit = 56;
502 const uint8_t kDaikin64PowerToggleBit = 59;
503 const uint8_t kDaikin64ChecksumOffset = 60;
504 const uint8_t kDaikin64ChecksumSize = 4; // Mask 0b1111 << 59
505 
506 // Legacy defines.
507 #define DAIKIN_COOL kDaikinCool
508 #define DAIKIN_HEAT kDaikinHeat
509 #define DAIKIN_FAN kDaikinFan
510 #define DAIKIN_AUTO kDaikinAuto
511 #define DAIKIN_DRY kDaikinDry
512 #define DAIKIN_MIN_TEMP kDaikinMinTemp
513 #define DAIKIN_MAX_TEMP kDaikinMaxTemp
514 #define DAIKIN_FAN_MIN kDaikinFanMin
515 #define DAIKIN_FAN_MAX kDaikinFanMax
516 #define DAIKIN_FAN_AUTO kDaikinFanAuto
517 #define DAIKIN_FAN_QUIET kDaikinFanQuiet
518 
520 class IRDaikinESP {
521  public:
522  explicit IRDaikinESP(const uint16_t pin, const bool inverted = false,
523  const bool use_modulation = true);
524 
525 #if SEND_DAIKIN
526  void send(const uint16_t repeat = kDaikinDefaultRepeat);
531  int8_t calibrate(void) { return _irsend.calibrate(); }
532 #endif
533  void begin(void);
534  void on(void);
535  void off(void);
536  void setPower(const bool on);
537  bool getPower(void);
538  void setTemp(const uint8_t temp);
539  uint8_t getTemp();
540  void setFan(const uint8_t fan);
541  uint8_t getFan(void);
542  void setMode(const uint8_t mode);
543  uint8_t getMode(void);
544  void setSwingVertical(const bool on);
545  bool getSwingVertical(void);
546  void setSwingHorizontal(const bool on);
547  bool getSwingHorizontal(void);
548  bool getQuiet(void);
549  void setQuiet(const bool on);
550  bool getPowerful(void);
551  void setPowerful(const bool on);
552  void setSensor(const bool on);
553  bool getSensor(void);
554  void setEcono(const bool on);
555  bool getEcono(void);
556  void setMold(const bool on);
557  bool getMold(void);
558  void setComfort(const bool on);
559  bool getComfort(void);
560  void enableOnTimer(const uint16_t starttime);
561  void disableOnTimer(void);
562  uint16_t getOnTime(void);
563  bool getOnTimerEnabled();
564  void enableOffTimer(const uint16_t endtime);
565  void disableOffTimer(void);
566  uint16_t getOffTime(void);
567  bool getOffTimerEnabled(void);
568  void setCurrentTime(const uint16_t mins_since_midnight);
569  uint16_t getCurrentTime(void);
570  void setCurrentDay(const uint8_t day_of_week);
571  uint8_t getCurrentDay(void);
572  void setWeeklyTimerEnable(const bool on);
573  bool getWeeklyTimerEnable(void);
574  uint8_t* getRaw(void);
575  void setRaw(const uint8_t new_code[],
576  const uint16_t length = kDaikinStateLength);
577  static bool validChecksum(uint8_t state[],
578  const uint16_t length = kDaikinStateLength);
579  static uint8_t convertMode(const stdAc::opmode_t mode);
580  static uint8_t convertFan(const stdAc::fanspeed_t speed);
581  static stdAc::opmode_t toCommonMode(const uint8_t mode);
582  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
583  stdAc::state_t toCommon(void);
584  String toString(void);
585 #ifndef UNIT_TEST
586 
587  private:
589 #else
590  IRsendTest _irsend;
592 #endif
594  // # of bytes per command
596  void stateReset(void);
597  void checksum(void);
598 };
599 
602 class IRDaikin2 {
603  public:
604  explicit IRDaikin2(const uint16_t pin, const bool inverted = false,
605  const bool use_modulation = true);
606 
607 #if SEND_DAIKIN2
608  void send(const uint16_t repeat = kDaikin2DefaultRepeat);
613  int8_t calibrate(void) { return _irsend.calibrate(); }
614 #endif
615  void begin();
616  void on();
617  void off();
618  void setPower(const bool state);
619  bool getPower();
620  void setTemp(const uint8_t temp);
621  uint8_t getTemp();
622  void setFan(const uint8_t fan);
623  uint8_t getFan();
624  uint8_t getMode();
625  void setMode(const uint8_t mode);
626  void setSwingVertical(const uint8_t position);
627  uint8_t getSwingVertical();
628  void setSwingHorizontal(const uint8_t position);
629  uint8_t getSwingHorizontal();
630  bool getQuiet();
631  void setQuiet(const bool on);
632  bool getPowerful();
633  void setPowerful(const bool on);
634  void setEcono(const bool on);
635  bool getEcono();
636  void setEye(const bool on);
637  bool getEye();
638  void setEyeAuto(const bool on);
639  bool getEyeAuto();
640  void setPurify(const bool on);
641  bool getPurify();
642  void setMold(const bool on);
643  bool getMold();
644  void enableOnTimer(const uint16_t starttime);
645  void disableOnTimer();
646  uint16_t getOnTime();
647  bool getOnTimerEnabled();
648  void enableSleepTimer(const uint16_t sleeptime);
649  void disableSleepTimer();
650  uint16_t getSleepTime();
651  bool getSleepTimerEnabled();
652  void enableOffTimer(const uint16_t endtime);
653  void disableOffTimer();
654  uint16_t getOffTime();
655  bool getOffTimerEnabled();
656  void setCurrentTime(const uint16_t time);
657  uint16_t getCurrentTime();
658  void setBeep(const uint8_t beep);
659  uint8_t getBeep();
660  void setLight(const uint8_t light);
661  uint8_t getLight();
662  void setClean(const bool on);
663  bool getClean();
664  void setFreshAir(const bool on);
665  bool getFreshAir();
666  void setFreshAirHigh(const bool on);
667  bool getFreshAirHigh();
668  uint8_t* getRaw();
669  void setRaw(const uint8_t new_code[]);
670  static bool validChecksum(uint8_t state[],
671  const uint16_t length = kDaikin2StateLength);
672  static uint8_t convertMode(const stdAc::opmode_t mode);
673  static uint8_t convertFan(const stdAc::fanspeed_t speed);
674  static uint8_t convertSwingV(const stdAc::swingv_t position);
675  static uint8_t convertSwingH(const stdAc::swingh_t position);
676  static stdAc::swingv_t toCommonSwingV(const uint8_t setting);
677  static stdAc::swingh_t toCommonSwingH(const uint8_t setting);
678  stdAc::state_t toCommon(void);
679  String toString();
680 #ifndef UNIT_TEST
681 
682  private:
684 #else
685  IRsendTest _irsend;
687 #endif
689  // # of bytes per command
691  void stateReset();
692  void checksum();
693  void clearOnTimerFlag();
694  void clearSleepTimerFlag();
695 };
696 
698 class IRDaikin216 {
699  public:
700  explicit IRDaikin216(const uint16_t pin, const bool inverted = false,
701  const bool use_modulation = true);
702 
703 #if SEND_DAIKIN216
704  void send(const uint16_t repeat = kDaikin216DefaultRepeat);
709  int8_t calibrate(void) { return _irsend.calibrate(); }
710 #endif
711  void begin();
712  uint8_t* getRaw();
713  void setRaw(const uint8_t new_code[]);
714  static bool validChecksum(uint8_t state[],
715  const uint16_t length = kDaikin216StateLength);
716  void on(void);
717  void off(void);
718  void setPower(const bool on);
719  bool getPower(void);
720  void setTemp(const uint8_t temp);
721  uint8_t getTemp();
722  void setMode(const uint8_t mode);
723  uint8_t getMode(void);
724  static uint8_t convertMode(const stdAc::opmode_t mode);
725  void setFan(const uint8_t fan);
726  uint8_t getFan(void);
727  static uint8_t convertFan(const stdAc::fanspeed_t speed);
728  void setSwingVertical(const bool on);
729  bool getSwingVertical(void);
730  void setSwingHorizontal(const bool on);
731  bool getSwingHorizontal(void);
732  void setQuiet(const bool on);
733  bool getQuiet(void);
734  void setPowerful(const bool on);
735  bool getPowerful(void);
736  stdAc::state_t toCommon(void);
737  String toString(void);
738 #ifndef UNIT_TEST
739 
740  private:
742 #else
743  IRsendTest _irsend;
745 #endif
747  // # of bytes per command
749  void stateReset();
750  void checksum();
751 };
752 
754 class IRDaikin160 {
755  public:
756  explicit IRDaikin160(const uint16_t pin, const bool inverted = false,
757  const bool use_modulation = true);
758 
759 #if SEND_DAIKIN160
760  void send(const uint16_t repeat = kDaikin160DefaultRepeat);
765  int8_t calibrate(void) { return _irsend.calibrate(); }
766 #endif
767  void begin();
768  uint8_t* getRaw();
769  void setRaw(const uint8_t new_code[]);
770  static bool validChecksum(uint8_t state[],
771  const uint16_t length = kDaikin160StateLength);
772  void on(void);
773  void off(void);
774  void setPower(const bool on);
775  bool getPower(void);
776  void setTemp(const uint8_t temp);
777  uint8_t getTemp();
778  void setMode(const uint8_t mode);
779  uint8_t getMode(void);
780  static uint8_t convertMode(const stdAc::opmode_t mode);
781  void setFan(const uint8_t fan);
782  uint8_t getFan(void);
783  static uint8_t convertFan(const stdAc::fanspeed_t speed);
784  void setSwingVertical(const uint8_t position);
785  uint8_t getSwingVertical(void);
786  static uint8_t convertSwingV(const stdAc::swingv_t position);
787  static stdAc::swingv_t toCommonSwingV(const uint8_t setting);
788  stdAc::state_t toCommon(void);
789  String toString(void);
790 #ifndef UNIT_TEST
791 
792  private:
794 #else
795  IRsendTest _irsend;
797 #endif
799  // # of bytes per command
801  void stateReset();
802  void checksum();
803 };
804 
806 class IRDaikin176 {
807  public:
808  explicit IRDaikin176(const uint16_t pin, const bool inverted = false,
809  const bool use_modulation = true);
810 
811 #if SEND_DAIKIN176
812  void send(const uint16_t repeat = kDaikin176DefaultRepeat);
817  int8_t calibrate(void) { return _irsend.calibrate(); }
818 #endif
819  void begin();
820  uint8_t* getRaw();
821  void setRaw(const uint8_t new_code[]);
822  static bool validChecksum(uint8_t state[],
823  const uint16_t length = kDaikin176StateLength);
824  void on(void);
825  void off(void);
826  void setPower(const bool on);
827  bool getPower(void);
828  void setTemp(const uint8_t temp);
829  uint8_t getTemp();
830  void setMode(const uint8_t mode);
831  uint8_t getMode(void);
832  static uint8_t convertMode(const stdAc::opmode_t mode);
833  void setFan(const uint8_t fan);
834  uint8_t getFan(void);
835  static uint8_t convertFan(const stdAc::fanspeed_t speed);
836  void setSwingHorizontal(const uint8_t position);
837  uint8_t getSwingHorizontal(void);
838  static uint8_t convertSwingH(const stdAc::swingh_t position);
839  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
840  static stdAc::opmode_t toCommonMode(const uint8_t mode);
841  static stdAc::swingh_t toCommonSwingH(const uint8_t setting);
842  stdAc::state_t toCommon(void);
843  String toString(void);
844 
845 #ifndef UNIT_TEST
846 
847  private:
849 #else
850  IRsendTest _irsend;
852 #endif
854  // # of bytes per command
856  uint8_t _saved_temp;
857  void stateReset();
858  void checksum();
859 };
860 
864 class IRDaikin128 {
865  public:
866  explicit IRDaikin128(const uint16_t pin, const bool inverted = false,
867  const bool use_modulation = true);
868 #if SEND_DAIKIN128
869  void send(const uint16_t repeat = kDaikin128DefaultRepeat);
874  int8_t calibrate(void) { return _irsend.calibrate(); }
875 #endif // SEND_DAIKIN128
876  void begin();
877  void setPowerToggle(const bool toggle);
878  bool getPowerToggle(void);
879  void setTemp(const uint8_t temp);
880  uint8_t getTemp(void);
881  void setFan(const uint8_t fan);
882  uint8_t getFan(void);
883  uint8_t getMode(void);
884  void setMode(const uint8_t mode);
885  void setSwingVertical(const bool on);
886  bool getSwingVertical();
887  bool getSleep(void);
888  void setSleep(const bool on);
889  bool getQuiet(void);
890  void setQuiet(const bool on);
891  bool getPowerful(void);
892  void setPowerful(const bool on);
893  void setEcono(const bool on);
894  bool getEcono(void);
895  void setOnTimer(const uint16_t mins_since_midnight);
896  uint16_t getOnTimer(void);
897  bool getOnTimerEnabled(void);
898  void setOnTimerEnabled(const bool on);
899  void setOffTimer(const uint16_t mins_since_midnight);
900  uint16_t getOffTimer(void);
901  bool getOffTimerEnabled(void);
902  void setOffTimerEnabled(const bool on);
903  void setClock(const uint16_t mins_since_midnight);
904  uint16_t getClock(void);
905  void setLightToggle(const uint8_t unit_type);
906  uint8_t getLightToggle(void);
907  uint8_t* getRaw(void);
908  void setRaw(const uint8_t new_code[]);
909  static bool validChecksum(uint8_t state[]);
910  static uint8_t convertMode(const stdAc::opmode_t mode);
911  static uint8_t convertFan(const stdAc::fanspeed_t speed);
912  static stdAc::opmode_t toCommonMode(const uint8_t mode);
913  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
914  stdAc::state_t toCommon(const stdAc::state_t *prev = NULL);
915  String toString(void);
916 #ifndef UNIT_TEST
917 
918  private:
920 #else
921  IRsendTest _irsend;
923 #endif
925  // # of bytes per command
927  void stateReset(void);
928  static uint8_t calcFirstChecksum(const uint8_t state[]);
929  static uint8_t calcSecondChecksum(const uint8_t state[]);
930  static void setTimer(uint8_t *ptr, const uint16_t mins_since_midnight);
931  static uint16_t getTimer(const uint8_t *ptr);
932  void checksum(void);
933  void clearOnTimerFlag(void);
934  void clearSleepTimerFlag(void);
935 };
936 
938 class IRDaikin152 {
939  public:
940  explicit IRDaikin152(const uint16_t pin, const bool inverted = false,
941  const bool use_modulation = true);
942 
943 #if SEND_DAIKIN152
944  void send(const uint16_t repeat = kDaikin152DefaultRepeat);
949  int8_t calibrate(void) { return _irsend.calibrate(); }
950 #endif
951  void begin();
952  uint8_t* getRaw();
953  void setRaw(const uint8_t new_code[]);
954  static bool validChecksum(uint8_t state[],
955  const uint16_t length = kDaikin152StateLength);
956  void on(void);
957  void off(void);
958  void setPower(const bool on);
959  bool getPower(void);
960  void setTemp(const uint8_t temp);
961  uint8_t getTemp();
962  void setFan(const uint8_t fan);
963  uint8_t getFan(void);
964  void setMode(const uint8_t mode);
965  uint8_t getMode(void);
966  void setSwingV(const bool on);
967  bool getSwingV(void);
968  bool getQuiet(void);
969  void setQuiet(const bool on);
970  bool getPowerful(void);
971  void setPowerful(const bool on);
972  void setSensor(const bool on);
973  bool getSensor(void);
974  void setEcono(const bool on);
975  bool getEcono(void);
976  void setComfort(const bool on);
977  bool getComfort(void);
978  static uint8_t convertMode(const stdAc::opmode_t mode);
979  static uint8_t convertFan(const stdAc::fanspeed_t speed);
980  stdAc::state_t toCommon(void);
981  String toString(void);
982 #ifndef UNIT_TEST
983 
984  private:
986 #else
987  IRsendTest _irsend;
989 #endif
991  // # of bytes per command
993  void stateReset();
994  void checksum();
995 };
996 
998 class IRDaikin64 {
999  public:
1000  explicit IRDaikin64(const uint16_t pin, const bool inverted = false,
1001  const bool use_modulation = true);
1002 
1003 #if SEND_DAIKIN64
1004  void send(const uint16_t repeat = kDaikin64DefaultRepeat);
1009  int8_t calibrate(void) { return _irsend.calibrate(); }
1010 #endif // SEND_DAIKIN64
1011  void begin();
1012  uint64_t getRaw();
1013  void setRaw(const uint64_t new_state);
1014  static uint8_t calcChecksum(const uint64_t state);
1015  static bool validChecksum(const uint64_t state);
1016  void setPowerToggle(const bool on);
1017  bool getPowerToggle(void);
1018  void setTemp(const uint8_t temp);
1019  uint8_t getTemp();
1020  void setFan(const uint8_t fan);
1021  uint8_t getFan(void);
1022  void setMode(const uint8_t mode);
1023  uint8_t getMode(void);
1024  void setSwingVertical(const bool on);
1025  bool getSwingVertical(void);
1026  void setSleep(const bool on);
1027  bool getSleep(void);
1028  bool getQuiet(void);
1029  void setQuiet(const bool on);
1030  bool getTurbo(void);
1031  void setTurbo(const bool on);
1032  void setClock(const uint16_t mins_since_midnight);
1033  uint16_t getClock(void);
1034  void setOnTimeEnabled(const bool on);
1035  bool getOnTimeEnabled(void);
1036  void setOnTime(const uint16_t mins_since_midnight);
1037  uint16_t getOnTime(void);
1038  void setOffTimeEnabled(const bool on);
1039  bool getOffTimeEnabled(void);
1040  void setOffTime(const uint16_t mins_since_midnight);
1041  uint16_t getOffTime(void);
1042  static uint8_t convertMode(const stdAc::opmode_t mode);
1043  static uint8_t convertFan(const stdAc::fanspeed_t speed);
1044  static stdAc::opmode_t toCommonMode(const uint8_t mode);
1045  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
1046  stdAc::state_t toCommon(const stdAc::state_t *prev = NULL);
1047  String toString(void);
1048 #ifndef UNIT_TEST
1049 
1050  private:
1052 #else
1053  IRsendTest _irsend;
1055 #endif
1057  uint64_t remote_state;
1058  void stateReset();
1059  void checksum();
1060 };
1061 #endif // IR_DAIKIN_H_
IRDaikin64::toString
String toString(void)
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:3957
kDaikin2SwingHRightMax
const uint8_t kDaikin2SwingHRightMax
Definition: ir_Daikin.h:267
kDaikin64ChecksumOffset
const uint8_t kDaikin64ChecksumOffset
Definition: ir_Daikin.h:503
kDaikin64TempOffset
const uint8_t kDaikin64TempOffset
Definition: ir_Daikin.h:496
IRDaikin2::setCurrentTime
void setCurrentTime(const uint16_t time)
Set the clock on the A/C unit.
Definition: ir_Daikin.cpp:958
kDaikinByteTemp
const uint8_t kDaikinByteTemp
Definition: ir_Daikin.h:159
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:511
kDaikin152DefaultRepeat
const uint16_t kDaikin152DefaultRepeat
Definition: IRremoteESP8266.h:854
kDaikinModeSize
const uint8_t kDaikinModeSize
Definition: ir_Daikin.h:123
kDaikin216ByteTemp
const uint8_t kDaikin216ByteTemp
Definition: ir_Daikin.h:288
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:1233
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:125
kDaikin152OneSpace
const uint16_t kDaikin152OneSpace
Definition: ir_Daikin.h:428
kDaikin152PowerByte
const uint8_t kDaikin152PowerByte
Definition: ir_Daikin.h:434
kDaikinBitEconoOffset
const uint8_t kDaikinBitEconoOffset
Definition: ir_Daikin.h:178
IRDaikin64::setOffTimeEnabled
void setOffTimeEnabled(const bool on)
Set the enable status of the Off Timer.
Definition: ir_Daikin.cpp:3926
IRDaikin2::on
void on()
Change the power setting to On.
Definition: ir_Daikin.cpp:808
IRDaikin2::getPurify
bool getPurify()
Get the Purify (Filter) mode status of the A/C.
Definition: ir_Daikin.cpp:1212
kDaikin176ByteTemp
const uint8_t kDaikin176ByteTemp
Definition: ir_Daikin.h:351
IRDaikinESP::send
void send(const uint16_t repeat=kDaikinDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:116
kDaikin152EconoByte
const uint8_t kDaikin152EconoByte
Definition: ir_Daikin.h:447
IRDaikin2::begin
void begin()
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:723
kDaikinDry
const uint8_t kDaikinDry
Definition: ir_Daikin.h:118
IRDaikin128::toCommon
stdAc::state_t toCommon(const stdAc::state_t *prev=NULL)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Daikin.cpp:3072
IRDaikin2::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:1192
IRDaikin216::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:1598
IRDaikinESP::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:146
IRDaikin128::getTemp
uint8_t getTemp(void)
Get the current temperature setting.
Definition: ir_Daikin.cpp:2783
kDaikin128BitPowerToggleOffset
const uint8_t kDaikin128BitPowerToggleOffset
Definition: ir_Daikin.h:413
IRDaikinESP::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:531
IRDaikinESP::getPowerful
bool getPowerful(void)
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:334
kDaikin2BitSleepTimerOffset
const uint8_t kDaikin2BitSleepTimerOffset
Definition: ir_Daikin.h:230
kDaikin64OffTimeEnableBit
const uint8_t kDaikin64OffTimeEnableBit
Definition: ir_Daikin.h:495
kDaikinBitOnTimerOffset
const uint8_t kDaikinBitOnTimerOffset
Definition: ir_Daikin.h:192
kDaikin2BitClean
const uint8_t kDaikin2BitClean
Definition: ir_Daikin.h:241
kDaikin152ZeroSpace
const uint16_t kDaikin152ZeroSpace
Definition: ir_Daikin.h:429
kDaikin64OneSpace
const uint16_t kDaikin64OneSpace
Definition: ir_Daikin.h:457
kDaikin2DefaultRepeat
const uint16_t kDaikin2DefaultRepeat
Definition: IRremoteESP8266.h:843
kDaikin128BitEconoOffset
const uint8_t kDaikin128BitEconoOffset
Definition: ir_Daikin.h:416
kDaikin64Fan
const uint8_t kDaikin64Fan
Definition: ir_Daikin.h:471
kDaikin64Freq
const uint16_t kDaikin64Freq
Definition: ir_Daikin.h:462
IRDaikin152::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:3362
kDaikinByteFan
const uint8_t kDaikinByteFan
Definition: ir_Daikin.h:160
IRDaikin2::getOffTimerEnabled
bool getOffTimerEnabled()
Get the enable status of the Off Timer.
Definition: ir_Daikin.cpp:1032
kDaikin128BitSwingOffset
const uint8_t kDaikin128BitSwingOffset
Definition: ir_Daikin.h:409
kDaikin128MaskLight
const uint8_t kDaikin128MaskLight
Definition: ir_Daikin.h:420
IRDaikin2::send
void send(const uint16_t repeat=kDaikin2DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:728
kDaikin128BitSwing
const uint8_t kDaikin128BitSwing
Definition: ir_Daikin.h:410
IRDaikin128::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:2776
IRDaikin2::setEyeAuto
void setEyeAuto(const bool on)
Set the Automatic Eye (Sensor) mode of the A/C.
Definition: ir_Daikin.cpp:1110
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:2461
IRDaikinESP::getComfort
bool getComfort(void)
Get the Comfort mode of the A/C.
Definition: ir_Daikin.cpp:384
kDaikin176SwingHAuto
const uint8_t kDaikin176SwingHAuto
Definition: ir_Daikin.h:361
kDaikin64OnTimeHalfHourBit
const uint8_t kDaikin64OnTimeHalfHourBit
Definition: ir_Daikin.h:488
IRDaikin2::IRDaikin2
IRDaikin2(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:718
kDaikin216TempOffset
const uint8_t kDaikin216TempOffset
Definition: ir_Daikin.h:290
IRDaikinESP::getWeeklyTimerEnable
bool getWeeklyTimerEnable(void)
Get the enable status of the Weekly Timer.
Definition: ir_Daikin.cpp:491
IRDaikinESP::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:111
kDaikin176Section2Length
const uint16_t kDaikin176Section2Length
Definition: ir_Daikin.h:343
stdAc::swingv_t
swingv_t
Common A/C settings for Vertical Swing.
Definition: IRsend.h:70
IRDaikin2::setSwingVertical
void setSwingVertical(const uint8_t position)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:892
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:1226
kDaikinBitSilent
const uint8_t kDaikinBitSilent
Definition: ir_Daikin.h:173
IRDaikin2::getMold
bool getMold()
Get the Mould (filter) mode status of the A/C.
Definition: ir_Daikin.cpp:1068
kDaikin128MaskFan
const uint8_t kDaikin128MaskFan
Definition: ir_Daikin.h:385
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:737
IRDaikin216::getSwingVertical
bool getSwingVertical(void)
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:1677
kDaikin128TimerOffset
const uint8_t kDaikin128TimerOffset
Definition: ir_Daikin.h:398
kDaikin64Overhead
const uint8_t kDaikin64Overhead
Definition: ir_Daikin.h:463
kDaikinOneSpace
const uint16_t kDaikinOneSpace
Definition: ir_Daikin.h:210
kDaikin216ByteSwingH
const uint8_t kDaikin216ByteSwingH
Definition: ir_Daikin.h:300
kDaikin128ByteTemp
const uint8_t kDaikin128ByteTemp
Definition: ir_Daikin.h:405
kDaikinBitPower
const uint8_t kDaikinBitPower
Definition: ir_Daikin.h:156
kDaikin2ZeroSpace
const uint16_t kDaikin2ZeroSpace
Definition: ir_Daikin.h:225
IRDaikinESP
Class for handling detailed Daikin 280-bit A/C messages.
Definition: ir_Daikin.h:520
IRDaikin176::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:2385
IRDaikinESP::getOnTimerEnabled
bool getOnTimerEnabled()
Get the enable status of the On Timer.
Definition: ir_Daikin.cpp:415
kDaikin2HdrMark
const uint16_t kDaikin2HdrMark
Definition: ir_Daikin.h:221
kDaikinBitPowerful
const uint8_t kDaikinBitPowerful
Definition: ir_Daikin.h:170
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:1522
IRDaikin64::setOffTime
void setOffTime(const uint16_t mins_since_midnight)
Set the Off Timer time for the A/C unit.
Definition: ir_Daikin.cpp:3946
IRDaikin176::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_Daikin.cpp:2484
kDaikin64OnTimeOffset
const uint8_t kDaikin64OnTimeOffset
Definition: ir_Daikin.h:485
kDaikin160ByteFan
const uint8_t kDaikin160ByteFan
Definition: ir_Daikin.h:322
IRDaikin160::getFan
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Daikin.cpp:2022
IRDaikin160::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:1946
IRDaikin2
Class for handling detailed Daikin 312-bit A/C messages. Code by crankyoldgit, Reverse engineering an...
Definition: ir_Daikin.h:602
IRDaikin216::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:709
kDaikin176StateLength
const uint16_t kDaikin176StateLength
Definition: IRremoteESP8266.h:855
IRDaikin176::setSwingHorizontal
void setSwingHorizontal(const uint8_t position)
Set the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:2440
IRDaikin128
Class for handling detailed Daikin 128-bit A/C messages. Code by crankyoldgit. Analysis by Daniel Ven...
Definition: ir_Daikin.h:864
IRDaikin2::setMold
void setMold(const bool on)
Set the Mould (filter) mode of the A/C.
Definition: ir_Daikin.cpp:1062
stdAc::fanspeed_t
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
IRDaikin2::toCommonSwingH
static stdAc::swingh_t toCommonSwingH(const uint8_t setting)
Convert a native horizontal swing postion to it's common equivalent.
Definition: ir_Daikin.cpp:1249
IRDaikin160::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:1950
kDaikin176TempSize
const uint8_t kDaikin176TempSize
Definition: ir_Daikin.h:354
kDaikin64TempSize
const uint8_t kDaikin64TempSize
Definition: ir_Daikin.h:497
IRDaikin160::getSwingVertical
uint8_t getSwingVertical(void)
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:2063
kDaikin2BitFreshAirHigh
const uint8_t kDaikin2BitFreshAirHigh
Definition: ir_Daikin.h:245
kDaikinBitEcono
const uint8_t kDaikinBitEcono
Definition: ir_Daikin.h:179
IRDaikinESP::setSwingHorizontal
void setSwingHorizontal(const bool on)
Set the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:295
IRDaikin216::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:1718
kDaikin152TempByte
const uint8_t kDaikin152TempByte
Definition: ir_Daikin.h:436
kDaikin64ModeOffset
const uint8_t kDaikin64ModeOffset
Definition: ir_Daikin.h:467
IRDaikin64::getTurbo
bool getTurbo(void)
Get the Turbo (Powerful) mode status of the A/C.
Definition: ir_Daikin.cpp:3818
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:2751
IRDaikin216::getMode
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:1592
IRDaikin2::getFreshAirHigh
bool getFreshAirHigh()
Get the (High) Fresh Air mode status of the A/C.
Definition: ir_Daikin.cpp:1104
kDaikinByteSwingH
const uint8_t kDaikinByteSwingH
Definition: ir_Daikin.h:161
IRDaikin216::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:1580
IRDaikin128::getPowerToggle
bool getPowerToggle(void)
Get the Power toggle setting of the A/C.
Definition: ir_Daikin.cpp:2715
kDaikin64HdrMark
const uint16_t kDaikin64HdrMark
Definition: ir_Daikin.h:454
IRDaikin128::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:2687
kDaikin176HdrMark
const uint16_t kDaikin176HdrMark
Definition: ir_Daikin.h:335
kDaikinBitOnTimer
const uint8_t kDaikinBitOnTimer
Definition: ir_Daikin.h:193
IRDaikin128::setOffTimer
void setOffTimer(const uint16_t mins_since_midnight)
Set the Off Timer time for the A/C unit.
Definition: ir_Daikin.cpp:3004
IRDaikin2::disableOnTimer
void disableOnTimer()
Disable the On timer.
Definition: ir_Daikin.cpp:988
kDaikinByteEye
const uint8_t kDaikinByteEye
Definition: ir_Daikin.h:180
IRDaikin152::getEcono
bool getEcono(void)
Get the Economical mode of the A/C.
Definition: ir_Daikin.cpp:3469
IRDaikin64::setClock
void setClock(const uint16_t mins_since_midnight)
Set the clock on the A/C unit.
Definition: ir_Daikin.cpp:3874
kDaikin128FanPowerful
const uint8_t kDaikin128FanPowerful
Definition: ir_Daikin.h:390
kDaikin128Freq
const uint16_t kDaikin128Freq
Definition: ir_Daikin.h:365
kDaikinGap
const uint16_t kDaikinGap
Definition: ir_Daikin.h:211
IRDaikin2::disableSleepTimer
void disableSleepTimer()
Disable the sleep timer.
Definition: ir_Daikin.cpp:1160
IRDaikin128::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:919
kDaikinByteOnTimerMinsHigh
const uint8_t kDaikinByteOnTimerMinsHigh
Definition: ir_Daikin.h:163
kDaikin128MinTemp
const uint8_t kDaikin128MinTemp
Definition: ir_Daikin.h:406
IRDaikin160::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:1943
kDaikin2SwingVSwing
const uint8_t kDaikin2SwingVSwing
Definition: ir_Daikin.h:256
kDaikin2BitSleepTimer
const uint8_t kDaikin2BitSleepTimer
Definition: ir_Daikin.h:231
IRDaikin216::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:1576
IRDaikinESP::getOnTime
uint16_t getOnTime(void)
Get the On Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:406
IRDaikin128::getPowerful
bool getPowerful(void)
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:2915
kDaikin2BeepSize
const uint8_t kDaikin2BeepSize
Definition: ir_Daikin.h:253
IRDaikin64::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:3707
IRDaikin216::getRaw
uint8_t * getRaw()
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:1561
IRDaikin2::getPower
bool getPower()
Get the value of the current power setting.
Definition: ir_Daikin.cpp:822
IRDaikin176::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:2302
kDaikin216ByteSwingV
const uint8_t kDaikin216ByteSwingV
Definition: ir_Daikin.h:295
IRDaikin152::getPower
bool getPower(void)
Get the value of the current power setting.
Definition: ir_Daikin.cpp:3320
kDaikin160ByteSwingV
const uint8_t kDaikin160ByteSwingV
Definition: ir_Daikin.h:324
IRDaikin2::getOnTime
uint16_t getOnTime()
Get the On Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:996
kDaikin160Gap
const uint16_t kDaikin160Gap
Definition: ir_Daikin.h:310
IRDaikin64
Class for handling detailed Daikin 64-bit A/C messages.
Definition: ir_Daikin.h:998
kDaikinBitMark
const uint16_t kDaikinBitMark
Definition: ir_Daikin.h:208
IRDaikin2::getEcono
bool getEcono()
Get the Economical mode of the A/C.
Definition: ir_Daikin.cpp:1140
IRDaikin2::enableOffTimer
void enableOffTimer(const uint16_t endtime)
Set the enable status & time of the Off Timer.
Definition: ir_Daikin.cpp:1009
IRDaikin64::calcChecksum
static uint8_t calcChecksum(const uint64_t state)
Calculate the checksum for a given state.
Definition: ir_Daikin.cpp:3654
kDaikin64ClockOffset
const uint8_t kDaikin64ClockOffset
Definition: ir_Daikin.h:480
kDaikin152BitMark
const uint16_t kDaikin152BitMark
Definition: ir_Daikin.h:427
IRDaikinESP::remote
uint8_t remote[kDaikinStateLength]
The state of the IR remote.
Definition: ir_Daikin.h:595
kDaikin176FanMax
const uint8_t kDaikin176FanMax
Definition: ir_Daikin.h:358
IRDaikinESP::setCurrentTime
void setCurrentTime(const uint16_t mins_since_midnight)
Set the clock on the A/C unit.
Definition: ir_Daikin.cpp:449
IRDaikin216::checksum
void checksum()
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:1537
kDaikin152HdrSpace
const uint16_t kDaikin152HdrSpace
Definition: ir_Daikin.h:426
kDaikin160BitMark
const uint16_t kDaikin160BitMark
Definition: ir_Daikin.h:307
IRDaikin2::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:803
kDaikinBitOffTimerOffset
const uint8_t kDaikinBitOffTimerOffset
Definition: ir_Daikin.h:189
IRDaikin2::getPowerful
bool getPowerful()
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:1200
IRDaikin152::setEcono
void setEcono(const bool on)
Set the Economy mode of the A/C.
Definition: ir_Daikin.cpp:3461
kDaikinByteOffTimerMinsHigh
const uint8_t kDaikinByteOffTimerMinsHigh
Definition: ir_Daikin.h:167
kDaikin152ComfortOffset
const uint8_t kDaikin152ComfortOffset
Definition: ir_Daikin.h:449
IRDaikin2::clearSleepTimerFlag
void clearSleepTimerFlag()
Clear the sleep timer flag.
Definition: ir_Daikin.cpp:1155
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:3408
kDaikinBitMold
const uint8_t kDaikinBitMold
Definition: ir_Daikin.h:187
kDaikinModeOffset
const uint8_t kDaikinModeOffset
Definition: ir_Daikin.h:122
kDaikin2MinCoolTemp
const uint8_t kDaikin2MinCoolTemp
Definition: ir_Daikin.h:271
kDaikinBitOffTimer
const uint8_t kDaikinBitOffTimer
Definition: ir_Daikin.h:190
kDaikin216ByteFan
const uint8_t kDaikin216ByteFan
Definition: ir_Daikin.h:293
IRDaikin128::getSwingVertical
bool getSwingVertical()
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:2853
kDaikin128BitSleepOffset
const uint8_t kDaikin128BitSleepOffset
Definition: ir_Daikin.h:411
kDaikinDoWOffset
const uint8_t kDaikinDoWOffset
Definition: ir_Daikin.h:151
IRsend.h
kDaikin176ByteModeButton
const uint8_t kDaikin176ByteModeButton
Definition: ir_Daikin.h:349
kDaikin64FanQuiet
const uint8_t kDaikin64FanQuiet
Definition: ir_Daikin.h:478
IRDaikin128::getEcono
bool getEcono(void)
Get the Economical mode of the A/C.
Definition: ir_Daikin.cpp:2882
IRDaikin128::setPowerToggle
void setPowerToggle(const bool toggle)
Set the Power toggle setting of the A/C.
Definition: ir_Daikin.cpp:2708
kDaikin152FanTemp
const uint8_t kDaikin152FanTemp
Definition: ir_Daikin.h:439
IRDaikin216
Class for handling detailed Daikin 216-bit A/C messages.
Definition: ir_Daikin.h:698
kDaikinBitMoldOffset
const uint8_t kDaikinBitMoldOffset
Definition: ir_Daikin.h:186
kDaikin64Cool
const uint8_t kDaikin64Cool
Definition: ir_Daikin.h:470
IRDaikinESP::setMold
void setMold(const bool on)
Set the Mould mode of the A/C.
Definition: ir_Daikin.cpp:366
kDaikin64FanTurbo
const uint8_t kDaikin64FanTurbo
Definition: ir_Daikin.h:479
kDaikinFan
const uint8_t kDaikinFan
Definition: ir_Daikin.h:121
IRDaikin152::getPowerful
bool getPowerful(void)
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:3454
IRDaikin64::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:1051
IRDaikin2::setFreshAirHigh
void setFreshAirHigh(const bool on)
Set the (High) Fresh Air mode of the A/C.
Definition: ir_Daikin.cpp:1098
IRDaikin2::disableOffTimer
void disableOffTimer()
Disable the Off timer.
Definition: ir_Daikin.cpp:1017
kDaikinZeroSpace
const uint16_t kDaikinZeroSpace
Definition: ir_Daikin.h:209
IRDaikin64::getOffTimeEnabled
bool getOffTimeEnabled(void)
Get the enable status of the Off Timer.
Definition: ir_Daikin.cpp:3932
kDaikin2LightOffset
const uint8_t kDaikin2LightOffset
Definition: ir_Daikin.h:249
kDaikinSection1Length
const uint8_t kDaikinSection1Length
Definition: ir_Daikin.h:139
kDaikinByteChecksum2
const uint8_t kDaikinByteChecksum2
Definition: ir_Daikin.h:153
IRDaikin152::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:949
kDaikin64OffTimeOffset
const uint8_t kDaikin64OffTimeOffset
Definition: ir_Daikin.h:491
kDaikin2BitEye
const uint8_t kDaikin2BitEye
Definition: ir_Daikin.h:235
kDaikin128BitTimerEnabled
const uint8_t kDaikin128BitTimerEnabled
Definition: ir_Daikin.h:397
IRDaikin128::getTimer
static uint16_t getTimer(const uint8_t *ptr)
Get the time for a timer at the given location.
Definition: ir_Daikin.cpp:2970
kDaikin160TempSize
const uint8_t kDaikin160TempSize
Definition: ir_Daikin.h:321
kDaikinClockMinsHighSize
const uint8_t kDaikinClockMinsHighSize
Definition: ir_Daikin.h:150
kDaikinBitComfortOffset
const uint8_t kDaikinBitComfortOffset
Definition: ir_Daikin.h:145
IRDaikinESP::getTemp
uint8_t getTemp()
Get the current temperature setting.
Definition: ir_Daikin.cpp:231
kDaikin2BitEyeAutoOffset
const uint8_t kDaikin2BitEyeAutoOffset
Definition: ir_Daikin.h:236
kDaikinByteWeeklyTimer
const uint8_t kDaikinByteWeeklyTimer
Definition: ir_Daikin.h:182
IRDaikinESP::setSensor
void setSensor(const bool on)
Set the Sensor mode of the A/C.
Definition: ir_Daikin.cpp:340
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:1985
IRDaikin152::toString
String toString(void)
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:3533
kDaikin64ClockSize
const uint8_t kDaikin64ClockSize
Definition: ir_Daikin.h:483
kDaikin176MaskMode
const uint8_t kDaikin176MaskMode
Definition: ir_Daikin.h:348
IRsend
Class for sending all basic IR protocols.
Definition: IRsend.h:170
kDaikinUnusedTime
const uint16_t kDaikinUnusedTime
Definition: ir_Daikin.h:195
kDaikin216SwingSize
const uint8_t kDaikin216SwingSize
Definition: ir_Daikin.h:297
IRDaikin176::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:817
IRDaikin152::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:3442
IRDaikin216::getFan
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Daikin.cpp:1654
IRDaikin2::getOffTime
uint16_t getOffTime()
Get the Off Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:1025
IRDaikin2::getFreshAir
bool getFreshAir()
Get the Fresh Air mode status of the A/C.
Definition: ir_Daikin.cpp:1092
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:279
IRDaikin176::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:2342
IRDaikin152::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:3310
IRDaikin128::getQuiet
bool getQuiet(void)
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:2899
IRDaikin64::getSwingVertical
bool getSwingVertical(void)
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:3856
kDaikin2BitPurifyOffset
const uint8_t kDaikin2BitPurifyOffset
Definition: ir_Daikin.h:232
kDaikin2SwingHLeft
const uint8_t kDaikin2SwingHLeft
Definition: ir_Daikin.h:264
IRDaikin2::getRaw
uint8_t * getRaw()
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:796
IRDaikin64::getOffTime
uint16_t getOffTime(void)
Get the Off Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:3938
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:2472
IRDaikin2::getFan
uint8_t getFan()
Get the current fan speed setting.
Definition: ir_Daikin.cpp:876
IRDaikin64::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:3840
IRDaikin160::getRaw
uint8_t * getRaw()
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:1923
IRDaikin64::toCommon
stdAc::state_t toCommon(const stdAc::state_t *prev=NULL)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Daikin.cpp:3991
IRDaikinESP::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:323
IRDaikin128::setTimer
static void setTimer(uint8_t *ptr, const uint16_t mins_since_midnight)
Set the time for a timer at the given location.
Definition: ir_Daikin.cpp:2956
kDaikin128HoursOffset
const uint8_t kDaikin128HoursOffset
Definition: ir_Daikin.h:403
kDaikinBitPowerOffset
const uint8_t kDaikinBitPowerOffset
Definition: ir_Daikin.h:155
kDaikinHdrSpace
const uint16_t kDaikinHdrSpace
Definition: ir_Daikin.h:207
kDaikin160HdrSpace
const uint16_t kDaikin160HdrSpace
Definition: ir_Daikin.h:306
String
std::string String
Definition: IRremoteESP8266.h:1093
IRDaikin64::setOnTimeEnabled
void setOnTimeEnabled(const bool on)
Set the enable status of the On Timer.
Definition: ir_Daikin.cpp:3895
IRDaikinESP::IRDaikinESP
IRDaikinESP(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:106
IRDaikin2::setPower
void setPower(const bool state)
Change the power setting.
Definition: ir_Daikin.cpp:815
kDaikinCurIndex
const uint8_t kDaikinCurIndex
Definition: ir_Daikin.h:203
kDaikin2BitPurify
const uint8_t kDaikin2BitPurify
Definition: ir_Daikin.h:233
kDaikin160SwingVHighest
const uint8_t kDaikin160SwingVHighest
Definition: ir_Daikin.h:330
IRDaikin160::setSwingVertical
void setSwingVertical(const uint8_t position)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:2046
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:2819
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:2032
kDaikin2Section2Length
const uint16_t kDaikin2Section2Length
Definition: ir_Daikin.h:228
IRDaikin176::remote_state
uint8_t remote_state[kDaikin176StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:855
kDaikin216BytePower
const uint8_t kDaikin216BytePower
Definition: ir_Daikin.h:285
kDaikin64SwingVBit
const uint8_t kDaikin64SwingVBit
Definition: ir_Daikin.h:500
kDaikin152StateLength
const uint16_t kDaikin152StateLength
Definition: IRremoteESP8266.h:852
kDaikin176ByteSwingH
const uint8_t kDaikin176ByteSwingH
Definition: ir_Daikin.h:359
kDaikin128BitCeiling
const uint8_t kDaikin128BitCeiling
Definition: ir_Daikin.h:419
IRDaikinESP::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:207
kDaikin64ModeSize
const uint8_t kDaikin64ModeSize
Definition: ir_Daikin.h:468
kDaikin160OneSpace
const uint16_t kDaikin160OneSpace
Definition: ir_Daikin.h:308
kDaikinOnTimerMinsHighSize
const uint8_t kDaikinOnTimerMinsHighSize
Definition: ir_Daikin.h:165
IRDaikin2::setFreshAir
void setFreshAir(const bool on)
Set the Fresh Air mode of the A/C.
Definition: ir_Daikin.cpp:1086
IRDaikin2::setLight
void setLight(const uint8_t light)
Set the Light (LED) mode of the A/C.
Definition: ir_Daikin.cpp:1056
kDaikin128BitPowerToggle
const uint8_t kDaikin128BitPowerToggle
Definition: ir_Daikin.h:414
IRDaikin152::getComfort
bool getComfort(void)
Get the Comfort mode of the A/C.
Definition: ir_Daikin.cpp:3500
IRDaikin152::getSwingV
bool getSwingV(void)
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:3421
kDaikin128ZeroSpace
const uint16_t kDaikin128ZeroSpace
Definition: ir_Daikin.h:372
IRDaikin2::toString
String toString()
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:1290
IRDaikin2::getSleepTimerEnabled
bool getSleepTimerEnabled()
Get the Sleep timer enabled status of the A/C.
Definition: ir_Daikin.cpp:1172
kDaikinFanMax
const uint8_t kDaikinFanMax
Definition: ir_Daikin.h:128
IRDaikin128::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:2729
kDaikin176Gap
const uint16_t kDaikin176Gap
Definition: ir_Daikin.h:340
IRDaikin128::getOffTimer
uint16_t getOffTimer(void)
Get the Off Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:3010
kDaikinBytePowerful
const uint8_t kDaikinBytePowerful
Definition: ir_Daikin.h:168
kDaikin2BitFreshAirHighOffset
const uint8_t kDaikin2BitFreshAirHighOffset
Definition: ir_Daikin.h:244
IRDaikin64::getSleep
bool getSleep(void)
Get the Sleep mode of the A/C.
Definition: ir_Daikin.cpp:3868
IRDaikin2::enableOnTimer
void enableOnTimer(const uint16_t starttime)
Set the enable status & time of the On Timer.
Definition: ir_Daikin.cpp:975
IRDaikin128::setOffTimerEnabled
void setOffTimerEnabled(const bool on)
Set the enable status of the Off Timer.
Definition: ir_Daikin.cpp:2990
kDaikin160ByteTemp
const uint8_t kDaikin160ByteTemp
Definition: ir_Daikin.h:318
kDaikinBitSensor
const uint8_t kDaikinBitSensor
Definition: ir_Daikin.h:176
kDaikin128FanMed
const uint8_t kDaikin128FanMed
Definition: ir_Daikin.h:388
IRDaikin176::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:2408
IRDaikin160::toString
String toString(void)
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:2127
IRDaikin176::off
void off(void)
Change the power setting to Off..
Definition: ir_Daikin.cpp:2319
IRDaikin216::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:1568
kDaikin64PowerToggleBit
const uint8_t kDaikin64PowerToggleBit
Definition: ir_Daikin.h:502
kDaikinOnTimerMinsHighOffset
const uint8_t kDaikinOnTimerMinsHighOffset
Definition: ir_Daikin.h:164
kDaikinSwingOn
const uint8_t kDaikinSwingOn
Definition: ir_Daikin.h:135
kDaikin216Freq
const uint16_t kDaikin216Freq
Definition: ir_Daikin.h:274
kDaikinSwingOffset
const uint8_t kDaikinSwingOffset
Definition: ir_Daikin.h:133
IRDaikin2::clearOnTimerFlag
void clearOnTimerFlag()
Clear the On Timer flag.
Definition: ir_Daikin.cpp:983
IRDaikinESP::setSwingVertical
void setSwingVertical(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:282
kDaikin216StateLength
const uint16_t kDaikin216StateLength
Definition: IRremoteESP8266.h:858
kDaikin176Freq
const uint16_t kDaikin176Freq
Definition: ir_Daikin.h:334
IRDaikinESP::getCurrentTime
uint16_t getCurrentTime(void)
Get the clock time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:460
IRDaikin128::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:2889
kDaikinBitComfort
const uint8_t kDaikinBitComfort
Definition: ir_Daikin.h:146
kDaikin152TempSize
const uint8_t kDaikin152TempSize
Definition: ir_Daikin.h:437
IRDaikin216::getTemp
uint8_t getTemp()
Get the current temperature setting.
Definition: ir_Daikin.cpp:1631
kDaikin2Section1Length
const uint16_t kDaikin2Section1Length
Definition: ir_Daikin.h:227
IRDaikin128::setLightToggle
void setLightToggle(const uint8_t unit_type)
Set the Light toggle setting of the A/C.
Definition: ir_Daikin.cpp:3017
kDaikin2SwingHMiddle
const uint8_t kDaikin2SwingHMiddle
Definition: ir_Daikin.h:265
IRremoteESP8266.h
stdAc::swingh_t
swingh_t
Common A/C settings for Horizontal Swing.
Definition: IRsend.h:83
IRDaikin2::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:683
IRDaikin64::checksum
void checksum()
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:3672
kDaikin64OnTimeEnableBit
const uint8_t kDaikin64OnTimeEnableBit
Definition: ir_Daikin.h:490
IRDaikinESP::toString
String toString(void)
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:580
IRDaikin176::getMode
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:2336
kDaikin2BitFreshAir
const uint8_t kDaikin2BitFreshAir
Definition: ir_Daikin.h:243
kDaikin152Freq
const uint16_t kDaikin152Freq
Definition: ir_Daikin.h:423
IRDaikin176::getRaw
uint8_t * getRaw()
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:2295
IRDaikin128::send
void send(const uint16_t repeat=kDaikin128DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:2701
IRDaikin152::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:3428
kDaikin128HdrSpace
const uint16_t kDaikin128HdrSpace
Definition: ir_Daikin.h:369
IRDaikinESP::getSensor
bool getSensor(void)
Get the Sensor mode of the A/C.
Definition: ir_Daikin.cpp:346
kDaikinByteSensor
const uint8_t kDaikinByteSensor
Definition: ir_Daikin.h:174
kDaikin128HoursSize
const uint8_t kDaikin128HoursSize
Definition: ir_Daikin.h:404
kDaikinBeepOff
const uint8_t kDaikinBeepOff
Definition: ir_Daikin.h:198
kDaikin2BitCleanOffset
const uint8_t kDaikin2BitCleanOffset
Definition: ir_Daikin.h:240
IRDaikin152::setSensor
void setSensor(const bool on)
Set the Sensor mode of the A/C.
Definition: ir_Daikin.cpp:3475
kDaikin176HdrSpace
const uint16_t kDaikin176HdrSpace
Definition: ir_Daikin.h:336
IRDaikin176::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_Daikin.cpp:2374
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:3745
kDaikin2Sections
const uint16_t kDaikin2Sections
Definition: ir_Daikin.h:226
kDaikin160SwingVHigh
const uint8_t kDaikin160SwingVHigh
Definition: ir_Daikin.h:329
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:1616
IRDaikin128::calcSecondChecksum
static uint8_t calcSecondChecksum(const uint8_t state[])
Definition: ir_Daikin.cpp:2650
IRDaikinESP::setComfort
void setComfort(const bool on)
Set the Comfort mode of the A/C.
Definition: ir_Daikin.cpp:378
kDaikin128StateLength
const uint16_t kDaikin128StateLength
Definition: IRremoteESP8266.h:849
kDaikin176DefaultRepeat
const uint16_t kDaikin176DefaultRepeat
Definition: IRremoteESP8266.h:857
kDaikin2BeepOffset
const uint8_t kDaikin2BeepOffset
Definition: ir_Daikin.h:252
IRDaikinESP::getMode
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:259
IRDaikin128::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:2669
kDaikin128BitWall
const uint8_t kDaikin128BitWall
Definition: ir_Daikin.h:418
IRDaikin64::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:3773
kDaikin2BitMark
const uint16_t kDaikin2BitMark
Definition: ir_Daikin.h:223
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:3269
kDaikinByteClockMinsLow
const uint8_t kDaikinByteClockMinsLow
Definition: ir_Daikin.h:147
kDaikin2LeaderSpace
const uint16_t kDaikin2LeaderSpace
Definition: ir_Daikin.h:219
IRDaikin152::setComfort
void setComfort(const bool on)
Set the Comfort mode of the A/C.
Definition: ir_Daikin.cpp:3487
IRDaikin216::getSwingHorizontal
bool getSwingHorizontal(void)
Get the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:1691
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:933
IRDaikin128::clearOnTimerFlag
void clearOnTimerFlag(void)
kDaikin160Sections
const uint16_t kDaikin160Sections
Definition: ir_Daikin.h:311
IRDaikin152::setSwingV
void setSwingV(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:3414
kDaikin64OffTimeHalfHourBit
const uint8_t kDaikin64OffTimeHalfHourBit
Definition: ir_Daikin.h:493
kDaikin64FanAuto
const uint8_t kDaikin64FanAuto
Definition: ir_Daikin.h:474
IRDaikin2::setSwingHorizontal
void setSwingHorizontal(const uint8_t position)
Set the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:948
IRDaikin216::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:1699
kDaikin160Freq
const uint16_t kDaikin160Freq
Definition: ir_Daikin.h:304
IRDaikin2::remote_state
uint8_t remote_state[kDaikin2StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:690
IRDaikin2::toCommon
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Daikin.cpp:1264
IRDaikin128::remote_state
uint8_t remote_state[kDaikin128StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:926
IRDaikin216::getPowerful
bool getPowerful(void)
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:1726
IRDaikin2::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:835
kDaikin64Dry
const uint8_t kDaikin64Dry
Definition: ir_Daikin.h:469
IRDaikinESP::getMold
bool getMold(void)
Get the Mould mode status of the A/C.
Definition: ir_Daikin.cpp:372
kDaikin2SwingVBreeze
const uint8_t kDaikin2SwingVBreeze
Definition: ir_Daikin.h:258
IRDaikinESP::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:185
IRDaikin128::getFan
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Daikin.cpp:2789
IRDaikin176::IRDaikin176
IRDaikin176(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:2239
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:1878
kDaikin64FanLow
const uint8_t kDaikin64FanLow
Definition: ir_Daikin.h:475
IRDaikin64::getPowerToggle
bool getPowerToggle(void)
Get the Power toggle setting of the A/C.
Definition: ir_Daikin.cpp:3701
IRDaikin152::remote_state
uint8_t remote_state[kDaikin152StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:992
IRDaikin152::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:3307
IRDaikin160::IRDaikin160
IRDaikin160(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:1867
IRDaikin152::getMode
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:3326
kDaikinBeepLoud
const uint8_t kDaikinBeepLoud
Definition: ir_Daikin.h:197
kDaikinFanAuto
const uint8_t kDaikinFanAuto
Definition: ir_Daikin.h:129
kDaikin152QuietByte
const uint8_t kDaikin152QuietByte
Definition: ir_Daikin.h:444
kDaikin128HalfHourOffset
const uint8_t kDaikin128HalfHourOffset
Definition: ir_Daikin.h:400
kDaikin128Dry
const uint8_t kDaikin128Dry
Definition: ir_Daikin.h:380
IRDaikin216::setSwingHorizontal
void setSwingHorizontal(const bool on)
Set the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:1684
kDaikin64KnownGoodState
const uint64_t kDaikin64KnownGoodState
Definition: ir_Daikin.h:466
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:2250
kDaikin216Sections
const uint16_t kDaikin216Sections
Definition: ir_Daikin.h:281
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:1664
IRDaikin128::IRDaikin128
IRDaikin128(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:2638
IRDaikin128::getOnTimer
uint16_t getOnTimer(void)
Get the On Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:2984
kDaikin152DryTemp
const uint8_t kDaikin152DryTemp
Definition: ir_Daikin.h:438
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:469
IRDaikin64::IRDaikin64
IRDaikin64(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:3636
kDaikin128ByteClockHours
const uint8_t kDaikin128ByteClockHours
Definition: ir_Daikin.h:393
kDaikinTempSize
const uint8_t kDaikinTempSize
Definition: ir_Daikin.h:158
IRDaikin176::checksum
void checksum()
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:2265
IRDaikin152::IRDaikin152
IRDaikin152(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Daikin.cpp:3250
IRDaikin2::getSleepTime
uint16_t getSleepTime()
Get the Sleep Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:1166
kDaikin160HdrMark
const uint16_t kDaikin160HdrMark
Definition: ir_Daikin.h:305
kDaikin64ZeroSpace
const uint16_t kDaikin64ZeroSpace
Definition: ir_Daikin.h:458
IRDaikin128::getLightToggle
uint8_t getLightToggle(void)
Get the Light toggle setting of the A/C.
Definition: ir_Daikin.cpp:3031
kDaikin176MaskFan
const uint8_t kDaikin176MaskFan
Definition: ir_Daikin.h:357
IRDaikin128::validChecksum
static bool validChecksum(uint8_t state[])
Verify the checksum is valid for a given state.
Definition: ir_Daikin.cpp:2658
kDaikin128SectionLength
const uint16_t kDaikin128SectionLength
Definition: ir_Daikin.h:376
kDaikin176Cool
const uint8_t kDaikin176Cool
Definition: ir_Daikin.h:345
IRDaikin64::setTurbo
void setTurbo(const bool on)
Set the Turbo (Powerful) mode of the A/C.
Definition: ir_Daikin.cpp:3824
kDaikin128LeaderSpace
const uint16_t kDaikin128LeaderSpace
Definition: ir_Daikin.h:367
IRDaikin64::getClock
uint16_t getClock(void)
Get the clock time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:3885
IRDaikin2::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:862
kDaikinByteOnTimer
const uint8_t kDaikinByteOnTimer
Definition: ir_Daikin.h:191
IRDaikinESP::setWeeklyTimerEnable
void setWeeklyTimerEnable(const bool on)
Set the enable status of the Weekly Timer.
Definition: ir_Daikin.cpp:484
IRDaikin64::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:1009
kDaikin2LeaderMark
const uint16_t kDaikin2LeaderMark
Definition: ir_Daikin.h:218
kDaikinBeepQuiet
const uint8_t kDaikinBeepQuiet
Definition: ir_Daikin.h:196
kDaikin2SwingVAuto
const uint8_t kDaikin2SwingVAuto
Definition: ir_Daikin.h:257
kDaikin2BitEyeOffset
const uint8_t kDaikin2BitEyeOffset
Definition: ir_Daikin.h:234
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:498
kDaikin160TempOffset
const uint8_t kDaikin160TempOffset
Definition: ir_Daikin.h:320
kDaikin216Section1Length
const uint16_t kDaikin216Section1Length
Definition: ir_Daikin.h:282
kDaikinLightBright
const uint8_t kDaikinLightBright
Definition: ir_Daikin.h:199
IRDaikin152::checksum
void checksum()
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:3278
kDaikin152Gap
const uint16_t kDaikin152Gap
Definition: ir_Daikin.h:430
IRDaikin176::send
void send(const uint16_t repeat=kDaikin176DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:2310
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:917
kDaikin176BytePower
const uint8_t kDaikin176BytePower
Definition: ir_Daikin.h:346
kDaikin128Auto
const uint8_t kDaikin128Auto
Definition: ir_Daikin.h:384
kDaikin160SwingVMiddle
const uint8_t kDaikin160SwingVMiddle
Definition: ir_Daikin.h:328
IRDaikin64::getFan
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Daikin.cpp:3767
IRDaikin160::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:2008
IRDaikin128::setEcono
void setEcono(const bool on)
Set the Economy mode of the A/C.
Definition: ir_Daikin.cpp:2874
kDaikinByteEcono
const uint8_t kDaikinByteEcono
Definition: ir_Daikin.h:177
kDaikin128Gap
const uint16_t kDaikin128Gap
Definition: ir_Daikin.h:373
kDaikin64MaxTemp
const uint8_t kDaikin64MaxTemp
Definition: ir_Daikin.h:499
kDaikinHeat
const uint8_t kDaikinHeat
Definition: ir_Daikin.h:120
kDaikin216OneSpace
const uint16_t kDaikin216OneSpace
Definition: ir_Daikin.h:278
kDaikinBitSensorOffset
const uint8_t kDaikinBitSensorOffset
Definition: ir_Daikin.h:175
IRDaikin160::checksum
void checksum()
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:1893
kDaikin176SwingHOff
const uint8_t kDaikin176SwingHOff
Definition: ir_Daikin.h:362
IRDaikinESP::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:309
kDaikin216TempSize
const uint8_t kDaikin216TempSize
Definition: ir_Daikin.h:291
kDaikin64BitMark
const uint16_t kDaikin64BitMark
Definition: ir_Daikin.h:455
kDaikin160SwingVLowest
const uint8_t kDaikin160SwingVLowest
Definition: ir_Daikin.h:326
kDaikin216DefaultRepeat
const uint16_t kDaikin216DefaultRepeat
Definition: IRremoteESP8266.h:860
IRDaikinESP::getOffTime
uint16_t getOffTime(void)
Get the Off Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:436
kDaikinTempOffset
const uint8_t kDaikinTempOffset
Definition: ir_Daikin.h:157
kDaikin2SwingHLeftMax
const uint8_t kDaikin2SwingHLeftMax
Definition: ir_Daikin.h:263
IRDaikin152::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:3314
IRDaikin216::toString
String toString(void)
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:1761
kDaikinCurBit
const uint8_t kDaikinCurBit
Definition: ir_Daikin.h:202
IRDaikin160::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:765
IRDaikin64::getQuiet
bool getQuiet(void)
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:3834
kDaikin176BitMark
const uint16_t kDaikin176BitMark
Definition: ir_Daikin.h:337
kDaikin160DefaultRepeat
const uint16_t kDaikin160DefaultRepeat
Definition: IRremoteESP8266.h:848
IRDaikin64::setPowerToggle
void setPowerToggle(const bool on)
Set the Power toggle setting of the A/C.
Definition: ir_Daikin.cpp:3695
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:2362
IRDaikinESP::setEcono
void setEcono(const bool on)
Set the Economy mode of the A/C.
Definition: ir_Daikin.cpp:352
IRDaikin2::off
void off()
Change the power setting to Off.
Definition: ir_Daikin.cpp:811
IRDaikin176::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:2323
kDaikin64ToleranceDelta
const int8_t kDaikin64ToleranceDelta
Definition: ir_Daikin.h:464
IRDaikin2::getEye
bool getEye()
Get the Eye (Sensor) mode status of the A/C.
Definition: ir_Daikin.cpp:1128
kDaikinFanOffset
const uint8_t kDaikinFanOffset
Definition: ir_Daikin.h:131
kDaikin152SensorOffset
const uint8_t kDaikin152SensorOffset
Definition: ir_Daikin.h:451
kDaikin160SwingVAuto
const uint8_t kDaikin160SwingVAuto
Definition: ir_Daikin.h:331
IRDaikin152::begin
void begin()
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:3255
kDaikinHeaderLength
const uint16_t kDaikinHeaderLength
Definition: ir_Daikin.h:137
IRDaikinESP::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:211
kDaikin64LdrMark
const uint16_t kDaikin64LdrMark
Definition: ir_Daikin.h:459
kDaikin176ByteMode
const uint8_t kDaikin176ByteMode
Definition: ir_Daikin.h:347
IRDaikin152::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:3381
IRDaikin64::remote_state
uint64_t remote_state
The state of the IR remote.
Definition: ir_Daikin.h:1057
IRrecv.h
kDaikinFanSize
const uint8_t kDaikinFanSize
Definition: ir_Daikin.h:132
IRDaikin160::stateReset
void stateReset()
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:1901
IRDaikin176::toString
String toString(void)
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:2518
IRDaikin2::getSwingHorizontal
uint8_t getSwingHorizontal()
Get the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:954
kDaikin128Cool
const uint8_t kDaikin128Cool
Definition: ir_Daikin.h:381
kDaikin128BytePowerSwingSleep
const uint8_t kDaikin128BytePowerSwingSleep
Definition: ir_Daikin.h:408
kDaikin176ZeroSpace
const uint16_t kDaikin176ZeroSpace
Definition: ir_Daikin.h:339
kDaikin128Heat
const uint8_t kDaikin128Heat
Definition: ir_Daikin.h:383
kDaikinSection3Length
const uint8_t kDaikinSection3Length
Definition: ir_Daikin.h:141
IRDaikin152::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:3333
kDaikin160MaskSwingV
const uint8_t kDaikin160MaskSwingV
Definition: ir_Daikin.h:325
kDaikin160Section1Length
const uint16_t kDaikin160Section1Length
Definition: ir_Daikin.h:312
IRDaikin216::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:1573
IRDaikin176::getPower
bool getPower(void)
Get the value of the current power setting.
Definition: ir_Daikin.cpp:2330
IRDaikin176::begin
void begin()
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:2244
kDaikin128Sections
const uint16_t kDaikin128Sections
Definition: ir_Daikin.h:375
kDaikin176Sections
const uint16_t kDaikin176Sections
Definition: ir_Daikin.h:341
IRDaikin2::getQuiet
bool getQuiet()
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:1186
kDaikinByteChecksum3
const uint8_t kDaikinByteChecksum3
Definition: ir_Daikin.h:194
kDaikin128DefaultRepeat
const uint16_t kDaikin128DefaultRepeat
Definition: IRremoteESP8266.h:851
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:3356
IRDaikin152
Class for handling detailed Daikin 152-bit A/C messages.
Definition: ir_Daikin.h:938
kDaikin216ByteMode
const uint8_t kDaikin216ByteMode
Definition: ir_Daikin.h:286
kDaikin64OnTimeSize
const uint8_t kDaikin64OnTimeSize
Definition: ir_Daikin.h:487
kDaikin128ByteOffTimer
const uint8_t kDaikin128ByteOffTimer
Definition: ir_Daikin.h:395
IRDaikin128::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:2905
kDaikin160ByteMode
const uint8_t kDaikin160ByteMode
Definition: ir_Daikin.h:316
kDaikin64FanOffset
const uint8_t kDaikin64FanOffset
Definition: ir_Daikin.h:472
kDaikin128FanLow
const uint8_t kDaikin128FanLow
Definition: ir_Daikin.h:389
kDaikinStateLength
const uint16_t kDaikinStateLength
Definition: IRremoteESP8266.h:836
IRDaikin64::setOnTime
void setOnTime(const uint16_t mins_since_midnight)
Set the On Timer time for the A/C unit.
Definition: ir_Daikin.cpp:3915
IRDaikin160
Class for handling detailed Daikin 160-bit A/C messages.
Definition: ir_Daikin.h:754
IRDaikin152::stateReset
void stateReset()
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:3284
IRDaikinESP::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:588
kDaikin216Section2Length
const uint16_t kDaikin216Section2Length
Definition: ir_Daikin.h:283
kDaikin128BitSleep
const uint8_t kDaikin128BitSleep
Definition: ir_Daikin.h:412
IRDaikin64::begin
void begin()
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:3641
kDaikin64FanMed
const uint8_t kDaikin64FanMed
Definition: ir_Daikin.h:476
IRDaikinESP::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:236
kDaikin152SwingVByte
const uint8_t kDaikin152SwingVByte
Definition: ir_Daikin.h:442
IRDaikin2::stateReset
void stateReset()
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:760
kDaikin128FooterMark
const uint16_t kDaikin128FooterMark
Definition: ir_Daikin.h:374
IRDaikin128::getOnTimerEnabled
bool getOnTimerEnabled(void)
Get the enable status of the On Timer.
Definition: ir_Daikin.cpp:2946
IRDaikin2::getTemp
uint8_t getTemp()
Get the current temperature setting.
Definition: ir_Daikin.cpp:888
IRDaikinESP::disableOffTimer
void disableOffTimer(void)
Clear and disable the Off timer.
Definition: ir_Daikin.cpp:429
kDaikinByteSilent
const uint8_t kDaikinByteSilent
Definition: ir_Daikin.h:171
IRDaikin2::setPurify
void setPurify(const bool on)
Set the Purify (Filter) mode of the A/C.
Definition: ir_Daikin.cpp:1206
kDaikin2Gap
const uint16_t kDaikin2Gap
Definition: ir_Daikin.h:220
kDaikin176TempOffset
const uint8_t kDaikin176TempOffset
Definition: ir_Daikin.h:353
kDaikin176ByteFan
const uint8_t kDaikin176ByteFan
Definition: ir_Daikin.h:356
IRDaikin64::setSleep
void setSleep(const bool on)
Set the Sleep mode of the A/C.
Definition: ir_Daikin.cpp:3862
kDaikin152LeaderBits
const uint8_t kDaikin152LeaderBits
Definition: ir_Daikin.h:424
IRDaikin64::getMode
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:3723
IRDaikin128::setOnTimer
void setOnTimer(const uint16_t mins_since_midnight)
Set the On Timer time for the A/C unit.
Definition: ir_Daikin.cpp:2978
kDaikinDefaultRepeat
const uint16_t kDaikinDefaultRepeat
Definition: IRremoteESP8266.h:840
kDaikin64DefaultRepeat
const uint16_t kDaikin64DefaultRepeat
Definition: IRremoteESP8266.h:845
kDaikin152SensorByte
const uint8_t kDaikin152SensorByte
Definition: ir_Daikin.h:450
kDaikin2BitEyeAuto
const uint8_t kDaikin2BitEyeAuto
Definition: ir_Daikin.h:237
kDaikin152ModeByte
const uint8_t kDaikin152ModeByte
Definition: ir_Daikin.h:433
kDaikinByteOffTimer
const uint8_t kDaikinByteOffTimer
Definition: ir_Daikin.h:188
kDaikin64LdrSpace
const uint16_t kDaikin64LdrSpace
Definition: ir_Daikin.h:461
kDaikin128Fan
const uint8_t kDaikin128Fan
Definition: ir_Daikin.h:382
IRDaikinESP::getSwingVertical
bool getSwingVertical(void)
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:289
kDaikinBitPowerfulOffset
const uint8_t kDaikinBitPowerfulOffset
Definition: ir_Daikin.h:169
kDaikinBitEye
const uint8_t kDaikinBitEye
Definition: ir_Daikin.h:181
kDaikinByteOnTimerMinsLow
const uint8_t kDaikinByteOnTimerMinsLow
Definition: ir_Daikin.h:162
IRDaikin2::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:613
IRDaikin64::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_Daikin.cpp:3805
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:2087
kDaikinBitWeeklyTimer
const uint8_t kDaikinBitWeeklyTimer
Definition: ir_Daikin.h:184
IRDaikin176::toCommon
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Daikin.cpp:2491
IRDaikin152::getFan
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Daikin.cpp:3395
IRDaikin128::setOnTimerEnabled
void setOnTimerEnabled(const bool on)
Set the enable status of the On Timer.
Definition: ir_Daikin.cpp:2939
kDaikin128ByteEconoLight
const uint8_t kDaikin128ByteEconoLight
Definition: ir_Daikin.h:415
kDaikin216BytePowerful
const uint8_t kDaikin216BytePowerful
Definition: ir_Daikin.h:301
IRDaikin64::setRaw
void setRaw(const uint64_t new_state)
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:3691
IRDaikin176::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:2316
IRDaikin2::enableSleepTimer
void enableSleepTimer(const uint16_t sleeptime)
Set the enable status & time of the Sleep Timer.
Definition: ir_Daikin.cpp:1147
IRDaikin64::validChecksum
static bool validChecksum(const uint64_t state)
Verify the checksum is valid for a given state.
Definition: ir_Daikin.cpp:3665
IRDaikin2::getOnTimerEnabled
bool getOnTimerEnabled()
Get the enable status of the On Timer.
Definition: ir_Daikin.cpp:1003
IRDaikin216::getPower
bool getPower(void)
Get the value of the current power setting.
Definition: ir_Daikin.cpp:1586
kDaikin2SwingVHigh
const uint8_t kDaikin2SwingVHigh
Definition: ir_Daikin.h:254
kDaikinClockMinsHighOffset
const uint8_t kDaikinClockMinsHighOffset
Definition: ir_Daikin.h:149
kDaikin160Section2Length
const uint16_t kDaikin160Section2Length
Definition: ir_Daikin.h:313
kDaikin128FanQuiet
const uint8_t kDaikin128FanQuiet
Definition: ir_Daikin.h:391
kDaikin216SwingOn
const uint8_t kDaikin216SwingOn
Definition: ir_Daikin.h:298
kDaikinDoWSize
const uint8_t kDaikinDoWSize
Definition: ir_Daikin.h:152
IRDaikinESP::enableOnTimer
void enableOnTimer(const uint16_t starttime)
Set the enable status & time of the On Timer.
Definition: ir_Daikin.cpp:390
IRDaikin152::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:985
kDaikin128TimerSize
const uint8_t kDaikin128TimerSize
Definition: ir_Daikin.h:399
IRDaikin160::getTemp
uint8_t getTemp()
Get the current temperature setting.
Definition: ir_Daikin.cpp:2000
IRDaikinESP::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:204
IRDaikin152::getTemp
uint8_t getTemp()
Get the current temperature setting.
Definition: ir_Daikin.cpp:3373
IRDaikin2::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:1178
IRDaikin64::setSwingVertical
void setSwingVertical(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:3850
IRDaikinESP::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_Daikin.cpp:538
kDaikin2FanByte
const uint8_t kDaikin2FanByte
Definition: ir_Daikin.h:260
IRDaikin2::checksum
void checksum()
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:752
kDaikinByteMold
const uint8_t kDaikinByteMold
Definition: ir_Daikin.h:185
kDaikin64FanSize
const uint8_t kDaikin64FanSize
Definition: ir_Daikin.h:473
kDaikin160MaskFan
const uint8_t kDaikin160MaskFan
Definition: ir_Daikin.h:323
IRDaikinESP::getPower
bool getPower(void)
Get the value of the current power setting.
Definition: ir_Daikin.cpp:217
IRDaikin128::calcFirstChecksum
static uint8_t calcFirstChecksum(const uint8_t state[])
Definition: ir_Daikin.cpp:2645
kDaikin64MinTemp
const uint8_t kDaikin64MinTemp
Definition: ir_Daikin.h:498
kDaikin2SwingHRight
const uint8_t kDaikin2SwingHRight
Definition: ir_Daikin.h:266
IRDaikin160::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:1991
IRDaikin128::getSleep
bool getSleep(void)
Get the Sleep mode of the A/C.
Definition: ir_Daikin.cpp:2867
IRDaikin128::toString
String toString(void)
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:3037
IRDaikin176::getSwingHorizontal
uint8_t getSwingHorizontal(void)
Get the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:2453
IRDaikin152::getQuiet
bool getQuiet(void)
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:3436
IRDaikin176::getFan
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Daikin.cpp:2423
IRDaikin128::setClock
void setClock(const uint16_t mins_since_midnight)
Set the clock on the A/C unit.
Definition: ir_Daikin.cpp:2921
IRDaikin160::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:1968
IRDaikin64::getOnTime
uint16_t getOnTime(void)
Get the On Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:3907
IRDaikin128::getOffTimerEnabled
bool getOffTimerEnabled(void)
Get the enable status of the Off Timer.
Definition: ir_Daikin.cpp:2997
kDaikin64Gap
const uint16_t kDaikin64Gap
Definition: ir_Daikin.h:460
kDaikin128OneSpace
const uint16_t kDaikin128OneSpace
Definition: ir_Daikin.h:371
IRDaikinESP::getEcono
bool getEcono(void)
Get the Economical mode of the A/C.
Definition: ir_Daikin.cpp:360
kDaikin152HdrMark
const uint16_t kDaikin152HdrMark
Definition: ir_Daikin.h:425
kDaikin2BitMoldOffset
const uint8_t kDaikin2BitMoldOffset
Definition: ir_Daikin.h:238
kDaikin2BitPowerOffset
const uint8_t kDaikin2BitPowerOffset
Definition: ir_Daikin.h:246
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:2430
kDaikinByteOffTimerMinsLow
const uint8_t kDaikinByteOffTimerMinsLow
Definition: ir_Daikin.h:166
kDaikin64SleepBit
const uint8_t kDaikin64SleepBit
Definition: ir_Daikin.h:501
kDaikin2SwingHSwing
const uint8_t kDaikin2SwingHSwing
Definition: ir_Daikin.h:269
IRDaikin128::setSwingVertical
void setSwingVertical(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:2846
IRDaikin152::getSensor
bool getSensor(void)
Get the Sensor mode of the A/C.
Definition: ir_Daikin.cpp:3481
IRDaikinESP::enableOffTimer
void enableOffTimer(const uint16_t endtime)
Set the enable status & time of the Off Timer.
Definition: ir_Daikin.cpp:421
kDaikin160StateLength
const uint16_t kDaikin160StateLength
Definition: IRremoteESP8266.h:846
kDaikin216HdrMark
const uint16_t kDaikin216HdrMark
Definition: ir_Daikin.h:275
kDaikinByteClockMinsHigh
const uint8_t kDaikinByteClockMinsHigh
Definition: ir_Daikin.h:148
kDaikin2HdrSpace
const uint16_t kDaikin2HdrSpace
Definition: ir_Daikin.h:222
IRDaikinESP::getFan
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Daikin.cpp:250
kDaikin176ModeButton
const uint8_t kDaikin176ModeButton
Definition: ir_Daikin.h:350
kDaikinSections
const uint8_t kDaikinSections
Definition: ir_Daikin.h:138
kDaikin2StateLength
const uint16_t kDaikin2StateLength
Definition: IRremoteESP8266.h:841
IRDaikin176::_saved_temp
uint8_t _saved_temp
Definition: ir_Daikin.h:856
kDaikinByteComfort
const uint8_t kDaikinByteComfort
Definition: ir_Daikin.h:143
kDaikinByteChecksum1
const uint8_t kDaikinByteChecksum1
Definition: ir_Daikin.h:144
IRDaikin176::stateReset
void stateReset()
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:2273
IRDaikin2::setEye
void setEye(const bool on)
Set the Eye (Sensor) mode of the A/C.
Definition: ir_Daikin.cpp:1122
IRDaikin152::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:3302
kDaikin64FanHigh
const uint8_t kDaikin64FanHigh
Definition: ir_Daikin.h:477
IRDaikin160::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:793
IRDaikin64::stateReset
void stateReset()
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:3678
IRDaikin152::send
void send(const uint16_t repeat=kDaikin152DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:3260
kDaikin64ChecksumSize
const uint8_t kDaikin64ChecksumSize
Definition: ir_Daikin.h:504
IRDaikinESP::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:223
kDaikinFanMed
const uint8_t kDaikinFanMed
Definition: ir_Daikin.h:127
IRDaikin64::getOnTimeEnabled
bool getOnTimeEnabled(void)
Get the enable status of the On Timer.
Definition: ir_Daikin.cpp:3901
kDaikin152ComfortByte
const uint8_t kDaikin152ComfortByte
Definition: ir_Daikin.h:448
kDaikin64HdrSpace
const uint16_t kDaikin64HdrSpace
Definition: ir_Daikin.h:456
IRDaikin128::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:2677
IRDaikin216::send
void send(const uint16_t repeat=kDaikin216DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:1513
IRDaikinESP::setRaw
void setRaw(const uint8_t new_code[], const uint16_t length=kDaikinStateLength)
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:193
kDaikin128BitTimerEnabledOffset
const uint8_t kDaikin128BitTimerEnabledOffset
Definition: ir_Daikin.h:396
IRDaikin152::toCommon
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Daikin.cpp:3506
IRDaikinESP::getQuiet
bool getQuiet(void)
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:317
IRDaikin216::setSwingVertical
void setSwingVertical(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:1670
kDaikin2LightSize
const uint8_t kDaikin2LightSize
Definition: ir_Daikin.h:250
kDaikinSwingOff
const uint8_t kDaikinSwingOff
Definition: ir_Daikin.h:136
IRDaikin176::getTemp
uint8_t getTemp()
Get the current temperature setting.
Definition: ir_Daikin.cpp:2400
IRDaikin64::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:3729
kMarkExcess
const uint16_t kMarkExcess
Definition: IRrecv.h:24
kDaikin216SwingOff
const uint8_t kDaikin216SwingOff
Definition: ir_Daikin.h:299
IRDaikin216::stateReset
void stateReset()
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:1545
kDaikinSwingSize
const uint8_t kDaikinSwingSize
Definition: ir_Daikin.h:134
kDaikinAuto
const uint8_t kDaikinAuto
Definition: ir_Daikin.h:117
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:3791
kDaikin216BitMark
const uint16_t kDaikin216BitMark
Definition: ir_Daikin.h:277
kDaikinCool
const uint8_t kDaikinCool
Definition: ir_Daikin.h:119
IRDaikin128::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:874
IRDaikin128::begin
void begin()
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:2643
kDaikin160ZeroSpace
const uint16_t kDaikin160ZeroSpace
Definition: ir_Daikin.h:309
kDaikinFirstHeader64
const uint64_t kDaikinFirstHeader64
Definition: ir_Daikin.h:213
kDaikin128ByteModeFan
const uint8_t kDaikin128ByteModeFan
Definition: ir_Daikin.h:377
kDaikin216Gap
const uint16_t kDaikin216Gap
Definition: ir_Daikin.h:280
kDaikin2BitPower
const uint8_t kDaikin2BitPower
Definition: ir_Daikin.h:247
IRDaikin2::setBeep
void setBeep(const uint8_t beep)
Set the Beep mode of the A/C.
Definition: ir_Daikin.cpp:1044
IRDaikin216::begin
void begin()
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:1508
kDaikinFanQuiet
const uint8_t kDaikinFanQuiet
Definition: ir_Daikin.h:130
kDaikinMarkExcess
const uint16_t kDaikinMarkExcess
Definition: ir_Daikin.h:205
IRDaikin128::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_Daikin.cpp:2764
IRDaikin2::getBeep
uint8_t getBeep()
Get the Beep status of the A/C.
Definition: ir_Daikin.cpp:1038
kDaikinTolerance
const uint8_t kDaikinTolerance
Definition: ir_Daikin.h:204
IRDaikinESP::getOffTimerEnabled
bool getOffTimerEnabled(void)
Get the enable status of the Off Timer.
Definition: ir_Daikin.cpp:443
kDaikin216MaskFan
const uint8_t kDaikin216MaskFan
Definition: ir_Daikin.h:294
IRDaikinESP::getSwingHorizontal
bool getSwingHorizontal(void)
Get the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:302
kDaikin2SwingVLow
const uint8_t kDaikin2SwingVLow
Definition: ir_Daikin.h:255
kDaikin160BytePower
const uint8_t kDaikin160BytePower
Definition: ir_Daikin.h:315
IRDaikinESP::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_Daikin.cpp:525
IRDaikin2::setClean
void setClean(const bool on)
Set the Auto clean mode of the A/C.
Definition: ir_Daikin.cpp:1074
kDaikin216HdrSpace
const uint16_t kDaikin216HdrSpace
Definition: ir_Daikin.h:276
kDaikinSection2Length
const uint8_t kDaikinSection2Length
Definition: ir_Daikin.h:140
kDaikin128ModeSize
const uint8_t kDaikin128ModeSize
Definition: ir_Daikin.h:379
kDaikin176OneSpace
const uint16_t kDaikin176OneSpace
Definition: ir_Daikin.h:338
IRDaikin2::getEyeAuto
bool getEyeAuto()
Get the Automaitc Eye (Sensor) mode status of the A/C.
Definition: ir_Daikin.cpp:1116
IRDaikin176::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:848
IRDaikin152::getRaw
uint8_t * getRaw()
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:3295
kDaikinHdrMark
const uint16_t kDaikinHdrMark
Definition: ir_Daikin.h:206
kDaikin128ByteClockMins
const uint8_t kDaikin128ByteClockMins
Definition: ir_Daikin.h:392
kDaikinLightOff
const uint8_t kDaikinLightOff
Definition: ir_Daikin.h:201
IRDaikin2::setEcono
void setEcono(const bool on)
Set the Economy mode of the A/C.
Definition: ir_Daikin.cpp:1134
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:2071
IRDaikinESP::toCommon
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Daikin.cpp:552
kDaikin2Tolerance
const uint8_t kDaikin2Tolerance
Definition: ir_Daikin.h:229
kDaikin160SwingVLow
const uint8_t kDaikin160SwingVLow
Definition: ir_Daikin.h:327
kDaikin128BitHalfHour
const uint8_t kDaikin128BitHalfHour
Definition: ir_Daikin.h:401
kDaikin128BitEcono
const uint8_t kDaikin128BitEcono
Definition: ir_Daikin.h:417
IRDaikin64::getTemp
uint8_t getTemp()
Get the current temperature setting.
Definition: ir_Daikin.cpp:3716
kDaikin176DryFanTemp
const uint8_t kDaikin176DryFanTemp
Definition: ir_Daikin.h:355
IRDaikin2::getMode
uint8_t getMode()
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:829
IRDaikin160::getMode
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:1962
IRDaikinESP::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:265
IRDaikin128::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_Daikin.cpp:2833
IRDaikin128::getMode
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:2722
kDaikin2OneSpace
const uint16_t kDaikin2OneSpace
Definition: ir_Daikin.h:224
kDaikin2SwingHWide
const uint8_t kDaikin2SwingHWide
Definition: ir_Daikin.h:262
kDaikin152FanByte
const uint8_t kDaikin152FanByte
Definition: ir_Daikin.h:441
IRDaikin216::remote_state
uint8_t remote_state[kDaikin216StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:748
kDaikin64ClockHoursSize
const uint8_t kDaikin64ClockHoursSize
Definition: ir_Daikin.h:482
IRDaikin64::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_Daikin.cpp:3756
IRDaikin64::getRaw
uint64_t getRaw()
Get a copy of the internal state as a valid code for this protocol.
Definition: ir_Daikin.cpp:3684
kDaikin128HdrMark
const uint16_t kDaikin128HdrMark
Definition: ir_Daikin.h:368
IRDaikin2::getLight
uint8_t getLight()
Get the Light status of the A/C.
Definition: ir_Daikin.cpp:1050
stdAc::state_t
Structure to hold a common A/C state.
Definition: IRsend.h:97
IRDaikin128::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:2694
IRDaikin64::send
void send(const uint16_t repeat=kDaikin64DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:3646
IRDaikin216::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:1639
IRDaikinESP::getCurrentDay
uint8_t getCurrentDay(void)
Get the current day of the week to be sent to the A/C unit.
Definition: ir_Daikin.cpp:477
IRDaikin2::getClean
bool getClean()
Get the Auto Clean mode status of the A/C.
Definition: ir_Daikin.cpp:1080
kDaikin2BitMold
const uint8_t kDaikin2BitMold
Definition: ir_Daikin.h:239
kDaikinBitSilentOffset
const uint8_t kDaikinBitSilentOffset
Definition: ir_Daikin.h:172
IRDaikin160::begin
void begin()
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:1872
IRDaikin160::setRaw
void setRaw(const uint8_t new_code[])
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:1930
IRDaikin128::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:2796
IRDaikinESP::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:156
IRDaikin128::clearSleepTimerFlag
void clearSleepTimerFlag(void)
kDaikin128MaxTemp
const uint8_t kDaikin128MaxTemp
Definition: ir_Daikin.h:407
IRDaikin160::send
void send(const uint16_t repeat=kDaikin160DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:1937
kDaikinMaxTemp
const uint8_t kDaikinMaxTemp
Definition: ir_Daikin.h:125
IRDaikin176
Class for handling detailed Daikin 176-bit A/C messages.
Definition: ir_Daikin.h:806
kDaikin128FanHigh
const uint8_t kDaikin128FanHigh
Definition: ir_Daikin.h:387
IRDaikin160::toCommon
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Daikin.cpp:2101
kDaikin128FanAuto
const uint8_t kDaikin128FanAuto
Definition: ir_Daikin.h:386
IRDaikin2::getSwingVertical
uint8_t getSwingVertical()
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:910
IRDaikin216::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:741
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:1219
kDaikinBitWeeklyTimerOffset
const uint8_t kDaikinBitWeeklyTimerOffset
Definition: ir_Daikin.h:183
IRDaikin160::remote_state
uint8_t remote_state[kDaikin160StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:800
kDaikin176Section1Length
const uint16_t kDaikin176Section1Length
Definition: ir_Daikin.h:342
kDaikin2Freq
const uint16_t kDaikin2Freq
Definition: ir_Daikin.h:217
kDaikin128BitMark
const uint16_t kDaikin128BitMark
Definition: ir_Daikin.h:370
kDaikinMinTemp
const uint8_t kDaikinMinTemp
Definition: ir_Daikin.h:124
IRDaikin128::getClock
uint16_t getClock(void)
Get the clock time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:2932
IRDaikin216::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:1622
kDaikin2BitFreshAirOffset
const uint8_t kDaikin2BitFreshAirOffset
Definition: ir_Daikin.h:242
IRDaikin216::getQuiet
bool getQuiet(void)
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:1712
kDaikin152PowerfulByte
const uint8_t kDaikin152PowerfulByte
Definition: ir_Daikin.h:445
IRDaikinESP::disableOnTimer
void disableOnTimer(void)
Clear and disable the On timer.
Definition: ir_Daikin.cpp:399
IRDaikin216::IRDaikin216
IRDaikin216(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class Constructor.
Definition: ir_Daikin.cpp:1503
kDaikin64ClockMinsSize
const uint8_t kDaikin64ClockMinsSize
Definition: ir_Daikin.h:481
IRDaikin2::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:851
kDaikinFanMin
const uint8_t kDaikinFanMin
Definition: ir_Daikin.h:126
kDaikinBytePower
const uint8_t kDaikinBytePower
Definition: ir_Daikin.h:154
kDaikin128LeaderMark
const uint16_t kDaikin128LeaderMark
Definition: ir_Daikin.h:366
IRDaikin128::setSleep
void setSleep(const bool on)
Set the Sleep mode of the A/C.
Definition: ir_Daikin.cpp:2860
kDaikin2SwingVCirculate
const uint8_t kDaikin2SwingVCirculate
Definition: ir_Daikin.h:259
kDaikin2SwingHAuto
const uint8_t kDaikin2SwingHAuto
Definition: ir_Daikin.h:268
kDaikinLightDim
const uint8_t kDaikinLightDim
Definition: ir_Daikin.h:200
IRDaikin160::getPower
bool getPower(void)
Get the value of the current power setting.
Definition: ir_Daikin.cpp:1956
IRDaikin216::toCommon
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Daikin.cpp:1733
kDaikin64OffTimeSize
const uint8_t kDaikin64OffTimeSize
Definition: ir_Daikin.h:492
IRDaikin2::getCurrentTime
uint16_t getCurrentTime()
Get the clock time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:967
kDaikin128ByteOnTimer
const uint8_t kDaikin128ByteOnTimer
Definition: ir_Daikin.h:394
stdAc::opmode_t
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46