IRremoteESP8266

IRsend.h
Go to the documentation of this file.
1 // Copyright 2009 Ken Shirriff
2 // Copyright 2015 Mark Szabo
3 // Copyright 2017 David Conran
4 #ifndef IRSEND_H_
5 #define IRSEND_H_
6
7 #define __STDC_LIMIT_MACROS
8 #include <stdint.h>
9 #include "IRremoteESP8266.h"
10
11 // Originally from https://github.com/shirriff/Arduino-IRremote/
12 // Updated by markszabo (https://github.com/crankyoldgit/IRremoteESP8266) for
13 // sending IR code on ESP8266
14
15 #if TEST || UNIT_TEST
16 #define VIRTUAL virtual
17 #else
18 #define VIRTUAL
19 #endif
20
21 // Constants
22 // Offset (in microseconds) to use in Period time calculations to account for
23 // code excution time in producing the software PWM signal.
24 #if defined(ESP32)
25 // Calculated on a generic ESP-WROOM-32 board with v3.2-18 SDK @ 240MHz
26 const int8_t kPeriodOffset = -2;
27 #elif (defined(ESP8266) && F_CPU == 160000000L) // NOLINT(whitespace/parens)
28 // Calculated on an ESP8266 NodeMCU v2 board using:
29 // v2.6.0 with v2.5.2 ESP core @ 160MHz
30 const int8_t kPeriodOffset = -2;
31 #else // (defined(ESP8266) && F_CPU == 160000000L)
32 // Calculated on ESP8266 Wemos D1 mini using v2.4.1 with v2.4.0 ESP core @ 40MHz
33 const int8_t kPeriodOffset = -5;
34 #endif // (defined(ESP8266) && F_CPU == 160000000L)
35 const uint8_t kDutyDefault = 50; // Percentage
36 const uint8_t kDutyMax = 100; // Percentage
37 // delayMicroseconds() is only accurate to 16383us.
38 // Ref: https://www.arduino.cc/en/Reference/delayMicroseconds
39 const uint16_t kMaxAccurateUsecDelay = 16383;
40 // Usecs to wait between messages we don't know the proper gap time.
41 const uint32_t kDefaultMessageGap = 100000;
44 const float kNoTempValue = -100.0;
45
47 namespace stdAc {
49 enum class opmode_t {
50 kOff = -1,
51 kAuto = 0,
52 kCool = 1,
53 kHeat = 2,
54 kDry = 3,
55 kFan = 4,
56 // Add new entries before this one, and update it to point to the last entry
57 kLastOpmodeEnum = kFan,
58 };
59
61 enum class fanspeed_t {
62 kAuto = 0,
63 kMin = 1,
64 kLow = 2,
65 kMedium = 3,
66 kHigh = 4,
67 kMax = 5,
68 kMediumHigh = 6,
69 // Add new entries before this one, and update it to point to the last entry
70 kLastFanspeedEnum = kMediumHigh,
71 };
72
74 enum class swingv_t {
75 kOff = -1,
76 kAuto = 0,
77 kHighest = 1,
78 kHigh = 2,
79 kMiddle = 3,
80 kLow = 4,
81 kLowest = 5,
82 kUpperMiddle = 6,
83 // Add new entries before this one, and update it to point to the last entry
84 kLastSwingvEnum = kUpperMiddle,
85 };
86
90 enum class ac_command_t {
91 kControlCommand = 0,
92 kSensorTempReport = 1,
93 kTimerCommand = 2,
94 kConfigCommand = 3,
95 // Add new entries before this one, and update it to point to the last entry
96 kLastAcCommandEnum = kConfigCommand,
97 };
98
100 enum class swingh_t {
101 kOff = -1,
102 kAuto = 0, // a.k.a. On.
103 kLeftMax = 1,
104 kLeft = 2,
105 kMiddle = 3,
106 kRight = 4,
107 kRightMax = 5,
108 kWide = 6, // a.k.a. left & right at the same time.
109 // Add new entries before this one, and update it to point to the last entry
110 kLastSwinghEnum = kWide,
111 };
112
114 struct state_t {
115 decode_type_t protocol = decode_type_t::UNKNOWN;
116 int16_t model = -1; // `-1` means unused.
117 bool power = false;
118 stdAc::opmode_t mode = stdAc::opmode_t::kOff;
119 float degrees = 25;
120 bool celsius = true;
121 stdAc::fanspeed_t fanspeed = stdAc::fanspeed_t::kAuto;
122 stdAc::swingv_t swingv = stdAc::swingv_t::kOff;
123 stdAc::swingh_t swingh = stdAc::swingh_t::kOff;
124 bool quiet = false;
125 bool turbo = false;
126 bool econo = false;
127 bool light = false;
128 bool filter = false;
129 bool clean = false;
130 bool beep = false;
131 int16_t sleep = -1; // `-1` means off.
132 int16_t clock = -1; // `-1` means not set.
133 stdAc::ac_command_t command = stdAc::ac_command_t::kControlCommand;
134 bool iFeel = false;
135 float sensorTemperature = kNoTempValue; // `kNoTempValue` means not set.
136 };
137 }; // namespace stdAc
138
140 enum fujitsu_ac_remote_model_t {
141 ARRAH2E = 1,
142 ARDB1,
147 ARREB1E,
148 ARJW2,
150 ARRY4,
151 ARREW4E,
152 };
153
155 enum gree_ac_remote_model_t {
156 YAW1F = 1, // (1) Ultimate, EKOKAI, RusClimate (Default)
157 YBOFB, // (2) Green, YBOFB2, YAPOF3
158 YX1FSF, // (3) Soleus Air window unit (Similar to YAW1F, but with an
159 // Operation mode of Energy Saver (Econo))
160 };
161
163 enum haier_ac176_remote_model_t {
164 V9014557_A = 1, // (1) V9014557 Remote in "A" setting. (Default)
165 V9014557_B, // (2) V9014557 Remote in "B" setting.
166 };
167
169 enum hitachi_ac1_remote_model_t {
170 R_LT0541_HTA_A = 1, // (1) R-LT0541-HTA Remote in "A" setting. (Default)
171 R_LT0541_HTA_B, // (2) R-LT0541-HTA Remote in "B" setting.
172 };
173
175 enum mirage_ac_remote_model_t {
176 KKG9AC1 = 1, // (1) KKG9A-C1 Remote. (Default)
177 KKG29AC1, // (2) KKG29A-C1 Remote.
178 };
179
181 enum panasonic_ac_remote_model_t {
182 kPanasonicUnknown = 0,
183 kPanasonicLke = 1,
184 kPanasonicNke = 2,
185 kPanasonicDke = 3, // PKR too.
186 kPanasonicJke = 4,
187 kPanasonicCkp = 5,
188 kPanasonicRkr = 6,
189 };
190
192 enum sharp_ac_remote_model_t {
193 A907 = 1,
194 A705 = 2,
195 A903 = 3, // 820 too
196 };
197
199 enum tcl_ac_remote_model_t {
200 TAC09CHSD = 1,
201 GZ055BE1 = 2, // Also Teknopoint GZ01-BEJ0-000
202 };
203
205 enum voltas_ac_remote_model_t {
206 kVoltasUnknown = 0, // Full Function
207 kVoltas122LZF = 1, // (1) 122LZF (No SwingH support) (Default)
208 };
209
211 enum whirlpool_ac_remote_model_t {
212 DG11J13A = 1, // DG11J1-04 too
213 DG11J191,
214 };
215
217 enum lg_ac_remote_model_t {
218 GE6711AR2853M = 1, // (1) LG 28-bit Protocol (default)
219 AKB75215403, // (2) LG2 28-bit Protocol
220 AKB74955603, // (3) LG2 28-bit Protocol variant
221 AKB73757604, // (4) LG2 Variant of AKB74955603
222 LG6711A20083V, // (5) Same as GE6711AR2853M, but only SwingV toggle.
223 };
224
226 enum argo_ac_remote_model_t {
227 SAC_WREM2 = 1, // (1) ARGO WREM2 remote (default)
228 SAC_WREM3 // (2) ARGO WREM3 remote (touch buttons), bit-len vary by cmd
229 };
230
231 // Classes
232
237 class IRsend {
238 public:
239 explicit IRsend(uint16_t IRsendPin, bool inverted = false,
240 bool use_modulation = true);
241 void begin();
242 void enableIROut(uint32_t freq, uint8_t duty = kDutyDefault);
243 VIRTUAL void _delayMicroseconds(uint32_t usec);
244 VIRTUAL uint16_t mark(uint16_t usec);
245 VIRTUAL void space(uint32_t usec);
246 int8_t calibrate(uint16_t hz = 38000U);
247 void sendRaw(const uint16_t buf[], const uint16_t len, const uint16_t hz);
248 void sendData(uint16_t onemark, uint32_t onespace, uint16_t zeromark,
249 uint32_t zerospace, uint64_t data, uint16_t nbits,
250 bool MSBfirst = true);
251 void sendManchesterData(const uint16_t half_period, const uint64_t data,
252 const uint16_t nbits, const bool MSBfirst = true,
253 const bool GEThomas = true);
254 void sendManchester(const uint16_t headermark, const uint32_t headerspace,
255 const uint16_t half_period, const uint16_t footermark,
256 const uint32_t gap, const uint64_t data,
257 const uint16_t nbits, const uint16_t frequency = 38,
258 const bool MSBfirst = true,
259 const uint16_t repeat = kNoRepeat,
260 const uint8_t dutycycle = kDutyDefault,
261 const bool GEThomas = true);
262 void sendGeneric(const uint16_t headermark, const uint32_t headerspace,
263 const uint16_t onemark, const uint32_t onespace,
264 const uint16_t zeromark, const uint32_t zerospace,
265 const uint16_t footermark, const uint32_t gap,
266 const uint64_t data, const uint16_t nbits,
267 const uint16_t frequency, const bool MSBfirst,
268 const uint16_t repeat, const uint8_t dutycycle);
269 void sendGeneric(const uint16_t headermark, const uint32_t headerspace,
270 const uint16_t onemark, const uint32_t onespace,
271 const uint16_t zeromark, const uint32_t zerospace,
272 const uint16_t footermark, const uint32_t gap,
273 const uint32_t mesgtime, const uint64_t data,
274 const uint16_t nbits, const uint16_t frequency,
275 const bool MSBfirst, const uint16_t repeat,
276 const uint8_t dutycycle);
277 void sendGeneric(const uint16_t headermark, const uint32_t headerspace,
278 const uint16_t onemark, const uint32_t onespace,
279 const uint16_t zeromark, const uint32_t zerospace,
280 const uint16_t footermark, const uint32_t gap,
281 const uint8_t *dataptr, const uint16_t nbytes,
282 const uint16_t frequency, const bool MSBfirst,
283 const uint16_t repeat, const uint8_t dutycycle);
284 static uint16_t minRepeats(const decode_type_t protocol);
285 static uint16_t defaultBits(const decode_type_t protocol);
286 bool send(const decode_type_t type, const uint64_t data,
287 const uint16_t nbits, const uint16_t repeat = kNoRepeat);
288 bool send(const decode_type_t type, const uint8_t *state,
289 const uint16_t nbytes);
290 #if (SEND_NEC || SEND_SHERWOOD || SEND_AIWA_RC_T501 || SEND_SANYO || \
291 SEND_MIDEA24)
292 void sendNEC(uint64_t data, uint16_t nbits = kNECBits,
293 uint16_t repeat = kNoRepeat);
294 uint32_t encodeNEC(uint16_t address, uint16_t command);
295 #endif
296 #if SEND_SONY
297 // sendSony() should typically be called with repeat=2 as Sony devices
298 // expect the code to be sent at least 3 times. (code + 2 repeats = 3 codes)
299 // Legacy use of this procedure was to only send a single code so call it with
300 // repeat=0 for backward compatibility. As of v2.0 it defaults to sending
301 // a Sony command that will be accepted be a device.
302 void sendSony(const uint64_t data, const uint16_t nbits = kSony20Bits,
303 const uint16_t repeat = kSonyMinRepeat);
304 void sendSony38(const uint64_t data, const uint16_t nbits = kSony20Bits,
305 const uint16_t repeat = kSonyMinRepeat + 1);
306 uint32_t encodeSony(const uint16_t nbits, const uint16_t command,
307 const uint16_t address, const uint16_t extended = 0);
308 #endif // SEND_SONY
309 #if SEND_SHERWOOD
310 void sendSherwood(uint64_t data, uint16_t nbits = kSherwoodBits,
311 uint16_t repeat = kSherwoodMinRepeat);
312 #endif
313 // `sendSAMSUNG()` is required by `sendLG()`
314 #if (SEND_SAMSUNG || SEND_LG)
315 void sendSAMSUNG(const uint64_t data, const uint16_t nbits = kSamsungBits,
316 const uint16_t repeat = kNoRepeat);
317 uint32_t encodeSAMSUNG(const uint8_t customer, const uint8_t command);
318 #endif // (SEND_SAMSUNG || SEND_LG)
319 #if SEND_SAMSUNG36
320 void sendSamsung36(const uint64_t data, const uint16_t nbits = kSamsung36Bits,
321 const uint16_t repeat = kNoRepeat);
322 #endif
323 #if SEND_SAMSUNG_AC
324 void sendSamsungAC(const unsigned char data[],
325 const uint16_t nbytes = kSamsungAcStateLength,
326 const uint16_t repeat = kSamsungAcDefaultRepeat);
327 #endif
328 #if SEND_LG
329 void sendLG(uint64_t data, uint16_t nbits = kLgBits,
330 uint16_t repeat = kNoRepeat);
331 void sendLG2(uint64_t data, uint16_t nbits = kLgBits,
332 uint16_t repeat = kNoRepeat);
333 uint32_t encodeLG(uint16_t address, uint16_t command);
334 #endif
335 #if (SEND_SHARP || SEND_DENON)
336 uint32_t encodeSharp(const uint16_t address, const uint16_t command,
337 const uint16_t expansion = 1, const uint16_t check = 0,
338 const bool MSBfirst = false);
339 void sendSharp(const uint16_t address, const uint16_t command,
340 const uint16_t nbits = kSharpBits,
341 const uint16_t repeat = kNoRepeat);
342 void sendSharpRaw(const uint64_t data, const uint16_t nbits = kSharpBits,
343 const uint16_t repeat = kNoRepeat);
344 #endif
345 #if SEND_SHARP_AC
346 void sendSharpAc(const unsigned char data[],
347 const uint16_t nbytes = kSharpAcStateLength,
348 const uint16_t repeat = kSharpAcDefaultRepeat);
349 #endif // SEND_SHARP_AC
350 #if SEND_JVC
351 void sendJVC(uint64_t data, uint16_t nbits = kJvcBits,
352 uint16_t repeat = kNoRepeat);
353 uint16_t encodeJVC(uint8_t address, uint8_t command);
354 #endif
355 #if SEND_DENON
356 void sendDenon(uint64_t data, uint16_t nbits = kDenonBits,
357 uint16_t repeat = kNoRepeat);
358 #endif
359 #if SEND_SANYO
360 uint64_t encodeSanyoLC7461(uint16_t address, uint8_t command);
361 void sendSanyoLC7461(const uint64_t data,
362 const uint16_t nbits = kSanyoLC7461Bits,
363 const uint16_t repeat = kNoRepeat);
364 #endif
365 #if SEND_SANYO_AC
366 void sendSanyoAc(const uint8_t *data,
367 const uint16_t nbytes = kSanyoAcStateLength,
368 const uint16_t repeat = kNoRepeat);
369 #endif // SEND_SANYO_AC
370 #if SEND_SANYO_AC88
371 void sendSanyoAc88(const uint8_t *data,
372 const uint16_t nbytes = kSanyoAc88StateLength,
373 const uint16_t repeat = kSanyoAc88MinRepeat);
374 #endif // SEND_SANYO_AC88
375 #if SEND_SANYO_AC152
376 void sendSanyoAc152(const uint8_t *data,
377 const uint16_t nbytes = kSanyoAc152StateLength,
378 const uint16_t repeat = kSanyoAc152MinRepeat);
379 #endif // SEND_SANYO_AC152
380 #if SEND_DISH
381 // sendDISH() should typically be called with repeat=3 as DISH devices
382 // expect the code to be sent at least 4 times. (code + 3 repeats = 4 codes)
383 // Legacy use of this procedure was only to send a single code
384 // so use repeat=0 for backward compatibility.
385 void sendDISH(uint64_t data, uint16_t nbits = kDishBits,
386 uint16_t repeat = kDishMinRepeat);
387 #endif
388 #if (SEND_PANASONIC || SEND_DENON)
389 void sendPanasonic64(const uint64_t data,
390 const uint16_t nbits = kPanasonicBits,
391 const uint16_t repeat = kNoRepeat);
392 void sendPanasonic(const uint16_t address, const uint32_t data,
393 const uint16_t nbits = kPanasonicBits,
394 const uint16_t repeat = kNoRepeat);
395 uint64_t encodePanasonic(const uint16_t manufacturer, const uint8_t device,
396 const uint8_t subdevice, const uint8_t function);
397 #endif
398 #if SEND_RC5
399 void sendRC5(const uint64_t data, uint16_t nbits = kRC5XBits,
400 const uint16_t repeat = kNoRepeat);
401 uint16_t encodeRC5(const uint8_t address, const uint8_t command,
402 const bool key_released = false);
403 uint16_t encodeRC5X(const uint8_t address, const uint8_t command,
404 const bool key_released = false);
405 uint64_t toggleRC5(const uint64_t data);
406 #endif
407 #if SEND_RC6
408 void sendRC6(const uint64_t data, const uint16_t nbits = kRC6Mode0Bits,
409 const uint16_t repeat = kNoRepeat);
410 uint64_t encodeRC6(const uint32_t address, const uint8_t command,
411 const uint16_t mode = kRC6Mode0Bits);
412 uint64_t toggleRC6(const uint64_t data, const uint16_t nbits = kRC6Mode0Bits);
413 #endif
414 #if SEND_RCMM
415 void sendRCMM(uint64_t data, uint16_t nbits = kRCMMBits,
416 uint16_t repeat = kNoRepeat);
417 #endif
418 #if SEND_COOLIX
419 void sendCOOLIX(const uint64_t data, const uint16_t nbits = kCoolixBits,
420 const uint16_t repeat = kCoolixDefaultRepeat);
421 #endif // SEND_COOLIX
422 #if SEND_COOLIX48
423 void sendCoolix48(const uint64_t data, const uint16_t nbits = kCoolix48Bits,
424 const uint16_t repeat = kCoolixDefaultRepeat);
425 #endif // SEND_COOLIX48
426 #if SEND_WHYNTER
427 void sendWhynter(const uint64_t data, const uint16_t nbits = kWhynterBits,
428 const uint16_t repeat = kNoRepeat);
429 #endif
430 #if SEND_MIRAGE
431 void sendMirage(const unsigned char data[],
432 const uint16_t nbytes = kMirageStateLength,
433 const uint16_t repeat = kMirageMinRepeat);
434 #endif // SEND_MIRAGE
435 #if SEND_MITSUBISHI
436 void sendMitsubishi(uint64_t data, uint16_t nbits = kMitsubishiBits,
437 uint16_t repeat = kMitsubishiMinRepeat);
438 #endif
439 #if SEND_MITSUBISHI136
440 void sendMitsubishi136(const unsigned char data[],
441 const uint16_t nbytes = kMitsubishi136StateLength,
442 const uint16_t repeat = kMitsubishi136MinRepeat);
443 #endif
444 #if SEND_MITSUBISHI112
445 void sendMitsubishi112(const unsigned char data[],
446 const uint16_t nbytes = kMitsubishi112StateLength,
447 const uint16_t repeat = kMitsubishi112MinRepeat);
448 #endif
449 #if SEND_MITSUBISHI2
450 void sendMitsubishi2(uint64_t data, uint16_t nbits = kMitsubishiBits,
451 uint16_t repeat = kMitsubishiMinRepeat);
452 #endif
453 #if SEND_MITSUBISHI_AC
454 void sendMitsubishiAC(const unsigned char data[],
455 const uint16_t nbytes = kMitsubishiACStateLength,
456 const uint16_t repeat = kMitsubishiACMinRepeat);
457 #endif
458 #if SEND_MITSUBISHIHEAVY
459 void sendMitsubishiHeavy88(
460 const unsigned char data[],
461 const uint16_t nbytes = kMitsubishiHeavy88StateLength,
462 const uint16_t repeat = kMitsubishiHeavy88MinRepeat);
463 void sendMitsubishiHeavy152(
464 const unsigned char data[],
465 const uint16_t nbytes = kMitsubishiHeavy152StateLength,
466 const uint16_t repeat = kMitsubishiHeavy152MinRepeat);
467 #endif
468 #if SEND_FUJITSU_AC
469 void sendFujitsuAC(const unsigned char data[], const uint16_t nbytes,
470 const uint16_t repeat = kFujitsuAcMinRepeat);
471 #endif
472 #if SEND_INAX
473 void sendInax(const uint64_t data, const uint16_t nbits = kInaxBits,
474 const uint16_t repeat = kInaxMinRepeat);
475 #endif // SEND_INAX
476 #if SEND_GLOBALCACHE
477 void sendGC(uint16_t buf[], uint16_t len);
478 #endif
479 #if SEND_KELVINATOR
480 void sendKelvinator(const unsigned char data[],
481 const uint16_t nbytes = kKelvinatorStateLength,
482 const uint16_t repeat = kKelvinatorDefaultRepeat);
483 #endif
484 #if SEND_DAIKIN
485 void sendDaikin(const unsigned char data[],
486 const uint16_t nbytes = kDaikinStateLength,
487 const uint16_t repeat = kDaikinDefaultRepeat);
488 #endif
489 #if SEND_DAIKIN64
490 void sendDaikin64(const uint64_t data, const uint16_t nbits = kDaikin64Bits,
491 const uint16_t repeat = kDaikin64DefaultRepeat);
492 #endif // SEND_DAIKIN64
493 #if SEND_DAIKIN128
494 void sendDaikin128(const unsigned char data[],
495 const uint16_t nbytes = kDaikin128StateLength,
496 const uint16_t repeat = kDaikin128DefaultRepeat);
497 #endif // SEND_DAIKIN128
498 #if SEND_DAIKIN152
499 void sendDaikin152(const unsigned char data[],
500 const uint16_t nbytes = kDaikin152StateLength,
501 const uint16_t repeat = kDaikin152DefaultRepeat);
502 #endif // SEND_DAIKIN152
503 #if SEND_DAIKIN160
504 void sendDaikin160(const unsigned char data[],
505 const uint16_t nbytes = kDaikin160StateLength,
506 const uint16_t repeat = kDaikin160DefaultRepeat);
507 #endif // SEND_DAIKIN160
508 #if SEND_DAIKIN176
509 void sendDaikin176(const unsigned char data[],
510 const uint16_t nbytes = kDaikin176StateLength,
511 const uint16_t repeat = kDaikin176DefaultRepeat);
512 #endif // SEND_DAIKIN176
513 #if SEND_DAIKIN2
514 void sendDaikin2(const unsigned char data[],
515 const uint16_t nbytes = kDaikin2StateLength,
516 const uint16_t repeat = kDaikin2DefaultRepeat);
517 #endif
518 #if SEND_DAIKIN200
519 void sendDaikin200(const unsigned char data[],
520 const uint16_t nbytes = kDaikin200StateLength,
521 const uint16_t repeat = kDaikin200DefaultRepeat);
522 #endif // SEND_DAIKIN200
523 #if SEND_DAIKIN216
524 void sendDaikin216(const unsigned char data[],
525 const uint16_t nbytes = kDaikin216StateLength,
526 const uint16_t repeat = kDaikin216DefaultRepeat);
527 #endif // SEND_DAIKIN216
528 #if SEND_DAIKIN312
529 void sendDaikin312(const unsigned char data[],
530 const uint16_t nbytes = kDaikin312StateLength,
531 const uint16_t repeat = kDaikin312DefaultRepeat);
532 #endif // SEND_DAIKIN312
533 #if SEND_AIWA_RC_T501
534 void sendAiwaRCT501(uint64_t data, uint16_t nbits = kAiwaRcT501Bits,
535 uint16_t repeat = kAiwaRcT501MinRepeats);
536 #endif
537 #if SEND_GREE
538 void sendGree(const uint64_t data, const uint16_t nbits = kGreeBits,
539 const uint16_t repeat = kGreeDefaultRepeat);
540 void sendGree(const uint8_t data[], const uint16_t nbytes = kGreeStateLength,
541 const uint16_t repeat = kGreeDefaultRepeat);
542 #endif
543 #if SEND_GOODWEATHER
544 void sendGoodweather(const uint64_t data,
545 const uint16_t nbits = kGoodweatherBits,
546 const uint16_t repeat = kGoodweatherMinRepeat);
547 #endif // SEND_GOODWEATHER
548 #if SEND_GORENJE
549 void sendGorenje(const uint64_t data, const uint16_t nbits = kGorenjeBits,
550 const uint16_t repeat = kNoRepeat);
551 #endif // SEND_GORENJE
552 #if SEND_PRONTO
553 void sendPronto(uint16_t data[], uint16_t len, uint16_t repeat = kNoRepeat);
554 #endif
555 #if SEND_ARGO
556 void sendArgo(const unsigned char data[],
557 const uint16_t nbytes = kArgoStateLength,
558 const uint16_t repeat = kArgoDefaultRepeat,
559 bool sendFooter = false);
560 void sendArgoWREM3(const unsigned char data[],
561 const uint16_t nbytes = kArgoStateLength,
562 const uint16_t repeat = kArgoDefaultRepeat);
563 #endif // SEND_ARGO
564 #if SEND_TROTEC
565 void sendTrotec(const unsigned char data[],
566 const uint16_t nbytes = kTrotecStateLength,
567 const uint16_t repeat = kTrotecDefaultRepeat);
568 #endif // SEND_TROTEC
569 #if SEND_TROTEC_3550
570 void sendTrotec3550(const unsigned char data[],
571 const uint16_t nbytes = kTrotecStateLength,
572 const uint16_t repeat = kTrotecDefaultRepeat);
573 #endif // SEND_TROTEC_3550
574 #if SEND_NIKAI
575 void sendNikai(uint64_t data, uint16_t nbits = kNikaiBits,
576 uint16_t repeat = kNoRepeat);
577 #endif
578 #if SEND_TOSHIBA_AC
579 void sendToshibaAC(const uint8_t data[],
580 const uint16_t nbytes = kToshibaACStateLength,
581 const uint16_t repeat = kToshibaACMinRepeat);
582 #endif
583 #if SEND_MIDEA
584 void sendMidea(uint64_t data, uint16_t nbits = kMideaBits,
585 uint16_t repeat = kMideaMinRepeat);
586 #endif // SEND_MIDEA
587 #if SEND_MIDEA24
588 void sendMidea24(const uint64_t data, const uint16_t nbits = kMidea24Bits,
589 const uint16_t repeat = kMidea24MinRepeat);
590 #endif // SEND_MIDEA24
591 #if SEND_MAGIQUEST
592 void sendMagiQuest(const uint64_t data, const uint16_t nbits = kMagiquestBits,
593 const uint16_t repeat = kNoRepeat);
594 uint64_t encodeMagiQuest(const uint32_t wand_id, const uint16_t magnitude);
595 #endif
596 #if SEND_LASERTAG
597 void sendLasertag(uint64_t data, uint16_t nbits = kLasertagBits,
598 uint16_t repeat = kLasertagMinRepeat);
599 #endif
600 #if SEND_CARRIER_AC
601 void sendCarrierAC(uint64_t data, uint16_t nbits = kCarrierAcBits,
602 uint16_t repeat = kCarrierAcMinRepeat);
603 #endif
604 #if SEND_CARRIER_AC40
605 void sendCarrierAC40(uint64_t data, uint16_t nbits = kCarrierAc40Bits,
606 uint16_t repeat = kCarrierAc40MinRepeat);
607 #endif
608 #if SEND_CARRIER_AC64
609 void sendCarrierAC64(uint64_t data, uint16_t nbits = kCarrierAc64Bits,
610 uint16_t repeat = kCarrierAc64MinRepeat);
611 #endif
612 #if SEND_CARRIER_AC84
613 void sendCarrierAC84(const uint8_t data[],
614 const uint16_t nbytes = kCarrierAc84StateLength,
615 const uint16_t repeat = kNoRepeat);
616 #endif // SEND_CARRIER_AC84
617 #if SEND_CARRIER_AC128
618 void sendCarrierAC128(const uint8_t data[],
619 uint16_t nbytes = kCarrierAc128StateLength,
620 uint16_t repeat = kCarrierAc128MinRepeat);
621 #endif // SEND_CARRIER_AC128
622 #if (SEND_HAIER_AC || SEND_HAIER_AC_YRW02 || SEND_HAIER_AC176)
623 void sendHaierAC(const unsigned char data[],
624 const uint16_t nbytes = kHaierACStateLength,
625 const uint16_t repeat = kHaierAcDefaultRepeat);
626 #endif // (SEND_HAIER_AC || SEND_HAIER_AC_YRW02 || SEND_HAIER_AC176)
627 #if SEND_HAIER_AC_YRW02
628 void sendHaierACYRW02(const unsigned char data[],
629 const uint16_t nbytes = kHaierACYRW02StateLength,
630 const uint16_t repeat = kHaierAcYrw02DefaultRepeat);
631 #endif // SEND_HAIER_AC_YRW02
632 #if SEND_HAIER_AC160
633 void sendHaierAC160(const unsigned char data[],
634 const uint16_t nbytes = kHaierAC160StateLength,
635 const uint16_t repeat = kHaierAc160DefaultRepeat);
636 #endif // SEND_HAIER_AC160
637 #if SEND_HAIER_AC176
638 void sendHaierAC176(const unsigned char data[],
639 const uint16_t nbytes = kHaierAC176StateLength,
640 const uint16_t repeat = kHaierAc176DefaultRepeat);
641 #endif // SEND_HAIER_AC176
642 #if SEND_HITACHI_AC
643 void sendHitachiAC(const unsigned char data[],
644 const uint16_t nbytes = kHitachiAcStateLength,
645 const uint16_t repeat = kHitachiAcDefaultRepeat);
646 #endif
647 #if SEND_HITACHI_AC1
648 void sendHitachiAC1(const unsigned char data[],
649 const uint16_t nbytes = kHitachiAc1StateLength,
650 const uint16_t repeat = kHitachiAcDefaultRepeat);
651 #endif
652 #if SEND_HITACHI_AC2
653 void sendHitachiAC2(const unsigned char data[],
654 const uint16_t nbytes = kHitachiAc2StateLength,
655 const uint16_t repeat = kHitachiAcDefaultRepeat);
656 #endif
657 #if SEND_HITACHI_AC3
658 void sendHitachiAc3(const unsigned char data[],
659 const uint16_t nbytes, // No default as there as so many
660 // different sizes
661 const uint16_t repeat = kHitachiAcDefaultRepeat);
662 #endif // SEND_HITACHI_AC3
663 #if SEND_HITACHI_AC264
664 void sendHitachiAc264(const unsigned char data[],
665 const uint16_t nbytes = kHitachiAc264StateLength,
666 const uint16_t repeat = kHitachiAcDefaultRepeat);
667 #endif // SEND_HITACHI_AC264
668 #if SEND_HITACHI_AC296
669 void sendHitachiAc296(const unsigned char data[],
670 const uint16_t nbytes = kHitachiAc296StateLength,
671 const uint16_t repeat = kHitachiAcDefaultRepeat);
672 #endif // SEND_HITACHI_AC296
673 #if SEND_HITACHI_AC344
674 void sendHitachiAc344(const unsigned char data[],
675 const uint16_t nbytes = kHitachiAc344StateLength,
676 const uint16_t repeat = kHitachiAcDefaultRepeat);
677 #endif // SEND_HITACHI_AC344
678 #if SEND_HITACHI_AC424
679 void sendHitachiAc424(const unsigned char data[],
680 const uint16_t nbytes = kHitachiAc424StateLength,
681 const uint16_t repeat = kHitachiAcDefaultRepeat);
682 #endif // SEND_HITACHI_AC424
683 #if SEND_GICABLE
684 void sendGICable(uint64_t data, uint16_t nbits = kGicableBits,
685 uint16_t repeat = kGicableMinRepeat);
686 #endif
687 #if SEND_WHIRLPOOL_AC
688 void sendWhirlpoolAC(const unsigned char data[],
689 const uint16_t nbytes = kWhirlpoolAcStateLength,
690 const uint16_t repeat = kWhirlpoolAcDefaultRepeat);
691 #endif
692 #if SEND_LUTRON
693 void sendLutron(uint64_t data, uint16_t nbits = kLutronBits,
694 uint16_t repeat = kNoRepeat);
695 #endif
696 #if SEND_ELECTRA_AC
697 void sendElectraAC(const unsigned char data[],
698 const uint16_t nbytes = kElectraAcStateLength,
699 const uint16_t repeat = kNoRepeat);
700 #endif
701 #if SEND_PANASONIC_AC
702 void sendPanasonicAC(const unsigned char data[],
703 const uint16_t nbytes = kPanasonicAcStateLength,
704 const uint16_t repeat = kPanasonicAcDefaultRepeat);
705 #endif // SEND_PANASONIC_AC
706 #if SEND_PANASONIC_AC32
707 void sendPanasonicAC32(const uint64_t data,
708 const uint16_t nbits = kPanasonicAc32Bits,
709 const uint16_t repeat = kPanasonicAcDefaultRepeat);
710 #endif // SEND_PANASONIC_AC32
711 #if SEND_PIONEER
712 void sendPioneer(const uint64_t data, const uint16_t nbits = kPioneerBits,
713 const uint16_t repeat = kNoRepeat);
714 uint64_t encodePioneer(uint16_t address, uint16_t command);
715 #endif
716 #if SEND_MWM
717 void sendMWM(const unsigned char data[], const uint16_t nbytes,
718 const uint16_t repeat = kNoRepeat);
719 #endif
720 #if SEND_VESTEL_AC
721 void sendVestelAc(const uint64_t data, const uint16_t nbits = kVestelAcBits,
722 const uint16_t repeat = kNoRepeat);
723 #endif
724 #if SEND_TCL96AC
725 void sendTcl96Ac(const unsigned char data[],
726 const uint16_t nbytes = kTcl96AcStateLength,
727 const uint16_t repeat = kTcl96AcDefaultRepeat);
728 #endif // SEND_TCL96AC
729 #if SEND_TCL112AC
730 void sendTcl112Ac(const unsigned char data[],
731 const uint16_t nbytes = kTcl112AcStateLength,
732 const uint16_t repeat = kTcl112AcDefaultRepeat);
733 #endif // SEND_TCL112AC
734 #if SEND_TECO
735 void sendTeco(const uint64_t data, const uint16_t nbits = kTecoBits,
736 const uint16_t repeat = kNoRepeat);
737 #endif
738 #if SEND_LEGOPF
739 void sendLegoPf(const uint64_t data, const uint16_t nbits = kLegoPfBits,
740 const uint16_t repeat = kLegoPfMinRepeat);
741 #endif
742 #if SEND_NEOCLIMA
743 void sendNeoclima(const unsigned char data[],
744 const uint16_t nbytes = kNeoclimaStateLength,
745 const uint16_t repeat = kNeoclimaMinRepeat);
746 #endif // SEND_NEOCLIMA
747 #if SEND_AMCOR
748 void sendAmcor(const unsigned char data[],
749 const uint16_t nbytes = kAmcorStateLength,
750 const uint16_t repeat = kAmcorDefaultRepeat);
751 #endif // SEND_AMCOR
752 #if SEND_EPSON
753 void sendEpson(uint64_t data, uint16_t nbits = kEpsonBits,
754 uint16_t repeat = kEpsonMinRepeat);
755 #endif
756 #if SEND_SYMPHONY
757 void sendSymphony(uint64_t data, uint16_t nbits = kSymphonyBits,
758 uint16_t repeat = kSymphonyDefaultRepeat);
759 #endif
760 #if SEND_AIRWELL
761 void sendAirwell(uint64_t data, uint16_t nbits = kAirwellBits,
762 uint16_t repeat = kAirwellMinRepeats);
763 #endif
764 #if SEND_DELONGHI_AC
765 void sendDelonghiAc(uint64_t data, uint16_t nbits = kDelonghiAcBits,
766 uint16_t repeat = kDelonghiAcDefaultRepeat);
767 #endif
768 #if SEND_DOSHISHA
769 void sendDoshisha(const uint64_t data, uint16_t nbits = kDoshishaBits,
770 const uint16_t repeat = kNoRepeat);
771 uint64_t encodeDoshisha(const uint8_t command, const uint8_t channel = 0);
772 #endif // SEND_DOSHISHA
773 #if SEND_MULTIBRACKETS
774 void sendMultibrackets(const uint64_t data,
775 const uint16_t nbits = kMultibracketsBits,
776 const uint16_t repeat = kMultibracketsDefaultRepeat);
777 #endif
778 #if SEND_TECHNIBEL_AC
779 void sendTechnibelAc(uint64_t data, uint16_t nbits = kTechnibelAcBits,
780 uint16_t repeat = kTechnibelAcDefaultRepeat);
781 #endif
782 #if SEND_CORONA_AC
783 void sendCoronaAc(const uint8_t data[],
784 const uint16_t nbytes = kCoronaAcStateLength,
785 const uint16_t repeat = kNoRepeat);
786 #endif // SEND_CORONA_AC
787 #if SEND_ZEPEAL
788 void sendZepeal(const uint64_t data,
789 const uint16_t nbits = kZepealBits,
790 const uint16_t repeat = kZepealMinRepeat);
791 #endif // SEND_ZEPEAL
792 #if SEND_VOLTAS
793 void sendVoltas(const unsigned char data[],
794 const uint16_t nbytes = kVoltasStateLength,
795 const uint16_t repeat = kNoRepeat);
796 #endif // SEND_VOLTAS
797 #if SEND_METZ
798 void sendMetz(const uint64_t data,
799 const uint16_t nbits = kMetzBits,
800 const uint16_t repeat = kMetzMinRepeat);
801 static uint32_t encodeMetz(const uint8_t address, const uint8_t command,
802 const bool toggle = false);
803 #endif // SEND_METZ
804 #if SEND_TRANSCOLD
805 void sendTranscold(const uint64_t data, const uint16_t nbits = kTranscoldBits,
806 const uint16_t repeat = kTranscoldDefaultRepeat);
807 #endif // SEND_TRANSCOLD
808 #if SEND_ELITESCREENS
809 void sendElitescreens(const uint64_t data,
810 const uint16_t nbits = kEliteScreensBits,
811 const uint16_t repeat = kEliteScreensDefaultRepeat);
812 #endif // SEND_ELITESCREENS
813 #if SEND_MILESTAG2
814 // Since There 2 types of transmissions
815 // (14bits for Shooting by default, you can set 24 bit for msg delivery)
816 void sendMilestag2(const uint64_t data,
817 const uint16_t nbits = kMilesTag2ShotBits,
818 const uint16_t repeat = kMilesMinRepeat);
819 #endif // SEND_MILESTAG2
820 #if SEND_ECOCLIM
821 void sendEcoclim(const uint64_t data, const uint16_t nbits = kEcoclimBits,
822 const uint16_t repeat = kNoRepeat);
823 #endif // SEND_ECOCLIM
824 #if SEND_XMP
825 void sendXmp(const uint64_t data, const uint16_t nbits = kXmpBits,
826 const uint16_t repeat = kNoRepeat);
827 #endif // SEND_XMP
828 #if SEND_TRUMA
829 void sendTruma(const uint64_t data, const uint16_t nbits = kTrumaBits,
830 const uint16_t repeat = kNoRepeat);
831 #endif // SEND_TRUMA
832 #if SEND_TEKNOPOINT
833 void sendTeknopoint(const unsigned char data[],
834 const uint16_t nbytes = kTeknopointStateLength,
835 const uint16_t repeat = kNoRepeat);
836 #endif // SEND_TEKNOPOINT
837 #if SEND_KELON
838 void sendKelon(const uint64_t data, const uint16_t nbits = kKelonBits,
839 const uint16_t repeat = kNoRepeat);
840 #endif // SEND_KELON
841 #if SEND_KELON168
842 void sendKelon168(const unsigned char data[],
843 const uint16_t nbytes = kKelon168StateLength,
844 const uint16_t repeat = kNoRepeat);
845 #endif // SEND_KELON168
846 #if SEND_BOSE
847 void sendBose(const uint64_t data, const uint16_t nbits = kBoseBits,
848 const uint16_t repeat = kNoRepeat);
849 #endif // SEND_BOSE
850 #if SEND_ARRIS
851 void sendArris(const uint64_t data, const uint16_t nbits = kArrisBits,
852 const uint16_t repeat = kNoRepeat);
853 static uint32_t toggleArrisRelease(const uint32_t data);
854 static uint32_t encodeArris(const uint32_t command, const bool release);
855 #endif // SEND_ARRIS
856 #if SEND_RHOSS
857 void sendRhoss(const unsigned char data[],
858 const uint16_t nbytes = kRhossStateLength,
859 const uint16_t repeat = kRhossDefaultRepeat);
860 #endif // SEND_RHOSS
861 #if SEND_AIRTON
862 void sendAirton(const uint64_t data, const uint16_t nbits = kAirtonBits,
863 const uint16_t repeat = kAirtonDefaultRepeat);
864 #endif // SEND_AIRTON
865 #if SEND_TOTO
866 void sendToto(const uint64_t data, const uint16_t nbits = kTotoBits,
867 const uint16_t repeat = kTotoDefaultRepeat);
868 #endif // SEND_TOTO
869 #if SEND_CLIMABUTLER
870 void sendClimaButler(const uint64_t data,
871 const uint16_t nbits = kClimaButlerBits,
872 const uint16_t repeat = kNoRepeat);
873 #endif // SEND_CLIMABUTLER
874 #if SEND_BOSCH144
875 void sendBosch144(const unsigned char data[],
876 const uint16_t nbytes = kBosch144StateLength,
877 const uint16_t repeat = kNoRepeat);
878 #endif // SEND_BOSCH144
879 #if SEND_WOWWEE
880 void sendWowwee(const uint64_t data, const uint16_t nbits = kWowweeBits,
881 const uint16_t repeat = kWowweeDefaultRepeat);
882 #endif // SEND_WOWWEE
883 #if SEND_YORK
884 void sendYork(const unsigned char data[],
885 const uint16_t nbytes = kYorkStateLength,
886 const uint16_t repeat = kNoRepeat);
887 #endif // SEND_YORK
888
889 protected:
890 #ifdef UNIT_TEST
891 #ifndef HIGH
892 #define HIGH 0x1
893 #endif
894 #ifndef LOW
895 #define LOW 0x0
896 #endif
897 #endif // UNIT_TEST
898 uint8_t outputOn;
899 uint8_t outputOff;
900 VIRTUAL void ledOff();
901 VIRTUAL void ledOn();
902 #ifndef UNIT_TEST
903
904 private:
905 #else
906 uint32_t _freq_unittest;
907 #endif // UNIT_TEST
908 uint16_t onTimePeriod;
909 uint16_t offTimePeriod;
910 uint16_t IRpin;
911 int8_t periodOffset;
912 uint8_t _dutycycle;
913 bool modulation;
914 uint32_t calcUSecPeriod(uint32_t hz, bool use_offset = true);
915 #if SEND_SONY
916 void _sendSony(const uint64_t data, const uint16_t nbits,
917 const uint16_t repeat, const uint16_t freq);
918 #endif // SEND_SONY
919 };
920
921 #endif // IRSEND_H_
IRsend::calcUSecPeriod
uint32_t calcUSecPeriod(uint32_t hz, bool use_offset=true)
Calculate the period for a given frequency.
Definition: IRsend.cpp:71
stdAc::swingv_t::kUpperMiddle
@ kUpperMiddle
kDaikin152DefaultRepeat
const uint16_t kDaikin152DefaultRepeat
Definition: IRremoteESP8266.h:1207
IRsend::sendZepeal
void sendZepeal(const uint64_t data, const uint16_t nbits=kZepealBits, const uint16_t repeat=kZepealMinRepeat)
Send a Zepeal formatted message. Status: STABLE / Works on real device.
Definition: ir_Zepeal.cpp:47
kDelonghiAcBits
const uint16_t kDelonghiAcBits
Definition: IRremoteESP8266.h:1220
IRsend::sendHaierACYRW02
void sendHaierACYRW02(const unsigned char data[], const uint16_t nbytes=kHaierACYRW02StateLength, const uint16_t repeat=kHaierAcYrw02DefaultRepeat)
Send a Haier YR-W02 remote A/C formatted message. Status: STABLE / Known to be working.
Definition: ir_Haier.cpp:79
kHaierAcYrw02DefaultRepeat
const uint16_t kHaierAcYrw02DefaultRepeat
Definition: IRremoteESP8266.h:1257
IRsend::sendPronto
void sendPronto(uint16_t data[], uint16_t len, uint16_t repeat=kNoRepeat)
Send a Pronto Code formatted message. Status: STABLE / Known working.
Definition: ir_Pronto.cpp:56
IRsend::sendTeknopoint
void sendTeknopoint(const unsigned char data[], const uint16_t nbytes=kTeknopointStateLength, const uint16_t repeat=kNoRepeat)
Send a Teknopoint formatted message. Status: BETA / Probably works.
Definition: ir_Teknopoint.cpp:30
kHaierAC160StateLength
const uint16_t kHaierAC160StateLength
Definition: IRremoteESP8266.h:1258
IRsend::outputOff
uint8_t outputOff
Definition: IRsend.h:899
IRsend::periodOffset
int8_t periodOffset
Definition: IRsend.h:911
kMitsubishiACStateLength
const uint16_t kMitsubishiACStateLength
Definition: IRremoteESP8266.h:1314
kMitsubishiHeavy152StateLength
const uint16_t kMitsubishiHeavy152StateLength
Definition: IRremoteESP8266.h:1326
kAirwellMinRepeats
const uint16_t kAirwellMinRepeats
Definition: IRremoteESP8266.h:1151
kMideaMinRepeat
const uint16_t kMideaMinRepeat
Definition: IRremoteESP8266.h:1304
kMilesMinRepeat
const uint16_t kMilesMinRepeat
Definition: IRremoteESP8266.h:1430
stdAc::state_t::clock
int16_t clock
Definition: IRsend.h:132
kGicableBits
const uint16_t kGicableBits
Definition: IRremoteESP8266.h:1244
kTcl96AcDefaultRepeat
const uint16_t kTcl96AcDefaultRepeat
Definition: IRremoteESP8266.h:1391
kGreeStateLength
const uint16_t kGreeStateLength
Definition: IRremoteESP8266.h:1249
GZ055BE1
@ GZ055BE1
Definition: IRsend.h:201
IRsend::encodeNEC
uint32_t encodeNEC(uint16_t address, uint16_t command)
Calculate the raw NEC data based on address and command. Status: STABLE / Expected to work.
Definition: ir_NEC.cpp:48
decode_type_t
decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition: IRremoteESP8266.h:1011
IRsend::encodeDoshisha
uint64_t encodeDoshisha(const uint8_t command, const uint8_t channel=0)
Encode Doshisha combining constant values with command and channel. Status: STABLE / Working.
Definition: ir_Doshisha.cpp:67
kCarrierAcBits
const uint16_t kCarrierAcBits
Definition: IRremoteESP8266.h:1173
IRsend::sendHaierAC160
void sendHaierAC160(const unsigned char data[], const uint16_t nbytes=kHaierAC160StateLength, const uint16_t repeat=kHaierAc160DefaultRepeat)
Send a Haier 160 bit remote A/C formatted message. Status: STABLE / Known to be working.
Definition: ir_Haier.cpp:103
stdAc::swingv_t::kLow
@ kLow
IRsend::sendHitachiAc344
void sendHitachiAc344(const unsigned char data[], const uint16_t nbytes=kHitachiAc344StateLength, const uint16_t repeat=kHitachiAcDefaultRepeat)
Send a Hitachi A/C 43-byte/344-bit message. (HITACHI_AC344) Basically the same as sendHitachiAC() exc...
Definition: ir_Hitachi.cpp:131
kDaikin2DefaultRepeat
const uint16_t kDaikin2DefaultRepeat
Definition: IRremoteESP8266.h:1196
kVoltasUnknown
@ kVoltasUnknown
Definition: IRsend.h:206
kMultibracketsBits
const uint16_t kMultibracketsBits
Definition: IRremoteESP8266.h:1329
kWhynterBits
const uint16_t kWhynterBits
Definition: IRremoteESP8266.h:1419
stdAc::opmode_t::kAuto
@ kAuto
kAirwellBits
const uint16_t kAirwellBits
Definition: IRremoteESP8266.h:1150
kHaierAcDefaultRepeat
const uint16_t kHaierAcDefaultRepeat
Definition: IRremoteESP8266.h:1254
kBosch144StateLength
const uint16_t kBosch144StateLength
Definition: IRremoteESP8266.h:1168
kCarrierAc128StateLength
const uint16_t kCarrierAc128StateLength
Definition: IRremoteESP8266.h:1182
IRsend::sendMidea
void sendMidea(uint64_t data, uint16_t nbits=kMideaBits, uint16_t repeat=kMideaMinRepeat)
Send a Midea message Status: Alpha / Needs testing against a real device.
Definition: ir_Midea.cpp:54
kTrotecDefaultRepeat
const uint16_t kTrotecDefaultRepeat
Definition: IRremoteESP8266.h:1414
kFujitsuAcMinRepeat
const uint16_t kFujitsuAcMinRepeat
Definition: IRremoteESP8266.h:1239
kGorenjeBits
const uint16_t kGorenjeBits
Definition: IRremoteESP8266.h:1248
IRsend::sendLG
void sendLG(uint64_t data, uint16_t nbits=kLgBits, uint16_t repeat=kNoRepeat)
Send an LG formatted message. (LG) Status: Beta / Should be working.
Definition: ir_LG.cpp:70
IRsend::sendKelon
void sendKelon(const uint64_t data, const uint16_t nbits=kKelonBits, const uint16_t repeat=kNoRepeat)
Send a Kelon 48-bit message. Status: STABLE / Working.
Definition: ir_Kelon.cpp:55
IRsend::sendYork
void sendYork(const unsigned char data[], const uint16_t nbytes=kYorkStateLength, const uint16_t repeat=kNoRepeat)
Send a 17 Byte / 136 bit York A/C message. Status: ALPHA / Untested.
Definition: ir_York.cpp:47
kSanyoAc88StateLength
const uint16_t kSanyoAc88StateLength
Definition: IRremoteESP8266.h:1363
kPanasonicRkr
@ kPanasonicRkr
Definition: IRsend.h:188
kMitsubishi136MinRepeat
const uint16_t kMitsubishi136MinRepeat
Definition: IRremoteESP8266.h:1319
UNKNOWN
@ UNKNOWN
Definition: IRremoteESP8266.h:1012
stdAc::swingv_t
swingv_t
Common A/C settings for Vertical Swing.
Definition: IRsend.h:74
kArrisBits
const uint16_t kArrisBits
Definition: IRremoteESP8266.h:1167
kAirtonDefaultRepeat
const uint16_t kAirtonDefaultRepeat
Definition: IRremoteESP8266.h:1149
IRsend::_delayMicroseconds
VIRTUAL void _delayMicroseconds(uint32_t usec)
An ESP8266 RTOS watch-dog timer friendly version of delayMicroseconds().
Definition: IRsend.cpp:114
stdAc::state_t::clean
bool clean
Definition: IRsend.h:129
IRsend::sendLegoPf
void sendLegoPf(const uint64_t data, const uint16_t nbits=kLegoPfBits, const uint16_t repeat=kLegoPfMinRepeat)
Send a LEGO Power Functions message. Status: Beta / Should work.
Definition: ir_Lego.cpp:33
kTechnibelAcBits
const uint16_t kTechnibelAcBits
Definition: IRremoteESP8266.h:1222
kArgoDefaultRepeat
const uint16_t kArgoDefaultRepeat
Definition: IRremoteESP8266.h:1166
IRsend::outputOn
uint8_t outputOn
Definition: IRsend.h:898
kRhossStateLength
const uint16_t kRhossStateLength
Definition: IRremoteESP8266.h:1432
kHaierACStateLength
const uint16_t kHaierACStateLength
Definition: IRremoteESP8266.h:1252
kHitachiAcStateLength
const uint16_t kHitachiAcStateLength
Definition: IRremoteESP8266.h:1264
stdAc::swingh_t::kLeft
@ kLeft
IRsend::sendTruma
void sendTruma(const uint64_t data, const uint16_t nbits=kTrumaBits, const uint16_t repeat=kNoRepeat)
Send a Truma formatted message. Status: STABLE / Confirmed working.
Definition: ir_Truma.cpp:40
kDaikin176StateLength
const uint16_t kDaikin176StateLength
Definition: IRremoteESP8266.h:1208
KKG9AC1
@ KKG9AC1
Definition: IRsend.h:176
kRC5XBits
const uint16_t kRC5XBits
Definition: IRremoteESP8266.h:1350
kEpsonMinRepeat
const uint16_t kEpsonMinRepeat
Definition: IRremoteESP8266.h:1233
kAmcorStateLength
const uint16_t kAmcorStateLength
Definition: IRremoteESP8266.h:1155
IRsend::send
bool send(const decode_type_t type, const uint64_t data, const uint16_t nbits, const uint16_t repeat=kNoRepeat)
Send a simple (up to 64 bits) IR message of a given type. An unknown/unsupported type will send nothi...
Definition: IRsend.cpp:816
stdAc::fanspeed_t
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:61
R_LT0541_HTA_B
@ R_LT0541_HTA_B
Definition: IRsend.h:171
IRsend::sendWhynter
void sendWhynter(const uint64_t data, const uint16_t nbits=kWhynterBits, const uint16_t repeat=kNoRepeat)
Send a Whynter message. Status: STABLE.
Definition: ir_Whynter.cpp:45
whirlpool_ac_remote_model_t
whirlpool_ac_remote_model_t
Whirlpool A/C model numbers.
Definition: IRsend.h:211
IRsend::sendMitsubishiAC
void sendMitsubishiAC(const unsigned char data[], const uint16_t nbytes=kMitsubishiACStateLength, const uint16_t repeat=kMitsubishiACMinRepeat)
Send a Mitsubishi 144-bit A/C formatted message. (MITSUBISHI_AC) Status: STABLE / Working.
Definition: ir_Mitsubishi.cpp:236
IRsend::sendNikai
void sendNikai(uint64_t data, uint16_t nbits=kNikaiBits, uint16_t repeat=kNoRepeat)
Send a Nikai formatted message. Status: STABLE / Working.
Definition: ir_Nikai.cpp:37
kDefaultMessageGap
const uint32_t kDefaultMessageGap
Definition: IRsend.h:41
kMaxAccurateUsecDelay
const uint16_t kMaxAccurateUsecDelay
Definition: IRsend.h:39
IRsend::encodeJVC
uint16_t encodeJVC(uint8_t address, uint8_t command)
Calculate the raw JVC data based on address and command. Status: STABLE / Works fine.
Definition: ir_JVC.cpp:78
IRsend::onTimePeriod
uint16_t onTimePeriod
Definition: IRsend.h:908
IRsend::sendAiwaRCT501
void sendAiwaRCT501(uint64_t data, uint16_t nbits=kAiwaRcT501Bits, uint16_t repeat=kAiwaRcT501MinRepeats)
Send an Aiwa RC T501 formatted message. Status: BETA / Should work.
Definition: ir_Aiwa.cpp:30
IRsend::sendArgoWREM3
void sendArgoWREM3(const unsigned char data[], const uint16_t nbytes=kArgoStateLength, const uint16_t repeat=kArgoDefaultRepeat)
Send a Argo A/C formatted message. Status: Confirmed working w/ Argo 13 ECO (WREM-3)
Definition: ir_Argo.cpp:89
IRsend::sendArgo
void sendArgo(const unsigned char data[], const uint16_t nbytes=kArgoStateLength, const uint16_t repeat=kArgoDefaultRepeat, bool sendFooter=false)
Send a Argo A/C formatted message. Status: [WREM-2] BETA / Probably works. [WREM-3] Confirmed working...
Definition: ir_Argo.cpp:63
IRsend::IRpin
uint16_t IRpin
Definition: IRsend.h:910
kBoseBits
const uint16_t kBoseBits
Definition: IRremoteESP8266.h:1431
kClimaButlerBits
const uint16_t kClimaButlerBits
Definition: IRremoteESP8266.h:1435
kHitachiAc1StateLength
const uint16_t kHitachiAc1StateLength
Definition: IRremoteESP8266.h:1267
kNoTempValue
const float kNoTempValue
Placeholder for missing sensor temp value.
Definition: IRsend.h:44
kCoolixBits
const uint16_t kCoolixBits
Definition: IRremoteESP8266.h:1170
tcl_ac_remote_model_t
tcl_ac_remote_model_t
TCL (& Teknopoint) A/C model numbers.
Definition: IRsend.h:199
kMitsubishi112MinRepeat
const uint16_t kMitsubishi112MinRepeat
Definition: IRremoteESP8266.h:1322
kHaierAC176StateLength
const uint16_t kHaierAC176StateLength
Definition: IRremoteESP8266.h:1261
kMirageStateLength
const uint16_t kMirageStateLength
Definition: IRremoteESP8266.h:1307
stdAc::ac_command_t::kConfigCommand
@ kConfigCommand
IRsend::sendSymphony
void sendSymphony(uint64_t data, uint16_t nbits=kSymphonyBits, uint16_t repeat=kSymphonyDefaultRepeat)
Send a Symphony packet. Status: STABLE / Should be working.
Definition: ir_Symphony.cpp:51
IRsend::sendMetz
void sendMetz(const uint64_t data, const uint16_t nbits=kMetzBits, const uint16_t repeat=kMetzMinRepeat)
Send a Metz formatted message. Status: Beta / Needs testing against a real device.
Definition: ir_Metz.cpp:32
kTeknopointStateLength
const uint16_t kTeknopointStateLength
Definition: IRremoteESP8266.h:1397
kDaikin200StateLength
const uint16_t kDaikin200StateLength
Definition: IRremoteESP8266.h:1211
stdAc::state_t::iFeel
bool iFeel
Definition: IRsend.h:134
IRsend::sendGeneric
void sendGeneric(const uint16_t headermark, const uint32_t headerspace, const uint16_t onemark, const uint32_t onespace, const uint16_t zeromark, const uint32_t zerospace, const uint16_t footermark, const uint32_t gap, const uint64_t data, const uint16_t nbits, const uint16_t frequency, const bool MSBfirst, const uint16_t repeat, const uint8_t dutycycle)
Generic method for sending simple protocol messages. Will send leading or trailing 0's if the nbits i...
Definition: IRsend.cpp:307
stdAc::fanspeed_t::kHigh
@ kHigh
kSamsung36Bits
const uint16_t kSamsung36Bits
Definition: IRremoteESP8266.h:1355
kMagiquestBits
const uint16_t kMagiquestBits
Definition: IRremoteESP8266.h:1300
IRsend::minRepeats
static uint16_t minRepeats(const decode_type_t protocol)
Get the minimum number of repeats for a given protocol.
Definition: IRsend.cpp:557
kNeoclimaStateLength
const uint16_t kNeoclimaStateLength
Definition: IRremoteESP8266.h:1333
gree_ac_remote_model_t
gree_ac_remote_model_t
Gree A/C model numbers.
Definition: IRsend.h:155
kSamsungAcDefaultRepeat
const uint16_t kSamsungAcDefaultRepeat
Definition: IRremoteESP8266.h:1360
kSanyoLC7461Bits
const uint16_t kSanyoLC7461Bits
Definition: IRremoteESP8266.h:1372
V9014557_B
@ V9014557_B
Definition: IRsend.h:165
stdAc::state_t::degrees
float degrees
Definition: IRsend.h:119
kMirageMinRepeat
const uint16_t kMirageMinRepeat
Definition: IRremoteESP8266.h:1309
IRsend::_dutycycle
uint8_t _dutycycle
Definition: IRsend.h:912
stdAc::state_t::celsius
bool celsius
Definition: IRsend.h:120
IRsend::sendLG2
void sendLG2(uint64_t data, uint16_t nbits=kLgBits, uint16_t repeat=kNoRepeat)
Send an LG Variant-2 formatted message. (LG2) Status: Beta / Should be working.
Definition: ir_LG.cpp:104
IRsend::sendKelon168
void sendKelon168(const unsigned char data[], const uint16_t nbytes=kKelon168StateLength, const uint16_t repeat=kNoRepeat)
Send a Kelon 168 bit / 21 byte message. Status: BETA / Probably works.
Definition: ir_Kelon.cpp:457
kZepealMinRepeat
const uint16_t kZepealMinRepeat
Definition: IRremoteESP8266.h:1425
IRsend::mark
VIRTUAL uint16_t mark(uint16_t usec)
Modulate the IR LED for the given period (usec) and at the duty cycle set.
Definition: IRsend.cpp:157
IRsend::sendHitachiAc296
void sendHitachiAc296(const unsigned char data[], const uint16_t nbytes=kHitachiAc296StateLength, const uint16_t repeat=kHitachiAcDefaultRepeat)
Send a HitachiAc 37-byte/296-bit A/C message (HITACHI_AC296) Status: STABLE / Working on a real devic...
Definition: ir_Hitachi.cpp:1717
IRsend::sendToshibaAC
void sendToshibaAC(const uint8_t data[], const uint16_t nbytes=kToshibaACStateLength, const uint16_t repeat=kToshibaACMinRepeat)
Send a Toshiba A/C message. Status: STABLE / Working.
Definition: ir_Toshiba.cpp:50
ARRY4
@ ARRY4
(5) AR-RY4 (Same as AR-RAH2E but with clean & filter)
Definition: IRsend.h:150
ARDB1
@ ARDB1
(2) AR-DB1, AR-DL10 (AR-DL10 swing doesn't work)
Definition: IRsend.h:146
kTranscoldDefaultRepeat
const uint16_t kTranscoldDefaultRepeat
Definition: IRremoteESP8266.h:1411
kMetzMinRepeat
const uint16_t kMetzMinRepeat
Definition: IRremoteESP8266.h:1302
stdAc::fanspeed_t::kMax
@ kMax
IRsend::sendDaikin152
void sendDaikin152(const unsigned char data[], const uint16_t nbytes=kDaikin152StateLength, const uint16_t repeat=kDaikin152DefaultRepeat)
Send a Daikin152 (152-bit) A/C formatted message. Status: STABLE / Known Working.
Definition: ir_Daikin.cpp:2982
kHitachiAc264StateLength
const uint16_t kHitachiAc264StateLength
Definition: IRremoteESP8266.h:1275
kEliteScreensBits
const uint16_t kEliteScreensBits
Definition: IRremoteESP8266.h:1237
IRsend::sendAmcor
void sendAmcor(const unsigned char data[], const uint16_t nbytes=kAmcorStateLength, const uint16_t repeat=kAmcorDefaultRepeat)
Send a Amcor HVAC formatted message. Status: STABLE / Reported as working.
Definition: ir_Amcor.cpp:38
IRsend::sendWowwee
void sendWowwee(const uint64_t data, const uint16_t nbits=kWowweeBits, const uint16_t repeat=kWowweeDefaultRepeat)
Send a WowWee formatted message. Status: STABLE / Confirmed working with real device.
Definition: ir_Wowwee.cpp:52
stdAc::state_t::swingv
stdAc::swingv_t swingv
Definition: IRsend.h:122
IRsend::sendCoolix48
void sendCoolix48(const uint64_t data, const uint16_t nbits=kCoolix48Bits, const uint16_t repeat=kCoolixDefaultRepeat)
Send a Coolix 48-bit message. Status: ALPHA / Untested.
Definition: ir_Coolix.cpp:716
IRsend::sendLasertag
void sendLasertag(uint64_t data, uint16_t nbits=kLasertagBits, uint16_t repeat=kLasertagMinRepeat)
Send a Lasertag packet/message. Status: STABLE / Working.
Definition: ir_Lasertag.cpp:33
hitachi_ac1_remote_model_t
hitachi_ac1_remote_model_t
HITACHI_AC1 A/C model numbers.
Definition: IRsend.h:169
IRsend::sendEpson
void sendEpson(uint64_t data, uint16_t nbits=kEpsonBits, uint16_t repeat=kEpsonMinRepeat)
Send an Epson formatted message. Status: Beta / Probably works.
Definition: ir_Epson.cpp:31
IRsend::sendSanyoAc88
void sendSanyoAc88(const uint8_t *data, const uint16_t nbytes=kSanyoAc88StateLength, const uint16_t repeat=kSanyoAc88MinRepeat)
Send a SanyoAc88 formatted message. Status: ALPHA / Completely untested.
Definition: ir_Sanyo.cpp:687
IRsend
Class for sending all basic IR protocols.
Definition: IRsend.h:237
IRsend::sendManchesterData
void sendManchesterData(const uint16_t half_period, const uint64_t data, const uint16_t nbits, const bool MSBfirst=true, const bool GEThomas=true)
Generic method for sending Manchester code data. Will send leading or trailing 0's if the nbits is la...
Definition: IRsend.cpp:445
YX1FSF
@ YX1FSF
Definition: IRsend.h:158
kAiwaRcT501MinRepeats
const uint16_t kAiwaRcT501MinRepeats
Definition: IRremoteESP8266.h:1153
IRsend::calibrate
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition: IRsend.cpp:207
kVoltasStateLength
const uint16_t kVoltasStateLength
Definition: IRremoteESP8266.h:1427
stdAc::state_t::command
stdAc::ac_command_t command
Definition: IRsend.h:133
stdAc::fanspeed_t::kMin
@ kMin
IRsend::sendCarrierAC128
void sendCarrierAC128(const uint8_t data[], uint16_t nbytes=kCarrierAc128StateLength, uint16_t repeat=kCarrierAc128MinRepeat)
Send a Carrier 128bit HVAC formatted message. Status: BETA / Seems to work with tests....
Definition: ir_Carrier.cpp:563
stdAc::ac_command_t
ac_command_t
Tyoe of A/C command (if the remote uses different codes for each)
Definition: IRsend.h:90
kMitsubishiMinRepeat
const uint16_t kMitsubishiMinRepeat
Definition: IRremoteESP8266.h:1313
IRsend::encodeSanyoLC7461
uint64_t encodeSanyoLC7461(uint16_t address, uint8_t command)
(%) Extra tolerance to use.
Definition: ir_Sanyo.cpp:98
IRsend::sendDaikin312
void sendDaikin312(const unsigned char data[], const uint16_t nbytes=kDaikin312StateLength, const uint16_t repeat=kDaikin312DefaultRepeat)
Send a Daikin312 (312-bit / 39 byte) A/C formatted message. Status: BETA / Untested on a real device.
Definition: ir_Daikin.cpp:3830
ARJW2
@ ARJW2
(4) AR-JW2 (Same as ARDB1 but with horiz control)
Definition: IRsend.h:149
kArgoStateLength
const uint16_t kArgoStateLength
Definition: IRremoteESP8266.h:1158
stdAc::swingh_t::kRightMax
@ kRightMax
kSanyoAc88MinRepeat
const uint16_t kSanyoAc88MinRepeat
Definition: IRremoteESP8266.h:1365
IRsend::encodeSAMSUNG
uint32_t encodeSAMSUNG(const uint8_t customer, const uint8_t command)
Construct a raw Samsung message from the supplied customer(address) & command. Status: STABLE / Shoul...
Definition: ir_Samsung.cpp:110
kPanasonicBits
const uint16_t kPanasonicBits
Definition: IRremoteESP8266.h:1336
stdAc::state_t::model
int16_t model
Definition: IRsend.h:116
IRsend::sendTrotec3550
void sendTrotec3550(const unsigned char data[], const uint16_t nbytes=kTrotecStateLength, const uint16_t repeat=kTrotecDefaultRepeat)
Send a Trotec 3550 message. Status: STABLE / Known to be working.
Definition: ir_Trotec.cpp:357
IRsend::toggleRC6
uint64_t toggleRC6(const uint64_t data, const uint16_t nbits=kRC6Mode0Bits)
Flip the toggle bit of a Philips RC-6 data message. Used to indicate a change of remote button's stat...
Definition: ir_RC5_RC6.cpp:157
IRsend::sendSony
void sendSony(const uint64_t data, const uint16_t nbits=kSony20Bits, const uint16_t repeat=kSonyMinRepeat)
Send a standard Sony/SIRC(Serial Infra-Red Control) message. (40kHz) Status: STABLE / Known working.
Definition: ir_Sony.cpp:47
kDutyMax
const uint8_t kDutyMax
Definition: IRsend.h:36
kMilesTag2ShotBits
const uint16_t kMilesTag2ShotBits
Definition: IRremoteESP8266.h:1428
stdAc::ac_command_t::kTimerCommand
@ kTimerCommand
IRsend::_freq_unittest
uint32_t _freq_unittest
Definition: IRsend.h:906
kDaikin152StateLength
const uint16_t kDaikin152StateLength
Definition: IRremoteESP8266.h:1205
IRsend::encodeLG
uint32_t encodeLG(uint16_t address, uint16_t command)
Construct a raw 28-bit LG message code from the supplied address & command. Status: STABLE / Works.
Definition: ir_LG.cpp:132
IRsend::sendRaw
void sendRaw(const uint16_t buf[], const uint16_t len, const uint16_t hz)
Send a raw IRremote message.
Definition: IRsend.cpp:539
IRsend::sendMultibrackets
void sendMultibrackets(const uint64_t data, const uint16_t nbits=kMultibracketsBits, const uint16_t repeat=kMultibracketsDefaultRepeat)
Send a Multibrackets formatted message. Status: BETA / Appears to be working.
Definition: ir_Multibrackets.cpp:26
stdAc::swingv_t::kHigh
@ kHigh
kSanyoAc152StateLength
const uint16_t kSanyoAc152StateLength
Definition: IRremoteESP8266.h:1366
kXmpBits
const uint16_t kXmpBits
Definition: IRremoteESP8266.h:1423
kHaierACYRW02StateLength
const uint16_t kHaierACYRW02StateLength
Definition: IRremoteESP8266.h:1255
IRsend::encodeRC6
uint64_t encodeRC6(const uint32_t address, const uint8_t command, const uint16_t mode=kRC6Mode0Bits)
Encode a Philips RC-6 data message. Status: Beta / Should be working.
Definition: ir_RC5_RC6.cpp:171
kMultibracketsDefaultRepeat
const uint16_t kMultibracketsDefaultRepeat
Definition: IRremoteESP8266.h:1330
IRsend::sendMitsubishi112
void sendMitsubishi112(const unsigned char data[], const uint16_t nbytes=kMitsubishi112StateLength, const uint16_t repeat=kMitsubishi112MinRepeat)
Send a Mitsubishi 112-bit A/C formatted message. (MITSUBISHI112) Status: Stable / Reported as working...
Definition: ir_Mitsubishi.cpp:1259
A705
@ A705
Definition: IRsend.h:194
SAC_WREM2
@ SAC_WREM2
Definition: IRsend.h:227
kPanasonicCkp
@ kPanasonicCkp
Definition: IRsend.h:187
IRsend::sendArris
void sendArris(const uint64_t data, const uint16_t nbits=kArrisBits, const uint16_t repeat=kNoRepeat)
Send an Arris Manchester Code formatted message. Status: STABLE / Confirmed working.
Definition: ir_Arris.cpp:36
IRsend::sendWhirlpoolAC
void sendWhirlpoolAC(const unsigned char data[], const uint16_t nbytes=kWhirlpoolAcStateLength, const uint16_t repeat=kWhirlpoolAcDefaultRepeat)
Send a Whirlpool A/C message. Status: BETA / Probably works.
Definition: ir_Whirlpool.cpp:55
stdAc::fanspeed_t::kLastFanspeedEnum
@ kLastFanspeedEnum
IRsend::sendData
void sendData(uint16_t onemark, uint32_t onespace, uint16_t zeromark, uint32_t zerospace, uint64_t data, uint16_t nbits, bool MSBfirst=true)
Generic method for sending data that is common to most protocols. Will send leading or trailing 0's i...
Definition: IRsend.cpp:246
kGoodweatherBits
const uint16_t kGoodweatherBits
Definition: IRremoteESP8266.h:1246
IRsend::sendKelvinator
void sendKelvinator(const unsigned char data[], const uint16_t nbytes=kKelvinatorStateLength, const uint16_t repeat=kKelvinatorDefaultRepeat)
Send a Kelvinator A/C message. Status: STABLE / Known working.
Definition: ir_Kelvinator.cpp:64
IRsend::ledOn
VIRTUAL void ledOn()
Turn on the IR LED.
Definition: IRsend.cpp:60
kGicableMinRepeat
const uint16_t kGicableMinRepeat
Definition: IRremoteESP8266.h:1245
IRsend::sendHitachiAC1
void sendHitachiAC1(const unsigned char data[], const uint16_t nbytes=kHitachiAc1StateLength, const uint16_t repeat=kHitachiAcDefaultRepeat)
Send a Hitachi 13 byte/224-bit A/C formatted message. (HITACHI_AC1) Status: STABLE / Confirmed Workin...
Definition: ir_Hitachi.cpp:97
IRsend::sendBosch144
void sendBosch144(const unsigned char data[], const uint16_t nbytes=kBosch144StateLength, const uint16_t repeat=kNoRepeat)
Send a Bosch 144-bit / 18-byte message (96-bit message are also possible) Status: BETA / Probably Wor...
Definition: ir_Bosch.cpp:15
kDaikin216StateLength
const uint16_t kDaikin216StateLength
Definition: IRremoteESP8266.h:1214
IRsend::sendGICable
void sendGICable(uint64_t data, uint16_t nbits=kGicableBits, uint16_t repeat=kGicableMinRepeat)
Send a raw G.I. Cable formatted message. Status: Alpha / Untested.
Definition: ir_GICable.cpp:37
kSamsungAcStateLength
const uint16_t kSamsungAcStateLength
Definition: IRremoteESP8266.h:1356
kKelonBits
const uint16_t kKelonBits
Definition: IRremoteESP8266.h:1286
DG11J13A
@ DG11J13A
Definition: IRsend.h:212
IRsend::sendSharp
void sendSharp(const uint16_t address, const uint16_t command, const uint16_t nbits=kSharpBits, const uint16_t repeat=kNoRepeat)
Send a Sharp message Status: DEPRECATED / Previously working fine.
Definition: ir_Sharp.cpp:135
panasonic_ac_remote_model_t
panasonic_ac_remote_model_t
Panasonic A/C model numbers.
Definition: IRsend.h:181
IRremoteESP8266.h
stdAc::swingh_t
swingh_t
Common A/C settings for Horizontal Swing.
Definition: IRsend.h:100
stdAc::opmode_t::kHeat
@ kHeat
AKB75215403
@ AKB75215403
Definition: IRsend.h:219
IRsend::sendDenon
void sendDenon(uint64_t data, uint16_t nbits=kDenonBits, uint16_t repeat=kNoRepeat)
Send a Denon formatted message. Status: STABLE / Should be working.
Definition: ir_Denon.cpp:48
IRsend::sendCarrierAC64
void sendCarrierAC64(uint64_t data, uint16_t nbits=kCarrierAc64Bits, uint16_t repeat=kCarrierAc64MinRepeat)
Send a Carrier 64bit HVAC formatted message. Status: STABLE / Known to be working.
Definition: ir_Carrier.cpp:196
IRsend::sendPioneer
void sendPioneer(const uint64_t data, const uint16_t nbits=kPioneerBits, const uint16_t repeat=kNoRepeat)
Send a raw Pioneer formatted message. Status: STABLE / Expected to be working.
Definition: ir_Pioneer.cpp:43
YAW1F
@ YAW1F
Definition: IRsend.h:156
kSymphonyBits
const uint16_t kSymphonyBits
Definition: IRremoteESP8266.h:1387
stdAc::swingh_t::kAuto
@ kAuto
kDaikin128StateLength
const uint16_t kDaikin128StateLength
Definition: IRremoteESP8266.h:1202
kKelon168StateLength
const uint16_t kKelon168StateLength
Definition: IRremoteESP8266.h:1287
kRC6Mode0Bits
const uint16_t kRC6Mode0Bits
Definition: IRremoteESP8266.h:1351
kDaikin176DefaultRepeat
const uint16_t kDaikin176DefaultRepeat
Definition: IRremoteESP8266.h:1210
IRsend::sendPanasonic64
void sendPanasonic64(const uint64_t data, const uint16_t nbits=kPanasonicBits, const uint16_t repeat=kNoRepeat)
Send a Panasonic formatted message. Status: STABLE / Should be working.
Definition: ir_Panasonic.cpp:72
kCarrierAc128MinRepeat
const uint16_t kCarrierAc128MinRepeat
Definition: IRremoteESP8266.h:1184
kMitsubishiHeavy152MinRepeat
const uint16_t kMitsubishiHeavy152MinRepeat
Definition: IRremoteESP8266.h:1328
IRsend::sendHaierAC
void sendHaierAC(const unsigned char data[], const uint16_t nbytes=kHaierACStateLength, const uint16_t repeat=kHaierAcDefaultRepeat)
Send a Haier A/C formatted message. (HSU07-HEA03 remote) Status: STABLE / Known to be working.
Definition: ir_Haier.cpp:56
IRsend::sendSamsung36
void sendSamsung36(const uint64_t data, const uint16_t nbits=kSamsung36Bits, const uint16_t repeat=kNoRepeat)
Send a Samsung 36-bit formatted message. Status: STABLE / Works on real devices.
Definition: ir_Samsung.cpp:175
kDaikin200DefaultRepeat
const uint16_t kDaikin200DefaultRepeat
Definition: IRremoteESP8266.h:1213
IRsend::sendVoltas
void sendVoltas(const unsigned char data[], const uint16_t nbytes=kVoltasStateLength, const uint16_t repeat=kNoRepeat)
Send a Voltas formatted message. Status: STABLE / Working on real device.
Definition: ir_Voltas.cpp:41
kNoRepeat
const uint16_t kNoRepeat
Definition: IRremoteESP8266.h:1145
IRsend::offTimePeriod
uint16_t offTimePeriod
Definition: IRsend.h:909
TAC09CHSD
@ TAC09CHSD
Definition: IRsend.h:200
IRsend::sendHaierAC176
void sendHaierAC176(const unsigned char data[], const uint16_t nbytes=kHaierAC176StateLength, const uint16_t repeat=kHaierAc176DefaultRepeat)
Send a Haier 176 bit remote A/C formatted message. Status: STABLE / Known to be working.
Definition: ir_Haier.cpp:91
kSony20Bits
const uint16_t kSony20Bits
Definition: IRremoteESP8266.h:1384
kMitsubishiACMinRepeat
const uint16_t kMitsubishiACMinRepeat
Definition: IRremoteESP8266.h:1316
kMetzBits
const uint16_t kMetzBits
Definition: IRremoteESP8266.h:1301
IRsend::sendSony38
void sendSony38(const uint64_t data, const uint16_t nbits=kSony20Bits, const uint16_t repeat=kSonyMinRepeat+1)
Send an alternative 38kHz Sony/SIRC(Serial Infra-Red Control) message. Status: STABLE / Known working...
Definition: ir_Sony.cpp:63
IRsend::encodeSony
uint32_t encodeSony(const uint16_t nbits, const uint16_t command, const uint16_t address, const uint16_t extended=0)
Convert Sony/SIRC command, address, & extended bits into sendSony format. Status: STABLE / Should be ...
Definition: ir_Sony.cpp:89
stdAc::swingv_t::kAuto
@ kAuto
kPanasonicUnknown
@ kPanasonicUnknown
Definition: IRsend.h:182
fujitsu_ac_remote_model_t
fujitsu_ac_remote_model_t
Fujitsu A/C model numbers.
Definition: IRsend.h:140
kPanasonicAcDefaultRepeat
const uint16_t kPanasonicAcDefaultRepeat
Definition: IRremoteESP8266.h:1344
kSymphonyDefaultRepeat
const uint16_t kSymphonyDefaultRepeat
Definition: IRremoteESP8266.h:1388
ARREB1E
@ ARREB1E
(3) AR-REB1E, AR-RAH1U (Similar to ARRAH2E but no horiz control)
Definition: IRsend.h:147
IRsend::sendPanasonicAC
void sendPanasonicAC(const unsigned char data[], const uint16_t nbytes=kPanasonicAcStateLength, const uint16_t repeat=kPanasonicAcDefaultRepeat)
Send a Panasonic A/C message. Status: STABLE / Work with real device(s).
Definition: ir_Panasonic.cpp:180
kYorkStateLength
const uint16_t kYorkStateLength
Definition: IRremoteESP8266.h:1437
stdAc::state_t::swingh
stdAc::swingh_t swingh
Definition: IRsend.h:123
kCoolixDefaultRepeat
const uint16_t kCoolixDefaultRepeat
Definition: IRremoteESP8266.h:1172
kPanasonicNke
@ kPanasonicNke
Definition: IRsend.h:184
GE6711AR2853M
@ GE6711AR2853M
Definition: IRsend.h:218
ARREW4E
@ ARREW4E
(6) Similar to ARRAH2E, but with different temp config.
Definition: IRsend.h:151
IRsend::sendToto
void sendToto(const uint64_t data, const uint16_t nbits=kTotoBits, const uint16_t repeat=kTotoDefaultRepeat)
Send a Toto Toilet formatted message. Status: BETA / Seems to work.
Definition: ir_Toto.cpp:33
IRsend::sendHitachiAc3
void sendHitachiAc3(const unsigned char data[], const uint16_t nbytes, const uint16_t repeat=kHitachiAcDefaultRepeat)
Send a Hitachi(3) A/C formatted message. (HITACHI_AC3) Status: STABLE / Working fine.
Definition: ir_Hitachi.cpp:1351
kTcl112AcDefaultRepeat
const uint16_t kTcl112AcDefaultRepeat
Definition: IRremoteESP8266.h:1394
kDelonghiAcDefaultRepeat
const uint16_t kDelonghiAcDefaultRepeat
Definition: IRremoteESP8266.h:1221
IRsend::sendSanyoAc
void sendSanyoAc(const uint8_t *data, const uint16_t nbytes=kSanyoAcStateLength, const uint16_t repeat=kNoRepeat)
Send a SanyoAc formatted message. Status: STABLE / Reported as working.
Definition: ir_Sanyo.cpp:270
kSanyoAc152MinRepeat
const uint16_t kSanyoAc152MinRepeat
Definition: IRremoteESP8266.h:1368
kCoronaAcStateLength
const uint16_t kCoronaAcStateLength
Definition: IRremoteESP8266.h:1186
IRsend::sendRhoss
void sendRhoss(const unsigned char data[], const uint16_t nbytes=kRhossStateLength, const uint16_t repeat=kRhossDefaultRepeat)
Send a Rhoss HVAC formatted message. Status: STABLE / Reported as working.
Definition: ir_Rhoss.cpp:33
IRsend::sendRC5
void sendRC5(const uint64_t data, uint16_t nbits=kRC5XBits, const uint16_t repeat=kNoRepeat)
Send a Philips RC-5/RC-5X packet. Status: RC-5 (stable), RC-5X (alpha)
Definition: ir_RC5_RC6.cpp:61
IRsend::sendMitsubishi
void sendMitsubishi(uint64_t data, uint16_t nbits=kMitsubishiBits, uint16_t repeat=kMitsubishiMinRepeat)
Send the supplied Mitsubishi 16-bit message. Status: STABLE / Working.
Definition: ir_Mitsubishi.cpp:107
IRsend::sendAirwell
void sendAirwell(uint64_t data, uint16_t nbits=kAirwellBits, uint16_t repeat=kAirwellMinRepeats)
Send an Airwell Manchester Code formatted message. Status: BETA / Appears to be working.
Definition: ir_Airwell.cpp:31
kDoshishaBits
const uint16_t kDoshishaBits
Definition: IRremoteESP8266.h:1229
kHaierAc176DefaultRepeat
const uint16_t kHaierAc176DefaultRepeat
Definition: IRremoteESP8266.h:1263
kCarrierAc40Bits
const uint16_t kCarrierAc40Bits
Definition: IRremoteESP8266.h:1175
stdAc::fanspeed_t::kMedium
@ kMedium
kTrotecStateLength
const uint16_t kTrotecStateLength
Definition: IRremoteESP8266.h:1412
kWhirlpoolAcDefaultRepeat
const uint16_t kWhirlpoolAcDefaultRepeat
Definition: IRremoteESP8266.h:1418
IRsend::sendMirage
void sendMirage(const unsigned char data[], const uint16_t nbytes=kMirageStateLength, const uint16_t repeat=kMirageMinRepeat)
Send a Mirage formatted message. Status: STABLE / Reported as working.
Definition: ir_Mirage.cpp:53
IRsend::sendSAMSUNG
void sendSAMSUNG(const uint64_t data, const uint16_t nbits=kSamsungBits, const uint16_t repeat=kNoRepeat)
Send a 32-bit Samsung formatted message. Status: STABLE / Should be working.
Definition: ir_Samsung.cpp:96
kHitachiAc424StateLength
const uint16_t kHitachiAc424StateLength
Definition: IRremoteESP8266.h:1281
kMitsubishiHeavy88StateLength
const uint16_t kMitsubishiHeavy88StateLength
Definition: IRremoteESP8266.h:1323
IRsend::sendNeoclima
void sendNeoclima(const unsigned char data[], const uint16_t nbytes=kNeoclimaStateLength, const uint16_t repeat=kNeoclimaMinRepeat)
Send a Neoclima message. Status: STABLE / Known to be working.
Definition: ir_Neoclima.cpp:40
kTcl96AcStateLength
const uint16_t kTcl96AcStateLength
Definition: IRremoteESP8266.h:1389
IRsend::sendSharpRaw
void sendSharpRaw(const uint64_t data, const uint16_t nbits=kSharpBits, const uint16_t repeat=kNoRepeat)
Send a (raw) Sharp message.
Definition: ir_Sharp.cpp:65
V9014557_A
@ V9014557_A
Definition: IRsend.h:164
stdAc::opmode_t::kLastOpmodeEnum
@ kLastOpmodeEnum
IRsend::sendGree
void sendGree(const uint64_t data, const uint16_t nbits=kGreeBits, const uint16_t repeat=kGreeDefaultRepeat)
Send a Gree Heat Pump formatted message. Status: STABLE / Working.
Definition: ir_Gree.cpp:76
stdAc::opmode_t::kOff
@ kOff
IRsend::sendEcoclim
void sendEcoclim(const uint64_t data, const uint16_t nbits=kEcoclimBits, const uint16_t repeat=kNoRepeat)
Send a EcoClim A/C formatted message. Status: STABLE / Confirmed working on real device.
Definition: ir_Ecoclim.cpp:41
kMitsubishiBits
const uint16_t kMitsubishiBits
Definition: IRremoteESP8266.h:1310
IRsend::sendMitsubishi136
void sendMitsubishi136(const unsigned char data[], const uint16_t nbytes=kMitsubishi136StateLength, const uint16_t repeat=kMitsubishi136MinRepeat)
Send a Mitsubishi 136-bit A/C message. (MITSUBISHI136) Status: BETA / Probably working....
Definition: ir_Mitsubishi.cpp:894
stdAc
Enumerators and Structures for the Common A/C API.
Definition: IRsend.h:47
stdAc::ac_command_t::kLastAcCommandEnum
@ kLastAcCommandEnum
R_LT0541_HTA_A
@ R_LT0541_HTA_A
Definition: IRsend.h:170
kPanasonicAcStateLength
const uint16_t kPanasonicAcStateLength
Definition: IRremoteESP8266.h:1340
IRsend::sendMitsubishiHeavy88
void sendMitsubishiHeavy88(const unsigned char data[], const uint16_t nbytes=kMitsubishiHeavy88StateLength, const uint16_t repeat=kMitsubishiHeavy88MinRepeat)
Send a MitsubishiHeavy 88-bit A/C message. Status: BETA / Appears to be working. Needs testing agains...
Definition: ir_MitsubishiHeavy.cpp:47
IRsend::sendGorenje
void sendGorenje(const uint64_t data, const uint16_t nbits=kGorenjeBits, const uint16_t repeat=kNoRepeat)
Send a Gorenje Cooker Hood formatted message. Status: STABLE / Known working.
Definition: ir_Gorenje.cpp:29
IRsend::sendVestelAc
void sendVestelAc(const uint64_t data, const uint16_t nbits=kVestelAcBits, const uint16_t repeat=kNoRepeat)
Send a Vestel message Status: STABLE / Working.
Definition: ir_Vestel.cpp:36
IRsend::sendTcl96Ac
void sendTcl96Ac(const unsigned char data[], const uint16_t nbytes=kTcl96AcStateLength, const uint16_t repeat=kTcl96AcDefaultRepeat)
Send a TCL 96-bit A/C message. Status: BETA / Untested on a real device working.
Definition: ir_Tcl.cpp:546
kMideaBits
const uint16_t kMideaBits
Definition: IRremoteESP8266.h:1303
IRsend::encodeMetz
static uint32_t encodeMetz(const uint8_t address, const uint8_t command, const bool toggle=false)
Encode a Metz address, command, and toggle bits into a code suitable for use with sendMetz().
Definition: ir_Metz.cpp:48
kKelvinatorStateLength
const uint16_t kKelvinatorStateLength
Definition: IRremoteESP8266.h:1289
IRsend::sendMidea24
void sendMidea24(const uint64_t data, const uint16_t nbits=kMidea24Bits, const uint16_t repeat=kMidea24MinRepeat)
Send a Midea24 formatted message. Status: STABLE / Confirmed working on a real device.
Definition: ir_Midea.cpp:822
IRsend::defaultBits
static uint16_t defaultBits(const decode_type_t protocol)
Get the default number of bits for a given protocol.
Definition: IRsend.cpp:603
IRsend::toggleArrisRelease
static uint32_t toggleArrisRelease(const uint32_t data)
Flip the toggle button release bits of an Arris message. Used to indicate a change of remote button's...
Definition: ir_Arris.cpp:54
stdAc::state_t::protocol
decode_type_t protocol
Definition: IRsend.h:115
kHitachiAc296StateLength
const uint16_t kHitachiAc296StateLength
Definition: IRremoteESP8266.h:1277
stdAc::swingv_t::kLastSwingvEnum
@ kLastSwingvEnum
kDaikin216DefaultRepeat
const uint16_t kDaikin216DefaultRepeat
Definition: IRremoteESP8266.h:1216
stdAc::opmode_t::kDry
@ kDry
stdAc::ac_command_t::kSensorTempReport
@ kSensorTempReport
stdAc::state_t::beep
bool beep
Definition: IRsend.h:130
kWhirlpoolAcStateLength
const uint16_t kWhirlpoolAcStateLength
Definition: IRremoteESP8266.h:1416
kNECBits
const uint16_t kNECBits
Definition: IRremoteESP8266.h:1332
kDenonBits
const uint16_t kDenonBits
Definition: IRremoteESP8266.h:1224
AKB74955603
@ AKB74955603
Definition: IRsend.h:220
kZepealBits
const uint16_t kZepealBits
Definition: IRremoteESP8266.h:1424
stdAc::state_t::filter
bool filter
Definition: IRsend.h:128
kRhossDefaultRepeat
const uint16_t kRhossDefaultRepeat
Definition: IRremoteESP8266.h:1434
kCarrierAc40MinRepeat
const uint16_t kCarrierAc40MinRepeat
Definition: IRremoteESP8266.h:1176
kMidea24Bits
const uint16_t kMidea24Bits
Definition: IRremoteESP8266.h:1305
IRsend::sendElitescreens
void sendElitescreens(const uint64_t data, const uint16_t nbits=kEliteScreensBits, const uint16_t repeat=kEliteScreensDefaultRepeat)
Send an Elite Screens formatted message. Status: BETA / Probably Working.
Definition: ir_EliteScreens.cpp:44
IRsend::sendDelonghiAc
void sendDelonghiAc(uint64_t data, uint16_t nbits=kDelonghiAcBits, uint16_t repeat=kDelonghiAcDefaultRepeat)
Send a Delonghi A/C formatted message. Status: STABLE / Reported as working on a real device.
Definition: ir_Delonghi.cpp:36
KKG29AC1
@ KKG29AC1
Definition: IRsend.h:177
kDaikin160DefaultRepeat
const uint16_t kDaikin160DefaultRepeat
Definition: IRremoteESP8266.h:1201
IRsend::_sendSony
void _sendSony(const uint64_t data, const uint16_t nbits, const uint16_t repeat, const uint16_t freq)
Internal procedure to generate a Sony/SIRC(Serial Infra-Red Control) message Status: STABLE / Known w...
Definition: ir_Sony.cpp:74
kToshibaACMinRepeat
const uint16_t kToshibaACMinRepeat
Definition: IRremoteESP8266.h:1401
IRsend::enableIROut
void enableIROut(uint32_t freq, uint8_t duty=kDutyDefault)
Set the output frequency modulation and duty cycle.
Definition: IRsend.cpp:92
stdAc::swingv_t::kMiddle
@ kMiddle
kHitachiAc344StateLength
const uint16_t kHitachiAc344StateLength
Definition: IRremoteESP8266.h:1279
IRsend::sendXmp
void sendXmp(const uint64_t data, const uint16_t nbits=kXmpBits, const uint16_t repeat=kNoRepeat)
Send a XMP packet. Status: STABLE / Confirmed working against a real device.
Definition: ir_Xmp.cpp:122
AKB73757604
@ AKB73757604
Definition: IRsend.h:221
kPanasonicDke
@ kPanasonicDke
Definition: IRsend.h:185
kCarrierAc64Bits
const uint16_t kCarrierAc64Bits
Definition: IRremoteESP8266.h:1177
kDaikin128DefaultRepeat
const uint16_t kDaikin128DefaultRepeat
Definition: IRremoteESP8266.h:1204
kPioneerBits
const uint16_t kPioneerBits
Definition: IRremoteESP8266.h:1346
IRsend::sendDaikin200
void sendDaikin200(const unsigned char data[], const uint16_t nbytes=kDaikin200StateLength, const uint16_t repeat=kDaikin200DefaultRepeat)
Send a Daikin200 (200-bit) A/C formatted message. Status: BETA / Untested on a real device.
Definition: ir_Daikin.cpp:3745
kSharpAcStateLength
const uint16_t kSharpAcStateLength
Definition: IRremoteESP8266.h:1377
IRsend::sendSharpAc
void sendSharpAc(const unsigned char data[], const uint16_t nbytes=kSharpAcStateLength, const uint16_t repeat=kSharpAcDefaultRepeat)
Send a Sharp A/C message. Status: Alpha / Untested.
Definition: ir_Sharp.cpp:228
IRsend::sendAirton
void sendAirton(const uint64_t data, const uint16_t nbits=kAirtonBits, const uint16_t repeat=kAirtonDefaultRepeat)
Send a Airton formatted message. Status: STABLE / Confirmed working.
Definition: ir_Airton.cpp:33
kPanasonicLke
@ kPanasonicLke
Definition: IRsend.h:183
kGreeBits
const uint16_t kGreeBits
Definition: IRremoteESP8266.h:1250
IRsend::sendCarrierAC
void sendCarrierAC(uint64_t data, uint16_t nbits=kCarrierAcBits, uint16_t repeat=kCarrierAcMinRepeat)
Send a Carrier HVAC formatted message. Status: STABLE / Works on real devices.
Definition: ir_Carrier.cpp:75
kJvcBits
const uint16_t kJvcBits
Definition: IRremoteESP8266.h:1285
kDaikinStateLength
const uint16_t kDaikinStateLength
Definition: IRremoteESP8266.h:1189
kLasertagBits
const uint16_t kLasertagBits
Definition: IRremoteESP8266.h:1292
IRsend::sendDaikin160
void sendDaikin160(const unsigned char data[], const uint16_t nbytes=kDaikin160StateLength, const uint16_t repeat=kDaikin160DefaultRepeat)
Send a Daikin160 (160-bit) A/C formatted message. Status: STABLE / Confirmed working.
Definition: ir_Daikin.cpp:1731
kAiwaRcT501Bits
const uint16_t kAiwaRcT501Bits
Definition: IRremoteESP8266.h:1152
IRsend::sendDaikin2
void sendDaikin2(const unsigned char data[], const uint16_t nbytes=kDaikin2StateLength, const uint16_t repeat=kDaikin2DefaultRepeat)
Send a Daikin2 (312-bit) A/C formatted message. Status: STABLE / Expected to work.
Definition: ir_Daikin.cpp:669
ARRAH2E
@ ARRAH2E
(1) AR-RAH2E, AR-RAC1E, AR-RAE1E, AR-RCE1E, AR-RAH2U, AR-REG1U (Default) Warning: Use on incorrect mo...
Definition: IRsend.h:141
kTrumaBits
const uint16_t kTrumaBits
Definition: IRremoteESP8266.h:1415
kToshibaACStateLength
const uint16_t kToshibaACStateLength
Definition: IRremoteESP8266.h:1399
kTecoBits
const uint16_t kTecoBits
Definition: IRremoteESP8266.h:1395
IRsend::sendMitsubishi2
void sendMitsubishi2(uint64_t data, uint16_t nbits=kMitsubishiBits, uint16_t repeat=kMitsubishiMinRepeat)
Send a supplied second variant Mitsubishi 16-bit message. Status: BETA / Probably works.
Definition: ir_Mitsubishi.cpp:164
kInaxMinRepeat
const uint16_t kInaxMinRepeat
Definition: IRremoteESP8266.h:1284
IRsend::ledOff
VIRTUAL void ledOff()
Turn off the IR LED.
Definition: IRsend.cpp:53
stdAc::swingh_t::kLastSwinghEnum
@ kLastSwinghEnum
kSherwoodBits
const uint8_t kSherwoodBits
Definition: IRremoteESP8266.h:1380
stdAc::state_t::mode
stdAc::opmode_t mode
Definition: IRsend.h:118
IRsend::sendClimaButler
void sendClimaButler(const uint64_t data, const uint16_t nbits=kClimaButlerBits, const uint16_t repeat=kNoRepeat)
Send a ClimaButler formatted message. Status: STABLE / Confirmed working.
Definition: ir_ClimaButler.cpp:30
kDaikinDefaultRepeat
const uint16_t kDaikinDefaultRepeat
Definition: IRremoteESP8266.h:1193
kDaikin64DefaultRepeat
const uint16_t kDaikin64DefaultRepeat
Definition: IRremoteESP8266.h:1198
IRsend::sendInax
void sendInax(const uint64_t data, const uint16_t nbits=kInaxBits, const uint16_t repeat=kInaxMinRepeat)
Send a Inax Toilet formatted message. Status: STABLE / Working.
Definition: ir_Inax.cpp:31
lg_ac_remote_model_t
lg_ac_remote_model_t
LG A/C model numbers.
Definition: IRsend.h:217
IRsend::sendTranscold
void sendTranscold(const uint64_t data, const uint16_t nbits=kTranscoldBits, const uint16_t repeat=kTranscoldDefaultRepeat)
Send a Transcold message Status: STABLE / Confirmed Working.
Definition: ir_Transcold.cpp:40
kMitsubishiHeavy88MinRepeat
const uint16_t kMitsubishiHeavy88MinRepeat
Definition: IRremoteESP8266.h:1325
stdAc::fanspeed_t::kAuto
@ kAuto
kVoltas122LZF
@ kVoltas122LZF
Definition: IRsend.h:207
kHitachiAcDefaultRepeat
const uint16_t kHitachiAcDefaultRepeat
Definition: IRremoteESP8266.h:1266
stdAc::state_t::econo
bool econo
Definition: IRsend.h:126
IRsend::sendSherwood
void sendSherwood(uint64_t data, uint16_t nbits=kSherwoodBits, uint16_t repeat=kSherwoodMinRepeat)
Send an IR command to a Sherwood device. Status: STABLE / Known working.
Definition: ir_Sherwood.cpp:21
kMidea24MinRepeat
const uint16_t kMidea24MinRepeat
Definition: IRremoteESP8266.h:1306
kCarrierAc84StateLength
const uint16_t kCarrierAc84StateLength
Definition: IRremoteESP8266.h:1179
IRsend::sendMitsubishiHeavy152
void sendMitsubishiHeavy152(const unsigned char data[], const uint16_t nbytes=kMitsubishiHeavy152StateLength, const uint16_t repeat=kMitsubishiHeavy152MinRepeat)
Send a MitsubishiHeavy 152-bit A/C message. Status: BETA / Appears to be working. Needs testing again...
Definition: ir_MitsubishiHeavy.cpp:64
kDishBits
const uint16_t kDishBits
Definition: IRremoteESP8266.h:1227
kDishMinRepeat
const uint16_t kDishMinRepeat
Definition: IRremoteESP8266.h:1228
IRsend::sendMilestag2
void sendMilestag2(const uint64_t data, const uint16_t nbits=kMilesTag2ShotBits, const uint16_t repeat=kMilesMinRepeat)
Percentage.
Definition: ir_MilesTag2.cpp:41
stdAc::swingv_t::kLowest
@ kLowest
IRsend::sendPanasonic
void sendPanasonic(const uint16_t address, const uint32_t data, const uint16_t nbits=kPanasonicBits, const uint16_t repeat=kNoRepeat)
Send a Panasonic formatted message. Status: STABLE, but DEPRECATED.
Definition: ir_Panasonic.cpp:89
kAirtonBits
const uint16_t kAirtonBits
Definition: IRremoteESP8266.h:1148
IRsend::space
VIRTUAL void space(uint32_t usec)
Turn the pin (LED) off for a given time. Sends an IR space for the specified number of microseconds....
Definition: IRsend.cpp:194
kHitachiAc2StateLength
const uint16_t kHitachiAc2StateLength
Definition: IRremoteESP8266.h:1269
IRsend::sendGC
void sendGC(uint16_t buf[], uint16_t len)
Send a shortened GlobalCache (GC) IRdb/control tower formatted message. Status: STABLE / Known workin...
Definition: ir_GlobalCache.cpp:35
IRsend::encodeRC5
uint16_t encodeRC5(const uint8_t address, const uint8_t command, const bool key_released=false)
Encode a Philips RC-5 data message. Status: Beta / Should be working.
Definition: ir_RC5_RC6.cpp:115
IRsend::sendHitachiAc264
void sendHitachiAc264(const unsigned char data[], const uint16_t nbytes=kHitachiAc264StateLength, const uint16_t repeat=kHitachiAcDefaultRepeat)
Send a Hitachi 33-byte/264-bit A/C message (HITACHI_AC264) Basically the same as sendHitachiAC() exce...
Definition: ir_Hitachi.cpp:1609
IRsend::sendJVC
void sendJVC(uint64_t data, uint16_t nbits=kJvcBits, uint16_t repeat=kNoRepeat)
Send a JVC formatted message. Status: STABLE / Working.
Definition: ir_JVC.cpp:46
IRsend::sendDoshisha
void sendDoshisha(const uint64_t data, uint16_t nbits=kDoshishaBits, const uint16_t repeat=kNoRepeat)
Send a Doshisha formatted message. Status: STABLE / Works on real device.
Definition: ir_Doshisha.cpp:53
stdAc::swingh_t::kOff
@ kOff
kTotoBits
const uint16_t kTotoBits
Definition: IRremoteESP8266.h:1406
IRsend::toggleRC5
uint64_t toggleRC5(const uint64_t data)
Flip the toggle bit of a Philips RC-5/RC-5X data message. Used to indicate a change of remote button'...
Definition: ir_RC5_RC6.cpp:142
IRsend::sendDaikin
void sendDaikin(const unsigned char data[], const uint16_t nbytes=kDaikinStateLength, const uint16_t repeat=kDaikinDefaultRepeat)
Send a Daikin 280-bit A/C formatted message. Status: STABLE.
Definition: ir_Daikin.cpp:65
kWowweeDefaultRepeat
const uint16_t kWowweeDefaultRepeat
Definition: IRremoteESP8266.h:1421
kCarrierAcMinRepeat
const uint16_t kCarrierAcMinRepeat
Definition: IRremoteESP8266.h:1174
kNikaiBits
const uint16_t kNikaiBits
Definition: IRremoteESP8266.h:1331
IRsend::encodeMagiQuest
uint64_t encodeMagiQuest(const uint32_t wand_id, const uint16_t magnitude)
Encode a MagiQuest wand_id, and a magnitude into a single 64bit value. (Only 48 bits of real data + 8...
Definition: ir_Magiquest.cpp:42
stdAc::swingh_t::kWide
@ kWide
kKelvinatorDefaultRepeat
const uint16_t kKelvinatorDefaultRepeat
Definition: IRremoteESP8266.h:1291
IRsend::sendHitachiAC2
void sendHitachiAC2(const unsigned char data[], const uint16_t nbytes=kHitachiAc2StateLength, const uint16_t repeat=kHitachiAcDefaultRepeat)
Send a Hitachi 53 byte/424-bit A/C formatted message. (HITACHI_AC2) Basically the same as sendHitachi...
Definition: ir_Hitachi.cpp:115
kLutronBits
const uint16_t kLutronBits
Definition: IRremoteESP8266.h:1299
IRsend::sendDaikin128
void sendDaikin128(const unsigned char data[], const uint16_t nbytes=kDaikin128StateLength, const uint16_t repeat=kDaikin128DefaultRepeat)
Send a Daikin128 (128-bit) A/C formatted message. Status: STABLE / Known Working.
Definition: ir_Daikin.cpp:2479
IRsend::sendCarrierAC40
void sendCarrierAC40(uint64_t data, uint16_t nbits=kCarrierAc40Bits, uint16_t repeat=kCarrierAc40MinRepeat)
Send a Carrier 40bit HVAC formatted message. Status: STABLE / Tested against a real device.
Definition: ir_Carrier.cpp:147
IRsend::sendPanasonicAC32
void sendPanasonicAC32(const uint64_t data, const uint16_t nbits=kPanasonicAc32Bits, const uint16_t repeat=kPanasonicAcDefaultRepeat)
Send a Panasonic AC 32/16bit formatted message. Status: STABLE / Confirmed working.
Definition: ir_Panasonic.cpp:920
kSharpAcDefaultRepeat
const uint16_t kSharpAcDefaultRepeat
Definition: IRremoteESP8266.h:1379
stdAc::swingv_t::kHighest
@ kHighest
IRsend::sendTrotec
void sendTrotec(const unsigned char data[], const uint16_t nbytes=kTrotecStateLength, const uint16_t repeat=kTrotecDefaultRepeat)
Send a Trotec message. Status: Beta / Probably Working.
Definition: ir_Trotec.cpp:50
IRsend::sendCoronaAc
void sendCoronaAc(const uint8_t data[], const uint16_t nbytes=kCoronaAcStateLength, const uint16_t repeat=kNoRepeat)
Send a CoronaAc formatted message. Status: STABLE / Working on real device.
Definition: ir_Corona.cpp:50
A903
@ A903
Definition: IRsend.h:195
mirage_ac_remote_model_t
mirage_ac_remote_model_t
MIRAGE A/C model numbers.
Definition: IRsend.h:175
stdAc::state_t::light
bool light
Definition: IRsend.h:127
stdAc::state_t::fanspeed
stdAc::fanspeed_t fanspeed
Definition: IRsend.h:121
kEliteScreensDefaultRepeat
const uint16_t kEliteScreensDefaultRepeat
Definition: IRremoteESP8266.h:1238
kTcl112AcStateLength
const uint16_t kTcl112AcStateLength
Definition: IRremoteESP8266.h:1392
IRsend::sendRCMM
void sendRCMM(uint64_t data, uint16_t nbits=kRCMMBits, uint16_t repeat=kNoRepeat)
Send a Philips RC-MM packet. Status: STABLE / Should be working.
Definition: ir_RCMM.cpp:46
IRsend::sendManchester
void sendManchester(const uint16_t headermark, const uint32_t headerspace, const uint16_t half_period, const uint16_t footermark, const uint32_t gap, const uint64_t data, const uint16_t nbits, const uint16_t frequency=38, const bool MSBfirst=true, const uint16_t repeat=kNoRepeat, const uint8_t dutycycle=kDutyDefault, const bool GEThomas=true)
Generic method for sending Manchester code messages. Will send leading or trailing 0's if the nbits i...
Definition: IRsend.cpp:506
kDaikin160StateLength
const uint16_t kDaikin160StateLength
Definition: IRremoteESP8266.h:1199
IRsend::sendHitachiAC
void sendHitachiAC(const unsigned char data[], const uint16_t nbytes=kHitachiAcStateLength, const uint16_t repeat=kHitachiAcDefaultRepeat)
Send a Hitachi 28-byte/224-bit A/C formatted message. (HITACHI_AC) Status: STABLE / Working.
Definition: ir_Hitachi.cpp:68
kDaikin2StateLength
const uint16_t kDaikin2StateLength
Definition: IRremoteESP8266.h:1194
IRsend::sendElectraAC
void sendElectraAC(const unsigned char data[], const uint16_t nbytes=kElectraAcStateLength, const uint16_t repeat=kNoRepeat)
Send a Electra A/C formatted message. Status: Alpha / Needs testing against a real device.
Definition: ir_Electra.cpp:40
kCoolix48Bits
const uint16_t kCoolix48Bits
Definition: IRremoteESP8266.h:1171
stdAc::swingh_t::kMiddle
@ kMiddle
kEcoclimBits
const uint16_t kEcoclimBits
Definition: IRremoteESP8266.h:1230
kSherwoodMinRepeat
const uint16_t kSherwoodMinRepeat
Definition: IRremoteESP8266.h:1381
kCarrierAc64MinRepeat
const uint16_t kCarrierAc64MinRepeat
Definition: IRremoteESP8266.h:1178
DG11J191
@ DG11J191
Definition: IRsend.h:213
IRsend::sendBose
void sendBose(const uint64_t data, const uint16_t nbits=kBoseBits, const uint16_t repeat=kNoRepeat)
Send a Bose formatted message. Status: STABLE / Known working.
Definition: ir_Bose.cpp:29
kDaikin312StateLength
const uint16_t kDaikin312StateLength
Definition: IRremoteESP8266.h:1217
IRsend::begin
void begin()
Enable the pin for output.
Definition: IRsend.cpp:45
kSanyoAcStateLength
const uint16_t kSanyoAcStateLength
Definition: IRremoteESP8266.h:1361
kTechnibelAcDefaultRepeat
const uint16_t kTechnibelAcDefaultRepeat
Definition: IRremoteESP8266.h:1223
SAC_WREM3
@ SAC_WREM3
Definition: IRsend.h:228
IRsend::sendFujitsuAC
void sendFujitsuAC(const unsigned char data[], const uint16_t nbytes, const uint16_t repeat=kFujitsuAcMinRepeat)
Send a Fujitsu A/C formatted message. Status: STABLE / Known Good.
Definition: ir_Fujitsu.cpp:53
stdAc::swingh_t::kLeftMax
@ kLeftMax
IRsend::encodeSharp
uint32_t encodeSharp(const uint16_t address, const uint16_t command, const uint16_t expansion=1, const uint16_t check=0, const bool MSBfirst=false)
Encode a (raw) Sharp message from it's components. Status: STABLE / Works okay.
Definition: ir_Sharp.cpp:100
IRsend::encodeArris
static uint32_t encodeArris(const uint32_t command, const bool release)
Construct a raw 32-bit Arris message code from the supplied command & release setting.
Definition: ir_Arris.cpp:64
stdAc::opmode_t::kCool
@ kCool
kLegoPfBits
const uint16_t kLegoPfBits
Definition: IRremoteESP8266.h:1294
kSharpBits
const uint16_t kSharpBits
Definition: IRremoteESP8266.h:1376
stdAc::state_t::sleep
int16_t sleep
Definition: IRsend.h:131
stdAc::state_t::power
bool power
Definition: IRsend.h:117
stdAc::opmode_t::kFan
@ kFan
kWowweeBits
const uint16_t kWowweeBits
Definition: IRremoteESP8266.h:1420
kTotoDefaultRepeat
const uint16_t kTotoDefaultRepeat
Definition: IRremoteESP8266.h:1409
stdAc::fanspeed_t::kMediumHigh
@ kMediumHigh
IRsend::sendHitachiAc424
void sendHitachiAc424(const unsigned char data[], const uint16_t nbytes=kHitachiAc424StateLength, const uint16_t repeat=kHitachiAcDefaultRepeat)
Send a Hitachi 53-byte/424-bit A/C formatted message. (HITACHI_AC424) Status: STABLE / Reported as wo...
Definition: ir_Hitachi.cpp:946
IRsend::sendTeco
void sendTeco(const uint64_t data, const uint16_t nbits=kTecoBits, const uint16_t repeat=kNoRepeat)
Send a Teco A/C message. Status: Beta / Probably working.
Definition: ir_Teco.cpp:37
stdAc::swingv_t::kOff
@ kOff
kMitsubishi136StateLength
const uint16_t kMitsubishi136StateLength
Definition: IRremoteESP8266.h:1317
IRsend::sendLutron
void sendLutron(uint64_t data, uint16_t nbits=kLutronBits, uint16_t repeat=kNoRepeat)
Send a Lutron formatted message. Status: Stable / Appears to be working for real devices.
Definition: ir_Lutron.cpp:41
IRsend::sendSamsungAC
void sendSamsungAC(const unsigned char data[], const uint16_t nbytes=kSamsungAcStateLength, const uint16_t repeat=kSamsungAcDefaultRepeat)
Send a Samsung A/C message. Status: Stable / Known working.
Definition: ir_Samsung.cpp:256
IRsend::encodePanasonic
uint64_t encodePanasonic(const uint16_t manufacturer, const uint8_t device, const uint8_t subdevice, const uint8_t function)
Calculate the raw Panasonic data based on device, subdevice, & function. Status: STABLE / Should be w...
Definition: ir_Panasonic.cpp:103
IRsend::sendSanyoLC7461
void sendSanyoLC7461(const uint64_t data, const uint16_t nbits=kSanyoLC7461Bits, const uint16_t repeat=kNoRepeat)
Send a Sanyo LC7461 message. Status: BETA / Probably works.
Definition: ir_Sanyo.cpp:130
IRsend::IRsend
IRsend(uint16_t IRsendPin, bool inverted=false, bool use_modulation=true)
Constructor for an IRsend object.
Definition: IRsend.cpp:28
IRsend::sendDISH
void sendDISH(uint64_t data, uint16_t nbits=kDishBits, uint16_t repeat=kDishMinRepeat)
Send a DISH NETWORK formatted message. Status: STABLE / Working.
Definition: ir_Dish.cpp:48
IRsend::sendCOOLIX
void sendCOOLIX(const uint64_t data, const uint16_t nbits=kCoolixBits, const uint16_t repeat=kCoolixDefaultRepeat)
Send a Coolix 24-bit message Status: STABLE / Confirmed Working.
Definition: ir_Coolix.cpp:50
kRCMMBits
const uint16_t kRCMMBits
Definition: IRremoteESP8266.h:1353
kVestelAcBits
const uint8_t kVestelAcBits
Definition: IRremoteESP8266.h:1422
kTranscoldBits
const uint16_t kTranscoldBits
Definition: IRremoteESP8266.h:1410
kInaxBits
const uint16_t kInaxBits
Definition: IRremoteESP8266.h:1283
YBOFB
@ YBOFB
Definition: IRsend.h:157
kLegoPfMinRepeat
const uint16_t kLegoPfMinRepeat
Definition: IRremoteESP8266.h:1295
A907
@ A907
Definition: IRsend.h:193
kAmcorDefaultRepeat
const uint16_t kAmcorDefaultRepeat
Definition: IRremoteESP8266.h:1157
stdAc::ac_command_t::kControlCommand
@ kControlCommand
argo_ac_remote_model_t
argo_ac_remote_model_t
Argo A/C model numbers.
Definition: IRsend.h:226
IRsend::sendDaikin216
void sendDaikin216(const unsigned char data[], const uint16_t nbytes=kDaikin216StateLength, const uint16_t repeat=kDaikin216DefaultRepeat)
Send a Daikin216 (216-bit) A/C formatted message. Status: Alpha / Untested on a real device.
Definition: ir_Daikin.cpp:1394
kSamsungBits
const uint16_t kSamsungBits
Definition: IRremoteESP8266.h:1354
IRsend::encodePioneer
uint64_t encodePioneer(uint16_t address, uint16_t command)
Calculate the raw Pioneer data code based on two NEC sub-codes Status: STABLE / Expected to work.
Definition: ir_Pioneer.cpp:82
kDaikin64Bits
const uint16_t kDaikin64Bits
Definition: IRremoteESP8266.h:1197
stdAc::state_t::quiet
bool quiet
Definition: IRsend.h:124
IRsend::encodeRC5X
uint16_t encodeRC5X(const uint8_t address, const uint8_t command, const bool key_released=false)
Encode a Philips RC-5X data message. Status: Beta / Should be working.
Definition: ir_RC5_RC6.cpp:127
stdAc::state_t
Structure to hold a common A/C state.
Definition: IRsend.h:114
kPanasonicAc32Bits
const uint16_t kPanasonicAc32Bits
Definition: IRremoteESP8266.h:1345
kLasertagMinRepeat
const uint16_t kLasertagMinRepeat
Definition: IRremoteESP8266.h:1293
kDutyDefault
const uint8_t kDutyDefault
Definition: IRsend.h:35
kHaierAc160DefaultRepeat
const uint16_t kHaierAc160DefaultRepeat
Definition: IRremoteESP8266.h:1260
stdAc::state_t::turbo
bool turbo
Definition: IRsend.h:125
IRsend::sendMagiQuest
void sendMagiQuest(const uint64_t data, const uint16_t nbits=kMagiquestBits, const uint16_t repeat=kNoRepeat)
Send a MagiQuest formatted message. Status: Beta / Should be working.
Definition: ir_Magiquest.cpp:25
IRsend::sendTechnibelAc
void sendTechnibelAc(uint64_t data, uint16_t nbits=kTechnibelAcBits, uint16_t repeat=kTechnibelAcDefaultRepeat)
Send an Technibel AC formatted message. Status: STABLE / Reported as working on a real device.
Definition: ir_Technibel.cpp:35
IRsend::modulation
bool modulation
Definition: IRsend.h:913
kNeoclimaMinRepeat
const uint16_t kNeoclimaMinRepeat
Definition: IRremoteESP8266.h:1335
kMitsubishi112StateLength
const uint16_t kMitsubishi112StateLength
Definition: IRremoteESP8266.h:1320
kDaikin312DefaultRepeat
const uint16_t kDaikin312DefaultRepeat
Definition: IRremoteESP8266.h:1219
stdAc::fanspeed_t::kLow
@ kLow
IRsend::sendTcl112Ac
void sendTcl112Ac(const unsigned char data[], const uint16_t nbytes=kTcl112AcStateLength, const uint16_t repeat=kTcl112AcDefaultRepeat)
Send a TCL 112-bit A/C message. Status: Beta / Probably working.
Definition: ir_Tcl.cpp:46
kPanasonicJke
@ kPanasonicJke
Definition: IRsend.h:186
stdAc::swingh_t::kRight
@ kRight
kSonyMinRepeat
const uint16_t kSonyMinRepeat
Definition: IRremoteESP8266.h:1386
kEpsonBits
const uint16_t kEpsonBits
Definition: IRremoteESP8266.h:1232
IRsend::sendNEC
void sendNEC(uint64_t data, uint16_t nbits=kNECBits, uint16_t repeat=kNoRepeat)
Send a raw NEC(Renesas) formatted message. Status: STABLE / Known working.
Definition: ir_NEC.cpp:28
IRsend::sendMWM
void sendMWM(const unsigned char data[], const uint16_t nbytes, const uint16_t repeat=kNoRepeat)
Send a MWM packet/message. Status: Implemented.
Definition: ir_MWM.cpp:37
voltas_ac_remote_model_t
voltas_ac_remote_model_t
Voltas A/C model numbers.
Definition: IRsend.h:205
IRsend::sendDaikin64
void sendDaikin64(const uint64_t data, const uint16_t nbits=kDaikin64Bits, const uint16_t repeat=kDaikin64DefaultRepeat)
Send a Daikin64 (64-bit) A/C formatted message. Status: Beta / Probably Working.
Definition: ir_Daikin.cpp:3339
IRsend::sendCarrierAC84
void sendCarrierAC84(const uint8_t data[], const uint16_t nbytes=kCarrierAc84StateLength, const uint16_t repeat=kNoRepeat)
Send a Carroer A/C 84 Bit formatted message. Status: BETA / Untested but probably works.
Definition: ir_Carrier.cpp:664
IRsend::sendRC6
void sendRC6(const uint64_t data, const uint16_t nbits=kRC6Mode0Bits, const uint16_t repeat=kNoRepeat)
Send a Philips RC-6 packet. Status: Stable.
Definition: ir_RC5_RC6.cpp:190
kPeriodOffset
const int8_t kPeriodOffset
Definition: IRsend.h:26
LG6711A20083V
@ LG6711A20083V
Definition: IRsend.h:222
kLgBits
const uint16_t kLgBits
Definition: IRremoteESP8266.h:1296
IRsend::sendDaikin176
void sendDaikin176(const unsigned char data[], const uint16_t nbytes=kDaikin176StateLength, const uint16_t repeat=kDaikin176DefaultRepeat)
Send a Daikin176 (176-bit) A/C formatted message. Status: STABLE / Working on a real device.
Definition: ir_Daikin.cpp:2085
sharp_ac_remote_model_t
sharp_ac_remote_model_t
Sharp A/C model numbers.
Definition: IRsend.h:192
kGoodweatherMinRepeat
const uint16_t kGoodweatherMinRepeat
Definition: IRremoteESP8266.h:1247
kElectraAcStateLength
const uint16_t kElectraAcStateLength
Definition: IRremoteESP8266.h:1234
stdAc::state_t::sensorTemperature
float sensorTemperature
Definition: IRsend.h:135
IRsend::sendSanyoAc152
void sendSanyoAc152(const uint8_t *data, const uint16_t nbytes=kSanyoAc152StateLength, const uint16_t repeat=kSanyoAc152MinRepeat)
Send a SanyoAc152 formatted message. Status: BETA / Probably works.
Definition: ir_Sanyo.cpp:998
haier_ac176_remote_model_t
haier_ac176_remote_model_t
HAIER_AC176 A/C model numbers.
Definition: IRsend.h:163
kGreeDefaultRepeat
const uint16_t kGreeDefaultRepeat
Definition: IRremoteESP8266.h:1251
stdAc::opmode_t
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:49
IRsend::sendGoodweather
void sendGoodweather(const uint64_t data, const uint16_t nbits=kGoodweatherBits, const uint16_t repeat=kGoodweatherMinRepeat)
Send a Goodweather HVAC formatted message. Status: BETA / Needs testing on real device.
Definition: ir_Goodweather.cpp:32