IRremoteESP8266
Loading...
Searching...
No Matches
IRremoteESP8266.h
Go to the documentation of this file.
1 /***************************************************
2 * IRremote for ESP8266
3 *
4 * Based on the IRremote library for Arduino by Ken Shirriff
5 * Version 0.11 August, 2009
6 * Copyright 2009 Ken Shirriff
7 * For details, see http://arcfn.com/2009/08/multi-protocol-infrared-remote-library.html
8 *
9 * Edited by Mitra to add new controller SANYO
10 *
11 * Interrupt code based on NECIRrcv by Joe Knapp
12 * http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1210243556
13 * Also influenced by http://zovirl.com/2008/11/12/building-a-universal-remote-with-an-arduino/
14 *
15 * JVC and Panasonic protocol added by Kristian Lauszus (Thanks to zenwheel and other people at the original blog post)
16 * LG added by Darryl Smith (based on the JVC protocol)
17 * Whynter A/C ARC-110WD added by Francesco Meschia
18 * Coolix A/C / heatpump added by (send) bakrus & (decode) crankyoldgit
19 * Denon: sendDenon, decodeDenon added by Massimiliano Pinto
20 (from https://github.com/z3t0/Arduino-IRremote/blob/master/ir_Denon.cpp)
21 * Kelvinator A/C and Sherwood added by crankyoldgit
22 * Mitsubishi (TV) sending added by crankyoldgit
23 * Pronto code sending added by crankyoldgit
24 * Mitsubishi & Toshiba A/C added by crankyoldgit
25 * (derived from https://github.com/r45635/HVAC-IR-Control)
26 * DISH decode by marcosamarinho
27 * Gree Heatpump sending added by Ville Skyttä (scop)
28 * (derived from https://github.com/ToniA/arduino-heatpumpir/blob/master/GreeHeatpumpIR.cpp)
29 * Updated by markszabo (https://github.com/crankyoldgit/IRremoteESP8266) for sending IR code on ESP8266
30 * Updated by Sebastien Warin (http://sebastien.warin.fr) for receiving IR code on ESP8266
31 *
32 * Updated by sillyfrog for Daikin, adopted from
33 * (https://github.com/mharizanov/Daikin-AC-remote-control-over-the-Internet/)
34 * Fujitsu A/C code added by jonnygraham
35 * Trotec AC code by stufisher
36 * Carrier & Haier AC code by crankyoldgit
37 * Vestel AC code by Erdem U. Altınyurt
38 * Teco AC code by Fabien Valthier (hcoohb)
39 * Mitsubishi 112 AC Code by kuchel77
40 * Kelon AC code by Davide Depau (Depau)
41 *
42 * GPL license, all text above must be included in any redistribution
43 ****************************************************/
44
45#ifndef IRREMOTEESP8266_H_
46#define IRREMOTEESP8266_H_
47
48#define __STDC_LIMIT_MACROS
49#include <stdint.h>
50#ifdef UNIT_TEST
51#include <iostream>
52#include <string>
53#endif // UNIT_TEST
54#if __cplusplus >= 202002L
55#include <atomic>
56typedef std::atomic< bool > atomic_bool;
57typedef std::atomic<uint32_t> atomic_uint32_t;
58#else
59typedef volatile bool atomic_bool;
60typedef volatile uint32_t atomic_uint32_t;
61#endif
62typedef volatile uint16_t atomic_uint16_t;
63typedef volatile const uint16_t atomic_const_uint16_t;
64
65// Library Version Information
66// Major version number (X.x.x)
67#define _IRREMOTEESP8266_VERSION_MAJOR 2
68// Minor version number (x.X.x)
69#define _IRREMOTEESP8266_VERSION_MINOR 8
70// Patch version number (x.x.X)
71#define _IRREMOTEESP8266_VERSION_PATCH 6
72// Macro to convert version info into an integer
73#define _IRREMOTEESP8266_VERSION_VAL(major, minor, patch) \
74 (((major) << 16) | ((minor) << 8) | (patch))
75// Macro to convert literal into a string
76#define MKSTR_HELPER(x) #x
77#define MKSTR(x) MKSTR_HELPER(x)
78// Integer version
79#define _IRREMOTEESP8266_VERSION _IRREMOTEESP8266_VERSION_VAL(\
80 _IRREMOTEESP8266_VERSION_MAJOR, \
81 _IRREMOTEESP8266_VERSION_MINOR, \
82 _IRREMOTEESP8266_VERSION_PATCH)
83// String version
84#define _IRREMOTEESP8266_VERSION_STR MKSTR(_IRREMOTEESP8266_VERSION_MAJOR) "." \
85 MKSTR(_IRREMOTEESP8266_VERSION_MINOR) "." \
86 MKSTR(_IRREMOTEESP8266_VERSION_PATCH)
87// String version (DEPRECATED)
88#define _IRREMOTEESP8266_VERSION_ _IRREMOTEESP8266_VERSION_STR
89
90// Set the language & locale for the library. See the `locale` dir for options.
91#ifndef _IR_LOCALE_
92#define _IR_LOCALE_ en-AU
93#endif // _IR_LOCALE_
94
95// Do we enable all the protocols by default (true), or disable them (false)?
96// This allows users of the library to disable or enable all protocols at
97// compile-time with `-D_IR_ENABLE_DEFAULT_=true` or
98// `-D_IR_ENABLE_DEFAULT_=false` compiler flags respectively.
99// Everything is included by default.
100// e.g. If you only want to enable use of he NEC protocol to save program space,
101// you would use something like:
102// `-D_IR_ENABLE_DEFAULT_=false -DDECODE_NEC=true -DSEND_NEC=true`
103//
104// or alter your 'platform.ini' file accordingly:
105// ```
106// build_flags = -D_IR_ENABLE_DEFAULT_=false
107// -DDECODE_NEC=true
108// -DSEND_NEC=true
109// ```
110// If you want to enable support for every protocol *except* _decoding_ the
111// Kelvinator protocol, you would use:
112// `-DDECODE_KELVINATOR=false`
113#ifndef _IR_ENABLE_DEFAULT_
114#define _IR_ENABLE_DEFAULT_ true // Unless set externally, the default is on.
115#endif // _IR_ENABLE_DEFAULT_
116
117// Supported IR protocols
118// Each protocol you include costs memory and, during decode, costs time
119// Disable (set to false) all the protocols you do not need/want!
120// The Air Conditioner protocols are the most expensive memory-wise.
121//
122
123// Semi-unique code for unknown messages
124#ifndef DECODE_HASH
125#define DECODE_HASH _IR_ENABLE_DEFAULT_
126#endif // DECODE_HASH
127
128#ifndef SEND_RAW
129#define SEND_RAW _IR_ENABLE_DEFAULT_
130#endif // SEND_RAW
131
132#ifndef DECODE_NEC
133#define DECODE_NEC _IR_ENABLE_DEFAULT_
134#endif // DECODE_NEC
135#ifndef SEND_NEC
136#define SEND_NEC _IR_ENABLE_DEFAULT_
137#endif // SEND_NEC
138
139#ifndef DECODE_SHERWOOD
140#define DECODE_SHERWOOD false // Not applicable. Actually is DECODE_NEC
141#endif // DECODE_SHERWOOD
142#ifndef SEND_SHERWOOD
143#define SEND_SHERWOOD _IR_ENABLE_DEFAULT_
144#endif // SEND_SHERWOOD
145
146#ifndef DECODE_RC5
147#define DECODE_RC5 _IR_ENABLE_DEFAULT_
148#endif // DECODE_RC5
149#ifndef SEND_RC5
150#define SEND_RC5 _IR_ENABLE_DEFAULT_
151#endif // SEND_RC5
152
153#ifndef DECODE_RC6
154#define DECODE_RC6 _IR_ENABLE_DEFAULT_
155#endif // DECODE_RC6
156#ifndef SEND_RC6
157#define SEND_RC6 _IR_ENABLE_DEFAULT_
158#endif // SEND_RC6
159
160#ifndef DECODE_RCMM
161#define DECODE_RCMM _IR_ENABLE_DEFAULT_
162#endif // DECODE_RCMM
163#ifndef SEND_RCMM
164#define SEND_RCMM _IR_ENABLE_DEFAULT_
165#endif // SEND_RCMM
166
167#ifndef DECODE_SONY
168#define DECODE_SONY _IR_ENABLE_DEFAULT_
169#endif // DECODE_SONY
170#ifndef SEND_SONY
171#define SEND_SONY _IR_ENABLE_DEFAULT_
172#endif // SEND_SONY
173
174#ifndef DECODE_PANASONIC
175#define DECODE_PANASONIC _IR_ENABLE_DEFAULT_
176#endif // DECODE_PANASONIC
177#ifndef SEND_PANASONIC
178#define SEND_PANASONIC _IR_ENABLE_DEFAULT_
179#endif // SEND_PANASONIC
180
181#ifndef DECODE_JVC
182#define DECODE_JVC _IR_ENABLE_DEFAULT_
183#endif // DECODE_JVC
184#ifndef SEND_JVC
185#define SEND_JVC _IR_ENABLE_DEFAULT_
186#endif // SEND_JVC
187
188#ifndef DECODE_SAMSUNG
189#define DECODE_SAMSUNG _IR_ENABLE_DEFAULT_
190#endif // DECODE_SAMSUNG
191#ifndef SEND_SAMSUNG
192#define SEND_SAMSUNG _IR_ENABLE_DEFAULT_
193#endif // SEND_SAMSUNG
194
195#ifndef DECODE_SAMSUNG36
196#define DECODE_SAMSUNG36 _IR_ENABLE_DEFAULT_
197#endif // DECODE_SAMSUNG36
198#ifndef SEND_SAMSUNG36
199#define SEND_SAMSUNG36 _IR_ENABLE_DEFAULT_
200#endif // SEND_SAMSUNG36
201
202#ifndef DECODE_SAMSUNG_AC
203#define DECODE_SAMSUNG_AC _IR_ENABLE_DEFAULT_
204#endif // DECODE_SAMSUNG_AC
205#ifndef SEND_SAMSUNG_AC
206#define SEND_SAMSUNG_AC _IR_ENABLE_DEFAULT_
207#endif // SEND_SAMSUNG_AC
208
209#ifndef DECODE_WHYNTER
210#define DECODE_WHYNTER _IR_ENABLE_DEFAULT_
211#endif // DECODE_WHYNTER
212#ifndef SEND_WHYNTER
213#define SEND_WHYNTER _IR_ENABLE_DEFAULT_
214#endif // SEND_WHYNTER
215
216#ifndef DECODE_AIWA_RC_T501
217#define DECODE_AIWA_RC_T501 _IR_ENABLE_DEFAULT_
218#endif // DECODE_AIWA_RC_T501
219#ifndef SEND_AIWA_RC_T501
220#define SEND_AIWA_RC_T501 _IR_ENABLE_DEFAULT_
221#endif // SEND_AIWA_RC_T501
222
223#ifndef DECODE_LG
224#define DECODE_LG _IR_ENABLE_DEFAULT_
225#endif // DECODE_LG
226#ifndef SEND_LG
227#define SEND_LG _IR_ENABLE_DEFAULT_
228#endif // SEND_LG
229
230#ifndef DECODE_SANYO
231#define DECODE_SANYO _IR_ENABLE_DEFAULT_
232#endif // DECODE_SANYO
233#ifndef SEND_SANYO
234#define SEND_SANYO _IR_ENABLE_DEFAULT_
235#endif // SEND_SANYO
236
237#ifndef DECODE_SANYO_AC
238#define DECODE_SANYO_AC _IR_ENABLE_DEFAULT_
239#endif // DECODE_SANYO_AC
240#ifndef SEND_SANYO_AC
241#define SEND_SANYO_AC _IR_ENABLE_DEFAULT_
242#endif // SEND_SANYO_AC
243
244#ifndef DECODE_SANYO_AC88
245#define DECODE_SANYO_AC88 _IR_ENABLE_DEFAULT_
246#endif // DECODE_SANYO_AC88
247#ifndef SEND_SANYO_AC88
248#define SEND_SANYO_AC88 _IR_ENABLE_DEFAULT_
249#endif // SEND_SANYO_AC88
250
251#ifndef DECODE_SANYO_AC152
252#define DECODE_SANYO_AC152 _IR_ENABLE_DEFAULT_
253#endif // DECODE_SANYO_AC152
254#ifndef SEND_SANYO_AC152
255#define SEND_SANYO_AC152 _IR_ENABLE_DEFAULT_
256#endif // SEND_SANYO_AC152
257
258#ifndef DECODE_MITSUBISHI
259#define DECODE_MITSUBISHI _IR_ENABLE_DEFAULT_
260#endif // DECODE_MITSUBISHI
261#ifndef SEND_MITSUBISHI
262#define SEND_MITSUBISHI _IR_ENABLE_DEFAULT_
263#endif // SEND_MITSUBISHI
264
265#ifndef DECODE_MITSUBISHI2
266#define DECODE_MITSUBISHI2 _IR_ENABLE_DEFAULT_
267#endif // DECODE_MITSUBISHI2
268#ifndef SEND_MITSUBISHI2
269#define SEND_MITSUBISHI2 _IR_ENABLE_DEFAULT_
270#endif // SEND_MITSUBISHI2
271
272#ifndef DECODE_DISH
273#define DECODE_DISH _IR_ENABLE_DEFAULT_
274#endif // DECODE_DISH
275#ifndef SEND_DISH
276#define SEND_DISH _IR_ENABLE_DEFAULT_
277#endif // SEND_DISH
278
279#ifndef DECODE_SHARP
280#define DECODE_SHARP _IR_ENABLE_DEFAULT_
281#endif // DECODE_SHARP
282#ifndef SEND_SHARP
283#define SEND_SHARP _IR_ENABLE_DEFAULT_
284#endif // SEND_SHARP
285
286#ifndef DECODE_SHARP_AC
287#define DECODE_SHARP_AC _IR_ENABLE_DEFAULT_
288#endif // DECODE_SHARP_AC
289#ifndef SEND_SHARP_AC
290#define SEND_SHARP_AC _IR_ENABLE_DEFAULT_
291#endif // SEND_SHARP_AC
292
293#ifndef DECODE_DENON
294#define DECODE_DENON _IR_ENABLE_DEFAULT_
295#endif // DECODE_DENON
296#ifndef SEND_DENON
297#define SEND_DENON _IR_ENABLE_DEFAULT_
298#endif // SEND_DENON
299
300#ifndef DECODE_KELVINATOR
301#define DECODE_KELVINATOR _IR_ENABLE_DEFAULT_
302#endif // DECODE_KELVINATOR
303#ifndef SEND_KELVINATOR
304#define SEND_KELVINATOR _IR_ENABLE_DEFAULT_
305#endif // SEND_KELVINATOR
306
307#ifndef DECODE_MITSUBISHI_AC
308#define DECODE_MITSUBISHI_AC _IR_ENABLE_DEFAULT_
309#endif // DECODE_MITSUBISHI_AC
310#ifndef SEND_MITSUBISHI_AC
311#define SEND_MITSUBISHI_AC _IR_ENABLE_DEFAULT_
312#endif // SEND_MITSUBISHI_AC
313
314#ifndef DECODE_MITSUBISHI136
315#define DECODE_MITSUBISHI136 _IR_ENABLE_DEFAULT_
316#endif // DECODE_MITSUBISHI136
317#ifndef SEND_MITSUBISHI136
318#define SEND_MITSUBISHI136 _IR_ENABLE_DEFAULT_
319#endif // SEND_MITSUBISHI136
320
321#ifndef DECODE_MITSUBISHI112
322#define DECODE_MITSUBISHI112 _IR_ENABLE_DEFAULT_
323#endif // DECODE_MITSUBISHI112
324#ifndef SEND_MITSUBISHI112
325#define SEND_MITSUBISHI112 _IR_ENABLE_DEFAULT_
326#endif // SEND_MITSUBISHI112
327
328#ifndef DECODE_FUJITSU_AC
329#define DECODE_FUJITSU_AC _IR_ENABLE_DEFAULT_
330#endif // DECODE_FUJITSU_AC
331#ifndef SEND_FUJITSU_AC
332#define SEND_FUJITSU_AC _IR_ENABLE_DEFAULT_
333#endif // SEND_FUJITSU_AC
334
335#ifndef DECODE_INAX
336#define DECODE_INAX _IR_ENABLE_DEFAULT_
337#endif // DECODE_INAX
338#ifndef SEND_INAX
339#define SEND_INAX _IR_ENABLE_DEFAULT_
340#endif // SEND_INAX
341
342#ifndef DECODE_DAIKIN
343#define DECODE_DAIKIN _IR_ENABLE_DEFAULT_
344#endif // DECODE_DAIKIN
345#ifndef SEND_DAIKIN
346#define SEND_DAIKIN _IR_ENABLE_DEFAULT_
347#endif // SEND_DAIKIN
348
349#ifndef DECODE_COOLIX
350#define DECODE_COOLIX _IR_ENABLE_DEFAULT_
351#endif // DECODE_COOLIX
352#ifndef SEND_COOLIX
353#define SEND_COOLIX _IR_ENABLE_DEFAULT_
354#endif // SEND_COOLIX
355
356#ifndef DECODE_COOLIX48
357#define DECODE_COOLIX48 _IR_ENABLE_DEFAULT_
358#endif // DECODE_COOLIX48
359#ifndef SEND_COOLIX48
360#define SEND_COOLIX48 _IR_ENABLE_DEFAULT_
361#endif // SEND_COOLIX48
362
363#ifndef DECODE_GLOBALCACHE
364#define DECODE_GLOBALCACHE false // Not applicable.
365#endif // DECODE_GLOBALCACHE
366#ifndef SEND_GLOBALCACHE
367#define SEND_GLOBALCACHE _IR_ENABLE_DEFAULT_
368#endif // SEND_GLOBALCACHE
369
370#ifndef DECODE_GOODWEATHER
371#define DECODE_GOODWEATHER _IR_ENABLE_DEFAULT_
372#endif // DECODE_GOODWEATHER
373#ifndef SEND_GOODWEATHER
374#define SEND_GOODWEATHER _IR_ENABLE_DEFAULT_
375#endif // SEND_GOODWEATHER
376
377#ifndef DECODE_GREE
378#define DECODE_GREE _IR_ENABLE_DEFAULT_
379#endif // DECODE_GREE
380#ifndef SEND_GREE
381#define SEND_GREE _IR_ENABLE_DEFAULT_
382#endif // SEND_GREE
383
384#ifndef DECODE_PRONTO
385#define DECODE_PRONTO false // Not applicable.
386#endif // DECODE_PRONTO
387#ifndef SEND_PRONTO
388#define SEND_PRONTO _IR_ENABLE_DEFAULT_
389#endif // SEND_PRONTO
390
391#ifndef DECODE_ARGO
392#define DECODE_ARGO _IR_ENABLE_DEFAULT_
393#endif // DECODE_ARGO
394#ifndef SEND_ARGO
395#define SEND_ARGO _IR_ENABLE_DEFAULT_
396#endif // SEND_ARGO
397
398#ifndef DECODE_TROTEC
399#define DECODE_TROTEC _IR_ENABLE_DEFAULT_
400#endif // DECODE_TROTEC
401#ifndef SEND_TROTEC
402#define SEND_TROTEC _IR_ENABLE_DEFAULT_
403#endif // SEND_TROTEC
404
405#ifndef DECODE_TROTEC_3550
406#define DECODE_TROTEC_3550 _IR_ENABLE_DEFAULT_
407#endif // DECODE_TROTEC_3550
408#ifndef SEND_TROTEC_3550
409#define SEND_TROTEC_3550 _IR_ENABLE_DEFAULT_
410#endif // SEND_TROTEC_3550
411
412#ifndef DECODE_NIKAI
413#define DECODE_NIKAI _IR_ENABLE_DEFAULT_
414#endif // DECODE_NIKAI
415#ifndef SEND_NIKAI
416#define SEND_NIKAI _IR_ENABLE_DEFAULT_
417#endif // SEND_NIKAI
418
419#ifndef DECODE_TOSHIBA_AC
420#define DECODE_TOSHIBA_AC _IR_ENABLE_DEFAULT_
421#endif // DECODE_TOSHIBA_AC
422#ifndef SEND_TOSHIBA_AC
423#define SEND_TOSHIBA_AC _IR_ENABLE_DEFAULT_
424#endif // SEND_TOSHIBA_AC
425
426#ifndef DECODE_MAGIQUEST
427#define DECODE_MAGIQUEST _IR_ENABLE_DEFAULT_
428#endif // DECODE_MAGIQUEST
429#ifndef SEND_MAGIQUEST
430#define SEND_MAGIQUEST _IR_ENABLE_DEFAULT_
431#endif // SEND_MAGIQUEST
432
433#ifndef DECODE_MIDEA
434#define DECODE_MIDEA _IR_ENABLE_DEFAULT_
435#endif // DECODE_MIDEA
436#ifndef SEND_MIDEA
437#define SEND_MIDEA _IR_ENABLE_DEFAULT_
438#endif // SEND_MIDEA
439
440#ifndef DECODE_MIDEA24
441#define DECODE_MIDEA24 _IR_ENABLE_DEFAULT_
442#endif // DECODE_MIDEA24
443#ifndef SEND_MIDEA24
444#define SEND_MIDEA24 _IR_ENABLE_DEFAULT_
445#endif // SEND_MIDEA24
446
447#ifndef DECODE_LASERTAG
448#define DECODE_LASERTAG _IR_ENABLE_DEFAULT_
449#endif // DECODE_LASERTAG
450#ifndef SEND_LASERTAG
451#define SEND_LASERTAG _IR_ENABLE_DEFAULT_
452#endif // SEND_LASERTAG
453
454#ifndef DECODE_CARRIER_AC
455#define DECODE_CARRIER_AC _IR_ENABLE_DEFAULT_
456#endif // DECODE_CARRIER_AC
457#ifndef SEND_CARRIER_AC
458#define SEND_CARRIER_AC _IR_ENABLE_DEFAULT_
459#endif // SEND_CARRIER_AC
460
461#ifndef DECODE_CARRIER_AC40
462#define DECODE_CARRIER_AC40 _IR_ENABLE_DEFAULT_
463#endif // DECODE_CARRIER_AC40
464#ifndef SEND_CARRIER_AC40
465#define SEND_CARRIER_AC40 _IR_ENABLE_DEFAULT_
466#endif // SEND_CARRIER_AC40
467
468#ifndef DECODE_CARRIER_AC64
469#define DECODE_CARRIER_AC64 _IR_ENABLE_DEFAULT_
470#endif // DECODE_CARRIER_AC64
471#ifndef SEND_CARRIER_AC64
472#define SEND_CARRIER_AC64 _IR_ENABLE_DEFAULT_
473#endif // SEND_CARRIER_AC64
474
475#ifndef DECODE_CARRIER_AC128
476#define DECODE_CARRIER_AC128 _IR_ENABLE_DEFAULT_
477#endif // DECODE_CARRIER_AC128
478#ifndef SEND_CARRIER_AC128
479#define SEND_CARRIER_AC128 _IR_ENABLE_DEFAULT_
480#endif // SEND_CARRIER_AC128
481
482#ifndef DECODE_HAIER_AC
483#define DECODE_HAIER_AC _IR_ENABLE_DEFAULT_
484#endif // DECODE_HAIER_AC
485#ifndef SEND_HAIER_AC
486#define SEND_HAIER_AC _IR_ENABLE_DEFAULT_
487#endif // SEND_HAIER_AC
488
489#ifndef DECODE_HITACHI_AC
490#define DECODE_HITACHI_AC _IR_ENABLE_DEFAULT_
491#endif // DECODE_HITACHI_AC
492#ifndef SEND_HITACHI_AC
493#define SEND_HITACHI_AC _IR_ENABLE_DEFAULT_
494#endif // SEND_HITACHI_AC
495
496#ifndef DECODE_HITACHI_AC1
497#define DECODE_HITACHI_AC1 _IR_ENABLE_DEFAULT_
498#endif // DECODE_HITACHI_AC1
499#ifndef SEND_HITACHI_AC1
500#define SEND_HITACHI_AC1 _IR_ENABLE_DEFAULT_
501#endif // SEND_HITACHI_AC1
502
503#ifndef DECODE_HITACHI_AC2
504#define DECODE_HITACHI_AC2 _IR_ENABLE_DEFAULT_
505#endif // DECODE_HITACHI_AC2
506#ifndef SEND_HITACHI_AC2
507#define SEND_HITACHI_AC2 _IR_ENABLE_DEFAULT_
508#endif // SEND_HITACHI_AC2
509
510#ifndef DECODE_HITACHI_AC3
511#define DECODE_HITACHI_AC3 _IR_ENABLE_DEFAULT_
512#endif // DECODE_HITACHI_AC3
513#ifndef SEND_HITACHI_AC3
514#define SEND_HITACHI_AC3 _IR_ENABLE_DEFAULT_
515#endif // SEND_HITACHI_AC3
516
517#ifndef DECODE_HITACHI_AC264
518#define DECODE_HITACHI_AC264 _IR_ENABLE_DEFAULT_
519#endif // DECODE_HITACHI_AC264
520#ifndef SEND_HITACHI_AC264
521#define SEND_HITACHI_AC264 _IR_ENABLE_DEFAULT_
522#endif // SEND_HITACHI_AC264
523
524#ifndef DECODE_HITACHI_AC296
525#define DECODE_HITACHI_AC296 _IR_ENABLE_DEFAULT_
526#endif // DECODE_HITACHI_AC296
527#ifndef SEND_HITACHI_AC296
528#define SEND_HITACHI_AC296 _IR_ENABLE_DEFAULT_
529#endif // SEND_HITACHI_AC296
530
531#ifndef DECODE_HITACHI_AC344
532#define DECODE_HITACHI_AC344 _IR_ENABLE_DEFAULT_
533#endif // DECODE_HITACHI_AC344
534#ifndef SEND_HITACHI_AC344
535#define SEND_HITACHI_AC344 _IR_ENABLE_DEFAULT_
536#endif // SEND_HITACHI_AC344
537
538#ifndef DECODE_HITACHI_AC424
539#define DECODE_HITACHI_AC424 _IR_ENABLE_DEFAULT_
540#endif // DECODE_HITACHI_AC424
541#ifndef SEND_HITACHI_AC424
542#define SEND_HITACHI_AC424 _IR_ENABLE_DEFAULT_
543#endif // SEND_HITACHI_AC424
544
545#ifndef DECODE_GICABLE
546#define DECODE_GICABLE _IR_ENABLE_DEFAULT_
547#endif // DECODE_GICABLE
548#ifndef SEND_GICABLE
549#define SEND_GICABLE _IR_ENABLE_DEFAULT_
550#endif // SEND_GICABLE
551
552#ifndef DECODE_HAIER_AC_YRW02
553#define DECODE_HAIER_AC_YRW02 _IR_ENABLE_DEFAULT_
554#endif // DECODE_HAIER_AC_YRW02
555#ifndef SEND_HAIER_AC_YRW02
556#define SEND_HAIER_AC_YRW02 _IR_ENABLE_DEFAULT_
557#endif // SEND_HAIER_AC_YRW02
558
559#ifndef DECODE_WHIRLPOOL_AC
560#define DECODE_WHIRLPOOL_AC _IR_ENABLE_DEFAULT_
561#endif // DECODE_WHIRLPOOL_AC
562#ifndef SEND_WHIRLPOOL_AC
563#define SEND_WHIRLPOOL_AC _IR_ENABLE_DEFAULT_
564#endif // SEND_WHIRLPOOL_AC
565
566#ifndef DECODE_LUTRON
567#define DECODE_LUTRON _IR_ENABLE_DEFAULT_
568#endif // DECODE_LUTRON
569#ifndef SEND_LUTRON
570#define SEND_LUTRON _IR_ENABLE_DEFAULT_
571#endif // SEND_LUTRON
572
573#ifndef DECODE_ELECTRA_AC
574#define DECODE_ELECTRA_AC _IR_ENABLE_DEFAULT_
575#endif // DECODE_ELECTRA_AC
576#ifndef SEND_ELECTRA_AC
577#define SEND_ELECTRA_AC _IR_ENABLE_DEFAULT_
578#endif // SEND_ELECTRA_AC
579
580#ifndef DECODE_PANASONIC_AC
581#define DECODE_PANASONIC_AC _IR_ENABLE_DEFAULT_
582#endif // DECODE_PANASONIC_AC
583#ifndef SEND_PANASONIC_AC
584#define SEND_PANASONIC_AC _IR_ENABLE_DEFAULT_
585#endif // SEND_PANASONIC_AC
586
587#ifndef DECODE_PANASONIC_AC32
588#define DECODE_PANASONIC_AC32 _IR_ENABLE_DEFAULT_
589#endif // DECODE_PANASONIC_AC32
590#ifndef SEND_PANASONIC_AC32
591#define SEND_PANASONIC_AC32 _IR_ENABLE_DEFAULT_
592#endif // SEND_PANASONIC_AC32
593
594#ifndef DECODE_MWM
595#define DECODE_MWM _IR_ENABLE_DEFAULT_
596#endif // DECODE_MWM
597#ifndef SEND_MWM
598#define SEND_MWM _IR_ENABLE_DEFAULT_
599#endif // SEND_MWM
600
601#ifndef DECODE_PIONEER
602#define DECODE_PIONEER _IR_ENABLE_DEFAULT_
603#endif // DECODE_PIONEER
604#ifndef SEND_PIONEER
605#define SEND_PIONEER _IR_ENABLE_DEFAULT_
606#endif // SEND_PIONEER
607
608#ifndef DECODE_DAIKIN2
609#define DECODE_DAIKIN2 _IR_ENABLE_DEFAULT_
610#endif // DECODE_DAIKIN2
611#ifndef SEND_DAIKIN2
612#define SEND_DAIKIN2 _IR_ENABLE_DEFAULT_
613#endif // SEND_DAIKIN2
614
615#ifndef DECODE_VESTEL_AC
616#define DECODE_VESTEL_AC _IR_ENABLE_DEFAULT_
617#endif // DECODE_VESTEL_AC
618#ifndef SEND_VESTEL_AC
619#define SEND_VESTEL_AC _IR_ENABLE_DEFAULT_
620#endif // SEND_VESTEL_AC
621
622#ifndef DECODE_TECO
623#define DECODE_TECO _IR_ENABLE_DEFAULT_
624#endif // DECODE_TECO
625#ifndef SEND_TECO
626#define SEND_TECO _IR_ENABLE_DEFAULT_
627#endif // SEND_TECO
628
629#ifndef DECODE_TCL96AC
630#define DECODE_TCL96AC _IR_ENABLE_DEFAULT_
631#endif // DECODE_TCL96AC
632#ifndef SEND_TCL96AC
633#define SEND_TCL96AC _IR_ENABLE_DEFAULT_
634#endif // SEND_TCL96AC
635
636#ifndef DECODE_TCL112AC
637#define DECODE_TCL112AC _IR_ENABLE_DEFAULT_
638#endif // DECODE_TCL112AC
639#ifndef SEND_TCL112AC
640#define SEND_TCL112AC _IR_ENABLE_DEFAULT_
641#endif // SEND_TCL112AC
642
643#ifndef DECODE_LEGOPF
644#define DECODE_LEGOPF _IR_ENABLE_DEFAULT_
645#endif // DECODE_LEGOPF
646#ifndef SEND_LEGOPF
647#define SEND_LEGOPF _IR_ENABLE_DEFAULT_
648#endif // SEND_LEGOPF
649
650#ifndef DECODE_MITSUBISHIHEAVY
651#define DECODE_MITSUBISHIHEAVY _IR_ENABLE_DEFAULT_
652#endif // DECODE_MITSUBISHIHEAVY
653#ifndef SEND_MITSUBISHIHEAVY
654#define SEND_MITSUBISHIHEAVY _IR_ENABLE_DEFAULT_
655#endif // SEND_MITSUBISHIHEAVY
656
657#ifndef DECODE_DAIKIN216
658#define DECODE_DAIKIN216 _IR_ENABLE_DEFAULT_
659#endif // DECODE_DAIKIN216
660#ifndef SEND_DAIKIN216
661#define SEND_DAIKIN216 _IR_ENABLE_DEFAULT_
662#endif // SEND_DAIKIN216
663
664#ifndef DECODE_DAIKIN160
665#define DECODE_DAIKIN160 _IR_ENABLE_DEFAULT_
666#endif // DECODE_DAIKIN160
667#ifndef SEND_DAIKIN160
668#define SEND_DAIKIN160 _IR_ENABLE_DEFAULT_
669#endif // SEND_DAIKIN160
670
671#ifndef DECODE_NEOCLIMA
672#define DECODE_NEOCLIMA _IR_ENABLE_DEFAULT_
673#endif // DECODE_NEOCLIMA
674#ifndef SEND_NEOCLIMA
675#define SEND_NEOCLIMA _IR_ENABLE_DEFAULT_
676#endif // SEND_NEOCLIMA
677
678#ifndef DECODE_DAIKIN176
679#define DECODE_DAIKIN176 _IR_ENABLE_DEFAULT_
680#endif // DECODE_DAIKIN176
681#ifndef SEND_DAIKIN176
682#define SEND_DAIKIN176 _IR_ENABLE_DEFAULT_
683#endif // SEND_DAIKIN176
684
685#ifndef DECODE_DAIKIN128
686#define DECODE_DAIKIN128 _IR_ENABLE_DEFAULT_
687#endif // DECODE_DAIKIN128
688#ifndef SEND_DAIKIN128
689#define SEND_DAIKIN128 _IR_ENABLE_DEFAULT_
690#endif // SEND_DAIKIN128
691
692#ifndef DECODE_AMCOR
693#define DECODE_AMCOR _IR_ENABLE_DEFAULT_
694#endif // DECODE_AMCOR
695#ifndef SEND_AMCOR
696#define SEND_AMCOR _IR_ENABLE_DEFAULT_
697#endif // SEND_AMCOR
698
699#ifndef DECODE_DAIKIN152
700#define DECODE_DAIKIN152 _IR_ENABLE_DEFAULT_
701#endif // DECODE_DAIKIN152
702#ifndef SEND_DAIKIN152
703#define SEND_DAIKIN152 _IR_ENABLE_DEFAULT_
704#endif // SEND_DAIKIN152
705
706#ifndef DECODE_EPSON
707#define DECODE_EPSON _IR_ENABLE_DEFAULT_
708#endif // DECODE_EPSON
709#ifndef SEND_EPSON
710#define SEND_EPSON _IR_ENABLE_DEFAULT_
711#endif // SEND_EPSON
712
713#ifndef DECODE_SYMPHONY
714#define DECODE_SYMPHONY _IR_ENABLE_DEFAULT_
715#endif // DECODE_SYMPHONY
716#ifndef SEND_SYMPHONY
717#define SEND_SYMPHONY _IR_ENABLE_DEFAULT_
718#endif // SEND_SYMPHONY
719
720#ifndef DECODE_DAIKIN64
721#define DECODE_DAIKIN64 _IR_ENABLE_DEFAULT_
722#endif // DECODE_DAIKIN64
723#ifndef SEND_DAIKIN64
724#define SEND_DAIKIN64 _IR_ENABLE_DEFAULT_
725#endif // SEND_DAIKIN64
726
727#ifndef DECODE_AIRWELL
728#define DECODE_AIRWELL _IR_ENABLE_DEFAULT_
729#endif // DECODE_AIRWELL
730#ifndef SEND_AIRWELL
731#define SEND_AIRWELL _IR_ENABLE_DEFAULT_
732#endif // SEND_AIRWELL
733
734#ifndef DECODE_DELONGHI_AC
735#define DECODE_DELONGHI_AC _IR_ENABLE_DEFAULT_
736#endif // DECODE_DELONGHI_AC
737#ifndef SEND_DELONGHI_AC
738#define SEND_DELONGHI_AC _IR_ENABLE_DEFAULT_
739#endif // SEND_DELONGHI_AC
740
741#ifndef DECODE_DOSHISHA
742#define DECODE_DOSHISHA _IR_ENABLE_DEFAULT_
743#endif // DECODE_DOSHISHA
744#ifndef SEND_DOSHISHA
745#define SEND_DOSHISHA _IR_ENABLE_DEFAULT_
746#endif // SEND_DOSHISHA
747
748#ifndef DECODE_MULTIBRACKETS
749#define DECODE_MULTIBRACKETS _IR_ENABLE_DEFAULT_
750#endif // DECODE_MULTIBRACKETS
751#ifndef SEND_MULTIBRACKETS
752#define SEND_MULTIBRACKETS _IR_ENABLE_DEFAULT_
753#endif // SEND_MULTIBRACKETS
754
755#ifndef DECODE_TECHNIBEL_AC
756#define DECODE_TECHNIBEL_AC _IR_ENABLE_DEFAULT_
757#endif // DECODE_TECHNIBEL_AC
758#ifndef SEND_TECHNIBEL_AC
759#define SEND_TECHNIBEL_AC _IR_ENABLE_DEFAULT_
760#endif // SEND_TECHNIBEL_AC
761
762#ifndef DECODE_CORONA_AC
763#define DECODE_CORONA_AC _IR_ENABLE_DEFAULT_
764#endif // DECODE_CORONA_AC
765#ifndef SEND_CORONA_AC
766#define SEND_CORONA_AC _IR_ENABLE_DEFAULT_
767#endif // SEND_CORONA_AC
768
769#ifndef DECODE_ZEPEAL
770#define DECODE_ZEPEAL _IR_ENABLE_DEFAULT_
771#endif // DECODE_ZEPEAL
772#ifndef SEND_ZEPEAL
773#define SEND_ZEPEAL _IR_ENABLE_DEFAULT_
774#endif // SEND_ZEPEAL
775
776#ifndef DECODE_VOLTAS
777#define DECODE_VOLTAS _IR_ENABLE_DEFAULT_
778#endif // DECODE_VOLTAS
779#ifndef SEND_VOLTAS
780#define SEND_VOLTAS _IR_ENABLE_DEFAULT_
781#endif // SEND_VOLTAS
782
783#ifndef DECODE_METZ
784#define DECODE_METZ _IR_ENABLE_DEFAULT_
785#endif // DECODE_METZ
786#ifndef SEND_METZ
787#define SEND_METZ _IR_ENABLE_DEFAULT_
788#endif // SEND_METZ
789
790#ifndef DECODE_TRANSCOLD
791#define DECODE_TRANSCOLD _IR_ENABLE_DEFAULT_
792#endif // DECODE_TRANSCOLD
793#ifndef SEND_TRANSCOLD
794#define SEND_TRANSCOLD _IR_ENABLE_DEFAULT_
795#endif // SEND_TRANSCOLD
796
797#ifndef DECODE_MIRAGE
798#define DECODE_MIRAGE _IR_ENABLE_DEFAULT_
799#endif // DECODE_MIRAGE
800#ifndef SEND_MIRAGE
801#define SEND_MIRAGE _IR_ENABLE_DEFAULT_
802#endif // SEND_MIRAGE
803
804#ifndef DECODE_ELITESCREENS
805#define DECODE_ELITESCREENS _IR_ENABLE_DEFAULT_
806#endif // DECODE_ELITESCREENS
807#ifndef SEND_ELITESCREENS
808#define SEND_ELITESCREENS _IR_ENABLE_DEFAULT_
809#endif // SEND_ELITESCREENS
810
811#ifndef DECODE_MILESTAG2
812#define DECODE_MILESTAG2 _IR_ENABLE_DEFAULT_
813#endif // DECODE_MILESTAG2
814#ifndef SEND_MILESTAG2
815#define SEND_MILESTAG2 _IR_ENABLE_DEFAULT_
816#endif // SEND_MILESTAG2
817
818#ifndef DECODE_ECOCLIM
819#define DECODE_ECOCLIM _IR_ENABLE_DEFAULT_
820#endif // DECODE_ECOCLIM
821#ifndef SEND_ECOCLIM
822#define SEND_ECOCLIM _IR_ENABLE_DEFAULT_
823#endif // SEND_ECOCLIM
824
825#ifndef DECODE_XMP
826#define DECODE_XMP _IR_ENABLE_DEFAULT_
827#endif // DECODE_XMP
828#ifndef SEND_XMP
829#define SEND_XMP _IR_ENABLE_DEFAULT_
830#endif // SEND_XMP
831
832#ifndef DECODE_TRUMA
833#define DECODE_TRUMA _IR_ENABLE_DEFAULT_
834#endif // DECODE_TRUMA
835#ifndef SEND_TRUMA
836#define SEND_TRUMA _IR_ENABLE_DEFAULT_
837#endif // SEND_TRUMA
838
839#ifndef DECODE_HAIER_AC176
840#define DECODE_HAIER_AC176 _IR_ENABLE_DEFAULT_
841#endif // DECODE_HAIER_AC176
842#ifndef SEND_HAIER_AC176
843#define SEND_HAIER_AC176 _IR_ENABLE_DEFAULT_
844#endif // SEND_HAIER_AC176
845
846#ifndef DECODE_TEKNOPOINT
847#define DECODE_TEKNOPOINT _IR_ENABLE_DEFAULT_
848#endif // DECODE_TEKNOPOINT
849#ifndef SEND_TEKNOPOINT
850#define SEND_TEKNOPOINT _IR_ENABLE_DEFAULT_
851#endif // SEND_TEKNOPOINT
852
853#ifndef DECODE_KELON
854#define DECODE_KELON _IR_ENABLE_DEFAULT_
855#endif // DECODE_KELON
856#ifndef SEND_KELON
857#define SEND_KELON _IR_ENABLE_DEFAULT_
858#endif // SEND_KELON
859
860#ifndef DECODE_BOSE
861#define DECODE_BOSE _IR_ENABLE_DEFAULT_
862#endif // DECODE_BOSE
863#ifndef SEND_BOSE
864#define SEND_BOSE _IR_ENABLE_DEFAULT_
865#endif // SEND_BOSE
866
867#ifndef DECODE_ARRIS
868#define DECODE_ARRIS _IR_ENABLE_DEFAULT_
869#endif // DECODE_ARRIS
870#ifndef SEND_ARRIS
871#define SEND_ARRIS _IR_ENABLE_DEFAULT_
872#endif // SEND_ARRIS
873
874#ifndef DECODE_RHOSS
875#define DECODE_RHOSS _IR_ENABLE_DEFAULT_
876#endif // DECODE_RHOSS
877#ifndef SEND_RHOSS
878#define SEND_RHOSS _IR_ENABLE_DEFAULT_
879#endif // SEND_RHOSS
880
881#ifndef DECODE_AIRTON
882#define DECODE_AIRTON _IR_ENABLE_DEFAULT_
883#endif // DECODE_AIRTON
884#ifndef SEND_AIRTON
885#define SEND_AIRTON _IR_ENABLE_DEFAULT_
886#endif // SEND_AIRTON
887
888#ifndef DECODE_KELON168
889#define DECODE_KELON168 _IR_ENABLE_DEFAULT_
890#endif // DECODE_KELON168
891#ifndef SEND_KELON168
892#define SEND_KELON168 _IR_ENABLE_DEFAULT_
893#endif // SEND_KELON168
894
895#ifndef DECODE_DAIKIN200
896#define DECODE_DAIKIN200 _IR_ENABLE_DEFAULT_
897#endif // DECODE_DAIKIN200
898#ifndef SEND_DAIKIN200
899#define SEND_DAIKIN200 _IR_ENABLE_DEFAULT_
900#endif // SEND_DAIKIN200
901
902#ifndef DECODE_HAIER_AC160
903#define DECODE_HAIER_AC160 _IR_ENABLE_DEFAULT_
904#endif // DECODE_HAIER_AC160
905#ifndef SEND_HAIER_AC160
906#define SEND_HAIER_AC160 _IR_ENABLE_DEFAULT_
907#endif // SEND_HAIER_AC160
908
909#ifndef DECODE_TOTO
910#define DECODE_TOTO _IR_ENABLE_DEFAULT_
911#endif // DECODE_TOTO
912#ifndef SEND_TOTO
913#define SEND_TOTO _IR_ENABLE_DEFAULT_
914#endif // SEND_TOTO
915
916#ifndef DECODE_CLIMABUTLER
917#define DECODE_CLIMABUTLER _IR_ENABLE_DEFAULT_
918#endif // DECODE_CLIMABUTLER
919#ifndef SEND_CLIMABUTLER
920#define SEND_CLIMABUTLER _IR_ENABLE_DEFAULT_
921#endif // SEND_CLIMABUTLER
922
923#ifndef DECODE_BOSCH144
924#define DECODE_BOSCH144 _IR_ENABLE_DEFAULT_
925#endif // DECODE_BOSCH144
926#ifndef SEND_BOSCH144
927#define SEND_BOSCH144 _IR_ENABLE_DEFAULT_
928#endif // SEND_BOSCH144
929
930#ifndef DECODE_DAIKIN312
931#define DECODE_DAIKIN312 _IR_ENABLE_DEFAULT_
932#endif // DECODE_DAIKIN312
933#ifndef SEND_DAIKIN312
934#define SEND_DAIKIN312 _IR_ENABLE_DEFAULT_
935#endif // SEND_DAIKIN312
936
937#ifndef DECODE_GORENJE
938#define DECODE_GORENJE _IR_ENABLE_DEFAULT_
939#endif // DECODE_GORENJE
940#ifndef SEND_GORENJE
941#define SEND_GORENJE _IR_ENABLE_DEFAULT_
942#endif // SEND_GORENJE
943
944#ifndef DECODE_WOWWEE
945#define DECODE_WOWWEE _IR_ENABLE_DEFAULT_
946#endif // DECODE_WOWWEE
947#ifndef SEND_WOWWEE
948#define SEND_WOWWEE _IR_ENABLE_DEFAULT_
949#endif // SEND_WOWWEE
950
951#ifndef DECODE_CARRIER_AC84
952#define DECODE_CARRIER_AC84 _IR_ENABLE_DEFAULT_
953#endif // DECODE_CARRIER_AC84
954#ifndef SEND_CARRIER_AC84
955#define SEND_CARRIER_AC84 _IR_ENABLE_DEFAULT_
956#endif // SEND_CARRIER_AC84
957
958#ifndef DECODE_YORK
959#define DECODE_YORK _IR_ENABLE_DEFAULT_
960#endif // DECODE_YORK
961#ifndef SEND_YORK
962#define SEND_YORK _IR_ENABLE_DEFAULT_
963#endif // SEND_YORK
964
965#ifndef DECODE_BLUESTARHEAVY
966#define DECODE_BLUESTARHEAVY _IR_ENABLE_DEFAULT_
967#endif // DECODE_BLUESTARHEAVY
968#ifndef SEND_BLUESTARHEAVY
969#define SEND_BLUESTARHEAVY _IR_ENABLE_DEFAULT_
970#endif // SEND_BLUESTARHEAVY
971
972#ifndef DECODE_EUROM
973#define DECODE_EUROM _IR_ENABLE_DEFAULT_
974#endif // DECODE_EUROM
975#ifndef SEND_EUROM
976#define SEND_EUROM _IR_ENABLE_DEFAULT_
977#endif // SEND_EUROM
978
979#if (DECODE_ARGO || DECODE_DAIKIN || DECODE_FUJITSU_AC || DECODE_GREE || \
980 DECODE_KELVINATOR || DECODE_MITSUBISHI_AC || DECODE_TOSHIBA_AC || \
981 DECODE_TROTEC || DECODE_HAIER_AC || DECODE_HITACHI_AC || \
982 DECODE_HITACHI_AC1 || DECODE_HITACHI_AC2 || DECODE_HAIER_AC_YRW02 || \
983 DECODE_WHIRLPOOL_AC || DECODE_SAMSUNG_AC || DECODE_ELECTRA_AC || \
984 DECODE_PANASONIC_AC || DECODE_MWM || DECODE_DAIKIN2 || \
985 DECODE_VESTEL_AC || DECODE_TCL112AC || DECODE_MITSUBISHIHEAVY || \
986 DECODE_DAIKIN216 || DECODE_SHARP_AC || DECODE_DAIKIN160 || \
987 DECODE_NEOCLIMA || DECODE_DAIKIN176 || DECODE_DAIKIN128 || \
988 DECODE_AMCOR || DECODE_DAIKIN152 || DECODE_MITSUBISHI136 || \
989 DECODE_MITSUBISHI112 || DECODE_HITACHI_AC424 || DECODE_HITACHI_AC3 || \
990 DECODE_HITACHI_AC344 || DECODE_CORONA_AC || DECODE_SANYO_AC || \
991 DECODE_VOLTAS || DECODE_MIRAGE || DECODE_HAIER_AC176 || \
992 DECODE_TEKNOPOINT || DECODE_KELON || DECODE_TROTEC_3550 || \
993 DECODE_SANYO_AC88 || DECODE_RHOSS || DECODE_HITACHI_AC264 || \
994 DECODE_KELON168 || DECODE_HITACHI_AC296 || DECODE_CARRIER_AC128 || \
995 DECODE_DAIKIN200 || DECODE_HAIER_AC160 || DECODE_TCL96AC || \
996 DECODE_BOSCH144 || DECODE_SANYO_AC152 || DECODE_DAIKIN312 || \
997 DECODE_CARRIER_AC84 || DECODE_YORK || DECODE_BLUESTARHEAVY || \
998 DECODE_EUROM || \
999 false)
1000 // Add any DECODE to the above if it uses result->state (see kStateSizeMax)
1001 // you might also want to add the protocol to hasACState function
1002#define DECODE_AC true // We need some common infrastructure for decoding A/Cs.
1003#else
1004#define DECODE_AC false // We don't need that infrastructure.
1005#endif
1006
1007// Use millisecond 'delay()' calls where we can to avoid tripping the WDT.
1008// Note: If you plan to send IR messages in the callbacks of the AsyncWebserver
1009// library, you need to set ALLOW_DELAY_CALLS to false.
1010// Ref: https://github.com/crankyoldgit/IRremoteESP8266/issues/430
1011#ifndef ALLOW_DELAY_CALLS
1012#define ALLOW_DELAY_CALLS true
1013#endif // ALLOW_DELAY_CALLS
1014
1015// Enable a run-time settable high-pass filter on captured data **before**
1016// trying any protocol decoding.
1017// i.e. Try to remove/merge any really short pulses detected in the raw data.
1018// Note: Even when this option is enabled, it is _off_ by default, and requires
1019// a user who knows what they are doing to enable it.
1020// The option to disable this feature is here if your project is _really_
1021// tight on resources. i.e. Saves a small handful of bytes and cpu time.
1022// WARNING: If you use this feature at runtime, you can no longer trust the
1023// **raw** data captured. It will now have been slightly **cooked**!
1024// DANGER: If you set the `noise_floor` value too high, it **WILL** break
1025// decoding of some protocols. You have been warned. Here Be Dragons!
1026//
1027// See: `irrecv::decode()` in IRrecv.cpp for more info.
1028#ifndef ENABLE_NOISE_FILTER_OPTION
1029#define ENABLE_NOISE_FILTER_OPTION true
1030#endif // ENABLE_NOISE_FILTER_OPTION
1031
1048 LG, // (10)
1053 COOLIX, // (15)
1063 PRONTO, // Technically not a protocol, but an encoding. (25)
1068 RAW, // Technically not a protocol, but an encoding. (30)
1069 GLOBALCACHE, // Technically not a protocol, but an encoding.
1073 MAGIQUEST, // (35)
1078 HITACHI_AC, // (40)
1088 PIONEER, // (50)
1093 TECO, // (55)
1113 EPSON, // 75
1128 VOLTAS, // 90
1138 TRUMA, // 100
1148 COOLIX48, // 110
1158 BOSCH144, // 120
1167 // Add new entries before this one, and update it to point to the last entry.
1169};
1170
1171// Message lengths & required repeat values
1172const uint16_t kNoRepeat = 0;
1173const uint16_t kSingleRepeat = 1;
1174
1175const uint16_t kAirtonBits = 56;
1177const uint16_t kAirwellBits = 34;
1178const uint16_t kAirwellMinRepeats = 2;
1179const uint16_t kAiwaRcT501Bits = 15;
1181const uint16_t kAlokaBits = 32;
1182const uint16_t kAmcorStateLength = 8;
1183const uint16_t kAmcorBits = kAmcorStateLength * 8;
1185const uint16_t kArgoStateLength = 12;
1186const uint16_t kArgoShortStateLength = 4;
1187const uint16_t kArgoBits = kArgoStateLength * 8;
1189const uint16_t kArgo3AcControlStateLength = 6; // Bytes
1190const uint16_t kArgo3iFeelReportStateLength = 2; // Bytes
1191const uint16_t kArgo3TimerStateLength = 9; // Bytes
1192const uint16_t kArgo3ConfigStateLength = 4; // Bytes
1194const uint16_t kArrisBits = 32;
1195const uint16_t kBluestarHeavyStateLength = 13;
1197const uint16_t kBosch144StateLength = 18;
1199const uint16_t kCoolixBits = 24;
1200const uint16_t kCoolix48Bits = kCoolixBits * 2;
1202const uint16_t kCarrierAcBits = 32;
1204const uint16_t kCarrierAc40Bits = 40;
1205const uint16_t kCarrierAc40MinRepeat = 2;
1206const uint16_t kCarrierAc64Bits = 64;
1208const uint16_t kCarrierAc84StateLength = 11;
1211const uint16_t kCarrierAc128StateLength = 16;
1214const uint16_t kCoronaAcStateLengthShort = 7;
1218const uint16_t kDaikinStateLength = 35;
1219const uint16_t kDaikinBits = kDaikinStateLength * 8;
1223const uint16_t kDaikin2StateLength = 39;
1226const uint16_t kDaikin64Bits = 64;
1228const uint16_t kDaikin160StateLength = 20;
1231const uint16_t kDaikin128StateLength = 16;
1234const uint16_t kDaikin152StateLength = 19;
1237const uint16_t kDaikin176StateLength = 22;
1240const uint16_t kDaikin200StateLength = 25;
1243const uint16_t kDaikin216StateLength = 27;
1246const uint16_t kDaikin312StateLength = 39;
1249const uint16_t kDelonghiAcBits = 64;
1251const uint16_t kTechnibelAcBits = 56;
1253const uint16_t kDenonBits = 15;
1254const uint16_t kDenon48Bits = 48;
1255const uint16_t kDenonLegacyBits = 14;
1256const uint16_t kDishBits = 16;
1257const uint16_t kDishMinRepeat = 3;
1258const uint16_t kDoshishaBits = 40;
1259const uint16_t kEcoclimBits = 56;
1260const uint16_t kEcoclimShortBits = 15;
1261const uint16_t kEpsonBits = 32;
1262const uint16_t kEpsonMinRepeat = 2;
1263const uint16_t kElectraAcStateLength = 13;
1266const uint16_t kEliteScreensBits = 32;
1269const uint16_t kFujitsuAcStateLength = 16;
1273const uint16_t kGicableBits = 16;
1275const uint16_t kGoodweatherBits = 48;
1277const uint16_t kGorenjeBits = 8;
1278const uint16_t kGreeStateLength = 8;
1279const uint16_t kGreeBits = kGreeStateLength * 8;
1281const uint16_t kHaierACStateLength = 9;
1284const uint16_t kHaierACYRW02StateLength = 14;
1287const uint16_t kHaierAC160StateLength = 20;
1290const uint16_t kHaierAC176StateLength = 22;
1293const uint16_t kHitachiAcStateLength = 28;
1296const uint16_t kHitachiAc1StateLength = 13;
1298const uint16_t kHitachiAc2StateLength = 53;
1300const uint16_t kHitachiAc3StateLength = 27;
1302const uint16_t kHitachiAc3MinStateLength = 15;
1304const uint16_t kHitachiAc264StateLength = 33;
1306const uint16_t kHitachiAc296StateLength = 37;
1308const uint16_t kHitachiAc344StateLength = 43;
1310const uint16_t kHitachiAc424StateLength = 53;
1312const uint16_t kInaxBits = 24;
1314const uint16_t kJvcBits = 16;
1315const uint16_t kKelonBits = 48;
1316const uint16_t kKelon168StateLength = 21;
1319const uint16_t kKelvinatorStateLength = 16;
1322const uint16_t kLasertagBits = 13;
1324const uint16_t kLegoPfBits = 16;
1326const uint16_t kLgBits = 28;
1327const uint16_t kLg32Bits = 32;
1329const uint16_t kLutronBits = 35;
1330const uint16_t kMagiquestBits = 56;
1331const uint16_t kMetzBits = 19;
1332const uint16_t kMetzMinRepeat = kNoRepeat;
1333const uint16_t kMideaBits = 48;
1335const uint16_t kMidea24Bits = 24;
1337const uint16_t kMirageStateLength = 15;
1338const uint16_t kMirageBits = kMirageStateLength * 8;
1340const uint16_t kMitsubishiBits = 16;
1341// TODO(anyone): Verify that the Mitsubishi repeat is really needed.
1342// Based on marcosamarinho's code.
1344const uint16_t kMitsubishiACStateLength = 18;
1347const uint16_t kMitsubishi136StateLength = 17;
1350const uint16_t kMitsubishi112StateLength = 14;
1359const uint16_t kMultibracketsBits = 8;
1361const uint16_t kNikaiBits = 24;
1362const uint16_t kNECBits = 32;
1363const uint16_t kNeoclimaStateLength = 12;
1366const uint16_t kPanasonicBits = 48;
1367const uint32_t kPanasonicManufacturer = 0x4004;
1368const uint32_t kPanasonic40Manufacturer = 0x34;
1369const uint16_t kPanasonic40Bits = 40;
1370const uint16_t kPanasonicAcStateLength = 27;
1375const uint16_t kPanasonicAc32Bits = 32;
1376const uint16_t kPioneerBits = 64;
1377const uint16_t kProntoMinLength = 6;
1378const uint16_t kRC5RawBits = 14;
1379const uint16_t kRC5Bits = kRC5RawBits - 2;
1380const uint16_t kRC5XBits = kRC5RawBits - 1;
1381const uint16_t kRC6Mode0Bits = 20; // Excludes the 'start' bit.
1382const uint16_t kRC6_36Bits = 36; // Excludes the 'start' bit.
1383const uint16_t kRCMMBits = 24;
1384const uint16_t kSamsungBits = 32;
1385const uint16_t kSamsung36Bits = 36;
1386const uint16_t kSamsungAcStateLength = 14;
1391const uint16_t kSanyoAcStateLength = 9;
1393const uint16_t kSanyoAc88StateLength = 11;
1395const uint16_t kSanyoAc88MinRepeat = 2;
1396const uint16_t kSanyoAc152StateLength = 19;
1399const uint16_t kSanyoSA8650BBits = 12;
1400const uint16_t kSanyoLC7461AddressBits = 13;
1401const uint16_t kSanyoLC7461CommandBits = 8;
1404const uint8_t kSharpAddressBits = 5;
1405const uint8_t kSharpCommandBits = 8;
1407const uint16_t kSharpAcStateLength = 13;
1408const uint16_t kSharpAcBits = kSharpAcStateLength * 8; // 104
1410const uint8_t kSherwoodBits = kNECBits;
1412const uint16_t kSony12Bits = 12;
1413const uint16_t kSony15Bits = 15;
1414const uint16_t kSony20Bits = 20;
1415const uint16_t kSonyMinBits = 12;
1416const uint16_t kSonyMinRepeat = 2;
1417const uint16_t kSymphonyBits = 12;
1418const uint16_t kSymphonyDefaultRepeat = 3;
1419const uint16_t kTcl96AcStateLength = 12;
1422const uint16_t kTcl112AcStateLength = 14;
1425const uint16_t kTecoBits = 35;
1427const uint16_t kTeknopointStateLength = 14;
1429const uint16_t kToshibaACStateLength = 9;
1436const uint16_t kTotoBits = 24;
1437const uint16_t kTotoShortBits = kTotoBits;
1438const uint16_t kTotoLongBits = kTotoShortBits * 2;
1440const uint16_t kTranscoldBits = 24;
1442const uint16_t kTrotecStateLength = 9;
1443const uint16_t kTrotecBits = kTrotecStateLength * 8;
1445const uint16_t kTrumaBits = 56;
1446const uint16_t kWhirlpoolAcStateLength = 21;
1449const uint16_t kWhynterBits = 32;
1450const uint16_t kWowweeBits = 11;
1452const uint8_t kVestelAcBits = 56;
1453const uint16_t kXmpBits = 64;
1454const uint16_t kZepealBits = 16;
1455const uint16_t kZepealMinRepeat = 4;
1456const uint16_t kVoltasBits = 80;
1457const uint16_t kVoltasStateLength = 10;
1458const uint16_t kMilesTag2ShotBits = 14;
1459const uint16_t kMilesTag2MsgBits = 24;
1460const uint16_t kMilesMinRepeat = 0;
1461const uint16_t kBoseBits = 16;
1462const uint16_t kRhossStateLength = 12;
1463const uint16_t kRhossBits = kRhossStateLength * 8;
1464const uint16_t kRhossDefaultRepeat = 0;
1465const uint16_t kClimaButlerBits = 52;
1466const uint16_t kYorkBits = 136;
1467const uint16_t kYorkStateLength = 17;
1468const uint16_t kEuromStateLength = 12;
1469const uint16_t kEuromBits = kEuromStateLength * 8;
1470
1471// Legacy defines. (Deprecated)
1472#define AIWA_RC_T501_BITS kAiwaRcT501Bits
1473#define ARGO_COMMAND_LENGTH kArgoStateLength
1474#define COOLIX_BITS kCoolixBits
1475#define CARRIER_AC_BITS kCarrierAcBits
1476#define DAIKIN_COMMAND_LENGTH kDaikinStateLength
1477#define DENON_BITS kDenonBits
1478#define DENON_48_BITS kDenon48Bits
1479#define DENON_LEGACY_BITS kDenonLegacyBits
1480#define DISH_BITS kDishBits
1481#define FUJITSU_AC_MIN_REPEAT kFujitsuAcMinRepeat
1482#define FUJITSU_AC_STATE_LENGTH kFujitsuAcStateLength
1483#define FUJITSU_AC_STATE_LENGTH_SHORT kFujitsuAcStateLengthShort
1484#define FUJITSU_AC_BITS kFujitsuAcBits
1485#define FUJITSU_AC_MIN_BITS kFujitsuAcMinBits
1486#define GICABLE_BITS kGicableBits
1487#define GREE_STATE_LENGTH kGreeStateLength
1488#define HAIER_AC_STATE_LENGTH kHaierACStateLength
1489#define HAIER_AC_YRW02_STATE_LENGTH kHaierACYRW02StateLength
1490#define HITACHI_AC_STATE_LENGTH kHitachiAcStateLength
1491#define HITACHI_AC_BITS kHitachiAcBits
1492#define HITACHI_AC1_STATE_LENGTH kHitachiAc1StateLength
1493#define HITACHI_AC1_BITS kHitachiAc1Bits
1494#define HITACHI_AC2_STATE_LENGTH kHitachiAc2StateLength
1495#define HITACHI_AC2_BITS kHitachiAc2Bits
1496#define HITACHI_AC296_STATE_LENGTH kHitachiAc296StateLength
1497#define HITACHI_AC296_BITS kHitachiAc296Bits
1498#define JVC_BITS kJvcBits
1499#define KELVINATOR_STATE_LENGTH kKelvinatorStateLength
1500#define LASERTAG_BITS kLasertagBits
1501#define LG_BITS kLgBits
1502#define LG32_BITS kLg32Bits
1503#define MAGIQUEST_BITS kMagiquestBits
1504#define MIDEA_BITS kMideaBits
1505#define MITSUBISHI_BITS kMitsubishiBits
1506#define MITSUBISHI_AC_STATE_LENGTH kMitsubishiACStateLength
1507#define NEC_BITS kNECBits
1508#define NIKAI_BITS kNikaiBits
1509#define PANASONIC_BITS kPanasonicBits
1510#define RC5_BITS kRC5Bits
1511#define RC5X_BITS kRC5XBits
1512#define RC6_MODE0_BITS kRC6Mode0Bits
1513#define RC6_36_BITS kRC6_36Bits
1514#define RCMM_BITS kRCMMBits
1515#define SANYO_LC7461_BITS kSanyoLC7461Bits
1516#define SAMSUNG_BITS kSamsungBits
1517#define SANYO_SA8650B_BITS kSanyoSA8650BBits
1518#define SHARP_BITS kSharpBits
1519#define SHERWOOD_BITS kSherwoodBits
1520#define SONY_12_BITS kSony12Bits
1521#define SONY_15_BITS kSony15Bits
1522#define SONY_20_BITS kSony20Bits
1523#define TOSHIBA_AC_STATE_LENGTH kToshibaACStateLength
1524#define TROTEC_COMMAND_LENGTH kTrotecStateLength
1525#define WHYNTER_BITS kWhynterBits
1526
1527// Turn on Debugging information by uncommenting the following line.
1528// #define DEBUG 1
1529
1530#ifdef DEBUG
1531#ifdef UNIT_TEST
1532#define DPRINT(x) do { \
1533 std::cout << x; \
1534 } \
1535 while (0)
1536#define DPRINTLN(x) do { \
1537 std::cout << x << std::endl; \
1538 } \
1539 while (0)
1540#endif // UNIT_TEST
1541#ifdef ARDUINO
1542#define DPRINT(x) do { \
1543 Serial.print(x); \
1544 } \
1545 while (0)
1546#define DPRINTLN(x) do { \
1547 Serial.println(x); \
1548 } \
1549 while (0)
1550#endif // ARDUINO
1551#else // DEBUG
1552#define DPRINT(x)
1553#define DPRINTLN(x)
1554#endif // DEBUG
1555
1556#ifdef UNIT_TEST
1557#ifndef F
1558// Create a no-op F() macro so the code base still compiles outside of the
1559// Arduino framework. Thus we can safely use the Arduino 'F()' macro through-out
1560// the code base. That macro stores constants in Flash (PROGMEM) memory.
1561// See: https://github.com/crankyoldgit/IRremoteESP8266/issues/667
1562#define F(x) x
1563#endif // F
1564typedef std::string String;
1565#endif // UNIT_TEST
1566
1567#endif // IRREMOTEESP8266_H_
const uint16_t kMitsubishi136StateLength
Definition IRremoteESP8266.h:1347
const uint16_t kDaikin176DefaultRepeat
Definition IRremoteESP8266.h:1239
const uint16_t kFujitsuAcMinBits
Definition IRremoteESP8266.h:1272
const uint16_t kMetzMinRepeat
Definition IRremoteESP8266.h:1332
const uint16_t kTecoDefaultRepeat
Definition IRremoteESP8266.h:1426
const uint16_t kDaikin160StateLength
Definition IRremoteESP8266.h:1228
const uint16_t kMilesTag2MsgBits
Definition IRremoteESP8266.h:1459
const uint16_t kPanasonicAcStateShortLength
Definition IRremoteESP8266.h:1371
const uint16_t kTechnibelAcBits
Definition IRremoteESP8266.h:1251
const uint16_t kTechnibelAcDefaultRepeat
Definition IRremoteESP8266.h:1252
const uint16_t kWhirlpoolAcStateLength
Definition IRremoteESP8266.h:1446
const uint16_t kSanyoAc152MinRepeat
Definition IRremoteESP8266.h:1398
const uint16_t kEliteScreensBits
Definition IRremoteESP8266.h:1266
const uint16_t kHitachiAc2StateLength
Definition IRremoteESP8266.h:1298
const uint16_t kKelon168DefaultRepeat
Definition IRremoteESP8266.h:1318
const uint16_t kSonyMinRepeat
Definition IRremoteESP8266.h:1416
const uint16_t kCoronaAcBitsShort
Definition IRremoteESP8266.h:1216
const uint16_t kWhirlpoolAcBits
Definition IRremoteESP8266.h:1447
const uint16_t kNeoclimaMinRepeat
Definition IRremoteESP8266.h:1365
const uint16_t kToshibaACBits
Definition IRremoteESP8266.h:1430
const uint16_t kTranscoldDefaultRepeat
Definition IRremoteESP8266.h:1441
const uint16_t kNoRepeat
Definition IRremoteESP8266.h:1172
const uint16_t kWowweeBits
Definition IRremoteESP8266.h:1450
const uint16_t kAirtonDefaultRepeat
Definition IRremoteESP8266.h:1176
const uint16_t kWowweeDefaultRepeat
Definition IRremoteESP8266.h:1451
const uint16_t kCarrierAc84MinRepeat
Definition IRremoteESP8266.h:1210
const uint32_t kPanasonicManufacturer
Definition IRremoteESP8266.h:1367
const uint16_t kEuromStateLength
Definition IRremoteESP8266.h:1468
const uint16_t kHitachiAc344Bits
Definition IRremoteESP8266.h:1309
const uint16_t kPanasonicAcBits
Definition IRremoteESP8266.h:1372
const uint16_t kHitachiAc344StateLength
Definition IRremoteESP8266.h:1308
const uint16_t kSymphonyDefaultRepeat
Definition IRremoteESP8266.h:1418
const uint16_t kCarrierAc40MinRepeat
Definition IRremoteESP8266.h:1205
const uint16_t kTcl112AcStateLength
Definition IRremoteESP8266.h:1422
const uint16_t kCarrierAc84StateLength
Definition IRremoteESP8266.h:1208
const uint16_t kLgBits
Definition IRremoteESP8266.h:1326
const uint16_t kProntoMinLength
Definition IRremoteESP8266.h:1377
const uint16_t kLegoPfMinRepeat
Definition IRremoteESP8266.h:1325
const uint16_t kRhossStateLength
Definition IRremoteESP8266.h:1462
const uint16_t kSamsungAcExtendedStateLength
Definition IRremoteESP8266.h:1388
const uint16_t kDenonBits
Definition IRremoteESP8266.h:1253
const uint16_t kSamsungAcExtendedBits
Definition IRremoteESP8266.h:1389
const uint16_t kRCMMBits
Definition IRremoteESP8266.h:1383
const uint16_t kSanyoSA8650BBits
Definition IRremoteESP8266.h:1399
const uint16_t kElectraAcMinRepeat
Definition IRremoteESP8266.h:1265
const uint16_t kSamsungAcStateLength
Definition IRremoteESP8266.h:1386
const uint16_t kLgDefaultRepeat
Definition IRremoteESP8266.h:1328
const uint16_t kDaikin2DefaultRepeat
Definition IRremoteESP8266.h:1225
const uint16_t kSherwoodMinRepeat
Definition IRremoteESP8266.h:1411
const uint16_t kTcl96AcBits
Definition IRremoteESP8266.h:1420
const uint16_t kPanasonicAcShortBits
Definition IRremoteESP8266.h:1373
const uint16_t kRC6_36Bits
Definition IRremoteESP8266.h:1382
const uint16_t kArgo3ConfigStateLength
Definition IRremoteESP8266.h:1192
const uint16_t kDaikin216Bits
Definition IRremoteESP8266.h:1244
const uint16_t kMitsubishiHeavy152StateLength
Definition IRremoteESP8266.h:1356
const uint16_t kHitachiAc296StateLength
Definition IRremoteESP8266.h:1306
const uint16_t kTotoLongBits
Definition IRremoteESP8266.h:1438
const uint16_t kCoronaAcStateLengthShort
Definition IRremoteESP8266.h:1214
const uint16_t kVoltasStateLength
Definition IRremoteESP8266.h:1457
volatile uint16_t atomic_uint16_t
Definition IRremoteESP8266.h:62
const uint16_t kDaikin2StateLength
Definition IRremoteESP8266.h:1223
const uint16_t kAmcorBits
Definition IRremoteESP8266.h:1183
const uint16_t kArgoBits
Definition IRremoteESP8266.h:1187
const uint16_t kHitachiAc2Bits
Definition IRremoteESP8266.h:1299
const uint16_t kMitsubishiACMinRepeat
Definition IRremoteESP8266.h:1346
const uint16_t kInaxMinRepeat
Definition IRremoteESP8266.h:1313
std::atomic< uint32_t > atomic_uint32_t
Definition IRremoteESP8266.h:57
const uint16_t kTeknopointBits
Definition IRremoteESP8266.h:1428
const uint16_t kWhirlpoolAcDefaultRepeat
Definition IRremoteESP8266.h:1448
const uint16_t kToshibaACStateLengthLong
Definition IRremoteESP8266.h:1434
const uint16_t kLasertagBits
Definition IRremoteESP8266.h:1322
volatile const uint16_t atomic_const_uint16_t
Definition IRremoteESP8266.h:63
const uint16_t kSanyoAc88StateLength
Definition IRremoteESP8266.h:1393
const uint16_t kCarrierAc64Bits
Definition IRremoteESP8266.h:1206
const uint16_t kDaikin128StateLength
Definition IRremoteESP8266.h:1231
const uint16_t kMitsubishi136MinRepeat
Definition IRremoteESP8266.h:1349
const uint16_t kWhynterBits
Definition IRremoteESP8266.h:1449
const uint16_t kDaikin200StateLength
Definition IRremoteESP8266.h:1240
const uint16_t kSingleRepeat
Definition IRremoteESP8266.h:1173
const uint16_t kTcl112AcBits
Definition IRremoteESP8266.h:1423
const uint16_t kTrotecDefaultRepeat
Definition IRremoteESP8266.h:1444
const uint16_t kBosch144Bits
Definition IRremoteESP8266.h:1198
const uint16_t kTotoShortBits
Definition IRremoteESP8266.h:1437
const uint16_t kMitsubishiHeavy88StateLength
Definition IRremoteESP8266.h:1353
const uint16_t kSharpAcStateLength
Definition IRremoteESP8266.h:1407
const uint16_t kGreeStateLength
Definition IRremoteESP8266.h:1278
const uint16_t kDaikin200DefaultRepeat
Definition IRremoteESP8266.h:1242
const uint16_t kCarrierAc40Bits
Definition IRremoteESP8266.h:1204
const uint16_t kAirwellBits
Definition IRremoteESP8266.h:1177
const uint16_t kTeknopointStateLength
Definition IRremoteESP8266.h:1427
const uint16_t kNeoclimaStateLength
Definition IRremoteESP8266.h:1363
const uint16_t kMultibracketsDefaultRepeat
Definition IRremoteESP8266.h:1360
const uint16_t kDaikin128Bits
Definition IRremoteESP8266.h:1232
const uint16_t kDaikin128DefaultRepeat
Definition IRremoteESP8266.h:1233
const uint16_t kDishMinRepeat
Definition IRremoteESP8266.h:1257
const uint16_t kSanyoLC7461CommandBits
Definition IRremoteESP8266.h:1401
const uint16_t kSamsung36Bits
Definition IRremoteESP8266.h:1385
const uint16_t kArgoStateLength
Definition IRremoteESP8266.h:1185
const uint16_t kToshibaACStateLengthShort
Definition IRremoteESP8266.h:1432
const uint16_t kMitsubishi112StateLength
Definition IRremoteESP8266.h:1350
const uint16_t kHaierAcYrw02DefaultRepeat
Definition IRremoteESP8266.h:1286
const uint16_t kAmcorStateLength
Definition IRremoteESP8266.h:1182
const uint16_t kDaikinBits
Definition IRremoteESP8266.h:1219
const uint16_t kNECBits
Definition IRremoteESP8266.h:1362
const uint16_t kCarrierAcBits
Definition IRremoteESP8266.h:1202
const uint16_t kAirwellMinRepeats
Definition IRremoteESP8266.h:1178
const uint16_t kHitachiAc3MinBits
Definition IRremoteESP8266.h:1303
const uint16_t kGreeDefaultRepeat
Definition IRremoteESP8266.h:1280
const uint16_t kPioneerBits
Definition IRremoteESP8266.h:1376
const uint16_t kMitsubishi112MinRepeat
Definition IRremoteESP8266.h:1352
const uint16_t kSharpAcBits
Definition IRremoteESP8266.h:1408
const uint16_t kRhossBits
Definition IRremoteESP8266.h:1463
const uint16_t kHaierAc160DefaultRepeat
Definition IRremoteESP8266.h:1289
const uint16_t kSonyMinBits
Definition IRremoteESP8266.h:1415
const uint16_t kMirageBits
Definition IRremoteESP8266.h:1338
const uint16_t kDaikin216StateLength
Definition IRremoteESP8266.h:1243
const uint16_t kHaierAC176Bits
Definition IRremoteESP8266.h:1291
const uint16_t kAmcorDefaultRepeat
Definition IRremoteESP8266.h:1184
const uint16_t kToshibaACBitsShort
Definition IRremoteESP8266.h:1433
const uint16_t kEpsonBits
Definition IRremoteESP8266.h:1261
const uint16_t kMitsubishiHeavy152MinRepeat
Definition IRremoteESP8266.h:1358
const uint16_t kDaikin176Bits
Definition IRremoteESP8266.h:1238
const uint16_t kCarrierAcMinRepeat
Definition IRremoteESP8266.h:1203
const uint16_t kArgo3AcControlStateLength
Definition IRremoteESP8266.h:1189
const uint16_t kEuromBits
Definition IRremoteESP8266.h:1469
const uint16_t kArgoShortBits
Definition IRremoteESP8266.h:1188
const uint8_t kSharpAddressBits
Definition IRremoteESP8266.h:1404
const uint16_t kDelonghiAcBits
Definition IRremoteESP8266.h:1249
const uint16_t kSamsungBits
Definition IRremoteESP8266.h:1384
const uint16_t kJvcBits
Definition IRremoteESP8266.h:1314
const uint16_t kMitsubishiACStateLength
Definition IRremoteESP8266.h:1344
const uint16_t kSanyoLC7461AddressBits
Definition IRremoteESP8266.h:1400
const uint16_t kSharpAcDefaultRepeat
Definition IRremoteESP8266.h:1409
const uint16_t kTotoBits
Definition IRremoteESP8266.h:1436
const uint16_t kLutronBits
Definition IRremoteESP8266.h:1329
const uint16_t kFujitsuAcStateLengthShort
Definition IRremoteESP8266.h:1270
const uint16_t kDaikin160DefaultRepeat
Definition IRremoteESP8266.h:1230
const uint16_t kRC6Mode0Bits
Definition IRremoteESP8266.h:1381
const uint16_t kCarrierAc128MinRepeat
Definition IRremoteESP8266.h:1213
const uint16_t kMirageMinRepeat
Definition IRremoteESP8266.h:1339
const uint16_t kAlokaBits
Definition IRremoteESP8266.h:1181
const uint16_t kHaierAcDefaultRepeat
Definition IRremoteESP8266.h:1283
const uint16_t kGoodweatherMinRepeat
Definition IRremoteESP8266.h:1276
const uint16_t kDaikin64Bits
Definition IRremoteESP8266.h:1226
const uint16_t kSharpBits
Definition IRremoteESP8266.h:1406
const uint16_t kLegoPfBits
Definition IRremoteESP8266.h:1324
const uint16_t kCarrierAc64MinRepeat
Definition IRremoteESP8266.h:1207
const uint16_t kHitachiAcStateLength
Definition IRremoteESP8266.h:1293
const uint16_t kTcl96AcDefaultRepeat
Definition IRremoteESP8266.h:1421
const uint16_t kMidea24MinRepeat
Definition IRremoteESP8266.h:1336
const uint16_t kDelonghiAcDefaultRepeat
Definition IRremoteESP8266.h:1250
const uint16_t kHaierACYRW02StateLength
Definition IRremoteESP8266.h:1284
const uint16_t kElectraAcStateLength
Definition IRremoteESP8266.h:1263
const uint16_t kToshibaACMinRepeat
Definition IRremoteESP8266.h:1431
const uint16_t kAiwaRcT501Bits
Definition IRremoteESP8266.h:1179
const uint16_t kMitsubishiACBits
Definition IRremoteESP8266.h:1345
const uint16_t kBluestarHeavyStateLength
Definition IRremoteESP8266.h:1195
const uint16_t kDaikin152DefaultRepeat
Definition IRremoteESP8266.h:1236
const uint8_t kSherwoodBits
Definition IRremoteESP8266.h:1410
const uint16_t kKelvinatorDefaultRepeat
Definition IRremoteESP8266.h:1321
const uint16_t kRC5RawBits
Definition IRremoteESP8266.h:1378
const uint16_t kSamsungAcDefaultRepeat
Definition IRremoteESP8266.h:1390
const uint16_t kTcl112AcDefaultRepeat
Definition IRremoteESP8266.h:1424
const uint16_t kHaierAC176StateLength
Definition IRremoteESP8266.h:1290
const uint16_t kKelonBits
Definition IRremoteESP8266.h:1315
const uint16_t kHaierAC160StateLength
Definition IRremoteESP8266.h:1287
const uint16_t kClimaButlerBits
Definition IRremoteESP8266.h:1465
const uint16_t kArgoDefaultRepeat
Definition IRremoteESP8266.h:1193
const uint16_t kEliteScreensDefaultRepeat
Definition IRremoteESP8266.h:1267
const uint16_t kLasertagMinRepeat
Definition IRremoteESP8266.h:1323
const uint16_t kHitachiAc3StateLength
Definition IRremoteESP8266.h:1300
const uint16_t kSanyoAc88Bits
Definition IRremoteESP8266.h:1394
const uint16_t kDaikin216DefaultRepeat
Definition IRremoteESP8266.h:1245
const uint16_t kFujitsuAcMinRepeat
Definition IRremoteESP8266.h:1268
const uint16_t kNikaiBits
Definition IRremoteESP8266.h:1361
const uint16_t kDaikin312StateLength
Definition IRremoteESP8266.h:1246
const uint16_t kPanasonicBits
Definition IRremoteESP8266.h:1366
const uint16_t kSony12Bits
Definition IRremoteESP8266.h:1412
const uint16_t kTotoDefaultRepeat
Definition IRremoteESP8266.h:1439
const uint16_t kMitsubishi136Bits
Definition IRremoteESP8266.h:1348
const uint16_t kElectraAcBits
Definition IRremoteESP8266.h:1264
const uint16_t kTrumaBits
Definition IRremoteESP8266.h:1445
const uint16_t kDaikin160Bits
Definition IRremoteESP8266.h:1229
const uint16_t kDaikin176StateLength
Definition IRremoteESP8266.h:1237
const uint16_t kMitsubishiHeavy88Bits
Definition IRremoteESP8266.h:1354
const uint16_t kMideaMinRepeat
Definition IRremoteESP8266.h:1334
const uint16_t kCoolixDefaultRepeat
Definition IRremoteESP8266.h:1201
const uint16_t kMilesMinRepeat
Definition IRremoteESP8266.h:1460
const uint16_t kSony20Bits
Definition IRremoteESP8266.h:1414
const uint16_t kHaierACYRW02Bits
Definition IRremoteESP8266.h:1285
const uint16_t kHitachiAc296Bits
Definition IRremoteESP8266.h:1307
const uint16_t kHaierAC160Bits
Definition IRremoteESP8266.h:1288
const uint16_t kDenonLegacyBits
Definition IRremoteESP8266.h:1255
const uint16_t kArgo3iFeelReportStateLength
Definition IRremoteESP8266.h:1190
const uint16_t kMultibracketsBits
Definition IRremoteESP8266.h:1359
const uint16_t kHitachiAc1Bits
Definition IRremoteESP8266.h:1297
const uint16_t kCoronaAcBits
Definition IRremoteESP8266.h:1217
const uint16_t kToshibaACBitsLong
Definition IRremoteESP8266.h:1435
const uint16_t kAirtonBits
Definition IRremoteESP8266.h:1175
const uint16_t kCoronaAcStateLength
Definition IRremoteESP8266.h:1215
const uint16_t kPanasonic40Bits
Definition IRremoteESP8266.h:1369
const uint16_t kPanasonicAcStateLength
Definition IRremoteESP8266.h:1370
const uint16_t kMirageStateLength
Definition IRremoteESP8266.h:1337
const uint16_t kHitachiAc424Bits
Definition IRremoteESP8266.h:1311
const uint32_t kPanasonic40Manufacturer
Definition IRremoteESP8266.h:1368
const uint16_t kTrotecBits
Definition IRremoteESP8266.h:1443
const uint16_t kMitsubishiHeavy152Bits
Definition IRremoteESP8266.h:1357
const uint16_t kSymphonyBits
Definition IRremoteESP8266.h:1417
const uint16_t kHitachiAc1StateLength
Definition IRremoteESP8266.h:1296
const uint16_t kDaikin312DefaultRepeat
Definition IRremoteESP8266.h:1248
const uint16_t kMitsubishiBits
Definition IRremoteESP8266.h:1340
const uint16_t kTranscoldBits
Definition IRremoteESP8266.h:1440
const uint16_t kRC5XBits
Definition IRremoteESP8266.h:1380
const uint16_t kKelon168Bits
Definition IRremoteESP8266.h:1317
const uint16_t kHitachiAc3Bits
Definition IRremoteESP8266.h:1301
const uint16_t kHitachiAc264Bits
Definition IRremoteESP8266.h:1305
const uint16_t kDaikin312Bits
Definition IRremoteESP8266.h:1247
const uint16_t kDaikin200Bits
Definition IRremoteESP8266.h:1241
const uint16_t kFujitsuAcStateLength
Definition IRremoteESP8266.h:1269
const uint16_t kHitachiAc3MinStateLength
Definition IRremoteESP8266.h:1302
const uint16_t kCoolix48Bits
Definition IRremoteESP8266.h:1200
const uint16_t kYorkStateLength
Definition IRremoteESP8266.h:1467
const uint16_t kEpsonMinRepeat
Definition IRremoteESP8266.h:1262
const uint16_t kDaikin64DefaultRepeat
Definition IRremoteESP8266.h:1227
const uint16_t kGreeBits
Definition IRremoteESP8266.h:1279
const uint16_t kHitachiAcDefaultRepeat
Definition IRremoteESP8266.h:1295
const uint16_t kEcoclimBits
Definition IRremoteESP8266.h:1259
const uint16_t kKelon168StateLength
Definition IRremoteESP8266.h:1316
const uint16_t kGicableBits
Definition IRremoteESP8266.h:1273
const uint16_t kKelvinatorBits
Definition IRremoteESP8266.h:1320
const uint16_t kSanyoLC7461Bits
Definition IRremoteESP8266.h:1402
const uint16_t kMetzBits
Definition IRremoteESP8266.h:1331
const uint16_t kRC5Bits
Definition IRremoteESP8266.h:1379
const uint16_t kVoltasBits
Definition IRremoteESP8266.h:1456
const uint16_t kYorkBits
Definition IRremoteESP8266.h:1466
const uint16_t kSanyoAcBits
Definition IRremoteESP8266.h:1392
const uint16_t kToshibaACStateLength
Definition IRremoteESP8266.h:1429
const uint16_t kHaierACBits
Definition IRremoteESP8266.h:1282
decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition IRremoteESP8266.h:1036
@ SONY_38K
Definition IRremoteESP8266.h:1112
@ XMP
Definition IRremoteESP8266.h:1137
@ PANASONIC_AC
Definition IRremoteESP8266.h:1087
@ YORK
Definition IRremoteESP8266.h:1164
@ ELECTRA_AC
Definition IRremoteESP8266.h:1086
@ NEC
Definition IRremoteESP8266.h:1041
@ NIKAI
Definition IRremoteESP8266.h:1067
@ AIRWELL
Definition IRremoteESP8266.h:1117
@ TECHNIBEL_AC
Definition IRremoteESP8266.h:1131
@ AMCOR
Definition IRremoteESP8266.h:1107
@ CARRIER_AC40
Definition IRremoteESP8266.h:1121
@ SHERWOOD
Definition IRremoteESP8266.h:1057
@ DELONGHI_AC
Definition IRremoteESP8266.h:1118
@ MIDEA
Definition IRremoteESP8266.h:1072
@ MITSUBISHI_HEAVY_152
Definition IRremoteESP8266.h:1098
@ ZEPEAL
Definition IRremoteESP8266.h:1126
@ VESTEL_AC
Definition IRremoteESP8266.h:1092
@ KELON
Definition IRremoteESP8266.h:1141
@ HITACHI_AC344
Definition IRremoteESP8266.h:1123
@ HAIER_AC
Definition IRremoteESP8266.h:1076
@ HAIER_AC160
Definition IRremoteESP8266.h:1153
@ RHOSS
Definition IRremoteESP8266.h:1146
@ COOLIX48
Definition IRremoteESP8266.h:1148
@ SAMSUNG
Definition IRremoteESP8266.h:1045
@ DENON
Definition IRremoteESP8266.h:1055
@ SHARP_AC
Definition IRremoteESP8266.h:1100
@ CLIMABUTLER
Definition IRremoteESP8266.h:1156
@ SAMSUNG_AC
Definition IRremoteESP8266.h:1084
@ TECO
Definition IRremoteESP8266.h:1093
@ MAGIQUEST
Definition IRremoteESP8266.h:1073
@ MITSUBISHI136
Definition IRremoteESP8266.h:1109
@ CARRIER_AC64
Definition IRremoteESP8266.h:1122
@ TEKNOPOINT
Definition IRremoteESP8266.h:1140
@ SYMPHONY
Definition IRremoteESP8266.h:1114
@ MITSUBISHI_AC
Definition IRremoteESP8266.h:1058
@ WHYNTER
Definition IRremoteESP8266.h:1046
@ DAIKIN128
Definition IRremoteESP8266.h:1106
@ CARRIER_AC
Definition IRremoteESP8266.h:1075
@ DAIKIN160
Definition IRremoteESP8266.h:1103
@ VOLTAS
Definition IRremoteESP8266.h:1128
@ SANYO_LC7461
Definition IRremoteESP8266.h:1060
@ DAIKIN176
Definition IRremoteESP8266.h:1105
@ HAIER_AC176
Definition IRremoteESP8266.h:1139
@ MIDEA24
Definition IRremoteESP8266.h:1125
@ PRONTO
Definition IRremoteESP8266.h:1063
@ JVC
Definition IRremoteESP8266.h:1044
@ MILESTAG2
Definition IRremoteESP8266.h:1135
@ MITSUBISHI2
Definition IRremoteESP8266.h:1077
@ TOSHIBA_AC
Definition IRremoteESP8266.h:1070
@ TRANSCOLD
Definition IRremoteESP8266.h:1130
@ UNKNOWN
Definition IRremoteESP8266.h:1037
@ HITACHI_AC264
Definition IRremoteESP8266.h:1149
@ DAIKIN64
Definition IRremoteESP8266.h:1116
@ SONY
Definition IRremoteESP8266.h:1042
@ LUTRON
Definition IRremoteESP8266.h:1085
@ PANASONIC_AC32
Definition IRremoteESP8266.h:1134
@ RCMM
Definition IRremoteESP8266.h:1059
@ TROTEC
Definition IRremoteESP8266.h:1066
@ HITACHI_AC1
Definition IRremoteESP8266.h:1079
@ AIWA_RC_T501
Definition IRremoteESP8266.h:1047
@ RC6
Definition IRremoteESP8266.h:1040
@ TCL96AC
Definition IRremoteESP8266.h:1157
@ LG2
Definition IRremoteESP8266.h:1089
@ HITACHI_AC424
Definition IRremoteESP8266.h:1111
@ AIRTON
Definition IRremoteESP8266.h:1147
@ TRUMA
Definition IRremoteESP8266.h:1138
@ RC5X
Definition IRremoteESP8266.h:1061
@ MWM
Definition IRremoteESP8266.h:1090
@ TROTEC_3550
Definition IRremoteESP8266.h:1142
@ HITACHI_AC
Definition IRremoteESP8266.h:1078
@ LASERTAG
Definition IRremoteESP8266.h:1074
@ EUROM
Definition IRremoteESP8266.h:1166
@ NEC_LIKE
Definition IRremoteESP8266.h:1064
@ LEGOPF
Definition IRremoteESP8266.h:1096
@ MIRAGE
Definition IRremoteESP8266.h:1132
@ GOODWEATHER
Definition IRremoteESP8266.h:1101
@ WHIRLPOOL_AC
Definition IRremoteESP8266.h:1083
@ UNUSED
Definition IRremoteESP8266.h:1038
@ SAMSUNG36
Definition IRremoteESP8266.h:1094
@ METZ
Definition IRremoteESP8266.h:1129
@ DAIKIN216
Definition IRremoteESP8266.h:1099
@ BLUESTARHEAVY
Definition IRremoteESP8266.h:1165
@ HAIER_AC_YRW02
Definition IRremoteESP8266.h:1082
@ SHARP
Definition IRremoteESP8266.h:1052
@ TOTO
Definition IRremoteESP8266.h:1155
@ MULTIBRACKETS
Definition IRremoteESP8266.h:1120
@ EPSON
Definition IRremoteESP8266.h:1113
@ kLastDecodeType
Definition IRremoteESP8266.h:1168
@ DAIKIN2
Definition IRremoteESP8266.h:1091
@ KELVINATOR
Definition IRremoteESP8266.h:1056
@ DOSHISHA
Definition IRremoteESP8266.h:1119
@ HITACHI_AC2
Definition IRremoteESP8266.h:1080
@ ECOCLIM
Definition IRremoteESP8266.h:1136
@ MITSUBISHI112
Definition IRremoteESP8266.h:1110
@ MITSUBISHI
Definition IRremoteESP8266.h:1050
@ RAW
Definition IRremoteESP8266.h:1068
@ SANYO
Definition IRremoteESP8266.h:1049
@ DISH
Definition IRremoteESP8266.h:1051
@ HITACHI_AC3
Definition IRremoteESP8266.h:1115
@ RC5
Definition IRremoteESP8266.h:1039
@ TCL112AC
Definition IRremoteESP8266.h:1095
@ KELON168
Definition IRremoteESP8266.h:1150
@ NEOCLIMA
Definition IRremoteESP8266.h:1104
@ CARRIER_AC128
Definition IRremoteESP8266.h:1154
@ GORENJE
Definition IRremoteESP8266.h:1161
@ HITACHI_AC296
Definition IRremoteESP8266.h:1151
@ GICABLE
Definition IRremoteESP8266.h:1081
@ ARGO
Definition IRremoteESP8266.h:1065
@ ARRIS
Definition IRremoteESP8266.h:1145
@ MITSUBISHI_HEAVY_88
Definition IRremoteESP8266.h:1097
@ WOWWEE
Definition IRremoteESP8266.h:1162
@ DAIKIN152
Definition IRremoteESP8266.h:1108
@ FUJITSU_AC
Definition IRremoteESP8266.h:1071
@ DAIKIN
Definition IRremoteESP8266.h:1054
@ SANYO_AC152
Definition IRremoteESP8266.h:1159
@ CARRIER_AC84
Definition IRremoteESP8266.h:1163
@ PIONEER
Definition IRremoteESP8266.h:1088
@ LG
Definition IRremoteESP8266.h:1048
@ DAIKIN200
Definition IRremoteESP8266.h:1152
@ GREE
Definition IRremoteESP8266.h:1062
@ BOSCH144
Definition IRremoteESP8266.h:1158
@ COOLIX
Definition IRremoteESP8266.h:1053
@ DAIKIN312
Definition IRremoteESP8266.h:1160
@ CORONA_AC
Definition IRremoteESP8266.h:1124
@ SANYO_AC
Definition IRremoteESP8266.h:1127
@ PANASONIC
Definition IRremoteESP8266.h:1043
@ GLOBALCACHE
Definition IRremoteESP8266.h:1069
@ BOSE
Definition IRremoteESP8266.h:1144
@ SANYO_AC88
Definition IRremoteESP8266.h:1143
@ INAX
Definition IRremoteESP8266.h:1102
@ ELITESCREENS
Definition IRremoteESP8266.h:1133
const uint16_t kDenon48Bits
Definition IRremoteESP8266.h:1254
const uint16_t kMagiquestBits
Definition IRremoteESP8266.h:1330
const uint16_t kAiwaRcT501MinRepeats
Definition IRremoteESP8266.h:1180
const uint16_t kMitsubishiHeavy88MinRepeat
Definition IRremoteESP8266.h:1355
const uint16_t kGicableMinRepeat
Definition IRremoteESP8266.h:1274
const uint16_t kCarrierAc128StateLength
Definition IRremoteESP8266.h:1211
const uint16_t kSony15Bits
Definition IRremoteESP8266.h:1413
const uint16_t kMitsubishiMinRepeat
Definition IRremoteESP8266.h:1343
const uint16_t kCarrierAc128Bits
Definition IRremoteESP8266.h:1212
const uint16_t kPanasonicAc32Bits
Definition IRremoteESP8266.h:1375
const uint16_t kSamsungAcBits
Definition IRremoteESP8266.h:1387
const uint16_t kXmpBits
Definition IRremoteESP8266.h:1453
const uint16_t kTrotecStateLength
Definition IRremoteESP8266.h:1442
const uint16_t kMilesTag2ShotBits
Definition IRremoteESP8266.h:1458
const uint16_t kSanyoAcStateLength
Definition IRremoteESP8266.h:1391
const uint8_t kVestelAcBits
Definition IRremoteESP8266.h:1452
const uint16_t kArgo3TimerStateLength
Definition IRremoteESP8266.h:1191
const uint16_t kSanyoAc152Bits
Definition IRremoteESP8266.h:1397
const uint16_t kLg32Bits
Definition IRremoteESP8266.h:1327
const uint8_t kSharpCommandBits
Definition IRremoteESP8266.h:1405
const uint16_t kSanyoAc152StateLength
Definition IRremoteESP8266.h:1396
const uint16_t kBoseBits
Definition IRremoteESP8266.h:1461
const uint16_t kDaikin152StateLength
Definition IRremoteESP8266.h:1234
const uint16_t kMitsubishi112Bits
Definition IRremoteESP8266.h:1351
const uint16_t kDaikinStateLengthShort
Definition IRremoteESP8266.h:1220
const uint16_t kDishBits
Definition IRremoteESP8266.h:1256
const uint16_t kGorenjeBits
Definition IRremoteESP8266.h:1277
const uint16_t kDaikinBitsShort
Definition IRremoteESP8266.h:1221
const uint16_t kHitachiAcBits
Definition IRremoteESP8266.h:1294
const uint16_t kFujitsuAcBits
Definition IRremoteESP8266.h:1271
const uint16_t kCoolixBits
Definition IRremoteESP8266.h:1199
const uint16_t kDoshishaBits
Definition IRremoteESP8266.h:1258
const uint16_t kTecoBits
Definition IRremoteESP8266.h:1425
std::atomic< bool > atomic_bool
Definition IRremoteESP8266.h:56
const uint16_t kDaikin152Bits
Definition IRremoteESP8266.h:1235
const uint16_t kZepealBits
Definition IRremoteESP8266.h:1454
const uint16_t kDaikinStateLength
Definition IRremoteESP8266.h:1218
const uint16_t kArrisBits
Definition IRremoteESP8266.h:1194
const uint16_t kHitachiAc264StateLength
Definition IRremoteESP8266.h:1304
const uint16_t kRhossDefaultRepeat
Definition IRremoteESP8266.h:1464
const uint16_t kKelvinatorStateLength
Definition IRremoteESP8266.h:1319
const uint16_t kDaikinDefaultRepeat
Definition IRremoteESP8266.h:1222
const uint16_t kPanasonicAcDefaultRepeat
Definition IRremoteESP8266.h:1374
const uint16_t kCarrierAc84Bits
Definition IRremoteESP8266.h:1209
const uint16_t kInaxBits
Definition IRremoteESP8266.h:1312
const uint16_t kHaierAc176DefaultRepeat
Definition IRremoteESP8266.h:1292
const uint16_t kBosch144StateLength
Definition IRremoteESP8266.h:1197
const uint16_t kArgoShortStateLength
Definition IRremoteESP8266.h:1186
const uint16_t kGoodweatherBits
Definition IRremoteESP8266.h:1275
const uint16_t kHaierACStateLength
Definition IRremoteESP8266.h:1281
const uint16_t kZepealMinRepeat
Definition IRremoteESP8266.h:1455
const uint16_t kBluestarHeavyBits
Definition IRremoteESP8266.h:1196
std::string String
Definition IRremoteESP8266.h:1564
const uint16_t kTcl96AcStateLength
Definition IRremoteESP8266.h:1419
const uint16_t kMideaBits
Definition IRremoteESP8266.h:1333
const uint16_t kSanyoAc88MinRepeat
Definition IRremoteESP8266.h:1395
const uint16_t kMidea24Bits
Definition IRremoteESP8266.h:1335
const uint16_t kHitachiAc424StateLength
Definition IRremoteESP8266.h:1310
const uint16_t kEcoclimShortBits
Definition IRremoteESP8266.h:1260
const uint16_t kDaikin2Bits
Definition IRremoteESP8266.h:1224
const uint16_t kNeoclimaBits
Definition IRremoteESP8266.h:1364