IRremoteESP8266
ir_Daikin.h
Go to the documentation of this file.
1 // Copyright 2016 sillyfrog
2 // Copyright 2017 sillyfrog, crankyoldgit
3 // Copyright 2018-2020 crankyoldgit
4 // Copyright 2019 pasna (IRDaikin160 class / Daikin176 class)
5 
23 
24 // Supports:
25 // Brand: Daikin, Model: ARC433** remote (DAIKIN)
26 // Brand: Daikin, Model: ARC477A1 remote (DAIKIN2)
27 // Brand: Daikin, Model: FTXZ25NV1B A/C (DAIKIN2)
28 // Brand: Daikin, Model: FTXZ35NV1B A/C (DAIKIN2)
29 // Brand: Daikin, Model: FTXZ50NV1B A/C (DAIKIN2)
30 // Brand: Daikin, Model: ARC433B69 remote (DAIKIN216)
31 // Brand: Daikin, Model: ARC423A5 remote (DAIKIN160)
32 // Brand: Daikin, Model: FTE12HV2S A/C
33 // Brand: Daikin, Model: BRC4C153 remote (DAIKIN176)
34 // Brand: Daikin, Model: FFQ35B8V1B A/C (DAIKIN176)
35 // Brand: Daikin, Model: BRC4C151 remote (DAIKIN176)
36 // Brand: Daikin, Model: 17 Series A/C (DAIKIN128)
37 // Brand: Daikin, Model: FTXB12AXVJU A/C (DAIKIN128)
38 // Brand: Daikin, Model: FTXB09AXVJU A/C (DAIKIN128)
39 // Brand: Daikin, Model: BRC52B63 remote (DAIKIN128)
40 // Brand: Daikin, Model: ARC480A5 remote (DAIKIN152)
41 // Brand: Daikin, Model: FFN-C/FCN-F Series A/C (DAIKIN64)
42 // Brand: Daikin, Model: DGS01 remote (DAIKIN64)
43 // Brand: Daikin, Model: M Series A/C (DAIKIN)
44 // Brand: Daikin, Model: FTXM-M A/C (DAIKIN)
45 // Brand: Daikin, Model: ARC466A33 remote (DAIKIN)
46 
47 #ifndef IR_DAIKIN_H_
48 #define IR_DAIKIN_H_
49 
50 #ifndef UNIT_TEST
51 #include <Arduino.h>
52 #endif
53 #include "IRrecv.h"
54 #include "IRremoteESP8266.h"
55 #include "IRsend.h"
56 #ifdef UNIT_TEST
57 #include "IRsend_test.h"
58 #endif
59 
60 /*
61  Daikin AC map (i.e. DAIKIN, not the other variants)
62  byte 6=
63  b4:Comfort
64  byte 7= checksum of the first part (and last byte before a 29ms pause)
65  byte 13=Current time, mins past midnight, low bits
66  byte 14
67  b5-b3=Day of the week (SUN=1, MON=2, ..., SAT=7)
68  b2-b0=Current time, mins past midnight, high bits
69  byte 15= checksum of the second part (and last byte before a 29ms pause)
70  byte 21=mode
71  b7 = 0
72  b6+b5+b4 = Mode
73  Modes: b6+b5+b4
74  011 = Cool
75  100 = Heat (temp 23)
76  110 = FAN (temp not shown, but 25)
77  000 = Fully Automatic (temp 25)
78  010 = DRY (temp 0xc0 = 96 degrees c)
79  b3 = 1
80  b2 = OFF timer set
81  b1 = ON timer set
82  b0 = Air Conditioner ON
83  byte 22=temp*2 (Temp should be between 10 - 32)
84  byte 24=Fan
85  FAN control
86  b7+b6+b5+b4 = Fan speed
87  Fan: b7+b6+b5+b4
88  0×3 = 1 bar
89  0×4 = 2 bar
90  0×5 = 3 bar
91  0×6 = 4 bar
92  0×7 = 5 bar
93  0xa = Auto
94  0xb = Quite
95  b3+b2+b1+b0 = Swing control up/down
96  Swing control up/down:
97  0000 = Swing up/down off
98  1111 = Swing up/down on
99  byte 25
100  Swing control left/right:
101  0000 = Swing left/right off
102  1111 = Swing left/right on
103  byte 26=On timer mins past midnight, low bits
104  byte 27
105  b0-b3=On timer mins past midnight, high bits
106  b4-b7=Off timer mins past midnight, low bits
107  byte 28=Off timer mins past midnight, high bits
108  byte 29=Aux -> Powerful (bit 1), Silent (bit 5)
109  byte 32=Aux2
110  b1: Sensor
111  b2: Econo mode
112  b7: Intelligent eye on
113  byte 33=Aux3
114  b1: Mold Proof
115  byte 34= checksum of the third part
116 */
117 
118 // Constants
119 const uint8_t kDaikinAuto = 0b000;
120 const uint8_t kDaikinDry = 0b010;
121 const uint8_t kDaikinCool = 0b011;
122 const uint8_t kDaikinHeat = 0b100;
123 const uint8_t kDaikinFan = 0b110;
124 const uint8_t kDaikinModeOffset = 4;
125 const uint8_t kDaikinModeSize = 3;
126 const uint8_t kDaikinMinTemp = 10; // Celsius
127 const uint8_t kDaikinMaxTemp = 32; // Celsius
128 const uint8_t kDaikinFanMin = 1;
129 const uint8_t kDaikinFanMed = 3;
130 const uint8_t kDaikinFanMax = 5;
131 const uint8_t kDaikinFanAuto = 0b1010; // 10 / 0xA
132 const uint8_t kDaikinFanQuiet = 0b1011; // 11 / 0xB
133 const uint8_t kDaikinFanOffset = 4;
134 const uint8_t kDaikinFanSize = 4;
135 const uint8_t kDaikinSwingOffset = 0;
136 const uint8_t kDaikinSwingSize = 4;
137 const uint8_t kDaikinSwingOn = 0b1111;
138 const uint8_t kDaikinSwingOff = 0b0000;
139 const uint16_t kDaikinHeaderLength = 5;
140 const uint8_t kDaikinSections = 3;
141 const uint8_t kDaikinSection1Length = 8;
142 const uint8_t kDaikinSection2Length = 8;
143 const uint8_t kDaikinSection3Length =
145 const uint8_t kDaikinByteComfort = 6;
146 const uint8_t kDaikinByteChecksum1 = 7;
147 const uint8_t kDaikinBitComfortOffset = 4;
149 const uint8_t kDaikinByteClockMinsLow = 13;
150 const uint8_t kDaikinByteClockMinsHigh = 14;
151 const uint8_t kDaikinClockMinsHighOffset = 0;
152 const uint8_t kDaikinClockMinsHighSize = 3;
153 const uint8_t kDaikinDoWOffset = 3;
154 const uint8_t kDaikinDoWSize = 3;
155 const uint8_t kDaikinByteChecksum2 = 15;
156 const uint8_t kDaikinBytePower = 21;
157 const uint8_t kDaikinBitPowerOffset = 0;
159 const uint8_t kDaikinTempOffset = 1;
160 const uint8_t kDaikinTempSize = 6;
161 const uint8_t kDaikinByteTemp = 22;
162 const uint8_t kDaikinByteFan = 24;
163 const uint8_t kDaikinByteSwingH = 25;
164 const uint8_t kDaikinByteOnTimerMinsLow = 26;
165 const uint8_t kDaikinByteOnTimerMinsHigh = 27;
167 const uint8_t kDaikinOnTimerMinsHighSize = 4;
169 const uint8_t kDaikinByteOffTimerMinsHigh = 28;
170 const uint8_t kDaikinBytePowerful = 29;
171 const uint8_t kDaikinBitPowerfulOffset = 0;
174 const uint8_t kDaikinBitSilentOffset = 5;
176 const uint8_t kDaikinByteSensor = 32;
177 const uint8_t kDaikinBitSensorOffset = 1;
180 const uint8_t kDaikinBitEconoOffset = 2;
183 const uint8_t kDaikinBitEye = 0b10000000;
185 const uint8_t kDaikinBitWeeklyTimerOffset = 7;
187 const uint8_t kDaikinByteMold = 33;
188 const uint8_t kDaikinBitMoldOffset = 1;
191 const uint8_t kDaikinBitOffTimerOffset = 2;
194 const uint8_t kDaikinBitOnTimerOffset = 1;
197 const uint16_t kDaikinUnusedTime = 0x600;
198 const uint8_t kDaikinBeepQuiet = 1;
199 const uint8_t kDaikinBeepLoud = 2;
200 const uint8_t kDaikinBeepOff = 3;
201 const uint8_t kDaikinLightBright = 1;
202 const uint8_t kDaikinLightDim = 2;
203 const uint8_t kDaikinLightOff = 3;
206 const uint8_t kDaikinTolerance = 35;
208 const uint16_t kDaikinHdrMark = 3650; // kDaikinBitMark * 8
209 const uint16_t kDaikinHdrSpace = 1623; // kDaikinBitMark * 4
210 const uint16_t kDaikinBitMark = 428;
211 const uint16_t kDaikinZeroSpace = 428;
212 const uint16_t kDaikinOneSpace = 1280;
213 const uint16_t kDaikinGap = 29000;
214 // Note bits in each octet swapped so can be sent as a single value
215 const uint64_t kDaikinFirstHeader64 =
216  0b1101011100000000000000001100010100000000001001111101101000010001;
217 
218 
219 const uint16_t kDaikin2Freq = 36700; // Modulation Frequency in Hz.
220 const uint16_t kDaikin2LeaderMark = 10024;
221 const uint16_t kDaikin2LeaderSpace = 25180;
223 const uint16_t kDaikin2HdrMark = 3500;
224 const uint16_t kDaikin2HdrSpace = 1728;
225 const uint16_t kDaikin2BitMark = 460;
226 const uint16_t kDaikin2OneSpace = 1270;
227 const uint16_t kDaikin2ZeroSpace = 420;
228 const uint16_t kDaikin2Sections = 2;
229 const uint16_t kDaikin2Section1Length = 20;
230 const uint16_t kDaikin2Section2Length = 19;
231 const uint8_t kDaikin2Tolerance = 5; // Extra percentage tolerance
232 const uint8_t kDaikin2BitSleepTimerOffset = 5;
234 const uint8_t kDaikin2BitPurifyOffset = 4;
235 const uint8_t kDaikin2BitPurify = 1 << kDaikin2BitPurifyOffset; // 0b00010000
236 const uint8_t kDaikin2BitEyeOffset = 1;
237 const uint8_t kDaikin2BitEye = 1 << kDaikin2BitEyeOffset; // 0b00000010
238 const uint8_t kDaikin2BitEyeAutoOffset = 7;
239 const uint8_t kDaikin2BitEyeAuto = 1 << kDaikin2BitEyeAutoOffset; // 0b10000000
240 const uint8_t kDaikin2BitMoldOffset = 3;
241 const uint8_t kDaikin2BitMold = 1 << kDaikin2BitMoldOffset; // 0b00001000
242 const uint8_t kDaikin2BitCleanOffset = 5; // Byte[8]
243 const uint8_t kDaikin2BitClean = 1 << kDaikin2BitCleanOffset; // 0b00100000
244 const uint8_t kDaikin2BitFreshAirOffset = 0;
248 const uint8_t kDaikin2BitPowerOffset = 7;
249 const uint8_t kDaikin2BitPower = 1 << kDaikin2BitPowerOffset; // 0b10000000
250 // const uint8_t kDaikin2LightMask = 0b00110000; // Byte[7]
251 const uint8_t kDaikin2LightOffset = 4; // Byte[7]
252 const uint8_t kDaikin2LightSize = 2;
253 // const uint8_t kDaikin2BeepMask = 0b11000000; // Byte[7]
254 const uint8_t kDaikin2BeepOffset = 6; // Byte[7]
255 const uint8_t kDaikin2BeepSize = 2;
256 const uint8_t kDaikin2SwingVHigh = 0x1;
257 const uint8_t kDaikin2SwingVLow = 0x6;
258 const uint8_t kDaikin2SwingVSwing = 0xF;
259 const uint8_t kDaikin2SwingVAuto = 0xE;
260 const uint8_t kDaikin2SwingVBreeze = 0xC;
261 const uint8_t kDaikin2SwingVCirculate = 0xD;
262 const uint8_t kDaikin2FanByte = 28;
263 
264 const uint8_t kDaikin2SwingHWide = 0xA3;
265 const uint8_t kDaikin2SwingHLeftMax = 0xA8;
266 const uint8_t kDaikin2SwingHLeft = 0xA9;
267 const uint8_t kDaikin2SwingHMiddle = 0xAA;
268 const uint8_t kDaikin2SwingHRight = 0xAB;
269 const uint8_t kDaikin2SwingHRightMax = 0xAC;
270 const uint8_t kDaikin2SwingHAuto = 0xBE;
271 const uint8_t kDaikin2SwingHSwing = 0xBF;
272 
273 const uint8_t kDaikin2MinCoolTemp = 18; // Min temp (in C) when in Cool mode.
274 
275 
276 const uint16_t kDaikin216Freq = 38000; // Modulation Frequency in Hz.
277 const uint16_t kDaikin216HdrMark = 3440;
278 const uint16_t kDaikin216HdrSpace = 1750;
279 const uint16_t kDaikin216BitMark = 420;
280 const uint16_t kDaikin216OneSpace = 1300;
281 const uint16_t kDaikin216ZeroSpace = 450;
282 const uint16_t kDaikin216Gap = 29650;
283 const uint16_t kDaikin216Sections = 2;
284 const uint16_t kDaikin216Section1Length = 8;
287 const uint8_t kDaikin216BytePower = 13;
289 // const uint8_t kDaikin216MaskMode = 0b01110000;
290 const uint8_t kDaikin216ByteTemp = 14;
291 // const uint8_t kDaikin216MaskTemp = 0b01111110;
292 const uint8_t kDaikin216TempOffset = 1;
293 const uint8_t kDaikin216TempSize = 6;
294 
295 const uint8_t kDaikin216ByteFan = 16;
296 const uint8_t kDaikin216MaskFan = 0b11110000;
297 const uint8_t kDaikin216ByteSwingV = 16;
298 // const uint8_t kDaikin216MaskSwingV = 0b00001111;
299 const uint8_t kDaikin216SwingSize = 4;
300 const uint8_t kDaikin216SwingOn = 0b1111;
301 const uint8_t kDaikin216SwingOff = 0b0000;
302 const uint8_t kDaikin216ByteSwingH = 17;
303 const uint8_t kDaikin216BytePowerful = 21;
304 
305 
306 const uint16_t kDaikin160Freq = 38000; // Modulation Frequency in Hz.
307 const uint16_t kDaikin160HdrMark = 5000;
308 const uint16_t kDaikin160HdrSpace = 2145;
309 const uint16_t kDaikin160BitMark = 342;
310 const uint16_t kDaikin160OneSpace = 1786;
311 const uint16_t kDaikin160ZeroSpace = 700;
312 const uint16_t kDaikin160Gap = 29650;
313 const uint16_t kDaikin160Sections = 2;
314 const uint16_t kDaikin160Section1Length = 7;
317 const uint8_t kDaikin160BytePower = 12;
319 // const uint8_t kDaikin160MaskMode = 0b01110000;
320 const uint8_t kDaikin160ByteTemp = 16;
321 // const uint8_t kDaikin160MaskTemp = 0b01111110;
322 const uint8_t kDaikin160TempOffset = 1;
323 const uint8_t kDaikin160TempSize = 6;
324 const uint8_t kDaikin160ByteFan = 17;
325 const uint8_t kDaikin160MaskFan = 0b00001111;
326 const uint8_t kDaikin160ByteSwingV = 13;
327 const uint8_t kDaikin160MaskSwingV = 0b11110000;
328 const uint8_t kDaikin160SwingVLowest = 0x1;
329 const uint8_t kDaikin160SwingVLow = 0x2;
330 const uint8_t kDaikin160SwingVMiddle = 0x3;
331 const uint8_t kDaikin160SwingVHigh = 0x4;
332 const uint8_t kDaikin160SwingVHighest = 0x5;
333 const uint8_t kDaikin160SwingVAuto = 0xF;
334 
335 
336 const uint16_t kDaikin176Freq = 38000; // Modulation Frequency in Hz.
337 const uint16_t kDaikin176HdrMark = 5070;
338 const uint16_t kDaikin176HdrSpace = 2140;
339 const uint16_t kDaikin176BitMark = 370;
340 const uint16_t kDaikin176OneSpace = 1780;
341 const uint16_t kDaikin176ZeroSpace = 710;
342 const uint16_t kDaikin176Gap = 29410;
343 const uint16_t kDaikin176Sections = 2;
344 const uint16_t kDaikin176Section1Length = 7;
347 const uint8_t kDaikin176ByteAltMode = 12;
348 const uint8_t kDaikin176ByteModePower = 14;
349 const uint8_t kDaikin176Fan = 0b000; // 0
350 const uint8_t kDaikin176Heat = 0b001; // 1
351 const uint8_t kDaikin176Cool = 0b010; // 2
352 const uint8_t kDaikin176Auto = 0b011; // 3
353 const uint8_t kDaikin176Dry = 0b111; // 7
354 const uint8_t kDaikin176MaskMode = 0b01110000;
355 const uint8_t kDaikin176ByteModeButton = 13;
356 const uint8_t kDaikin176ModeButton = 0b00000100;
357 const uint8_t kDaikin176ByteTemp = 17;
358 // const uint8_t kDaikin176MaskTemp = 0b01111110;
359 const uint8_t kDaikin176TempOffset = 1;
360 const uint8_t kDaikin176TempSize = 6;
361 const uint8_t kDaikin176DryFanTemp = 17; // Dry/Fan mode is always 17 Celsius.
362 const uint8_t kDaikin176ByteFan = 18;
363 const uint8_t kDaikin176MaskFan = 0b11110000;
364 const uint8_t kDaikin176FanMax = 3;
365 const uint8_t kDaikin176ByteSwingH = 18;
366 // const uint8_t kDaikin176MaskSwingH = 0b00001111;
367 const uint8_t kDaikin176SwingHAuto = 0x5;
368 const uint8_t kDaikin176SwingHOff = 0x6;
369 
370 
371 const uint16_t kDaikin128Freq = 38000; // Modulation Frequency in Hz.
372 const uint16_t kDaikin128LeaderMark = 9800;
373 const uint16_t kDaikin128LeaderSpace = 9800;
374 const uint16_t kDaikin128HdrMark = 4600;
375 const uint16_t kDaikin128HdrSpace = 2500;
376 const uint16_t kDaikin128BitMark = 350;
377 const uint16_t kDaikin128OneSpace = 954;
378 const uint16_t kDaikin128ZeroSpace = 382;
379 const uint16_t kDaikin128Gap = 20300;
381 const uint16_t kDaikin128Sections = 2;
382 const uint16_t kDaikin128SectionLength = 8;
383 const uint8_t kDaikin128ByteModeFan = 1;
384 // const uint8_t kDaikin128MaskMode = 0b00001111;
385 const uint8_t kDaikin128ModeSize = 4;
386 const uint8_t kDaikin128Dry = 0b00000001;
387 const uint8_t kDaikin128Cool = 0b00000010;
388 const uint8_t kDaikin128Fan = 0b00000100;
389 const uint8_t kDaikin128Heat = 0b00001000;
390 const uint8_t kDaikin128Auto = 0b00001010;
391 const uint8_t kDaikin128MaskFan = 0b11110000;
392 const uint8_t kDaikin128FanAuto = 0b0001;
393 const uint8_t kDaikin128FanHigh = 0b0010;
394 const uint8_t kDaikin128FanMed = 0b0100;
395 const uint8_t kDaikin128FanLow = 0b1000;
396 const uint8_t kDaikin128FanPowerful = 0b0011;
397 const uint8_t kDaikin128FanQuiet = 0b1001;
398 const uint8_t kDaikin128ByteClockMins = 2;
399 const uint8_t kDaikin128ByteClockHours = 3;
400 const uint8_t kDaikin128ByteOnTimer = 4;
401 const uint8_t kDaikin128ByteOffTimer = 5;
404 const uint8_t kDaikin128TimerOffset = 0;
405 const uint8_t kDaikin128TimerSize = 7;
406 const uint8_t kDaikin128HalfHourOffset = 6;
408 // const uint8_t kDaikin128MaskHours = 0b00111111;
409 const uint8_t kDaikin128HoursOffset = 0;
410 const uint8_t kDaikin128HoursSize = 6;
411 const uint8_t kDaikin128ByteTemp = 6;
412 const uint8_t kDaikin128MinTemp = 16; // C
413 const uint8_t kDaikin128MaxTemp = 30; // C
415 const uint8_t kDaikin128BitSwingOffset = 0;
416 const uint8_t kDaikin128BitSwing = 1 << kDaikin128BitSwingOffset; // 0b00000001
417 const uint8_t kDaikin128BitSleepOffset = 1;
418 const uint8_t kDaikin128BitSleep = 1 << kDaikin128BitSleepOffset; // 0b00000010
421 const uint8_t kDaikin128ByteEconoLight = 9;
422 const uint8_t kDaikin128BitEconoOffset = 2;
423 const uint8_t kDaikin128BitEcono = 1 << kDaikin128BitEconoOffset; // 0b00000100
424 const uint8_t kDaikin128BitWall = 0b00001000;
425 const uint8_t kDaikin128BitCeiling = 0b00000001;
427 
428 
429 const uint16_t kDaikin152Freq = 38000; // Modulation Frequency in Hz.
430 const uint8_t kDaikin152LeaderBits = 5;
431 const uint16_t kDaikin152HdrMark = 3492;
432 const uint16_t kDaikin152HdrSpace = 1718;
433 const uint16_t kDaikin152BitMark = 433;
434 const uint16_t kDaikin152OneSpace = 1529;
436 const uint16_t kDaikin152Gap = 25182;
437 
438 // Byte[5]
439 const uint8_t kDaikin152ModeByte = 5; // Mask 0b01110000
440 const uint8_t kDaikin152PowerByte = kDaikin152ModeByte; // Mask 0b00000001
441 // Byte[6]
442 const uint8_t kDaikin152TempByte = 6; // Mask 0b11111110
443 const uint8_t kDaikin152TempSize = 7;
444 const uint8_t kDaikin152DryTemp = kDaikin2MinCoolTemp; // Celsius
445 const uint8_t kDaikin152FanTemp = 0x60; // 96 Celsius
446 // Byte[8]
447 const uint8_t kDaikin152FanByte = 8;
449 // Byte[13]
450 const uint8_t kDaikin152QuietByte = 13; // Mask 0b00100000
451 const uint8_t kDaikin152PowerfulByte = kDaikin152QuietByte; // Mask 0b00000001
452 // Byte[16]
453 const uint8_t kDaikin152EconoByte = 16; // Mask 0b00000100
454 const uint8_t kDaikin152ComfortByte = kDaikin152EconoByte; // Mask 0b00000010
455 const uint8_t kDaikin152ComfortOffset = 1; // Mask 0b00000010
456 const uint8_t kDaikin152SensorByte = kDaikin152EconoByte; // Mask 0b00001000
457 const uint8_t kDaikin152SensorOffset = 3; // Mask 0b00001000
458 
459 
466 const uint16_t kDaikin64Gap = kDaikin128Gap;
468 const uint16_t kDaikin64Freq = kDaikin128Freq; // Hz.
469 const uint8_t kDaikin64Overhead = 9;
470 const int8_t kDaikin64ToleranceDelta = 5; // +5%
471 
472 const uint64_t kDaikin64KnownGoodState = 0x7C16161607204216;
473 const uint8_t kDaikin64ModeOffset = 8;
474 const uint8_t kDaikin64ModeSize = 4; // Mask 0b111100000000
475 const uint8_t kDaikin64Dry = 0b001;
476 const uint8_t kDaikin64Cool = 0b010;
477 const uint8_t kDaikin64Fan = 0b100;
479 const uint8_t kDaikin64FanSize = 4; // Mask 0b1111000000000000
480 const uint8_t kDaikin64FanAuto = 0b0001;
481 const uint8_t kDaikin64FanLow = 0b1000;
482 const uint8_t kDaikin64FanMed = 0b0100;
483 const uint8_t kDaikin64FanHigh = 0b0010;
484 const uint8_t kDaikin64FanQuiet = 0b1001;
485 const uint8_t kDaikin64FanTurbo = 0b0011;
487 const uint8_t kDaikin64ClockMinsSize = 8;
488 const uint8_t kDaikin64ClockHoursSize = 8;
490  kDaikin64ClockHoursSize; // Mask 0b1111111111111111 << 15
493 const uint8_t kDaikin64OnTimeSize = 6;
498 const uint8_t kDaikin64OffTimeSize = 6;
502 const uint8_t kDaikin64TempOffset = 48;
503 const uint8_t kDaikin64TempSize = 8; // Mask 0b11111111 << 47
504 const uint8_t kDaikin64MinTemp = 16; // Celsius
505 const uint8_t kDaikin64MaxTemp = 30; // Celsius
506 const uint8_t kDaikin64SwingVBit = 56;
508 const uint8_t kDaikin64PowerToggleBit = 59;
509 const uint8_t kDaikin64ChecksumOffset = 60;
510 const uint8_t kDaikin64ChecksumSize = 4; // Mask 0b1111 << 59
511 
512 // Legacy defines.
513 #define DAIKIN_COOL kDaikinCool
514 #define DAIKIN_HEAT kDaikinHeat
515 #define DAIKIN_FAN kDaikinFan
516 #define DAIKIN_AUTO kDaikinAuto
517 #define DAIKIN_DRY kDaikinDry
518 #define DAIKIN_MIN_TEMP kDaikinMinTemp
519 #define DAIKIN_MAX_TEMP kDaikinMaxTemp
520 #define DAIKIN_FAN_MIN kDaikinFanMin
521 #define DAIKIN_FAN_MAX kDaikinFanMax
522 #define DAIKIN_FAN_AUTO kDaikinFanAuto
523 #define DAIKIN_FAN_QUIET kDaikinFanQuiet
524 
526 class IRDaikinESP {
527  public:
528  explicit IRDaikinESP(const uint16_t pin, const bool inverted = false,
529  const bool use_modulation = true);
530 
531 #if SEND_DAIKIN
532  void send(const uint16_t repeat = kDaikinDefaultRepeat);
537  int8_t calibrate(void) { return _irsend.calibrate(); }
538 #endif
539  void begin(void);
540  void on(void);
541  void off(void);
542  void setPower(const bool on);
543  bool getPower(void);
544  void setTemp(const uint8_t temp);
545  uint8_t getTemp();
546  void setFan(const uint8_t fan);
547  uint8_t getFan(void);
548  void setMode(const uint8_t mode);
549  uint8_t getMode(void);
550  void setSwingVertical(const bool on);
551  bool getSwingVertical(void);
552  void setSwingHorizontal(const bool on);
553  bool getSwingHorizontal(void);
554  bool getQuiet(void);
555  void setQuiet(const bool on);
556  bool getPowerful(void);
557  void setPowerful(const bool on);
558  void setSensor(const bool on);
559  bool getSensor(void);
560  void setEcono(const bool on);
561  bool getEcono(void);
562  void setMold(const bool on);
563  bool getMold(void);
564  void setComfort(const bool on);
565  bool getComfort(void);
566  void enableOnTimer(const uint16_t starttime);
567  void disableOnTimer(void);
568  uint16_t getOnTime(void);
569  bool getOnTimerEnabled();
570  void enableOffTimer(const uint16_t endtime);
571  void disableOffTimer(void);
572  uint16_t getOffTime(void);
573  bool getOffTimerEnabled(void);
574  void setCurrentTime(const uint16_t mins_since_midnight);
575  uint16_t getCurrentTime(void);
576  void setCurrentDay(const uint8_t day_of_week);
577  uint8_t getCurrentDay(void);
578  void setWeeklyTimerEnable(const bool on);
579  bool getWeeklyTimerEnable(void);
580  uint8_t* getRaw(void);
581  void setRaw(const uint8_t new_code[],
582  const uint16_t length = kDaikinStateLength);
583  static bool validChecksum(uint8_t state[],
584  const uint16_t length = kDaikinStateLength);
585  static uint8_t convertMode(const stdAc::opmode_t mode);
586  static uint8_t convertFan(const stdAc::fanspeed_t speed);
587  static stdAc::opmode_t toCommonMode(const uint8_t mode);
588  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
589  stdAc::state_t toCommon(void);
590  String toString(void);
591 #ifndef UNIT_TEST
592 
593  private:
595 #else
596  IRsendTest _irsend;
598 #endif
600  // # of bytes per command
602  void stateReset(void);
603  void checksum(void);
604 };
605 
608 class IRDaikin2 {
609  public:
610  explicit IRDaikin2(const uint16_t pin, const bool inverted = false,
611  const bool use_modulation = true);
612 
613 #if SEND_DAIKIN2
614  void send(const uint16_t repeat = kDaikin2DefaultRepeat);
619  int8_t calibrate(void) { return _irsend.calibrate(); }
620 #endif
621  void begin();
622  void on();
623  void off();
624  void setPower(const bool state);
625  bool getPower();
626  void setTemp(const uint8_t temp);
627  uint8_t getTemp();
628  void setFan(const uint8_t fan);
629  uint8_t getFan();
630  uint8_t getMode();
631  void setMode(const uint8_t mode);
632  void setSwingVertical(const uint8_t position);
633  uint8_t getSwingVertical();
634  void setSwingHorizontal(const uint8_t position);
635  uint8_t getSwingHorizontal();
636  bool getQuiet();
637  void setQuiet(const bool on);
638  bool getPowerful();
639  void setPowerful(const bool on);
640  void setEcono(const bool on);
641  bool getEcono();
642  void setEye(const bool on);
643  bool getEye();
644  void setEyeAuto(const bool on);
645  bool getEyeAuto();
646  void setPurify(const bool on);
647  bool getPurify();
648  void setMold(const bool on);
649  bool getMold();
650  void enableOnTimer(const uint16_t starttime);
651  void disableOnTimer();
652  uint16_t getOnTime();
653  bool getOnTimerEnabled();
654  void enableSleepTimer(const uint16_t sleeptime);
655  void disableSleepTimer();
656  uint16_t getSleepTime();
657  bool getSleepTimerEnabled();
658  void enableOffTimer(const uint16_t endtime);
659  void disableOffTimer();
660  uint16_t getOffTime();
661  bool getOffTimerEnabled();
662  void setCurrentTime(const uint16_t time);
663  uint16_t getCurrentTime();
664  void setBeep(const uint8_t beep);
665  uint8_t getBeep();
666  void setLight(const uint8_t light);
667  uint8_t getLight();
668  void setClean(const bool on);
669  bool getClean();
670  void setFreshAir(const bool on);
671  bool getFreshAir();
672  void setFreshAirHigh(const bool on);
673  bool getFreshAirHigh();
674  uint8_t* getRaw();
675  void setRaw(const uint8_t new_code[]);
676  static bool validChecksum(uint8_t state[],
677  const uint16_t length = kDaikin2StateLength);
678  static uint8_t convertMode(const stdAc::opmode_t mode);
679  static uint8_t convertFan(const stdAc::fanspeed_t speed);
680  static uint8_t convertSwingV(const stdAc::swingv_t position);
681  static uint8_t convertSwingH(const stdAc::swingh_t position);
682  static stdAc::swingv_t toCommonSwingV(const uint8_t setting);
683  static stdAc::swingh_t toCommonSwingH(const uint8_t setting);
684  stdAc::state_t toCommon(void);
685  String toString();
686 #ifndef UNIT_TEST
687 
688  private:
690 #else
691  IRsendTest _irsend;
693 #endif
695  // # of bytes per command
697  void stateReset();
698  void checksum();
699  void clearOnTimerFlag();
700  void clearSleepTimerFlag();
701 };
702 
704 class IRDaikin216 {
705  public:
706  explicit IRDaikin216(const uint16_t pin, const bool inverted = false,
707  const bool use_modulation = true);
708 
709 #if SEND_DAIKIN216
710  void send(const uint16_t repeat = kDaikin216DefaultRepeat);
715  int8_t calibrate(void) { return _irsend.calibrate(); }
716 #endif
717  void begin();
718  uint8_t* getRaw();
719  void setRaw(const uint8_t new_code[]);
720  static bool validChecksum(uint8_t state[],
721  const uint16_t length = kDaikin216StateLength);
722  void on(void);
723  void off(void);
724  void setPower(const bool on);
725  bool getPower(void);
726  void setTemp(const uint8_t temp);
727  uint8_t getTemp();
728  void setMode(const uint8_t mode);
729  uint8_t getMode(void);
730  static uint8_t convertMode(const stdAc::opmode_t mode);
731  void setFan(const uint8_t fan);
732  uint8_t getFan(void);
733  static uint8_t convertFan(const stdAc::fanspeed_t speed);
734  void setSwingVertical(const bool on);
735  bool getSwingVertical(void);
736  void setSwingHorizontal(const bool on);
737  bool getSwingHorizontal(void);
738  void setQuiet(const bool on);
739  bool getQuiet(void);
740  void setPowerful(const bool on);
741  bool getPowerful(void);
742  stdAc::state_t toCommon(void);
743  String toString(void);
744 #ifndef UNIT_TEST
745 
746  private:
748 #else
749  IRsendTest _irsend;
751 #endif
753  // # of bytes per command
755  void stateReset();
756  void checksum();
757 };
758 
760 class IRDaikin160 {
761  public:
762  explicit IRDaikin160(const uint16_t pin, const bool inverted = false,
763  const bool use_modulation = true);
764 
765 #if SEND_DAIKIN160
766  void send(const uint16_t repeat = kDaikin160DefaultRepeat);
771  int8_t calibrate(void) { return _irsend.calibrate(); }
772 #endif
773  void begin();
774  uint8_t* getRaw();
775  void setRaw(const uint8_t new_code[]);
776  static bool validChecksum(uint8_t state[],
777  const uint16_t length = kDaikin160StateLength);
778  void on(void);
779  void off(void);
780  void setPower(const bool on);
781  bool getPower(void);
782  void setTemp(const uint8_t temp);
783  uint8_t getTemp();
784  void setMode(const uint8_t mode);
785  uint8_t getMode(void);
786  static uint8_t convertMode(const stdAc::opmode_t mode);
787  void setFan(const uint8_t fan);
788  uint8_t getFan(void);
789  static uint8_t convertFan(const stdAc::fanspeed_t speed);
790  void setSwingVertical(const uint8_t position);
791  uint8_t getSwingVertical(void);
792  static uint8_t convertSwingV(const stdAc::swingv_t position);
793  static stdAc::swingv_t toCommonSwingV(const uint8_t setting);
794  stdAc::state_t toCommon(void);
795  String toString(void);
796 #ifndef UNIT_TEST
797 
798  private:
800 #else
801  IRsendTest _irsend;
803 #endif
805  // # of bytes per command
807  void stateReset();
808  void checksum();
809 };
810 
812 class IRDaikin176 {
813  public:
814  explicit IRDaikin176(const uint16_t pin, const bool inverted = false,
815  const bool use_modulation = true);
816 
817 #if SEND_DAIKIN176
818  void send(const uint16_t repeat = kDaikin176DefaultRepeat);
823  int8_t calibrate(void) { return _irsend.calibrate(); }
824 #endif
825  void begin();
826  uint8_t* getRaw();
827  void setRaw(const uint8_t new_code[]);
828  static bool validChecksum(uint8_t state[],
829  const uint16_t length = kDaikin176StateLength);
830  void on(void);
831  void off(void);
832  void setPower(const bool on);
833  bool getPower(void);
834  void setTemp(const uint8_t temp);
835  uint8_t getTemp();
836  void setMode(const uint8_t mode);
837  uint8_t getMode(void);
838  static uint8_t convertMode(const stdAc::opmode_t mode);
839  void setFan(const uint8_t fan);
840  uint8_t getFan(void);
841  static uint8_t convertFan(const stdAc::fanspeed_t speed);
842  void setSwingHorizontal(const uint8_t position);
843  uint8_t getSwingHorizontal(void);
844  static uint8_t convertSwingH(const stdAc::swingh_t position);
845  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
846  static stdAc::opmode_t toCommonMode(const uint8_t mode);
847  static stdAc::swingh_t toCommonSwingH(const uint8_t setting);
848  stdAc::state_t toCommon(void);
849  String toString(void);
850 
851 #ifndef UNIT_TEST
852 
853  private:
855 #else
856  IRsendTest _irsend;
858 #endif
860  // # of bytes per command
862  uint8_t _saved_temp;
863  void stateReset();
864  void checksum();
865 };
866 
869 class IRDaikin128 {
870  public:
871  explicit IRDaikin128(const uint16_t pin, const bool inverted = false,
872  const bool use_modulation = true);
873 #if SEND_DAIKIN128
874  void send(const uint16_t repeat = kDaikin128DefaultRepeat);
879  int8_t calibrate(void) { return _irsend.calibrate(); }
880 #endif // SEND_DAIKIN128
881  void begin();
882  void setPowerToggle(const bool toggle);
883  bool getPowerToggle(void);
884  void setTemp(const uint8_t temp);
885  uint8_t getTemp(void);
886  void setFan(const uint8_t fan);
887  uint8_t getFan(void);
888  uint8_t getMode(void);
889  void setMode(const uint8_t mode);
890  void setSwingVertical(const bool on);
891  bool getSwingVertical();
892  bool getSleep(void);
893  void setSleep(const bool on);
894  bool getQuiet(void);
895  void setQuiet(const bool on);
896  bool getPowerful(void);
897  void setPowerful(const bool on);
898  void setEcono(const bool on);
899  bool getEcono(void);
900  void setOnTimer(const uint16_t mins_since_midnight);
901  uint16_t getOnTimer(void);
902  bool getOnTimerEnabled(void);
903  void setOnTimerEnabled(const bool on);
904  void setOffTimer(const uint16_t mins_since_midnight);
905  uint16_t getOffTimer(void);
906  bool getOffTimerEnabled(void);
907  void setOffTimerEnabled(const bool on);
908  void setClock(const uint16_t mins_since_midnight);
909  uint16_t getClock(void);
910  void setLightToggle(const uint8_t unit_type);
911  uint8_t getLightToggle(void);
912  uint8_t* getRaw(void);
913  void setRaw(const uint8_t new_code[]);
914  static bool validChecksum(uint8_t state[]);
915  static uint8_t convertMode(const stdAc::opmode_t mode);
916  static uint8_t convertFan(const stdAc::fanspeed_t speed);
917  static stdAc::opmode_t toCommonMode(const uint8_t mode);
918  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
919  stdAc::state_t toCommon(const stdAc::state_t *prev = NULL);
920  String toString(void);
921 #ifndef UNIT_TEST
922 
923  private:
925 #else
926  IRsendTest _irsend;
928 #endif
930  // # of bytes per command
932  void stateReset(void);
933  static uint8_t calcFirstChecksum(const uint8_t state[]);
934  static uint8_t calcSecondChecksum(const uint8_t state[]);
935  static void setTimer(uint8_t *ptr, const uint16_t mins_since_midnight);
936  static uint16_t getTimer(const uint8_t *ptr);
937  void checksum(void);
938  void clearOnTimerFlag(void);
939  void clearSleepTimerFlag(void);
940 };
941 
943 class IRDaikin152 {
944  public:
945  explicit IRDaikin152(const uint16_t pin, const bool inverted = false,
946  const bool use_modulation = true);
947 
948 #if SEND_DAIKIN152
949  void send(const uint16_t repeat = kDaikin152DefaultRepeat);
954  int8_t calibrate(void) { return _irsend.calibrate(); }
955 #endif
956  void begin();
957  uint8_t* getRaw();
958  void setRaw(const uint8_t new_code[]);
959  static bool validChecksum(uint8_t state[],
960  const uint16_t length = kDaikin152StateLength);
961  void on(void);
962  void off(void);
963  void setPower(const bool on);
964  bool getPower(void);
965  void setTemp(const uint8_t temp);
966  uint8_t getTemp();
967  void setFan(const uint8_t fan);
968  uint8_t getFan(void);
969  void setMode(const uint8_t mode);
970  uint8_t getMode(void);
971  void setSwingV(const bool on);
972  bool getSwingV(void);
973  bool getQuiet(void);
974  void setQuiet(const bool on);
975  bool getPowerful(void);
976  void setPowerful(const bool on);
977  void setSensor(const bool on);
978  bool getSensor(void);
979  void setEcono(const bool on);
980  bool getEcono(void);
981  void setComfort(const bool on);
982  bool getComfort(void);
983  static uint8_t convertMode(const stdAc::opmode_t mode);
984  static uint8_t convertFan(const stdAc::fanspeed_t speed);
985  stdAc::state_t toCommon(void);
986  String toString(void);
987 #ifndef UNIT_TEST
988 
989  private:
991 #else
992  IRsendTest _irsend;
994 #endif
996  // # of bytes per command
998  void stateReset();
999  void checksum();
1000 };
1001 
1003 class IRDaikin64 {
1004  public:
1005  explicit IRDaikin64(const uint16_t pin, const bool inverted = false,
1006  const bool use_modulation = true);
1007 
1008 #if SEND_DAIKIN64
1009  void send(const uint16_t repeat = kDaikin64DefaultRepeat);
1014  int8_t calibrate(void) { return _irsend.calibrate(); }
1015 #endif // SEND_DAIKIN64
1016  void begin();
1017  uint64_t getRaw();
1018  void setRaw(const uint64_t new_state);
1019  static uint8_t calcChecksum(const uint64_t state);
1020  static bool validChecksum(const uint64_t state);
1021  void setPowerToggle(const bool on);
1022  bool getPowerToggle(void);
1023  void setTemp(const uint8_t temp);
1024  uint8_t getTemp();
1025  void setFan(const uint8_t fan);
1026  uint8_t getFan(void);
1027  void setMode(const uint8_t mode);
1028  uint8_t getMode(void);
1029  void setSwingVertical(const bool on);
1030  bool getSwingVertical(void);
1031  void setSleep(const bool on);
1032  bool getSleep(void);
1033  bool getQuiet(void);
1034  void setQuiet(const bool on);
1035  bool getTurbo(void);
1036  void setTurbo(const bool on);
1037  void setClock(const uint16_t mins_since_midnight);
1038  uint16_t getClock(void);
1039  void setOnTimeEnabled(const bool on);
1040  bool getOnTimeEnabled(void);
1041  void setOnTime(const uint16_t mins_since_midnight);
1042  uint16_t getOnTime(void);
1043  void setOffTimeEnabled(const bool on);
1044  bool getOffTimeEnabled(void);
1045  void setOffTime(const uint16_t mins_since_midnight);
1046  uint16_t getOffTime(void);
1047  static uint8_t convertMode(const stdAc::opmode_t mode);
1048  static uint8_t convertFan(const stdAc::fanspeed_t speed);
1049  static stdAc::opmode_t toCommonMode(const uint8_t mode);
1050  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
1051  stdAc::state_t toCommon(const stdAc::state_t *prev = NULL);
1052  String toString(void);
1053 #ifndef UNIT_TEST
1054 
1055  private:
1057 #else
1058  IRsendTest _irsend;
1060 #endif
1062  uint64_t remote_state;
1063  void stateReset();
1064  void checksum();
1065 };
1066 #endif // IR_DAIKIN_H_
IRDaikin64::toString
String toString(void)
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:3967
kDaikin2SwingHRightMax
const uint8_t kDaikin2SwingHRightMax
Definition: ir_Daikin.h:269
kDaikin64ChecksumOffset
const uint8_t kDaikin64ChecksumOffset
Definition: ir_Daikin.h:509
kDaikin64TempOffset
const uint8_t kDaikin64TempOffset
Definition: ir_Daikin.h:502
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:161
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:879
kDaikinModeSize
const uint8_t kDaikinModeSize
Definition: ir_Daikin.h:125
kDaikin216ByteTemp
const uint8_t kDaikin216ByteTemp
Definition: ir_Daikin.h:290
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:434
kDaikin152PowerByte
const uint8_t kDaikin152PowerByte
Definition: ir_Daikin.h:440
kDaikinBitEconoOffset
const uint8_t kDaikinBitEconoOffset
Definition: ir_Daikin.h:180
IRDaikin64::setOffTimeEnabled
void setOffTimeEnabled(const bool on)
Set the enable status of the Off Timer.
Definition: ir_Daikin.cpp:3936
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:357
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:453
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:120
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:3082
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:2793
kDaikin128BitPowerToggleOffset
const uint8_t kDaikin128BitPowerToggleOffset
Definition: ir_Daikin.h:419
IRDaikinESP::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:537
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:232
kDaikin64OffTimeEnableBit
const uint8_t kDaikin64OffTimeEnableBit
Definition: ir_Daikin.h:501
kDaikinBitOnTimerOffset
const uint8_t kDaikinBitOnTimerOffset
Definition: ir_Daikin.h:194
kDaikin2BitClean
const uint8_t kDaikin2BitClean
Definition: ir_Daikin.h:243
kDaikin152ZeroSpace
const uint16_t kDaikin152ZeroSpace
Definition: ir_Daikin.h:435
kDaikin64OneSpace
const uint16_t kDaikin64OneSpace
Definition: ir_Daikin.h:463
kDaikin2DefaultRepeat
const uint16_t kDaikin2DefaultRepeat
Definition: IRremoteESP8266.h:868
kDaikin128BitEconoOffset
const uint8_t kDaikin128BitEconoOffset
Definition: ir_Daikin.h:422
kDaikin64Fan
const uint8_t kDaikin64Fan
Definition: ir_Daikin.h:477
kDaikin64Freq
const uint16_t kDaikin64Freq
Definition: ir_Daikin.h:468
IRDaikin152::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:3372
kDaikinByteFan
const uint8_t kDaikinByteFan
Definition: ir_Daikin.h:162
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:415
kDaikin128MaskLight
const uint8_t kDaikin128MaskLight
Definition: ir_Daikin.h:426
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:416
IRDaikin128::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:2786
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:2471
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:367
kDaikin64OnTimeHalfHourBit
const uint8_t kDaikin64OnTimeHalfHourBit
Definition: ir_Daikin.h:494
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:292
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:345
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:175
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:391
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:404
kDaikin64Overhead
const uint8_t kDaikin64Overhead
Definition: ir_Daikin.h:469
kDaikinOneSpace
const uint16_t kDaikinOneSpace
Definition: ir_Daikin.h:212
kDaikin216ByteSwingH
const uint8_t kDaikin216ByteSwingH
Definition: ir_Daikin.h:302
kDaikin128ByteTemp
const uint8_t kDaikin128ByteTemp
Definition: ir_Daikin.h:411
kDaikinBitPower
const uint8_t kDaikinBitPower
Definition: ir_Daikin.h:158
kDaikin2ZeroSpace
const uint16_t kDaikin2ZeroSpace
Definition: ir_Daikin.h:227
IRDaikinESP
Class for handling detailed Daikin 280-bit A/C messages.
Definition: ir_Daikin.h:526
IRDaikin176::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:2395
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:223
kDaikinBitPowerful
const uint8_t kDaikinBitPowerful
Definition: ir_Daikin.h:172
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:3956
IRDaikin176::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_Daikin.cpp:2494
kDaikin64OnTimeOffset
const uint8_t kDaikin64OnTimeOffset
Definition: ir_Daikin.h:491
kDaikin160ByteFan
const uint8_t kDaikin160ByteFan
Definition: ir_Daikin.h:324
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.
Definition: ir_Daikin.h:608
IRDaikin216::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:715
kDaikin176StateLength
const uint16_t kDaikin176StateLength
Definition: IRremoteESP8266.h:880
IRDaikin176::setSwingHorizontal
void setSwingHorizontal(const uint8_t position)
Set the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:2450
IRDaikin128
Class for handling detailed Daikin 128-bit A/C messages.
Definition: ir_Daikin.h:869
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:360
kDaikin64TempSize
const uint8_t kDaikin64TempSize
Definition: ir_Daikin.h:503
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:247
kDaikinBitEcono
const uint8_t kDaikinBitEcono
Definition: ir_Daikin.h:181
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:442
kDaikin64ModeOffset
const uint8_t kDaikin64ModeOffset
Definition: ir_Daikin.h:473
IRDaikin64::getTurbo
bool getTurbo(void)
Get the Turbo (Powerful) mode status of the A/C.
Definition: ir_Daikin.cpp:3828
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:2761
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:163
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:2725
kDaikin64HdrMark
const uint16_t kDaikin64HdrMark
Definition: ir_Daikin.h:460
IRDaikin128::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:2697
kDaikin176HdrMark
const uint16_t kDaikin176HdrMark
Definition: ir_Daikin.h:337
kDaikinBitOnTimer
const uint8_t kDaikinBitOnTimer
Definition: ir_Daikin.h:195
IRDaikin128::setOffTimer
void setOffTimer(const uint16_t mins_since_midnight)
Set the Off Timer time for the A/C unit.
Definition: ir_Daikin.cpp:3014
IRDaikin2::disableOnTimer
void disableOnTimer()
Disable the On timer.
Definition: ir_Daikin.cpp:988
kDaikinByteEye
const uint8_t kDaikinByteEye
Definition: ir_Daikin.h:182
IRDaikin152::getEcono
bool getEcono(void)
Get the Economical mode of the A/C.
Definition: ir_Daikin.cpp:3479
IRDaikin64::setClock
void setClock(const uint16_t mins_since_midnight)
Set the clock on the A/C unit.
Definition: ir_Daikin.cpp:3884
kDaikin128FanPowerful
const uint8_t kDaikin128FanPowerful
Definition: ir_Daikin.h:396
kDaikin128Freq
const uint16_t kDaikin128Freq
Definition: ir_Daikin.h:371
kDaikinGap
const uint16_t kDaikinGap
Definition: ir_Daikin.h:213
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:924
kDaikinByteOnTimerMinsHigh
const uint8_t kDaikinByteOnTimerMinsHigh
Definition: ir_Daikin.h:165
kDaikin128MinTemp
const uint8_t kDaikin128MinTemp
Definition: ir_Daikin.h:412
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:258
kDaikin2BitSleepTimer
const uint8_t kDaikin2BitSleepTimer
Definition: ir_Daikin.h:233
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:2925
kDaikin2BeepSize
const uint8_t kDaikin2BeepSize
Definition: ir_Daikin.h:255
IRDaikin64::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Daikin.cpp:3717
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:297
IRDaikin152::getPower
bool getPower(void)
Get the value of the current power setting.
Definition: ir_Daikin.cpp:3330
kDaikin160ByteSwingV
const uint8_t kDaikin160ByteSwingV
Definition: ir_Daikin.h:326
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:312
IRDaikin64
Class for handling detailed Daikin 64-bit A/C messages.
Definition: ir_Daikin.h:1003
kDaikinBitMark
const uint16_t kDaikinBitMark
Definition: ir_Daikin.h:210
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:3664
kDaikin64ClockOffset
const uint8_t kDaikin64ClockOffset
Definition: ir_Daikin.h:486
kDaikin152BitMark
const uint16_t kDaikin152BitMark
Definition: ir_Daikin.h:433
IRDaikinESP::remote
uint8_t remote[kDaikinStateLength]
The state of the IR remote.
Definition: ir_Daikin.h:601
kDaikin176FanMax
const uint8_t kDaikin176FanMax
Definition: ir_Daikin.h:364
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:432
kDaikin160BitMark
const uint16_t kDaikin160BitMark
Definition: ir_Daikin.h:309
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:191
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:3471
kDaikinByteOffTimerMinsHigh
const uint8_t kDaikinByteOffTimerMinsHigh
Definition: ir_Daikin.h:169
kDaikin152ComfortOffset
const uint8_t kDaikin152ComfortOffset
Definition: ir_Daikin.h:455
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:3418
kDaikinBitMold
const uint8_t kDaikinBitMold
Definition: ir_Daikin.h:189
kDaikinModeOffset
const uint8_t kDaikinModeOffset
Definition: ir_Daikin.h:124
kDaikin2MinCoolTemp
const uint8_t kDaikin2MinCoolTemp
Definition: ir_Daikin.h:273
kDaikinBitOffTimer
const uint8_t kDaikinBitOffTimer
Definition: ir_Daikin.h:192
kDaikin216ByteFan
const uint8_t kDaikin216ByteFan
Definition: ir_Daikin.h:295
IRDaikin128::getSwingVertical
bool getSwingVertical()
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:2863
kDaikin128BitSleepOffset
const uint8_t kDaikin128BitSleepOffset
Definition: ir_Daikin.h:417
kDaikinDoWOffset
const uint8_t kDaikinDoWOffset
Definition: ir_Daikin.h:153
IRsend.h
kDaikin176ByteModeButton
const uint8_t kDaikin176ByteModeButton
Definition: ir_Daikin.h:355
kDaikin64FanQuiet
const uint8_t kDaikin64FanQuiet
Definition: ir_Daikin.h:484
IRDaikin128::getEcono
bool getEcono(void)
Get the Economical mode of the A/C.
Definition: ir_Daikin.cpp:2892
IRDaikin128::setPowerToggle
void setPowerToggle(const bool toggle)
Set the Power toggle setting of the A/C.
Definition: ir_Daikin.cpp:2718
kDaikin152FanTemp
const uint8_t kDaikin152FanTemp
Definition: ir_Daikin.h:445
IRDaikin216
Class for handling detailed Daikin 216-bit A/C messages.
Definition: ir_Daikin.h:704
kDaikinBitMoldOffset
const uint8_t kDaikinBitMoldOffset
Definition: ir_Daikin.h:188
kDaikin64Cool
const uint8_t kDaikin64Cool
Definition: ir_Daikin.h:476
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:485
kDaikinFan
const uint8_t kDaikinFan
Definition: ir_Daikin.h:123
IRDaikin152::getPowerful
bool getPowerful(void)
Get the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:3464
IRDaikin64::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:1056
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:211
IRDaikin64::getOffTimeEnabled
bool getOffTimeEnabled(void)
Get the enable status of the Off Timer.
Definition: ir_Daikin.cpp:3942
kDaikin2LightOffset
const uint8_t kDaikin2LightOffset
Definition: ir_Daikin.h:251
kDaikinSection1Length
const uint8_t kDaikinSection1Length
Definition: ir_Daikin.h:141
kDaikinByteChecksum2
const uint8_t kDaikinByteChecksum2
Definition: ir_Daikin.h:155
IRDaikin152::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:954
kDaikin64OffTimeOffset
const uint8_t kDaikin64OffTimeOffset
Definition: ir_Daikin.h:497
kDaikin2BitEye
const uint8_t kDaikin2BitEye
Definition: ir_Daikin.h:237
kDaikin128BitTimerEnabled
const uint8_t kDaikin128BitTimerEnabled
Definition: ir_Daikin.h:403
IRDaikin128::getTimer
static uint16_t getTimer(const uint8_t *ptr)
Get the time for a timer at the given location.
Definition: ir_Daikin.cpp:2980
kDaikin160TempSize
const uint8_t kDaikin160TempSize
Definition: ir_Daikin.h:323
kDaikinClockMinsHighSize
const uint8_t kDaikinClockMinsHighSize
Definition: ir_Daikin.h:152
kDaikinBitComfortOffset
const uint8_t kDaikinBitComfortOffset
Definition: ir_Daikin.h:147
IRDaikinESP::getTemp
uint8_t getTemp()
Get the current temperature setting.
Definition: ir_Daikin.cpp:231
kDaikin2BitEyeAutoOffset
const uint8_t kDaikin2BitEyeAutoOffset
Definition: ir_Daikin.h:238
kDaikinByteWeeklyTimer
const uint8_t kDaikinByteWeeklyTimer
Definition: ir_Daikin.h:184
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:3543
kDaikin64ClockSize
const uint8_t kDaikin64ClockSize
Definition: ir_Daikin.h:489
kDaikin176MaskMode
const uint8_t kDaikin176MaskMode
Definition: ir_Daikin.h:354
IRsend
Class for sending all basic IR protocols.
Definition: IRsend.h:176
kDaikinUnusedTime
const uint16_t kDaikinUnusedTime
Definition: ir_Daikin.h:197
kDaikin216SwingSize
const uint8_t kDaikin216SwingSize
Definition: ir_Daikin.h:299
IRDaikin176::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:823
kDaikin176Dry
const uint8_t kDaikin176Dry
Definition: ir_Daikin.h:353
kDaikin176Auto
const uint8_t kDaikin176Auto
Definition: ir_Daikin.h:352
IRDaikin152::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:3452
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:281
IRDaikin176::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:2343
IRDaikin152::off
void off(void)
Change the power setting to Off.
Definition: ir_Daikin.cpp:3320
IRDaikin128::getQuiet
bool getQuiet(void)
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:2909
IRDaikin64::getSwingVertical
bool getSwingVertical(void)
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:3866
kDaikin2BitPurifyOffset
const uint8_t kDaikin2BitPurifyOffset
Definition: ir_Daikin.h:234
kDaikin2SwingHLeft
const uint8_t kDaikin2SwingHLeft
Definition: ir_Daikin.h:266
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:3948
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:2482
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:3850
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:4001
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:2966
kDaikin128HoursOffset
const uint8_t kDaikin128HoursOffset
Definition: ir_Daikin.h:409
kDaikinBitPowerOffset
const uint8_t kDaikinBitPowerOffset
Definition: ir_Daikin.h:157
kDaikinHdrSpace
const uint16_t kDaikinHdrSpace
Definition: ir_Daikin.h:209
kDaikin160HdrSpace
const uint16_t kDaikin160HdrSpace
Definition: ir_Daikin.h:308
String
std::string String
Definition: IRremoteESP8266.h:1128
IRDaikin64::setOnTimeEnabled
void setOnTimeEnabled(const bool on)
Set the enable status of the On Timer.
Definition: ir_Daikin.cpp:3905
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:205
kDaikin2BitPurify
const uint8_t kDaikin2BitPurify
Definition: ir_Daikin.h:235
kDaikin160SwingVHighest
const uint8_t kDaikin160SwingVHighest
Definition: ir_Daikin.h:332
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:2829
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:230
kDaikin176ByteAltMode
const uint8_t kDaikin176ByteAltMode
Definition: ir_Daikin.h:347
IRDaikin176::remote_state
uint8_t remote_state[kDaikin176StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:861
kDaikin216BytePower
const uint8_t kDaikin216BytePower
Definition: ir_Daikin.h:287
kDaikin64SwingVBit
const uint8_t kDaikin64SwingVBit
Definition: ir_Daikin.h:506
kDaikin152StateLength
const uint16_t kDaikin152StateLength
Definition: IRremoteESP8266.h:877
kDaikin176ByteSwingH
const uint8_t kDaikin176ByteSwingH
Definition: ir_Daikin.h:365
kDaikin128BitCeiling
const uint8_t kDaikin128BitCeiling
Definition: ir_Daikin.h:425
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:474
kDaikin160OneSpace
const uint16_t kDaikin160OneSpace
Definition: ir_Daikin.h:310
kDaikinOnTimerMinsHighSize
const uint8_t kDaikinOnTimerMinsHighSize
Definition: ir_Daikin.h:167
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:420
IRDaikin152::getComfort
bool getComfort(void)
Get the Comfort mode of the A/C.
Definition: ir_Daikin.cpp:3510
IRDaikin152::getSwingV
bool getSwingV(void)
Get the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:3431
kDaikin128ZeroSpace
const uint16_t kDaikin128ZeroSpace
Definition: ir_Daikin.h:378
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:130
IRDaikin128::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:2739
kDaikin176Gap
const uint16_t kDaikin176Gap
Definition: ir_Daikin.h:342
IRDaikin128::getOffTimer
uint16_t getOffTimer(void)
Get the Off Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:3020
kDaikinBytePowerful
const uint8_t kDaikinBytePowerful
Definition: ir_Daikin.h:170
kDaikin2BitFreshAirHighOffset
const uint8_t kDaikin2BitFreshAirHighOffset
Definition: ir_Daikin.h:246
IRDaikin64::getSleep
bool getSleep(void)
Get the Sleep mode of the A/C.
Definition: ir_Daikin.cpp:3878
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:3000
kDaikin160ByteTemp
const uint8_t kDaikin160ByteTemp
Definition: ir_Daikin.h:320
kDaikinBitSensor
const uint8_t kDaikinBitSensor
Definition: ir_Daikin.h:178
kDaikin128FanMed
const uint8_t kDaikin128FanMed
Definition: ir_Daikin.h:394
IRDaikin176::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:2418
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:508
kDaikinOnTimerMinsHighOffset
const uint8_t kDaikinOnTimerMinsHighOffset
Definition: ir_Daikin.h:166
kDaikinSwingOn
const uint8_t kDaikinSwingOn
Definition: ir_Daikin.h:137
kDaikin216Freq
const uint16_t kDaikin216Freq
Definition: ir_Daikin.h:276
kDaikinSwingOffset
const uint8_t kDaikinSwingOffset
Definition: ir_Daikin.h:135
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:883
kDaikin176Freq
const uint16_t kDaikin176Freq
Definition: ir_Daikin.h:336
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:2899
kDaikinBitComfort
const uint8_t kDaikinBitComfort
Definition: ir_Daikin.h:148
kDaikin152TempSize
const uint8_t kDaikin152TempSize
Definition: ir_Daikin.h:443
IRDaikin216::getTemp
uint8_t getTemp()
Get the current temperature setting.
Definition: ir_Daikin.cpp:1631
kDaikin2Section1Length
const uint16_t kDaikin2Section1Length
Definition: ir_Daikin.h:229
IRDaikin128::setLightToggle
void setLightToggle(const uint8_t unit_type)
Set the Light toggle setting of the A/C.
Definition: ir_Daikin.cpp:3027
kDaikin2SwingHMiddle
const uint8_t kDaikin2SwingHMiddle
Definition: ir_Daikin.h:267
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:689
IRDaikin64::checksum
void checksum()
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:3682
kDaikin64OnTimeEnableBit
const uint8_t kDaikin64OnTimeEnableBit
Definition: ir_Daikin.h:496
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:245
kDaikin152Freq
const uint16_t kDaikin152Freq
Definition: ir_Daikin.h:429
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:2711
IRDaikin152::setQuiet
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition: ir_Daikin.cpp:3438
kDaikin128HdrSpace
const uint16_t kDaikin128HdrSpace
Definition: ir_Daikin.h:375
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:176
kDaikin128HoursSize
const uint8_t kDaikin128HoursSize
Definition: ir_Daikin.h:410
kDaikinBeepOff
const uint8_t kDaikinBeepOff
Definition: ir_Daikin.h:200
kDaikin2BitCleanOffset
const uint8_t kDaikin2BitCleanOffset
Definition: ir_Daikin.h:242
IRDaikin152::setSensor
void setSensor(const bool on)
Set the Sensor mode of the A/C.
Definition: ir_Daikin.cpp:3485
kDaikin176HdrSpace
const uint16_t kDaikin176HdrSpace
Definition: ir_Daikin.h:338
IRDaikin176::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_Daikin.cpp:2383
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:3755
kDaikin2Sections
const uint16_t kDaikin2Sections
Definition: ir_Daikin.h:228
kDaikin160SwingVHigh
const uint8_t kDaikin160SwingVHigh
Definition: ir_Daikin.h:331
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:2660
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:874
kDaikin176DefaultRepeat
const uint16_t kDaikin176DefaultRepeat
Definition: IRremoteESP8266.h:882
kDaikin2BeepOffset
const uint8_t kDaikin2BeepOffset
Definition: ir_Daikin.h:254
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:2679
kDaikin128BitWall
const uint8_t kDaikin128BitWall
Definition: ir_Daikin.h:424
IRDaikin64::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:3783
kDaikin2BitMark
const uint16_t kDaikin2BitMark
Definition: ir_Daikin.h:225
IRDaikin152::validChecksum
static bool validChecksum(uint8_t state[], const uint16_t length=kDaikin152StateLength)
Verify the checksum is valid for a given state.
Definition: ir_Daikin.cpp:3279
kDaikinByteClockMinsLow
const uint8_t kDaikinByteClockMinsLow
Definition: ir_Daikin.h:149
kDaikin2LeaderSpace
const uint16_t kDaikin2LeaderSpace
Definition: ir_Daikin.h:221
IRDaikin152::setComfort
void setComfort(const bool on)
Set the Comfort mode of the A/C.
Definition: ir_Daikin.cpp:3497
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:313
IRDaikin152::setSwingV
void setSwingV(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:3424
kDaikin64OffTimeHalfHourBit
const uint8_t kDaikin64OffTimeHalfHourBit
Definition: ir_Daikin.h:499
kDaikin64FanAuto
const uint8_t kDaikin64FanAuto
Definition: ir_Daikin.h:480
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:306
IRDaikin2::remote_state
uint8_t remote_state[kDaikin2StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:696
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:931
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:475
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:260
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:2799
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:481
IRDaikin64::getPowerToggle
bool getPowerToggle(void)
Get the Power toggle setting of the A/C.
Definition: ir_Daikin.cpp:3711
IRDaikin152::remote_state
uint8_t remote_state[kDaikin152StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:997
IRDaikin152::on
void on(void)
Change the power setting to On.
Definition: ir_Daikin.cpp:3317
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:3336
kDaikinBeepLoud
const uint8_t kDaikinBeepLoud
Definition: ir_Daikin.h:199
kDaikinFanAuto
const uint8_t kDaikinFanAuto
Definition: ir_Daikin.h:131
kDaikin152QuietByte
const uint8_t kDaikin152QuietByte
Definition: ir_Daikin.h:450
kDaikin128HalfHourOffset
const uint8_t kDaikin128HalfHourOffset
Definition: ir_Daikin.h:406
kDaikin128Dry
const uint8_t kDaikin128Dry
Definition: ir_Daikin.h:386
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:472
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:283
kDaikin176Heat
const uint8_t kDaikin176Heat
Definition: ir_Daikin.h:350
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:2648
IRDaikin128::getOnTimer
uint16_t getOnTimer(void)
Get the On Timer time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:2994
kDaikin152DryTemp
const uint8_t kDaikin152DryTemp
Definition: ir_Daikin.h:444
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:3646
kDaikin128ByteClockHours
const uint8_t kDaikin128ByteClockHours
Definition: ir_Daikin.h:399
kDaikinTempSize
const uint8_t kDaikinTempSize
Definition: ir_Daikin.h:160
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:3260
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:307
kDaikin64ZeroSpace
const uint16_t kDaikin64ZeroSpace
Definition: ir_Daikin.h:464
IRDaikin128::getLightToggle
uint8_t getLightToggle(void)
Get the Light toggle setting of the A/C.
Definition: ir_Daikin.cpp:3041
kDaikin176MaskFan
const uint8_t kDaikin176MaskFan
Definition: ir_Daikin.h:363
IRDaikin128::validChecksum
static bool validChecksum(uint8_t state[])
Verify the checksum is valid for a given state.
Definition: ir_Daikin.cpp:2668
kDaikin128SectionLength
const uint16_t kDaikin128SectionLength
Definition: ir_Daikin.h:382
kDaikin176Cool
const uint8_t kDaikin176Cool
Definition: ir_Daikin.h:351
IRDaikin64::setTurbo
void setTurbo(const bool on)
Set the Turbo (Powerful) mode of the A/C.
Definition: ir_Daikin.cpp:3834
kDaikin128LeaderSpace
const uint16_t kDaikin128LeaderSpace
Definition: ir_Daikin.h:373
IRDaikin64::getClock
uint16_t getClock(void)
Get the clock time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:3895
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:193
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:1014
kDaikin2LeaderMark
const uint16_t kDaikin2LeaderMark
Definition: ir_Daikin.h:220
kDaikinBeepQuiet
const uint8_t kDaikinBeepQuiet
Definition: ir_Daikin.h:198
kDaikin2SwingVAuto
const uint8_t kDaikin2SwingVAuto
Definition: ir_Daikin.h:259
kDaikin2BitEyeOffset
const uint8_t kDaikin2BitEyeOffset
Definition: ir_Daikin.h:236
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:322
kDaikin216Section1Length
const uint16_t kDaikin216Section1Length
Definition: ir_Daikin.h:284
kDaikinLightBright
const uint8_t kDaikinLightBright
Definition: ir_Daikin.h:201
IRDaikin152::checksum
void checksum()
Calculate and set the checksum values for the internal state.
Definition: ir_Daikin.cpp:3288
kDaikin152Gap
const uint16_t kDaikin152Gap
Definition: ir_Daikin.h:436
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
kDaikin128Auto
const uint8_t kDaikin128Auto
Definition: ir_Daikin.h:390
kDaikin160SwingVMiddle
const uint8_t kDaikin160SwingVMiddle
Definition: ir_Daikin.h:330
IRDaikin64::getFan
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Daikin.cpp:3777
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:2884
kDaikinByteEcono
const uint8_t kDaikinByteEcono
Definition: ir_Daikin.h:179
kDaikin128Gap
const uint16_t kDaikin128Gap
Definition: ir_Daikin.h:379
kDaikin64MaxTemp
const uint8_t kDaikin64MaxTemp
Definition: ir_Daikin.h:505
kDaikinHeat
const uint8_t kDaikinHeat
Definition: ir_Daikin.h:122
kDaikin216OneSpace
const uint16_t kDaikin216OneSpace
Definition: ir_Daikin.h:280
kDaikinBitSensorOffset
const uint8_t kDaikinBitSensorOffset
Definition: ir_Daikin.h:177
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:368
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:293
kDaikin64BitMark
const uint16_t kDaikin64BitMark
Definition: ir_Daikin.h:461
kDaikin160SwingVLowest
const uint8_t kDaikin160SwingVLowest
Definition: ir_Daikin.h:328
kDaikin216DefaultRepeat
const uint16_t kDaikin216DefaultRepeat
Definition: IRremoteESP8266.h:885
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:159
kDaikin2SwingHLeftMax
const uint8_t kDaikin2SwingHLeftMax
Definition: ir_Daikin.h:265
IRDaikin152::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Daikin.cpp:3324
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:204
IRDaikin160::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:771
IRDaikin64::getQuiet
bool getQuiet(void)
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:3844
kDaikin176BitMark
const uint16_t kDaikin176BitMark
Definition: ir_Daikin.h:339
kDaikin160DefaultRepeat
const uint16_t kDaikin160DefaultRepeat
Definition: IRremoteESP8266.h:873
IRDaikin64::setPowerToggle
void setPowerToggle(const bool on)
Set the Power toggle setting of the A/C.
Definition: ir_Daikin.cpp:3705
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:2370
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:470
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:133
kDaikin152SensorOffset
const uint8_t kDaikin152SensorOffset
Definition: ir_Daikin.h:457
kDaikin160SwingVAuto
const uint8_t kDaikin160SwingVAuto
Definition: ir_Daikin.h:333
IRDaikin152::begin
void begin()
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:3265
kDaikinHeaderLength
const uint16_t kDaikinHeaderLength
Definition: ir_Daikin.h:139
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:465
IRDaikin152::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Daikin.cpp:3391
IRDaikin64::remote_state
uint64_t remote_state
The state of the IR remote.
Definition: ir_Daikin.h:1062
IRrecv.h
kDaikinFanSize
const uint8_t kDaikinFanSize
Definition: ir_Daikin.h:134
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:2528
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:387
kDaikin128BytePowerSwingSleep
const uint8_t kDaikin128BytePowerSwingSleep
Definition: ir_Daikin.h:414
kDaikin176ZeroSpace
const uint16_t kDaikin176ZeroSpace
Definition: ir_Daikin.h:341
kDaikin128Heat
const uint8_t kDaikin128Heat
Definition: ir_Daikin.h:389
kDaikinSection3Length
const uint8_t kDaikinSection3Length
Definition: ir_Daikin.h:143
IRDaikin152::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:3343
kDaikin160MaskSwingV
const uint8_t kDaikin160MaskSwingV
Definition: ir_Daikin.h:327
kDaikin160Section1Length
const uint16_t kDaikin160Section1Length
Definition: ir_Daikin.h:314
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:381
kDaikin176Sections
const uint16_t kDaikin176Sections
Definition: ir_Daikin.h:343
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:196
kDaikin128DefaultRepeat
const uint16_t kDaikin128DefaultRepeat
Definition: IRremoteESP8266.h:876
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:3366
IRDaikin152
Class for handling detailed Daikin 152-bit A/C messages.
Definition: ir_Daikin.h:943
kDaikin216ByteMode
const uint8_t kDaikin216ByteMode
Definition: ir_Daikin.h:288
kDaikin64OnTimeSize
const uint8_t kDaikin64OnTimeSize
Definition: ir_Daikin.h:493
kDaikin128ByteOffTimer
const uint8_t kDaikin128ByteOffTimer
Definition: ir_Daikin.h:401
IRDaikin128::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) mode of the A/C.
Definition: ir_Daikin.cpp:2915
kDaikin160ByteMode
const uint8_t kDaikin160ByteMode
Definition: ir_Daikin.h:318
kDaikin64FanOffset
const uint8_t kDaikin64FanOffset
Definition: ir_Daikin.h:478
kDaikin128FanLow
const uint8_t kDaikin128FanLow
Definition: ir_Daikin.h:395
kDaikinStateLength
const uint16_t kDaikinStateLength
Definition: IRremoteESP8266.h:861
IRDaikin64::setOnTime
void setOnTime(const uint16_t mins_since_midnight)
Set the On Timer time for the A/C unit.
Definition: ir_Daikin.cpp:3925
IRDaikin160
Class for handling detailed Daikin 160-bit A/C messages.
Definition: ir_Daikin.h:760
IRDaikin152::stateReset
void stateReset()
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:3294
IRDaikinESP::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:594
kDaikin216Section2Length
const uint16_t kDaikin216Section2Length
Definition: ir_Daikin.h:285
kDaikin128BitSleep
const uint8_t kDaikin128BitSleep
Definition: ir_Daikin.h:418
IRDaikin64::begin
void begin()
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:3651
kDaikin64FanMed
const uint8_t kDaikin64FanMed
Definition: ir_Daikin.h:482
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:448
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:380
IRDaikin128::getOnTimerEnabled
bool getOnTimerEnabled(void)
Get the enable status of the On Timer.
Definition: ir_Daikin.cpp:2956
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:173
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:222
kDaikin176TempOffset
const uint8_t kDaikin176TempOffset
Definition: ir_Daikin.h:359
kDaikin176ByteFan
const uint8_t kDaikin176ByteFan
Definition: ir_Daikin.h:362
IRDaikin64::setSleep
void setSleep(const bool on)
Set the Sleep mode of the A/C.
Definition: ir_Daikin.cpp:3872
kDaikin152LeaderBits
const uint8_t kDaikin152LeaderBits
Definition: ir_Daikin.h:430
IRDaikin64::getMode
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:3733
IRDaikin128::setOnTimer
void setOnTimer(const uint16_t mins_since_midnight)
Set the On Timer time for the A/C unit.
Definition: ir_Daikin.cpp:2988
kDaikinDefaultRepeat
const uint16_t kDaikinDefaultRepeat
Definition: IRremoteESP8266.h:865
kDaikin64DefaultRepeat
const uint16_t kDaikin64DefaultRepeat
Definition: IRremoteESP8266.h:870
kDaikin152SensorByte
const uint8_t kDaikin152SensorByte
Definition: ir_Daikin.h:456
kDaikin2BitEyeAuto
const uint8_t kDaikin2BitEyeAuto
Definition: ir_Daikin.h:239
kDaikin152ModeByte
const uint8_t kDaikin152ModeByte
Definition: ir_Daikin.h:439
kDaikinByteOffTimer
const uint8_t kDaikinByteOffTimer
Definition: ir_Daikin.h:190
kDaikin64LdrSpace
const uint16_t kDaikin64LdrSpace
Definition: ir_Daikin.h:467
kDaikin128Fan
const uint8_t kDaikin128Fan
Definition: ir_Daikin.h:388
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:171
kDaikinBitEye
const uint8_t kDaikinBitEye
Definition: ir_Daikin.h:183
kDaikinByteOnTimerMinsLow
const uint8_t kDaikinByteOnTimerMinsLow
Definition: ir_Daikin.h:164
IRDaikin2::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:619
IRDaikin64::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_Daikin.cpp:3815
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:186
IRDaikin176::toCommon
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Daikin.cpp:2501
IRDaikin152::getFan
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Daikin.cpp:3405
IRDaikin128::setOnTimerEnabled
void setOnTimerEnabled(const bool on)
Set the enable status of the On Timer.
Definition: ir_Daikin.cpp:2949
kDaikin128ByteEconoLight
const uint8_t kDaikin128ByteEconoLight
Definition: ir_Daikin.h:421
kDaikin216BytePowerful
const uint8_t kDaikin216BytePowerful
Definition: ir_Daikin.h:303
IRDaikin64::setRaw
void setRaw(const uint64_t new_state)
Set the internal state from a valid code for this protocol.
Definition: ir_Daikin.cpp:3701
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:3675
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:256
kDaikinClockMinsHighOffset
const uint8_t kDaikinClockMinsHighOffset
Definition: ir_Daikin.h:151
kDaikin160Section2Length
const uint16_t kDaikin160Section2Length
Definition: ir_Daikin.h:315
kDaikin128FanQuiet
const uint8_t kDaikin128FanQuiet
Definition: ir_Daikin.h:397
kDaikin216SwingOn
const uint8_t kDaikin216SwingOn
Definition: ir_Daikin.h:300
kDaikinDoWSize
const uint8_t kDaikinDoWSize
Definition: ir_Daikin.h:154
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:990
kDaikin128TimerSize
const uint8_t kDaikin128TimerSize
Definition: ir_Daikin.h:405
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:3383
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:3860
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:262
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:187
kDaikin64FanSize
const uint8_t kDaikin64FanSize
Definition: ir_Daikin.h:479
kDaikin160MaskFan
const uint8_t kDaikin160MaskFan
Definition: ir_Daikin.h:325
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:2655
kDaikin64MinTemp
const uint8_t kDaikin64MinTemp
Definition: ir_Daikin.h:504
kDaikin2SwingHRight
const uint8_t kDaikin2SwingHRight
Definition: ir_Daikin.h:268
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:2877
IRDaikin128::toString
String toString(void)
Convert the current internal state into a human readable string.
Definition: ir_Daikin.cpp:3047
IRDaikin176::getSwingHorizontal
uint8_t getSwingHorizontal(void)
Get the Horizontal Swing mode of the A/C.
Definition: ir_Daikin.cpp:2463
IRDaikin152::getQuiet
bool getQuiet(void)
Get the Quiet mode status of the A/C.
Definition: ir_Daikin.cpp:3446
IRDaikin176::getFan
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Daikin.cpp:2433
IRDaikin128::setClock
void setClock(const uint16_t mins_since_midnight)
Set the clock on the A/C unit.
Definition: ir_Daikin.cpp:2931
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:3917
IRDaikin128::getOffTimerEnabled
bool getOffTimerEnabled(void)
Get the enable status of the Off Timer.
Definition: ir_Daikin.cpp:3007
kDaikin64Gap
const uint16_t kDaikin64Gap
Definition: ir_Daikin.h:466
kDaikin128OneSpace
const uint16_t kDaikin128OneSpace
Definition: ir_Daikin.h:377
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:431
kDaikin2BitMoldOffset
const uint8_t kDaikin2BitMoldOffset
Definition: ir_Daikin.h:240
kDaikin2BitPowerOffset
const uint8_t kDaikin2BitPowerOffset
Definition: ir_Daikin.h:248
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:2440
kDaikinByteOffTimerMinsLow
const uint8_t kDaikinByteOffTimerMinsLow
Definition: ir_Daikin.h:168
kDaikin64SleepBit
const uint8_t kDaikin64SleepBit
Definition: ir_Daikin.h:507
kDaikin2SwingHSwing
const uint8_t kDaikin2SwingHSwing
Definition: ir_Daikin.h:271
IRDaikin128::setSwingVertical
void setSwingVertical(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Daikin.cpp:2856
IRDaikin152::getSensor
bool getSensor(void)
Get the Sensor mode of the A/C.
Definition: ir_Daikin.cpp:3491
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:871
kDaikin216HdrMark
const uint16_t kDaikin216HdrMark
Definition: ir_Daikin.h:277
kDaikinByteClockMinsHigh
const uint8_t kDaikinByteClockMinsHigh
Definition: ir_Daikin.h:150
kDaikin2HdrSpace
const uint16_t kDaikin2HdrSpace
Definition: ir_Daikin.h:224
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:356
kDaikinSections
const uint8_t kDaikinSections
Definition: ir_Daikin.h:140
kDaikin2StateLength
const uint16_t kDaikin2StateLength
Definition: IRremoteESP8266.h:866
IRDaikin176::_saved_temp
uint8_t _saved_temp
Definition: ir_Daikin.h:862
kDaikinByteComfort
const uint8_t kDaikinByteComfort
Definition: ir_Daikin.h:145
kDaikinByteChecksum1
const uint8_t kDaikinByteChecksum1
Definition: ir_Daikin.h:146
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:3312
kDaikin64FanHigh
const uint8_t kDaikin64FanHigh
Definition: ir_Daikin.h:483
IRDaikin160::_irsend
IRsend _irsend
instance of the IR send class
Definition: ir_Daikin.h:799
IRDaikin64::stateReset
void stateReset()
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:3688
IRDaikin152::send
void send(const uint16_t repeat=kDaikin152DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:3270
kDaikin64ChecksumSize
const uint8_t kDaikin64ChecksumSize
Definition: ir_Daikin.h:510
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:129
IRDaikin64::getOnTimeEnabled
bool getOnTimeEnabled(void)
Get the enable status of the On Timer.
Definition: ir_Daikin.cpp:3911
kDaikin152ComfortByte
const uint8_t kDaikin152ComfortByte
Definition: ir_Daikin.h:454
kDaikin64HdrSpace
const uint16_t kDaikin64HdrSpace
Definition: ir_Daikin.h:462
IRDaikin128::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Daikin.cpp:2687
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:402
IRDaikin152::toCommon
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Daikin.cpp:3516
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:252
kDaikinSwingOff
const uint8_t kDaikinSwingOff
Definition: ir_Daikin.h:138
IRDaikin176::getTemp
uint8_t getTemp()
Get the current temperature setting.
Definition: ir_Daikin.cpp:2410
IRDaikin64::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Daikin.cpp:3739
kMarkExcess
const uint16_t kMarkExcess
Definition: IRrecv.h:24
kDaikin216SwingOff
const uint8_t kDaikin216SwingOff
Definition: ir_Daikin.h:301
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:136
kDaikinAuto
const uint8_t kDaikinAuto
Definition: ir_Daikin.h:119
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:3801
kDaikin216BitMark
const uint16_t kDaikin216BitMark
Definition: ir_Daikin.h:279
kDaikinCool
const uint8_t kDaikinCool
Definition: ir_Daikin.h:121
IRDaikin128::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Daikin.h:879
IRDaikin128::begin
void begin()
Set up hardware to be able to send a message.
Definition: ir_Daikin.cpp:2653
kDaikin160ZeroSpace
const uint16_t kDaikin160ZeroSpace
Definition: ir_Daikin.h:311
kDaikinFirstHeader64
const uint64_t kDaikinFirstHeader64
Definition: ir_Daikin.h:215
kDaikin128ByteModeFan
const uint8_t kDaikin128ByteModeFan
Definition: ir_Daikin.h:383
kDaikin216Gap
const uint16_t kDaikin216Gap
Definition: ir_Daikin.h:282
kDaikin2BitPower
const uint8_t kDaikin2BitPower
Definition: ir_Daikin.h:249
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:132
kDaikinMarkExcess
const uint16_t kDaikinMarkExcess
Definition: ir_Daikin.h:207
IRDaikin128::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_Daikin.cpp:2774
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:206
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:296
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:257
kDaikin160BytePower
const uint8_t kDaikin160BytePower
Definition: ir_Daikin.h:317
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:278
kDaikinSection2Length
const uint8_t kDaikinSection2Length
Definition: ir_Daikin.h:142
kDaikin128ModeSize
const uint8_t kDaikin128ModeSize
Definition: ir_Daikin.h:385
kDaikin176OneSpace
const uint16_t kDaikin176OneSpace
Definition: ir_Daikin.h:340
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:854
IRDaikin152::getRaw
uint8_t * getRaw()
Get a PTR to the internal state/code for this protocol.
Definition: ir_Daikin.cpp:3305
kDaikin176ByteModePower
const uint8_t kDaikin176ByteModePower
Definition: ir_Daikin.h:348
kDaikinHdrMark
const uint16_t kDaikinHdrMark
Definition: ir_Daikin.h:208
kDaikin128ByteClockMins
const uint8_t kDaikin128ByteClockMins
Definition: ir_Daikin.h:398
kDaikinLightOff
const uint8_t kDaikinLightOff
Definition: ir_Daikin.h:203
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:231
kDaikin160SwingVLow
const uint8_t kDaikin160SwingVLow
Definition: ir_Daikin.h:329
kDaikin128BitHalfHour
const uint8_t kDaikin128BitHalfHour
Definition: ir_Daikin.h:407
kDaikin128BitEcono
const uint8_t kDaikin128BitEcono
Definition: ir_Daikin.h:423
IRDaikin64::getTemp
uint8_t getTemp()
Get the current temperature setting.
Definition: ir_Daikin.cpp:3726
kDaikin176DryFanTemp
const uint8_t kDaikin176DryFanTemp
Definition: ir_Daikin.h:361
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:2843
IRDaikin128::getMode
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Daikin.cpp:2732
kDaikin2OneSpace
const uint16_t kDaikin2OneSpace
Definition: ir_Daikin.h:226
kDaikin2SwingHWide
const uint8_t kDaikin2SwingHWide
Definition: ir_Daikin.h:264
kDaikin152FanByte
const uint8_t kDaikin152FanByte
Definition: ir_Daikin.h:447
IRDaikin216::remote_state
uint8_t remote_state[kDaikin216StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:754
kDaikin64ClockHoursSize
const uint8_t kDaikin64ClockHoursSize
Definition: ir_Daikin.h:488
IRDaikin64::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_Daikin.cpp:3766
IRDaikin64::getRaw
uint64_t getRaw()
Get a copy of the internal state as a valid code for this protocol.
Definition: ir_Daikin.cpp:3694
kDaikin128HdrMark
const uint16_t kDaikin128HdrMark
Definition: ir_Daikin.h:374
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:2704
IRDaikin64::send
void send(const uint16_t repeat=kDaikin64DefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Daikin.cpp:3656
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:241
kDaikinBitSilentOffset
const uint8_t kDaikinBitSilentOffset
Definition: ir_Daikin.h:174
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:2806
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:413
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:127
IRDaikin176
Class for handling detailed Daikin 176-bit A/C messages.
Definition: ir_Daikin.h:812
kDaikin128FanHigh
const uint8_t kDaikin128FanHigh
Definition: ir_Daikin.h:393
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:392
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:747
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:185
IRDaikin160::remote_state
uint8_t remote_state[kDaikin160StateLength]
The state of the IR remote.
Definition: ir_Daikin.h:806
kDaikin176Section1Length
const uint16_t kDaikin176Section1Length
Definition: ir_Daikin.h:344
kDaikin2Freq
const uint16_t kDaikin2Freq
Definition: ir_Daikin.h:219
kDaikin128BitMark
const uint16_t kDaikin128BitMark
Definition: ir_Daikin.h:376
kDaikinMinTemp
const uint8_t kDaikinMinTemp
Definition: ir_Daikin.h:126
IRDaikin128::getClock
uint16_t getClock(void)
Get the clock time to be sent to the A/C unit.
Definition: ir_Daikin.cpp:2942
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:244
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:451
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:487
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:128
kDaikinBytePower
const uint8_t kDaikinBytePower
Definition: ir_Daikin.h:156
kDaikin128LeaderMark
const uint16_t kDaikin128LeaderMark
Definition: ir_Daikin.h:372
IRDaikin128::setSleep
void setSleep(const bool on)
Set the Sleep mode of the A/C.
Definition: ir_Daikin.cpp:2870
kDaikin2SwingVCirculate
const uint8_t kDaikin2SwingVCirculate
Definition: ir_Daikin.h:261
kDaikin2SwingHAuto
const uint8_t kDaikin2SwingHAuto
Definition: ir_Daikin.h:270
kDaikinLightDim
const uint8_t kDaikinLightDim
Definition: ir_Daikin.h:202
kDaikin176Fan
const uint8_t kDaikin176Fan
Definition: ir_Daikin.h:349
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:498
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:400
stdAc::opmode_t
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46