-#include "IRrecv.h"
-#include "IRsend.h"
-#include "IRtext.h"
-#include "IRutils.h"
-
-// Constants
-const uint8_t kEcoclimSections = 3;
-const uint8_t kEcoclimExtraTolerance = 5; ///< Percentage (extra)
-const uint16_t kEcoclimHdrMark = 5730; ///< uSeconds
-const uint16_t kEcoclimHdrSpace = 1935; ///< uSeconds
-const uint16_t kEcoclimBitMark = 440; ///< uSeconds
-const uint16_t kEcoclimOneSpace = 1739; ///< uSeconds
-const uint16_t kEcoclimZeroSpace = 637; ///< uSeconds
-const uint16_t kEcoclimFooterMark = 7820; ///< uSeconds
-const uint32_t kEcoclimGap = kDefaultMessageGap; // Just a guess.
-
-#if SEND_ECOCLIM
-/// Send a EcoClim A/C formatted message.
-/// Status: Alpha / Completely untested.
-/// @param[in] data The message to be sent.
-/// @param[in] nbits The number of bits of message to be sent.
-/// @param[in] repeat The number of times the command is to be repeated.
-void IRsend::sendEcoclim(const uint64_t data, const uint16_t nbits,
- const uint16_t repeat) {
- enableIROut(38, kDutyDefault);
- for (uint16_t r = 0; r <= repeat; r++) {
- for (uint8_t section = 0; section < kEcoclimSections; section++) {
- // Header + Data
- sendGeneric(kEcoclimHdrMark, kEcoclimHdrSpace,
- kEcoclimBitMark, kEcoclimOneSpace,
- kEcoclimBitMark, kEcoclimZeroSpace,
- 0, 0, data, nbits, 38, true, 0, kDutyDefault);
- }
- mark(kEcoclimFooterMark);
- space(kEcoclimGap);
- }
-}
-#endif // SEND_ECOCLIM
-
-#if DECODE_ECOCLIM
-/// Decode the supplied EcoClim A/C message.
-/// Status: STABLE / Confirmed working on real remote.
-/// @param[in,out] results Ptr to the data to decode & where to store the decode
-/// result.
-/// @param[in] offset The starting index to use when attempting to decode the
-/// raw data. Typically/Defaults to kStartOffset.
-/// @param[in] nbits The number of data bits to expect.
-/// @param[in] strict Flag indicating if we should perform strict matching.
-/// @return A boolean. True if it can decode it, false if it can't.
-bool IRrecv::decodeEcoclim(decode_results *results, uint16_t offset,
- const uint16_t nbits, const bool strict) {
- if (results->rawlen < (2 * nbits + kHeader) * kEcoclimSections +
- kFooter - 1 + offset)
- return false; // Can't possibly be a valid Ecoclim message.
- if (strict) {
- switch (nbits) {
- case kEcoclimShortBits:
- case kEcoclimBits:
- break;
- default:
- return false; // Unexpected bit size.
- }
- }
-
- for (uint8_t section = 0; section < kEcoclimSections; section++) {
- uint16_t used;
- uint64_t data;
- // Header + Data Block
- used = matchGeneric(results->rawbuf + offset, &data,
- results->rawlen - offset, nbits,
- kEcoclimHdrMark, kEcoclimHdrSpace,
- kEcoclimBitMark, kEcoclimOneSpace,
- kEcoclimBitMark, kEcoclimZeroSpace,
- 0, 0, // No footer.
- false, _tolerance + kEcoclimExtraTolerance);
- if (!used) return false;
- DPRINTLN("DEBUG: Data section matched okay.");
- offset += used;
- // Compliance
- if (strict) {
- if (section) { // Each section should contain the same data.
- if (data != results->value) return false;
- } else {
- results->value = data;
- }
- }
- }
-
- // Footer
- if (!matchMark(results->rawbuf[offset++], kEcoclimFooterMark,
- _tolerance + kEcoclimExtraTolerance))
- return false;
- if (results->rawlen <= offset && !matchAtLeast(results->rawbuf[offset++],
- kEcoclimGap))
- return false;
- // Success
- results->bits = nbits;
- results->decode_type = ECOCLIM;
- // No need to record the value as we stored it as we decoded it.
- return true;
-}
-#endif // DECODE_ECOCLIM
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/.github/CONTRIBUTING.md b/lib/lib_basic/IRremoteESP8266/.github/CONTRIBUTING.md
similarity index 100%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/.github/CONTRIBUTING.md
rename to lib/lib_basic/IRremoteESP8266/.github/CONTRIBUTING.md
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/.github/Contributors.md b/lib/lib_basic/IRremoteESP8266/.github/Contributors.md
similarity index 100%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/.github/Contributors.md
rename to lib/lib_basic/IRremoteESP8266/.github/Contributors.md
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/.github/issue_template.md b/lib/lib_basic/IRremoteESP8266/.github/issue_template.md
similarity index 100%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/.github/issue_template.md
rename to lib/lib_basic/IRremoteESP8266/.github/issue_template.md
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/.gitignore b/lib/lib_basic/IRremoteESP8266/.gitignore
similarity index 100%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/.gitignore
rename to lib/lib_basic/IRremoteESP8266/.gitignore
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/.gitmodules b/lib/lib_basic/IRremoteESP8266/.gitmodules
similarity index 100%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/.gitmodules
rename to lib/lib_basic/IRremoteESP8266/.gitmodules
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/.style.yapf b/lib/lib_basic/IRremoteESP8266/.style.yapf
similarity index 100%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/.style.yapf
rename to lib/lib_basic/IRremoteESP8266/.style.yapf
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/.travis.yml b/lib/lib_basic/IRremoteESP8266/.travis.yml
similarity index 100%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/.travis.yml
rename to lib/lib_basic/IRremoteESP8266/.travis.yml
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/CPPLINT.cfg b/lib/lib_basic/IRremoteESP8266/CPPLINT.cfg
similarity index 100%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/CPPLINT.cfg
rename to lib/lib_basic/IRremoteESP8266/CPPLINT.cfg
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/Doxyfile b/lib/lib_basic/IRremoteESP8266/Doxyfile
similarity index 100%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/Doxyfile
rename to lib/lib_basic/IRremoteESP8266/Doxyfile
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/LICENSE.txt b/lib/lib_basic/IRremoteESP8266/LICENSE.txt
similarity index 100%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/LICENSE.txt
rename to lib/lib_basic/IRremoteESP8266/LICENSE.txt
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/README.md b/lib/lib_basic/IRremoteESP8266/README.md
similarity index 98%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/README.md
rename to lib/lib_basic/IRremoteESP8266/README.md
index cf67962a4..5498e3fd9 100644
--- a/lib/lib_basic/IRremoteESP8266-2.7.15/README.md
+++ b/lib/lib_basic/IRremoteESP8266/README.md
@@ -9,8 +9,8 @@
This library enables you to **send _and_ receive** infra-red signals on an [ESP8266](https://github.com/esp8266/Arduino) or an
[ESP32](https://github.com/espressif/arduino-esp32) using the [Arduino framework](https://www.arduino.cc/) using common 940nm IR LEDs and common IR receiver modules. e.g. TSOP{17,22,24,36,38,44,48}* demodulators etc.
-## v2.7.15 Now Available
-Version 2.7.15 of the library is now [available](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). You can view the [Release Notes](ReleaseNotes.md) for all the significant changes.
+## v2.7.16 Now Available
+Version 2.7.16 of the library is now [available](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). You can view the [Release Notes](ReleaseNotes.md) for all the significant changes.
#### Upgrading from pre-v2.0
Usage of the library has been slightly changed in v2.0. You will need to change your usage to work with v2.0 and beyond. You can read more about the changes required on our [Upgrade to v2.0](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Upgrading-to-v2.0) page.
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/README_de.md b/lib/lib_basic/IRremoteESP8266/README_de.md
similarity index 98%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/README_de.md
rename to lib/lib_basic/IRremoteESP8266/README_de.md
index 770e061cf..adf6363d5 100644
--- a/lib/lib_basic/IRremoteESP8266-2.7.15/README_de.md
+++ b/lib/lib_basic/IRremoteESP8266/README_de.md
@@ -9,8 +9,8 @@
Diese Programmbibliothek ermöglicht das **Senden _und_ Empfangen** von Infrarotsignalen mit [ESP8266](https://github.com/esp8266/Arduino)- und
[ESP32](https://github.com/espressif/arduino-esp32)-Mikrocontrollern mithilfe des [Arduino-Frameworks](https://www.arduino.cc/) und handelsüblichen 940nm Infrarot-LEDs undIR-Empfängermodulen, wie zum Beispiel TSOP{17,22,24,36,38,44,48}*-Demodulatoren.
-## v2.7.15 jetzt verfügbar
-Version 2.7.15 der Bibliothek ist nun [verfügbar](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). Die [Versionshinweise](ReleaseNotes.md) enthalten alle wichtigen Neuerungen.
+## v2.7.16 jetzt verfügbar
+Version 2.7.16 der Bibliothek ist nun [verfügbar](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). Die [Versionshinweise](ReleaseNotes.md) enthalten alle wichtigen Neuerungen.
#### Hinweis für Nutzer von Versionen vor v2.0
Die Benutzung der Bibliothek hat sich mit Version 2.0 leicht geändert. Einige Anpassungen im aufrufenden Code werden nötig sein, um mit Version ab 2.0 korrekt zu funktionieren. Mehr zu den Anpassungen finden sich auf unserer [Upgrade to v2.0](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Upgrading-to-v2.0)-Seite.
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/README_fr.md b/lib/lib_basic/IRremoteESP8266/README_fr.md
similarity index 98%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/README_fr.md
rename to lib/lib_basic/IRremoteESP8266/README_fr.md
index 820731366..58c06eb9d 100644
--- a/lib/lib_basic/IRremoteESP8266-2.7.15/README_fr.md
+++ b/lib/lib_basic/IRremoteESP8266/README_fr.md
@@ -9,8 +9,8 @@
Cette librairie vous permetra de **recevoir et d'envoyer des signaux** infrarouge sur le protocole [ESP8266](https://github.com/esp8266/Arduino) ou sur le protocole
[ESP32](https://github.com/espressif/arduino-esp32) en utilisant le [Arduino framework](https://www.arduino.cc/) qui utilise la norme 940nm IR LEDs et le module basique de reception d'onde IR. Exemple : TSOP{17,22,24,36,38,44,48}* modules etc.
-## v2.7.15 disponible
-Version 2.7.15 de la libraire est maintenant [disponible](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). Vous pouvez voir le [Release Notes](ReleaseNotes.md) pour tous les changements importants.
+## v2.7.16 disponible
+Version 2.7.16 de la libraire est maintenant [disponible](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). Vous pouvez voir le [Release Notes](ReleaseNotes.md) pour tous les changements importants.
#### mise à jour depuis pre-v2.0
L'utilisation de la librairie à un peu changer depuis la version in v2.0. Si vous voulez l'utiliser vous devrez changer votre utilisation aussi. Vous pouvez vous renseigner sur les précondition d'utilisation ici : [Upgrade to v2.0](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Upgrading-to-v2.0) page.
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/ReleaseNotes.md b/lib/lib_basic/IRremoteESP8266/ReleaseNotes.md
similarity index 98%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/ReleaseNotes.md
rename to lib/lib_basic/IRremoteESP8266/ReleaseNotes.md
index 7feab2ca3..451df9ced 100644
--- a/lib/lib_basic/IRremoteESP8266-2.7.15/ReleaseNotes.md
+++ b/lib/lib_basic/IRremoteESP8266/ReleaseNotes.md
@@ -1,5 +1,21 @@
# Release Notes
+## _v2.7.16 (20210324)_
+
+**[Features]**
+- ToshibaAC: Swing handling and `setRaw()` improvements. (#1423 #1424 #1425)
+- Support for XMP (Xfinity) protocol. (#1414 #1422)
+- ToshibaAC: Adjust inter-message gap timing to improve matching. (#1420 #1421)
+- Ecoclim: Add detailed A/C support (#1397 #1415)
+
+**[Misc]**
+- [ESP32] Fix `addApbChangeCallback(): duplicate func` kernel msgs (#1434 #1435)
+- refactor ir_Fujitsu (#1419)
+- refactor ir_Whirlpool (#1416)
+- refactor ir_Vestel (#1413)
+- refactor ir_Trotec (#1412)
+
+
## _v2.7.15 (20210213)_
**[BREAKING CHANGES]**
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/SupportedProtocols.md b/lib/lib_basic/IRremoteESP8266/SupportedProtocols.md
similarity index 97%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/SupportedProtocols.md
rename to lib/lib_basic/IRremoteESP8266/SupportedProtocols.md
index 07a4506b2..eb16650fc 100644
--- a/lib/lib_basic/IRremoteESP8266-2.7.15/SupportedProtocols.md
+++ b/lib/lib_basic/IRremoteESP8266/SupportedProtocols.md
@@ -1,6 +1,6 @@
+ Last generated: Wed 24 Mar 2021 09:41:27 +0000 --->
# IR Protocols supported by this library
| Protocol | Brand | Model | A/C Model | Detailed A/C Support |
@@ -22,7 +22,7 @@
| [Denon](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Denon.cpp) | **Denon** | AVR-3801 A/V Receiver (probably) | | - |
| [Dish](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Dish.cpp) | **DISH NETWORK** | echostar 301 | | - |
| [Doshisha](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Doshisha.cpp) | **Doshisha** | CZ-S32D LED Light
CZ-S38D LED Light
CZ-S50D LED Light
RCZ01 remote | | - |
-| [EcoClim](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_EcoClim.cpp) | **EcoClim** | HYSFR-P348 remote
ZC200DPO A/C | | - |
+| [Ecoclim](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Ecoclim.cpp) | **[EcoClim](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Ecoclim.h)** | HYSFR-P348 remote
ZC200DPO A/C | | Yes |
| [Electra](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.cpp) | **[AUX](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.h)** | KFR-35GW/BpNFW=3 A/C
YKR-T/011 remote | | Yes |
| [Electra](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.cpp) | **[Electra](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.h)** | Classic INV 17 / AXW12DCS A/C
YKR-M/003E remote | | Yes |
| [EliteScreens](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_EliteScreens.cpp) | **Elite Screens** | CineTension2 / CineTension3 series
Home2 / Home3 series
Spectrum series
VMAX Plus4 series
VMAX2 / VMAX2 Plus series
ZSP-IR-B / ZSP-IR-W remote | | - |
@@ -94,7 +94,7 @@
| [Technibel](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Technibel.cpp) | **[Technibel](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Technibel.h)** | IRO PLUS | | Yes |
| [Teco](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Teco.cpp) | **[Alaska](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Teco.h)** | SAC9010QC A/C
SAC9010QC remote | | Yes |
| [Toshiba](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Toshiba.cpp) | **[Carrier](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Toshiba.h)** | 42NQV025M2 / 38NYV025M2 A/C
42NQV035M2 / 38NYV035M2 A/C
42NQV050M2 / 38NYV050M2 A/C
42NQV060M2 / 38NYV060M2 A/C | | Yes |
-| [Toshiba](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Toshiba.cpp) | **[Toshiba](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Toshiba.h)** | Akita EVO II
RAS 18SKP-ES
RAS-B13N3KV2
RAS-B13N3KVP-E
WC-L03SE
WH-TA04NE | | Yes |
+| [Toshiba](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Toshiba.cpp) | **[Toshiba](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Toshiba.h)** | Akita EVO II
RAS 18SKP-ES
RAS-2558V A/C
RAS-B13N3KV2
RAS-B13N3KVP-E
WC-L03SE
WH-TA04NE
WH-UB03NJ remote | | Yes |
| [Transcold](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Transcold.cpp) | **[Transcold](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Transcold.h)** | M1-F-NO-6 A/C | | Yes |
| [Trotec](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Trotec.cpp) | **[Duux](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Trotec.h)** | Blizzard Smart 10K / DXMA04 A/C | | Yes |
| [Trotec](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Trotec.cpp) | **[Trotec](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Trotec.h)** | PAC 3200 A/C | | Yes |
@@ -102,6 +102,7 @@
| [Voltas](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Voltas.cpp) | **[Voltas](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Voltas.h)** | 122LZF 4011252 Window A/C | 122LZF | Yes |
| [Whirlpool](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Whirlpool.cpp) | **[Whirlpool](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Whirlpool.h)** | DG11J1-04 remote
DG11J1-3A remote
DG11J1-91 remote
SPIS409L A/C
SPIS412L A/C
SPIW409L A/C
SPIW412L A/C
SPIW418L A/C | DG11J13A
DG11J191 | Yes |
| [Whynter](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Whynter.cpp) | **Whynter** | ARC-110WD A/C | | - |
+| [Xmp](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Xmp.cpp) | **Xfinity** | XR11 remote
XR2 remote | | - |
| [Zepeal](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Zepeal.cpp) | **Zepeal** | DRT-A3311(BG) 5 button remote
DRT-A3311(BG) floor fan | | - |
@@ -208,4 +209,5 @@
- VOLTAS
- WHIRLPOOL_AC
- WHYNTER
+- XMP
- ZEPEAL
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/assets/images/banner.svg b/lib/lib_basic/IRremoteESP8266/assets/images/banner.svg
similarity index 100%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/assets/images/banner.svg
rename to lib/lib_basic/IRremoteESP8266/assets/images/banner.svg
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/assets/images/logo.svg b/lib/lib_basic/IRremoteESP8266/assets/images/logo.svg
similarity index 100%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/assets/images/logo.svg
rename to lib/lib_basic/IRremoteESP8266/assets/images/logo.svg
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/docs/README.md b/lib/lib_basic/IRremoteESP8266/docs/README.md
similarity index 100%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/docs/README.md
rename to lib/lib_basic/IRremoteESP8266/docs/README.md
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/docs/README_de.md b/lib/lib_basic/IRremoteESP8266/docs/README_de.md
similarity index 100%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/docs/README_de.md
rename to lib/lib_basic/IRremoteESP8266/docs/README_de.md
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/docs/README_fr.md b/lib/lib_basic/IRremoteESP8266/docs/README_fr.md
similarity index 100%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/docs/README_fr.md
rename to lib/lib_basic/IRremoteESP8266/docs/README_fr.md
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/docs/_config.yml b/lib/lib_basic/IRremoteESP8266/docs/_config.yml
similarity index 100%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/docs/_config.yml
rename to lib/lib_basic/IRremoteESP8266/docs/_config.yml
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/docs/doxygen/html/IRac_8cpp.html b/lib/lib_basic/IRremoteESP8266/docs/doxygen/html/IRac_8cpp.html
similarity index 100%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/docs/doxygen/html/IRac_8cpp.html
rename to lib/lib_basic/IRremoteESP8266/docs/doxygen/html/IRac_8cpp.html
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/docs/doxygen/html/IRac_8h.html b/lib/lib_basic/IRremoteESP8266/docs/doxygen/html/IRac_8h.html
similarity index 100%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/docs/doxygen/html/IRac_8h.html
rename to lib/lib_basic/IRremoteESP8266/docs/doxygen/html/IRac_8h.html
diff --git a/lib/lib_basic/IRremoteESP8266-2.7.15/docs/doxygen/html/IRac_8h_source.html b/lib/lib_basic/IRremoteESP8266/docs/doxygen/html/IRac_8h_source.html
similarity index 89%
rename from lib/lib_basic/IRremoteESP8266-2.7.15/docs/doxygen/html/IRac_8h_source.html
rename to lib/lib_basic/IRremoteESP8266/docs/doxygen/html/IRac_8h_source.html
index eb32f990c..9809f9a1e 100644
--- a/lib/lib_basic/IRremoteESP8266-2.7.15/docs/doxygen/html/IRac_8h_source.html
+++ b/lib/lib_basic/IRremoteESP8266/docs/doxygen/html/IRac_8h_source.html
@@ -87,624 +87,634 @@ $(function() {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 51 explicit IRac(
const uint16_t pin,
const bool inverted =
false,
- 52 const bool use_modulation =
true);
-
-
-
-
- 57 const float degrees,
const bool celsius,
-
-
-
- 61 const bool quiet,
const bool turbo,
const bool econo,
- 62 const bool light,
const bool filter,
const bool clean,
- 63 const bool beep,
const int16_t sleep,
-
-
-
-
-
-
-
-
-
- 73 const bool quiet,
const bool turbo,
const bool econo,
- 74 const bool light,
const bool filter,
const bool clean,
- 75 const bool beep,
const int16_t sleep = -1,
- 76 const int16_t clock = -1);
-
- 78 static bool strToBool(
const char *str,
const bool def =
false);
- 79 static int16_t
strToModel(
const char *str,
const int16_t def = -1);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 110 #endif // SEND_AIRWELL
-
-
-
-
-
-
-
-
-
- 120 const bool turbo,
const int16_t sleep = -1);
-
- 122 #if SEND_CARRIER_AC64
-
-
-
-
- 127 #endif // SEND_CARRIER_AC64
-
-
-
-
-
- 133 const bool turbo,
const bool light,
const bool clean,
- 134 const int16_t sleep = -1);
- 135 #endif // SEND_COOLIX
-
-
-
-
-
- 141 #endif // SEND_CORONA_AC
-
-
-
-
-
- 147 const bool quiet,
const bool turbo,
const bool econo,
-
- 149 #endif // SEND_DAIKIN
-
-
-
-
-
- 155 const bool quiet,
const bool turbo,
const bool light,
- 156 const bool econo,
const int16_t sleep = -1,
- 157 const int16_t clock = -1);
- 158 #endif // SEND_DAIKIN128
-
-
-
-
-
- 164 const bool quiet,
const bool turbo,
const bool econo);
- 165 #endif // SEND_DAIKIN152
-
-
-
-
-
- 171 #endif // SEND_DAIKIN160
-
-
-
-
-
- 177 #endif // SEND_DAIKIN176
-
-
-
-
-
- 183 const bool quiet,
const bool turbo,
const bool light,
- 184 const bool econo,
const bool filter,
const bool clean,
- 185 const bool beep,
const int16_t sleep = -1,
- 186 const int16_t clock = -1);
- 187 #endif // SEND_DAIKIN2
-
-
-
-
-
- 193 const bool quiet,
const bool turbo);
- 194 #endif // SEND_DAIKIN216
-
-
-
-
-
- 200 const bool quiet,
const bool turbo,
- 201 const int16_t sleep = -1,
const int16_t clock = -1);
- 202 #endif // SEND_DAIKIN64
-
-
-
-
- 207 const bool turbo,
const int16_t sleep = -1);
- 208 #endif // SEND_DELONGHI_AC
-
-
-
-
-
-
- 215 const bool lighttoggle,
const bool clean);
- 216 #endif // SEND_ELECTRA_AC
-
-
-
-
-
- 222 const bool quiet,
const bool turbo,
const bool econo,
- 223 const bool filter,
const bool clean,
const int16_t sleep = -1);
- 224 #endif // SEND_FUJITSU_AC
-
-
-
-
-
-
- 231 const bool turbo,
const bool light,
- 232 const int16_t sleep = -1);
- 233 #endif // SEND_GOODWEATHER
-
-
-
-
-
- 239 const bool clean,
const int16_t sleep = -1);
-
-
-
-
-
- 245 const bool filter,
const int16_t sleep = -1,
- 246 const int16_t clock = -1);
- 247 #endif // SEND_HAIER_AC
- 248 #if SEND_HAIER_AC_YRW02
-
-
-
-
- 253 const bool turbo,
const bool filter,
- 254 const int16_t sleep = -1);
- 255 #endif // SEND_HAIER_AC_YRW02
-
-
-
-
-
- 261 #endif // SEND_HITACHI_AC
-
-
- 264 const bool on,
const bool power_toggle,
-
-
-
- 268 const bool swing_toggle,
const int16_t sleep = -1);
- 269 #endif // SEND_HITACHI_AC1
- 270 #if SEND_HITACHI_AC344
-
-
-
-
-
- 276 #endif // SEND_HITACHI_AC344
- 277 #if SEND_HITACHI_AC424
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 52 explicit IRac(
const uint16_t pin,
const bool inverted =
false,
+ 53 const bool use_modulation =
true);
+
+
+
+
+ 58 const float degrees,
const bool celsius,
+
+
+
+ 62 const bool quiet,
const bool turbo,
const bool econo,
+ 63 const bool light,
const bool filter,
const bool clean,
+ 64 const bool beep,
const int16_t sleep,
+
+
+
+
+
+
+
+
+
+ 74 const bool quiet,
const bool turbo,
const bool econo,
+ 75 const bool light,
const bool filter,
const bool clean,
+ 76 const bool beep,
const int16_t sleep = -1,
+ 77 const int16_t clock = -1);
+
+ 79 static bool strToBool(
const char *str,
const bool def =
false);
+ 80 static int16_t
strToModel(
const char *str,
const int16_t def = -1);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 111 #endif // SEND_AIRWELL
+
+
+
+
+
+
+
+
+
+ 121 const bool turbo,
const int16_t sleep = -1);
+
+ 123 #if SEND_CARRIER_AC64
+
+
+
+
+ 128 #endif // SEND_CARRIER_AC64
+
+
+
+
+
+ 134 const bool turbo,
const bool light,
const bool clean,
+ 135 const int16_t sleep = -1);
+ 136 #endif // SEND_COOLIX
+
+
+
+
+
+ 142 #endif // SEND_CORONA_AC
+
+
+
+
+
+ 148 const bool quiet,
const bool turbo,
const bool econo,
+
+ 150 #endif // SEND_DAIKIN
+
+
+
+
+
+ 156 const bool quiet,
const bool turbo,
const bool light,
+ 157 const bool econo,
const int16_t sleep = -1,
+ 158 const int16_t clock = -1);
+ 159 #endif // SEND_DAIKIN128
+
+
+
+
+
+ 165 const bool quiet,
const bool turbo,
const bool econo);
+ 166 #endif // SEND_DAIKIN152
+
+
+
+
+
+ 172 #endif // SEND_DAIKIN160
+
+
+
+
+
+ 178 #endif // SEND_DAIKIN176
+
+
+
+
+
+ 184 const bool quiet,
const bool turbo,
const bool light,
+ 185 const bool econo,
const bool filter,
const bool clean,
+ 186 const bool beep,
const int16_t sleep = -1,
+ 187 const int16_t clock = -1);
+ 188 #endif // SEND_DAIKIN2
+
+
+
+
+
+ 194 const bool quiet,
const bool turbo);
+ 195 #endif // SEND_DAIKIN216
+
+
+
+
+
+ 201 const bool quiet,
const bool turbo,
+ 202 const int16_t sleep = -1,
const int16_t clock = -1);
+ 203 #endif // SEND_DAIKIN64
+
+
+
+
+ 208 const bool turbo,
const int16_t sleep = -1);
+ 209 #endif // SEND_DELONGHI_AC
+
+
+
+
+ 214 const int16_t sleep = -1,
const int16_t clock = -1);
+ 215 #endif // SEND_ECOCLIM
+
+
+
+
+
+
+ 222 const bool lighttoggle,
const bool clean);
+ 223 #endif // SEND_ELECTRA_AC
+
+
+
+
+
+ 229 const bool quiet,
const bool turbo,
const bool econo,
+ 230 const bool filter,
const bool clean,
const int16_t sleep = -1);
+ 231 #endif // SEND_FUJITSU_AC
+
+
+
+
+
+
+ 238 const bool turbo,
const bool light,
+ 239 const int16_t sleep = -1);
+ 240 #endif // SEND_GOODWEATHER
+
+
+
+
+
+ 246 const bool clean,
const int16_t sleep = -1);
+
+
+
+
+
+ 252 const bool filter,
const int16_t sleep = -1,
+ 253 const int16_t clock = -1);
+ 254 #endif // SEND_HAIER_AC
+ 255 #if SEND_HAIER_AC_YRW02
+
+
+
+
+ 260 const bool turbo,
const bool filter,
+ 261 const int16_t sleep = -1);
+ 262 #endif // SEND_HAIER_AC_YRW02
+
+
+
+
+
+ 268 #endif // SEND_HITACHI_AC
+
+
+ 271 const bool on,
const bool power_toggle,
+
+
+
+ 275 const bool swing_toggle,
const int16_t sleep = -1);
+ 276 #endif // SEND_HITACHI_AC1
+ 277 #if SEND_HITACHI_AC344
+
-
- 282 #endif // SEND_HITACHI_AC424
-
-
-
-
-
- 288 const bool quiet,
const bool turbo,
const bool light,
- 289 const bool filter,
const bool clean);
- 290 #endif // SEND_KELVINATOR
-
-
-
-
-
-
-
-
-
-
- 301 const bool light,
const int16_t sleep = -1);
-
- 303 #if SEND_MITSUBISHI_AC
-
-
-
-
-
- 309 const bool quiet,
const int16_t clock = -1);
- 310 #endif // SEND_MITSUBISHI_AC
- 311 #if SEND_MITSUBISHI112
-
-
-
-
-
-
- 318 #endif // SEND_MITSUBISHI112
- 319 #if SEND_MITSUBISHI136
-
-
-
-
- 324 #endif // SEND_MITSUBISHI136
- 325 #if SEND_MITSUBISHIHEAVY
-
-
-
-
-
- 331 const bool turbo,
const bool econo,
const bool clean);
-
-
-
-
-
- 337 const bool quiet,
const bool turbo,
const bool econo,
- 338 const bool filter,
const bool clean,
- 339 const int16_t sleep = -1);
- 340 #endif // SEND_MITSUBISHIHEAVY
-
-
- 343 const bool celsius,
const float degrees,
-
-
- 346 const bool turbo,
const bool econo,
const bool light,
- 347 const bool filter,
const int16_t sleep = -1);
- 348 #endif // SEND_NEOCLIMA
- 349 #if SEND_PANASONIC_AC
-
-
-
-
- 354 const bool quiet,
const bool turbo,
const bool filter,
- 355 const int16_t clock = -1);
- 356 #endif // SEND_PANASONIC_AC
- 357 #if SEND_PANASONIC_AC32
-
-
-
-
- 362 #endif // SEND_PANASONIC_AC32
-
-
-
-
- 367 const bool quiet,
const bool turbo,
const bool light,
- 368 const bool filter,
const bool clean,
- 369 const bool beep,
const bool prevpower =
true,
- 370 const bool forcepower =
true);
- 371 #endif // SEND_SAMSUNG_AC
-
-
-
-
- 376 const bool beep,
const int16_t sleep = -1);
- 377 #endif // SEND_SANYO_AC
-
-
-
-
-
- 383 const bool filter,
const bool clean);
- 384 #endif // SEND_SHARP_AC
-
-
-
-
-
- 390 const bool turbo,
const bool light,
const bool econo,
-
- 392 #endif // SEND_TCL112AC
- 393 #if SEND_TECHNIBEL_AC
-
-
-
-
- 398 #endif // SEND_TECHNIBEL_AC
-
-
-
-
- 403 const bool light,
const int16_t sleep = -1);
-
-
-
-
-
- 409 const bool turbo,
const bool econo);
- 410 #endif // SEND_TOSHIBA_AC
-
-
-
-
- 415 #endif // SEND_TROTEC
-
-
-
-
- 420 const bool turbo,
const bool filter,
- 421 const int16_t sleep = -1,
const int16_t clock = -1,
- 422 const bool sendNormal =
true);
- 423 #endif // SEND_VESTEL_AC
-
-
-
-
-
- 429 const bool turbo,
const bool econo,
const bool light,
- 430 const int16_t sleep = -1);
- 431 #endif // SEND_VOLTAS
- 432 #if SEND_WHIRLPOOL_AC
-
-
-
- 436 const bool turbo,
const bool light,
- 437 const int16_t sleep = -1,
const int16_t clock = -1);
- 438 #endif // SEND_WHIRLPOOL_AC
-
-
-
-
-
- 444 #endif // SEND_TRANSCOLD
-
-
-
-
-
-
-
-
-
-
-
+
+
+ 283 #endif // SEND_HITACHI_AC344
+ 284 #if SEND_HITACHI_AC424
+
+
+
+
+ 289 #endif // SEND_HITACHI_AC424
+
+
+
+
+
+ 295 const bool quiet,
const bool turbo,
const bool light,
+ 296 const bool filter,
const bool clean);
+ 297 #endif // SEND_KELVINATOR
+
+
+
+
+
+
+
+
+
+
+ 308 const bool light,
const int16_t sleep = -1);
+
+ 310 #if SEND_MITSUBISHI_AC
+
+
+
+
+
+ 316 const bool quiet,
const int16_t clock = -1);
+ 317 #endif // SEND_MITSUBISHI_AC
+ 318 #if SEND_MITSUBISHI112
+
+
+
+
+
+
+ 325 #endif // SEND_MITSUBISHI112
+ 326 #if SEND_MITSUBISHI136
+
+
+
+
+ 331 #endif // SEND_MITSUBISHI136
+ 332 #if SEND_MITSUBISHIHEAVY
+
+
+
+
+
+ 338 const bool turbo,
const bool econo,
const bool clean);
+
+
+
+
+
+ 344 const bool quiet,
const bool turbo,
const bool econo,
+ 345 const bool filter,
const bool clean,
+ 346 const int16_t sleep = -1);
+ 347 #endif // SEND_MITSUBISHIHEAVY
+
+
+ 350 const bool celsius,
const float degrees,
+
+
+ 353 const bool turbo,
const bool econo,
const bool light,
+ 354 const bool filter,
const int16_t sleep = -1);
+ 355 #endif // SEND_NEOCLIMA
+ 356 #if SEND_PANASONIC_AC
+
+
+
+
+ 361 const bool quiet,
const bool turbo,
const bool filter,
+ 362 const int16_t clock = -1);
+ 363 #endif // SEND_PANASONIC_AC
+ 364 #if SEND_PANASONIC_AC32
+
+
+
+
+ 369 #endif // SEND_PANASONIC_AC32
+
+
+
+
+ 374 const bool quiet,
const bool turbo,
const bool light,
+ 375 const bool filter,
const bool clean,
+ 376 const bool beep,
const bool prevpower =
true,
+ 377 const bool forcepower =
true);
+ 378 #endif // SEND_SAMSUNG_AC
+
+
+
+
+ 383 const bool beep,
const int16_t sleep = -1);
+ 384 #endif // SEND_SANYO_AC
+
+
+
+
+
+ 390 const bool filter,
const bool clean);
+ 391 #endif // SEND_SHARP_AC
+
+
+
+
+
+ 397 const bool turbo,
const bool light,
const bool econo,
+
+ 399 #endif // SEND_TCL112AC
+ 400 #if SEND_TECHNIBEL_AC
+
+
+
+
+ 405 #endif // SEND_TECHNIBEL_AC
+
+
+
+
+ 410 const bool light,
const int16_t sleep = -1);
+
+
+
+
+
+ 416 const bool turbo,
const bool econo);
+ 417 #endif // SEND_TOSHIBA_AC
+
+
+
+
+ 422 #endif // SEND_TROTEC
+
+
+
+
+ 427 const bool turbo,
const bool filter,
+ 428 const int16_t sleep = -1,
const int16_t clock = -1,
+ 429 const bool sendNormal =
true);
+ 430 #endif // SEND_VESTEL_AC
+
+
+
+
+
+ 436 const bool turbo,
const bool econo,
const bool light,
+ 437 const int16_t sleep = -1);
+ 438 #endif // SEND_VOLTAS
+ 439 #if SEND_WHIRLPOOL_AC
+
+
+
+ 443 const bool turbo,
const bool light,
+ 444 const int16_t sleep = -1,
const int16_t clock = -1);
+ 445 #endif // SEND_WHIRLPOOL_AC
+
+
+
+
+
+ 451 #endif // SEND_TRANSCOLD
+
+
+
+
+
+
+
+
+
+
+
Class for handling detailed Panasonic A/C messages.
Definition: ir_Panasonic.h:100
-void airwell(IRAirwellAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send an Airwell A/C message with the supplied settings.
Definition: IRac.cpp:302
+void airwell(IRAirwellAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send an Airwell A/C message with the supplied settings.
Definition: IRac.cpp:306
Support for Kelvinator A/C protocols.
Class for handling detailed Samsung A/C messages.
Definition: ir_Samsung.h:130
-void hitachi(IRHitachiAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Hitachi A/C message with the supplied settings.
Definition: IRac.cpp:1073
-Class for handling detailed Toshiba A/C messages.
Definition: ir_Toshiba.h:118
-decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition: IRremoteESP8266.h:785
-stdAc::state_t getStatePrev(void)
Get the previous internal A/C climate state that should have already been sent to the device....
Definition: IRac.cpp:133
-stdAc::state_t getState(void)
Get the current internal A/C climate state.
Definition: IRac.cpp:128
+void hitachi(IRHitachiAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Hitachi A/C message with the supplied settings.
Definition: IRac.cpp:1115
+Class for handling detailed Toshiba A/C messages.
Definition: ir_Toshiba.h:121
+decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition: IRremoteESP8266.h:792
+stdAc::state_t getStatePrev(void)
Get the previous internal A/C climate state that should have already been sent to the device....
Definition: IRac.cpp:134
+stdAc::state_t getState(void)
Get the current internal A/C climate state.
Definition: IRac.cpp:129
Class for handling detailed Mitsubishi Heavy 152-bit A/C messages.
Definition: ir_MitsubishiHeavy.h:184
-static stdAc::swingh_t strToSwingH(const char *str, const stdAc::swingh_t def=stdAc::swingh_t::kOff)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2848
-void sharp(IRSharpAc *ac, const sharp_ac_remote_model_t model, const bool on, const bool prev_power, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const bool filter, const bool clean)
Send a Sharp A/C message with the supplied settings.
Definition: IRac.cpp:1727
-void hitachi344(IRHitachiAc344 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Hitachi 344-bit A/C message with the supplied settings.
Definition: IRac.cpp:1149
+static stdAc::swingh_t strToSwingH(const char *str, const stdAc::swingh_t def=stdAc::swingh_t::kOff)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2898
+void sharp(IRSharpAc *ac, const sharp_ac_remote_model_t model, const bool on, const bool prev_power, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const bool filter, const bool clean)
Send a Sharp A/C message with the supplied settings.
Definition: IRac.cpp:1769
+void hitachi344(IRHitachiAc344 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Hitachi 344-bit A/C message with the supplied settings.
Definition: IRac.cpp:1191
Support for Electra A/C protocols.
-void markAsSent(void)
Update the previous state to the current one.
Definition: IRac.cpp:2711
+void ecoclim(IREcoclimAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const int16_t sleep=-1, const int16_t clock=-1)
Send an EcoClim A/C message with the supplied settings.
Definition: IRac.cpp:818
+void markAsSent(void)
Update the previous state to the current one.
Definition: IRac.cpp:2761
swingv_t
Common A/C settings for Vertical Swing.
Definition: IRsend.h:70
Airwell "Manchester code" based protocol. Some other Airwell products use the COOLIX protocol.
-void daikin2(IRDaikin2 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool light, const bool econo, const bool filter, const bool clean, const bool beep, const int16_t sleep=-1, const int16_t clock=-1)
Send a Daikin2 A/C message with the supplied settings.
Definition: IRac.cpp:691
+void daikin2(IRDaikin2 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool light, const bool econo, const bool filter, const bool clean, const bool beep, const int16_t sleep=-1, const int16_t clock=-1)
Send a Daikin2 A/C message with the supplied settings.
Definition: IRac.cpp:695
Support for Trotec protocols.
-void sanyo(IRSanyoAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool beep, const int16_t sleep=-1)
Send a Toshiba A/C message with the supplied settings.
Definition: IRac.cpp:1683
+void sanyo(IRSanyoAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool beep, const int16_t sleep=-1)
Send a Toshiba A/C message with the supplied settings.
Definition: IRac.cpp:1725
Class for handling detailed Daikin 280-bit A/C messages.
Definition: ir_Daikin.h:658
-void lg(IRLgAc *ac, const lg_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send a LG A/C message with the supplied settings.
Definition: IRac.cpp:1255
+void lg(IRLgAc *ac, const lg_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send a LG A/C message with the supplied settings.
Definition: IRac.cpp:1297
Class for handling detailed Delonghi A/C messages.
Definition: ir_Delonghi.h:73
Class for handling detailed Corona A/C messages.
Definition: ir_Corona.h:107
-void kelvinator(IRKelvinatorAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool light, const bool filter, const bool clean)
Send a Kelvinator A/C message with the supplied settings.
Definition: IRac.cpp:1221
+void kelvinator(IRKelvinatorAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool light, const bool filter, const bool clean)
Send a Kelvinator A/C message with the supplied settings.
Definition: IRac.cpp:1263
Class for handling detailed Daikin 312-bit A/C messages.
Definition: ir_Daikin.h:740
Support for Neoclima protocols. Analysis by crankyoldgit & AndreyShpilevoy.
Class for handling detailed Daikin 128-bit A/C messages.
Definition: ir_Daikin.h:1001
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
Support for Sharp protocols.
-static String fanspeedToString(const stdAc::fanspeed_t speed)
Convert the supplied fan speed enum into the appropriate String.
Definition: IRac.cpp:2998
+static String fanspeedToString(const stdAc::fanspeed_t speed)
Convert the supplied fan speed enum into the appropriate String.
Definition: IRac.cpp:3048
whirlpool_ac_remote_model_t
Whirlpool A/C model numbers.
Definition: IRsend.h:169
-void whirlpool(IRWhirlpoolAc *ac, const whirlpool_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const int16_t sleep=-1, const int16_t clock=-1)
Send a Whirlpool A/C message with the supplied settings.
Definition: IRac.cpp:2038
+void whirlpool(IRWhirlpoolAc *ac, const whirlpool_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const int16_t sleep=-1, const int16_t clock=-1)
Send a Whirlpool A/C message with the supplied settings.
Definition: IRac.cpp:2080
Results returned from the decoder.
Definition: IRrecv.h:92
-void daikin64(IRDaikin64 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const int16_t sleep=-1, const int16_t clock=-1)
Send a Daikin 64-bit A/C message with the supplied settings.
Definition: IRac.cpp:760
-void voltas(IRVoltas *ac, const voltas_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool light, const int16_t sleep=-1)
Send a Voltas A/C message with the supplied settings.
Definition: IRac.cpp:1997
-void tcl112(IRTcl112Ac *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool light, const bool econo, const bool filter)
Send a TCL 112-bit A/C message with the supplied settings.
Definition: IRac.cpp:1780
-void transcold(IRTranscoldAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Transcold A/C message with the supplied settings.
Definition: IRac.cpp:2075
-bool sendAc(void)
Send an A/C message based soley on our internal state.
Definition: IRac.cpp:2717
-static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b)
Compare two AirCon states.
Definition: IRac.cpp:2728
+void daikin64(IRDaikin64 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const int16_t sleep=-1, const int16_t clock=-1)
Send a Daikin 64-bit A/C message with the supplied settings.
Definition: IRac.cpp:764
+void voltas(IRVoltas *ac, const voltas_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool light, const int16_t sleep=-1)
Send a Voltas A/C message with the supplied settings.
Definition: IRac.cpp:2039
+void tcl112(IRTcl112Ac *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool light, const bool econo, const bool filter)
Send a TCL 112-bit A/C message with the supplied settings.
Definition: IRac.cpp:1822
+void transcold(IRTranscoldAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Transcold A/C message with the supplied settings.
Definition: IRac.cpp:2117
+bool sendAc(void)
Send an A/C message based soley on our internal state.
Definition: IRac.cpp:2767
+static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b)
Compare two AirCon states.
Definition: IRac.cpp:2778
Support for Midea protocols. Midea added by crankyoldgit & bwze.
Support for Daikin A/C protocols.
gree_ac_remote_model_t
Gree A/C model numbers.
Definition: IRsend.h:133
Class for handling detailed Daikin 64-bit A/C messages.
Definition: ir_Daikin.h:1131
Support for Coolix A/C protocols.
-void vestel(IRVestelAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool filter, const int16_t sleep=-1, const int16_t clock=-1, const bool sendNormal=true)
Send a Vestel A/C message with the supplied settings.
Definition: IRac.cpp:1955
+void vestel(IRVestelAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool filter, const int16_t sleep=-1, const int16_t clock=-1, const bool sendNormal=true)
Send a Vestel A/C message with the supplied settings.
Definition: IRac.cpp:1997
Class for handling detailed Hitachi 53-byte/424-bit A/C messages.
Definition: ir_Hitachi.h:371
-void daikin(IRDaikinESP *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool clean)
Send a Daikin A/C message with the supplied settings.
Definition: IRac.cpp:527
-IRac(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: IRac.cpp:54
+void daikin(IRDaikinESP *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool clean)
Send a Daikin A/C message with the supplied settings.
Definition: IRac.cpp:531
+IRac(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: IRac.cpp:55
Class for handling detailed Daikin 216-bit A/C messages.
Definition: ir_Daikin.h:836
Class for handling detailed Voltas A/C messages.
Definition: ir_Voltas.h:90
hitachi_ac1_remote_model_t
HITACHI_AC1 A/C model numbers.
Definition: IRsend.h:139
-void samsung(IRSamsungAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const bool light, const bool filter, const bool clean, const bool beep, const bool prevpower=true, const bool forcepower=true)
Send a Samsung A/C message with the supplied settings.
Definition: IRac.cpp:1642
-void daikin128(IRDaikin128 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const bool light, const bool econo, const int16_t sleep=-1, const int16_t clock=-1)
Send a Daikin 128-bit A/C message with the supplied settings.
Definition: IRac.cpp:567
+void samsung(IRSamsungAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const bool light, const bool filter, const bool clean, const bool beep, const bool prevpower=true, const bool forcepower=true)
Send a Samsung A/C message with the supplied settings.
Definition: IRac.cpp:1684
+void daikin128(IRDaikin128 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const bool light, const bool econo, const int16_t sleep=-1, const int16_t clock=-1)
Send a Daikin 128-bit A/C message with the supplied settings.
Definition: IRac.cpp:571
Class for handling detailed Hitachi 224-bit A/C messages.
Definition: ir_Hitachi.h:246
-const int8_t kGpioUnused
A placeholder for not using an actual GPIO.
Definition: IRac.h:45
-Common functions for use with all A/Cs supported by the IRac class.
Definition: IRac.cpp:3067
+const int8_t kGpioUnused
A placeholder for not using an actual GPIO.
Definition: IRac.h:46
+Common functions for use with all A/Cs supported by the IRac class.
Definition: IRac.cpp:3117
Class for handling detailed Sanyo A/C messages.
Definition: ir_Sanyo.h:106
-void haier(IRHaierAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool filter, const int16_t sleep=-1, const int16_t clock=-1)
Send a Haier A/C message with the supplied settings.
Definition: IRac.cpp:1004
-Class for handling detailed Whirlpool A/C messages.
Definition: ir_Whirlpool.h:91
+void haier(IRHaierAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool filter, const int16_t sleep=-1, const int16_t clock=-1)
Send a Haier A/C message with the supplied settings.
Definition: IRac.cpp:1046
+Class for handling detailed Whirlpool A/C messages.
Definition: ir_Whirlpool.h:132
Class for handling detailed Hitachi 344-bit A/C messages.
Definition: ir_Hitachi.h:459
-static String boolToString(const bool value)
Convert the supplied boolean into the appropriate String.
Definition: IRac.cpp:2969
-stdAc::state_t next
The state we want the device to be in after we send.
Definition: IRac.h:97
-std::string String
Definition: IRremoteESP8266.h:1199
+static String boolToString(const bool value)
Convert the supplied boolean into the appropriate String.
Definition: IRac.cpp:3019
+stdAc::state_t next
The state we want the device to be in after we send.
Definition: IRac.h:98
+std::string String
Definition: IRremoteESP8266.h:1208
Class for handling detailed Mitsubishi 144-bit A/C messages.
Definition: ir_Mitsubishi.h:242
-void trotec(IRTrotecESP *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const int16_t sleep=-1)
Send a Trotec A/C message with the supplied settings.
Definition: IRac.cpp:1918
-static int16_t strToModel(const char *str, const int16_t def=-1)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2888
+void trotec(IRTrotecESP *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const int16_t sleep=-1)
Send a Trotec A/C message with the supplied settings.
Definition: IRac.cpp:1960
+static int16_t strToModel(const char *str, const int16_t def=-1)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2938
Class for handling detailed Amcor A/C messages.
Definition: ir_Amcor.h:90
Class for handling detailed Mitsubishi 122-bit A/C messages.
Definition: ir_Mitsubishi.h:362
+
Class for handling detailed TCL A/C messages.
Definition: ir_Tcl.h:89
-void daikin176(IRDaikin176 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingh_t swingh)
Send a Daikin 176-bit A/C message with the supplied settings.
Definition: IRac.cpp:659
+void daikin176(IRDaikin176 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingh_t swingh)
Send a Daikin 176-bit A/C message with the supplied settings.
Definition: IRac.cpp:663
Class for handling detailed Electra A/C messages.
Definition: ir_Electra.h:98
Support for TCL protocols.
-bool hasStateChanged(void)
Check if the internal state has changed from what was previously sent.
Definition: IRac.cpp:2740
-void haierYrwo2(IRHaierACYRW02 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool filter, const int16_t sleep=-1)
Send a Haier YRWO2 A/C message with the supplied settings.
Definition: IRac.cpp:1041
-void daikin216(IRDaikin216 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo)
Send a Daikin 216-bit A/C message with the supplied settings.
Definition: IRac.cpp:730
+bool hasStateChanged(void)
Check if the internal state has changed from what was previously sent.
Definition: IRac.cpp:2790
+void haierYrwo2(IRHaierACYRW02 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool filter, const int16_t sleep=-1)
Send a Haier YRWO2 A/C message with the supplied settings.
Definition: IRac.cpp:1083
+void daikin216(IRDaikin216 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo)
Send a Daikin 216-bit A/C message with the supplied settings.
Definition: IRac.cpp:734
Support for Transcold A/C protocols.
Support for Hitachi A/C protocols.
Support for Panasonic protocols.
-static stdAc::state_t handleToggles(const stdAc::state_t desired, const stdAc::state_t *prev=NULL)
Create a new state base on desired & previous states but handle any state changes for options that ne...
Definition: IRac.cpp:2124
+static stdAc::state_t handleToggles(const stdAc::state_t desired, const stdAc::state_t *prev=NULL)
Create a new state base on desired & previous states but handle any state changes for options that ne...
Definition: IRac.cpp:2166
Class for handling detailed Mitsubishi 136-bit A/C messages.
Definition: ir_Mitsubishi.h:308
panasonic_ac_remote_model_t
Panasonic A/C model numbers.
Definition: IRsend.h:145
swingh_t
Common A/C settings for Horizontal Swing.
Definition: IRsend.h:83
-void mitsubishi112(IRMitsubishi112 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet)
Send a Mitsubishi 112-bit A/C message with the supplied settings.
Definition: IRac.cpp:1367
-bool decodeToState(const decode_results *decode, stdAc::state_t *result, const stdAc::state_t *prev)
Convert a valid IR A/C remote message that we understand enough into a Common A/C state.
Definition: IRac.cpp:3436
+void mitsubishi112(IRMitsubishi112 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet)
Send a Mitsubishi 112-bit A/C message with the supplied settings.
Definition: IRac.cpp:1409
+bool decodeToState(const decode_results *decode, stdAc::state_t *result, const stdAc::state_t *prev)
Convert a valid IR A/C remote message that we understand enough into a Common A/C state.
Definition: IRac.cpp:3496
Class for handling detailed Hitachi 104-bit A/C messages.
Definition: ir_Hitachi.h:303
-void hitachi424(IRHitachiAc424 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv)
Send a Hitachi 424-bit A/C message with the supplied settings.
Definition: IRac.cpp:1183
+void hitachi424(IRHitachiAc424 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv)
Send a Hitachi 424-bit A/C message with the supplied settings.
Definition: IRac.cpp:1225
Support for Samsung protocols. Samsung originally added from https://github.com/shirriff/Arduino-IRre...
-String resultAcToString(const decode_results *const result)
Display the human readable state of an A/C message if we can.
Definition: IRac.cpp:3073
-void daikin152(IRDaikin152 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const bool econo)
Send a Daikin 152-bit A/C message with the supplied settings.
Definition: IRac.cpp:604
+String resultAcToString(const decode_results *const result)
Display the human readable state of an A/C message if we can.
Definition: IRac.cpp:3123
+void daikin152(IRDaikin152 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const bool econo)
Send a Daikin 152-bit A/C message with the supplied settings.
Definition: IRac.cpp:608
fujitsu_ac_remote_model_t
Fujitsu A/C model numbers.
Definition: IRsend.h:120
Support for Gree A/C protocols.
Class for handling detailed Carrier 64 bit A/C messages.
Definition: ir_Carrier.h:84
Class for handling detailed Midea A/C messages.
Definition: ir_Midea.h:151
Class for handling detailed Kelvinator A/C messages.
Definition: ir_Kelvinator.h:121
-bool _inverted
IR LED is lit when GPIO is LOW (true) or HIGH (false)?
Definition: IRac.h:103
-Class for handling detailed Fujitsu A/C messages.
Definition: ir_Fujitsu.h:120
+bool _inverted
IR LED is lit when GPIO is LOW (true) or HIGH (false)?
Definition: IRac.h:104
+Class for handling detailed Fujitsu A/C messages.
Definition: ir_Fujitsu.h:157
Support for Mitsubishi Heavy Industry protocols. Code to emulate Mitsubishi Heavy Industries A/C IR r...
Class for handling detailed Coolix A/C messages.
Definition: ir_Coolix.h:112
-void midea(IRMideaAC *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool econo, const bool light, const int16_t sleep=-1)
Send a Midea A/C message with the supplied settings.
Definition: IRac.cpp:1292
-void panasonic(IRPanasonicAc *ac, const panasonic_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool filter, const int16_t clock=-1)
Send a Panasonic A/C message with the supplied settings.
Definition: IRac.cpp:1564
-static String swingvToString(const stdAc::swingv_t swingv)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3020
+void midea(IRMideaAC *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool econo, const bool light, const int16_t sleep=-1)
Send a Midea A/C message with the supplied settings.
Definition: IRac.cpp:1334
+void panasonic(IRPanasonicAc *ac, const panasonic_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool filter, const int16_t clock=-1)
Send a Panasonic A/C message with the supplied settings.
Definition: IRac.cpp:1606
+static String swingvToString(const stdAc::swingv_t swingv)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3070
Support for Mitsubishi protocols. Mitsubishi (TV) decoding added from https://github....
-A universal/common/generic interface for controling supported A/Cs.
Definition: IRac.h:49
+A universal/common/generic interface for controling supported A/Cs.
Definition: IRac.h:50
Support for Teco protocols.
-void gree(IRGreeAC *ac, const gree_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const bool clean, const int16_t sleep=-1)
Send a Gree A/C message with the supplied settings.
Definition: IRac.cpp:966
+void gree(IRGreeAC *ac, const gree_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const bool clean, const int16_t sleep=-1)
Send a Gree A/C message with the supplied settings.
Definition: IRac.cpp:1008
-void electra(IRElectraAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool lighttoggle, const bool clean)
Send an Electra A/C message with the supplied settings.
Definition: IRac.cpp:817
-static stdAc::state_t cleanState(const stdAc::state_t state)
Create a new state base on the provided state that has been suitably fixed.
Definition: IRac.cpp:2111
+void electra(IRElectraAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool lighttoggle, const bool clean)
Send an Electra A/C message with the supplied settings.
Definition: IRac.cpp:860
+static stdAc::state_t cleanState(const stdAc::state_t state)
Create a new state base on the provided state that has been suitably fixed.
Definition: IRac.cpp:2153
Support for Argo Ulisse 13 DCI Mobile Split ACs.
-void mitsubishi(IRMitsubishiAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const int16_t clock=-1)
Send a Mitsubishi A/C message with the supplied settings.
Definition: IRac.cpp:1330
-void amcor(IRAmcorAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send an Amcor A/C message with the supplied settings.
Definition: IRac.cpp:330
+void mitsubishi(IRMitsubishiAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const int16_t clock=-1)
Send a Mitsubishi A/C message with the supplied settings.
Definition: IRac.cpp:1372
+void amcor(IRAmcorAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send an Amcor A/C message with the supplied settings.
Definition: IRac.cpp:334
Class for handling detailed Technibel A/C messages.
Definition: ir_Technibel.h:77
+Class for handling detailed EcoClim A/C 56 bit messages.
Definition: ir_Ecoclim.h:84
Class for handling detailed Airwell A/C messages.
Definition: ir_Airwell.h:60
Support for Voltas A/C protocol.
Class for handling detailed Daikin 152-bit A/C messages.
Definition: ir_Daikin.h:1071
Class for handling detailed LG A/C messages.
Definition: ir_LG.h:67
Support for Fujitsu A/C protocols. Fujitsu A/C support added by Jonny Graham.
Class for handling detailed Haier A/C messages.
Definition: ir_Haier.h:244
-void neoclima(IRNeoclimaAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool light, const bool filter, const int16_t sleep=-1)
Send a Neoclima A/C message with the supplied settings.
Definition: IRac.cpp:1523
+void neoclima(IRNeoclimaAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool light, const bool filter, const int16_t sleep=-1)
Send a Neoclima A/C message with the supplied settings.
Definition: IRac.cpp:1565
Class for handling detailed Daikin 160-bit A/C messages.
Definition: ir_Daikin.h:892
-static String opmodeToString(const stdAc::opmode_t mode)
Convert the supplied operation mode into the appropriate String.
Definition: IRac.cpp:2976
+static String opmodeToString(const stdAc::opmode_t mode)
Convert the supplied operation mode into the appropriate String.
Definition: IRac.cpp:3026
Class for handling detailed Sharp A/C messages.
Definition: ir_Sharp.h:137
-void toshiba(IRToshibaAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool econo)
Send a Toshiba A/C message with the supplied settings.
Definition: IRac.cpp:1882
+void toshiba(IRToshibaAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool econo)
Send a Toshiba A/C message with the supplied settings.
Definition: IRac.cpp:1924
Support for Goodweather compatible HVAC protocols.
-void argo(IRArgoAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const int16_t sleep=-1)
Send an Argo A/C message with the supplied settings.
Definition: IRac.cpp:362
+void argo(IRArgoAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const int16_t sleep=-1)
Send an Argo A/C message with the supplied settings.
Definition: IRac.cpp:366
lg_ac_remote_model_t
LG A/C model numbers.
Definition: IRsend.h:175
-void mitsubishi136(IRMitsubishi136 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet)
Send a Mitsubishi 136-bit A/C message with the supplied settings.
Definition: IRac.cpp:1403
+void mitsubishi136(IRMitsubishi136 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet)
Send a Mitsubishi 136-bit A/C message with the supplied settings.
Definition: IRac.cpp:1445
-bool _modulation
Is frequency modulation to be used?
Definition: IRac.h:104
-void teco(IRTecoAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool light, const int16_t sleep=-1)
Send a Teco A/C message with the supplied settings.
Definition: IRac.cpp:1849
-static stdAc::opmode_t strToOpmode(const char *str, const stdAc::opmode_t def=stdAc::opmode_t::kAuto)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2746
+bool _modulation
Is frequency modulation to be used?
Definition: IRac.h:105
+void teco(IRTecoAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool light, const int16_t sleep=-1)
Send a Teco A/C message with the supplied settings.
Definition: IRac.cpp:1891
+static stdAc::opmode_t strToOpmode(const char *str, const stdAc::opmode_t def=stdAc::opmode_t::kAuto)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2796
Support for Sanyo protocols. Sanyo LC7461 support originally by marcosamarinho Sanyo SA 8650B origina...
-void hitachi1(IRHitachiAc1 *ac, const hitachi_ac1_remote_model_t model, const bool on, const bool power_toggle, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool swing_toggle, const int16_t sleep=-1)
Send a Hitachi1 A/C message with the supplied settings.
Definition: IRac.cpp:1110
+void hitachi1(IRHitachiAc1 *ac, const hitachi_ac1_remote_model_t model, const bool on, const bool power_toggle, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool swing_toggle, const int16_t sleep=-1)
Send a Hitachi1 A/C message with the supplied settings.
Definition: IRac.cpp:1152
Class for handling detailed Transcold A/C messages.
Definition: ir_Transcold.h:120
-void panasonic32(IRPanasonicAc32 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Panasonic A/C message with the supplied settings.
Definition: IRac.cpp:1600
+void panasonic32(IRPanasonicAc32 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Panasonic A/C message with the supplied settings.
Definition: IRac.cpp:1642
Support for Whirlpool protocols. Decoding help from: @redmusicxd, @josh929800, @raducostea.
-static bool strToBool(const char *str, const bool def=false)
Convert the supplied str into the appropriate boolean value.
Definition: IRac.cpp:2951
-void mitsubishiHeavy88(IRMitsubishiHeavy88Ac *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool clean)
Send a Mitsubishi Heavy 88-bit A/C message with the supplied settings.
Definition: IRac.cpp:1438
-static stdAc::swingv_t strToSwingV(const char *str, const stdAc::swingv_t def=stdAc::swingv_t::kOff)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2807
-Class for handling detailed Vestel A/C messages.
Definition: ir_Vestel.h:116
+static bool strToBool(const char *str, const bool def=false)
Convert the supplied str into the appropriate boolean value.
Definition: IRac.cpp:3001
+void mitsubishiHeavy88(IRMitsubishiHeavy88Ac *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool clean)
Send a Mitsubishi Heavy 88-bit A/C message with the supplied settings.
Definition: IRac.cpp:1480
+static stdAc::swingv_t strToSwingV(const char *str, const stdAc::swingv_t def=stdAc::swingv_t::kOff)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2857
+Class for handling detailed Vestel A/C messages.
Definition: ir_Vestel.h:100
Class for handling detailed Panasonic 32bit A/C messages.
Definition: ir_Panasonic.h:219
-Class for handling detailed Trotec A/C messages.
Definition: ir_Trotec.h:76
+Class for handling detailed Trotec A/C messages.
Definition: ir_Trotec.h:91
Class for handling detailed Teco A/C messages.
Definition: ir_Teco.h:62
-static String swinghToString(const stdAc::swingh_t swingh)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3044
-void fujitsu(IRFujitsuAC *ac, const fujitsu_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool filter, const bool clean, const int16_t sleep=-1)
Send a Fujitsu A/C message with the supplied settings.
Definition: IRac.cpp:860
+static String swinghToString(const stdAc::swingh_t swingh)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3094
+void fujitsu(IRFujitsuAC *ac, const fujitsu_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool filter, const bool clean, const int16_t sleep=-1)
Send a Fujitsu A/C message with the supplied settings.
Definition: IRac.cpp:902
Support for Technibel protocol.
-void delonghiac(IRDelonghiAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const bool turbo, const int16_t sleep=-1)
Send a Delonghi A/C message with the supplied settings.
Definition: IRac.cpp:790
-stdAc::state_t _prev
The state we expect the device to currently be in.
Definition: IRac.h:105
+void delonghiac(IRDelonghiAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const bool turbo, const int16_t sleep=-1)
Send a Delonghi A/C message with the supplied settings.
Definition: IRac.cpp:794
+stdAc::state_t _prev
The state we expect the device to currently be in.
Definition: IRac.h:106
Class for handling detailed Haier ACYRW02 A/C messages.
Definition: ir_Haier.h:314
-void daikin160(IRDaikin160 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv)
Send a Daikin 160-bit A/C message with the supplied settings.
Definition: IRac.cpp:637
-void corona(IRCoronaAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool econo)
Send a Corona A/C message with the supplied settings.
Definition: IRac.cpp:492
-static void initState(stdAc::state_t *state, const decode_type_t vendor, const int16_t model, const bool power, const stdAc::opmode_t mode, const float degrees, const bool celsius, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool light, const bool filter, const bool clean, const bool beep, const int16_t sleep, const int16_t clock)
Initialise the given state with the supplied settings.
Definition: IRac.cpp:85
-void mitsubishiHeavy152(IRMitsubishiHeavy152Ac *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool filter, const bool clean, const int16_t sleep=-1)
Send a Mitsubishi Heavy 152-bit A/C message with the supplied settings.
Definition: IRac.cpp:1479
+void daikin160(IRDaikin160 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv)
Send a Daikin 160-bit A/C message with the supplied settings.
Definition: IRac.cpp:641
+void corona(IRCoronaAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool econo)
Send a Corona A/C message with the supplied settings.
Definition: IRac.cpp:496
+static void initState(stdAc::state_t *state, const decode_type_t vendor, const int16_t model, const bool power, const stdAc::opmode_t mode, const float degrees, const bool celsius, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool light, const bool filter, const bool clean, const bool beep, const int16_t sleep, const int16_t clock)
Initialise the given state with the supplied settings.
Definition: IRac.cpp:86
+void mitsubishiHeavy152(IRMitsubishiHeavy152Ac *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool filter, const bool clean, const int16_t sleep=-1)
Send a Mitsubishi Heavy 152-bit A/C message with the supplied settings.
Definition: IRac.cpp:1521
Support for Haier A/C protocols. The specifics of reverse engineering the protocols details:
Class for handling detailed Mitsubishi Heavy 88-bit A/C messages.
Definition: ir_MitsubishiHeavy.h:271
Class for handling detailed Gree A/C messages.
Definition: ir_Gree.h:133
-void coolix(IRCoolixAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool light, const bool clean, const int16_t sleep=-1)
Send a Coolix A/C message with the supplied settings.
Definition: IRac.cpp:431
-static stdAc::fanspeed_t strToFanspeed(const char *str, const stdAc::fanspeed_t def=stdAc::fanspeed_t::kAuto)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2776
+void coolix(IRCoolixAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool light, const bool clean, const int16_t sleep=-1)
Send a Coolix A/C message with the supplied settings.
Definition: IRac.cpp:435
+static stdAc::fanspeed_t strToFanspeed(const char *str, const stdAc::fanspeed_t def=stdAc::fanspeed_t::kAuto)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2826
Support for Toshiba protocols.
-void goodweather(IRGoodweatherAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const int16_t sleep=-1)
Send a Goodweather A/C message with the supplied settings.
Definition: IRac.cpp:924
+void goodweather(IRGoodweatherAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const int16_t sleep=-1)
Send a Goodweather A/C message with the supplied settings.
Definition: IRac.cpp:966
Structure to hold a common A/C state.
Definition: IRsend.h:97
Class for handling detailed Goodweather A/C messages.
Definition: ir_Goodweather.h:100
Support for Vestel protocols. Vestel added by Erdem U. Altinyurt.
Class for handling detailed Argo A/C messages.
Definition: ir_Argo.h:127
Class for handling detailed Neoclima A/C messages.
Definition: ir_Neoclima.h:120
-static bool isProtocolSupported(const decode_type_t protocol)
Is the given protocol supported by the IRac class?
Definition: IRac.cpp:138
+static bool isProtocolSupported(const decode_type_t protocol)
Is the given protocol supported by the IRac class?
Definition: IRac.cpp:139
Class for handling detailed Daikin 176-bit A/C messages.
Definition: ir_Daikin.h:944
-uint16_t _pin
The GPIO to use to transmit messages from.
Definition: IRac.h:102
-void technibel(IRTechnibelAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const int16_t sleep=-1)
Send a Technibel A/C message with the supplied settings.
Definition: IRac.cpp:1816
+uint16_t _pin
The GPIO to use to transmit messages from.
Definition: IRac.h:103
+void technibel(IRTechnibelAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const int16_t sleep=-1)
Send a Technibel A/C message with the supplied settings.
Definition: IRac.cpp:1858
voltas_ac_remote_model_t
Voltas A/C model numbers.
Definition: IRsend.h:163
sharp_ac_remote_model_t
Sharp A/C model numbers.
Definition: IRsend.h:156
Support for LG protocols.
-void carrier64(IRCarrierAc64 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const int16_t sleep=-1)
Send a Carrier 64-bit A/C message with the supplied settings.
Definition: IRac.cpp:394
+void carrier64(IRCarrierAc64 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const int16_t sleep=-1)
Send a Carrier 64-bit A/C message with the supplied settings.
Definition: IRac.cpp:398
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46