diff --git a/.github/workflows/Tasmota_build.yml b/.github/workflows/Tasmota_build.yml index 2f27ef8cf..a67ae0bd8 100644 --- a/.github/workflows/Tasmota_build.yml +++ b/.github/workflows/Tasmota_build.yml @@ -1390,6 +1390,15 @@ jobs: continue-on-error: true steps: - uses: actions/checkout@v1 + - name: Delete all files and folders + run: | + rm -rf * + git config --local user.name "Platformio BUILD" + git checkout firmware + - name: Display files from branch firmware + run: ls -R + - name: Remove old firmware files + run: rm -rf ./firmware/* - uses: actions/download-artifact@v2 with: name: firmware @@ -1410,7 +1419,7 @@ jobs: [ ! -f ./mv_firmware/firmware/tasmota-minimal.* ] || mv ./mv_firmware/firmware/tasmota-minimal.* ./firmware/tasmota/ [ ! -f ./mv_firmware/firmware/tasmota-lite.* ] || mv ./mv_firmware/firmware/tasmota-lite.* ./firmware/tasmota/ [ ! -f ./mv_firmware/firmware/tasmota-ir*.* ] || mv ./mv_firmware/firmware/tasmota-ir*.* ./firmware/tasmota/ - [ ! -f ./mv_firmware/firmware/tasmota-display.* ] || mv ./mv_firmware/firmware/tasmota-display.* ./firmware/tasmota/ + [ ! -f ./mv_firmware/firmware/tasmota-display.* ] || mv ./mv_firmware/firmware/tasmota-display.* ./firmware/tasmota/ [ ! -f ./mv_firmware/firmware/tasmota-knx.* ] || mv ./mv_firmware/firmware/tasmota-knx.* ./firmware/tasmota/ [ ! -f ./mv_firmware/firmware/tasmota-zbbridge.* ] || mv ./mv_firmware/firmware/tasmota-zbbridge.* ./firmware/tasmota/ [ ! -f ./mv_firmware/firmware/tasmota-zigbee.* ] || mv ./mv_firmware/firmware/tasmota-zigbee.* ./firmware/tasmota/ @@ -1428,12 +1437,22 @@ jobs: [ ! -f ./tools/Esptool/ESP32/*.* ] || mv ./tools/Esptool/ESP32/*.* ./firmware/tasmota32/ESP32_needed_files/ [ ! -f ./tools/Esptool/Odroid_go_and_core2/*.* ] || mv ./tools/Esptool/Odroid_go_and_core2/*.* ./firmware/tasmota32/Odroid_go_and_core2_needed_files/ [ ! -f ./FIRMWARE.md ] || mv -f ./FIRMWARE.md ./README.md + - uses: actions/checkout@v2 + with: + ref: release-firmware + path: tmp-folder + - name: Display files from branch release-firmware + run: | + ls -R ./tmp-folder + mkdir -p ./release-firmware/ + cp -rf ./tmp-folder/firmware/* ./release-firmware/ + rm -rf ./tmp-folder + - name: Display files to commit + run: ls -R ./* - name: Commit files # transfer the new binaries back into the repository run: | - git config --local user.name "Platformio BUILD" git rm -r --cached . - git add ./README.md - git add -f ./firmware/*.* + git add -f ./* git commit -m "Tasmota ESP Binaries http://tasmota.com" - name: Push changes # push the firmware files to branch firmware uses: ad-m/github-push-action@master diff --git a/.gitpod.yml b/.gitpod.yml index 14cbab647..5da99208f 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -7,8 +7,8 @@ image: vscode: extensions: - - ms-vscode.cpptools@0.26.3:u3GsZ5PK12Ddr79vh4TWgQ== - - eamodio.gitlens@10.2.1:e0IYyp0efFqVsrZwsIe8CA== - - LaurentTreguier.uncrustify@2.18.0:/k8Osjj/XSuz09F+pEu7wg== - - Atishay-Jain.All-Autocomplete@0.0.23:fbZNfSpnd8XkAHGfAPS2rA== - - 2gua.rainbow-brackets@0.0.6:Tbu8dTz0i+/bgcKQTQ5b8g== + - eamodio.gitlens + - Atishay-Jain.All-Autocomplete + - CoenraadS.bracket-pair-colorizer + - esbenp.prettier-vscode + - shardulm94.trailing-spaces diff --git a/CHANGELOG.md b/CHANGELOG.md index e58d2322d..3e4c11eb3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ All notable changes to this project will be documented in this file. - Initial support for Tasmota Mesh (TasMesh) providing node/broker communication using ESP-NOW (#11939) - MQTT minimum password length restriction in GUI (#12553) - Command ``SetOption127 1`` to force Wifi in no-sleep mode even if ``Sleep 0`` is not enabled +- IRremoteESP8266 library from v2.7.18 to v2.7.19 ### Changed - ESP32 core library from v1.0.7 to v1.0.7.1 @@ -23,6 +24,8 @@ All notable changes to this project will be documented in this file. - Scripter moving average and sml input validation (#12541) - Zigbee Hue angle encoding (#12545) - AM2320 value reporting (#12552) +- Exception 28 when unable to send MQTT message and a topic name without a slash '/' (#12555) +- Wi-Fi initial setup workaround for 11n only routers (#12566) ## [9.5.0.1] 20210701 ### Added diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 955fe79df..2c7e4034c 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -126,6 +126,8 @@ The latter links can be used for OTA upgrades too like ``OtaUrl http://ota.tasmo - Scripter and Display MQTT errors due to MQTT_DATA move to String [#12525](https://github.com/arendst/Tasmota/issues/12525) - Scripter moving average and sml input validation [#12541](https://github.com/arendst/Tasmota/issues/12541) - Zigbee Hue angle encoding [#12545](https://github.com/arendst/Tasmota/issues/12545) +- Exception 28 when unable to send MQTT message and a topic name without a slash '/' [#12555](https://github.com/arendst/Tasmota/issues/12555) +- Wi-Fi initial setup workaround for 11n only routers [#12566](https://github.com/arendst/Tasmota/issues/12566) ### Noted - ESP32 single core **tasmota32solo1.bin** binary can only be uploaded using the GUI as OTA upload will trigger the watchdog timer \ No newline at end of file diff --git a/boards/esp32-cam.json b/boards/esp32-cam.json index b49fb0d4d..52f9ee817 100644 --- a/boards/esp32-cam.json +++ b/boards/esp32-cam.json @@ -7,7 +7,7 @@ "extra_flags": "-DARDUINO_ESP32_DEV -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue", "f_cpu": "240000000L", "f_flash": "80000000L", - "flash_mode": "dio", + "flash_mode": "dout", "mcu": "esp32", "variant": "esp32", "partitions": "esp32_partition_app1856k_spiffs320k.csv" diff --git a/boards/esp32-m5core2.json b/boards/esp32-m5core2.json index 99d42a6ab..e358f9778 100644 --- a/boards/esp32-m5core2.json +++ b/boards/esp32-m5core2.json @@ -7,7 +7,7 @@ "extra_flags": "-DARDUINO_M5STACK_Core2 -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue", "f_cpu": "240000000L", "f_flash": "80000000L", - "flash_mode": "dio", + "flash_mode": "dout", "mcu": "esp32", "variant": "m5stack_core2", "partitions": "esp32_partition_app2944k_spiffs10M.csv" diff --git a/boards/esp32-odroid.json b/boards/esp32-odroid.json index ea782c034..a5aca814e 100644 --- a/boards/esp32-odroid.json +++ b/boards/esp32-odroid.json @@ -7,7 +7,7 @@ "extra_flags": "-DARDUINO_ODROID_ESP32 -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue", "f_cpu": "240000000L", "f_flash": "80000000L", - "flash_mode": "dio", + "flash_mode": "dout", "mcu": "esp32", "variant": "odroid_esp32", "partitions": "esp32_partition_app2944k_spiffs10M.csv" diff --git a/boards/esp32_16M.json b/boards/esp32_16M.json index f94e36493..6ebd73c76 100644 --- a/boards/esp32_16M.json +++ b/boards/esp32_16M.json @@ -7,7 +7,7 @@ "extra_flags": "-DARDUINO_ESP32_DEV -DESP32_16M", "f_cpu": "80000000L", "f_flash": "40000000L", - "flash_mode": "dio", + "flash_mode": "dout", "mcu": "esp32", "variant": "esp32", "partitions": "esp32_partition_app2944k_spiffs10M.csv" diff --git a/boards/esp32_4M.json b/boards/esp32_4M.json index c55367e2e..91ee508ea 100644 --- a/boards/esp32_4M.json +++ b/boards/esp32_4M.json @@ -7,7 +7,7 @@ "extra_flags": "-DARDUINO_ESP32_DEV -DESP32_4M", "f_cpu": "80000000L", "f_flash": "40000000L", - "flash_mode": "dio", + "flash_mode": "dout", "mcu": "esp32", "variant": "esp32", "partitions": "esp32_partition_app1856k_spiffs320k.csv" diff --git a/boards/esp32_8M.json b/boards/esp32_8M.json index d52b2c48f..ad13a394f 100644 --- a/boards/esp32_8M.json +++ b/boards/esp32_8M.json @@ -7,7 +7,7 @@ "extra_flags": "-DARDUINO_ESP32_DEV -DESP32_8M", "f_cpu": "80000000L", "f_flash": "40000000L", - "flash_mode": "dio", + "flash_mode": "dout", "mcu": "esp32", "variant": "esp32", "partitions": "esp32_partition_app2944k_spiffs2M.csv" diff --git a/boards/esp32c3.json b/boards/esp32c3.json index 9e75d1d96..e4ce02579 100644 --- a/boards/esp32c3.json +++ b/boards/esp32c3.json @@ -6,7 +6,7 @@ "core": "esp32", "f_cpu": "160000000L", "f_flash": "80000000L", - "flash_mode": "dio", + "flash_mode": "dout", "mcu": "esp32c3", "variant": "esp32c3", "partitions": "esp32_partition_app1856k_spiffs320k.csv" diff --git a/boards/esp32s2.json b/boards/esp32s2.json index 7a714892a..a56828c14 100644 --- a/boards/esp32s2.json +++ b/boards/esp32s2.json @@ -6,7 +6,7 @@ "core": "esp32", "f_cpu": "240000000L", "f_flash": "80000000L", - "flash_mode": "dio", + "flash_mode": "dout", "mcu": "esp32s2", "variant": "esp32s2", "partitions": "esp32_partition_app1856k_spiffs320k.csv" diff --git a/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/README.md b/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/README.md index 9c21f22e6..de007d9c8 100644 --- a/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/README.md +++ b/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/README.md @@ -1,6 +1,6 @@ ![IRremoteESP8266 Library](./assets/images/banner.svg) -[![Build Status](https://travis-ci.org/crankyoldgit/IRremoteESP8266.svg?branch=master)](https://travis-ci.org/crankyoldgit/IRremoteESP8266) +[![Build Status](https://travis-ci.com/crankyoldgit/IRremoteESP8266.svg?branch=master)](https://travis-ci.com/crankyoldgit/IRremoteESP8266) [![arduino-library-badge](https://www.ardu-badge.com/badge/IRremoteESP8266.svg?)](https://www.ardu-badge.com/IRremoteESP8266) [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/crankyoldgit/IRremoteESP8266.svg)](http://isitmaintained.com/project/crankyoldgit/IRremoteESP8266 "Average time to resolve an issue") [![Percentage of issues still open](http://isitmaintained.com/badge/open/crankyoldgit/IRremoteESP8266.svg)](http://isitmaintained.com/project/crankyoldgit/IRremoteESP8266 "Percentage of issues still open") @@ -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.18 Now Available -Version 2.7.18 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.19 Now Available +Version 2.7.19 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/IRremoteESP8266/README_de.md b/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/README_de.md index d666a4a43..690ce281a 100644 --- a/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/README_de.md +++ b/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/README_de.md @@ -1,6 +1,6 @@ ![IRremoteESP8266 Library](./assets/images/banner.svg) -[![Build-Status](https://travis-ci.org/crankyoldgit/IRremoteESP8266.svg?branch=master)](https://travis-ci.org/crankyoldgit/IRremoteESP8266) +[![Build-Status](https://travis-ci.com/crankyoldgit/IRremoteESP8266.svg?branch=master)](https://travis-ci.com/crankyoldgit/IRremoteESP8266) [![Arduino-Bibliothek-Abzeichen](https://www.ardu-badge.com/badge/IRremoteESP8266.svg?)](https://www.ardu-badge.com/IRremoteESP8266) [![Durchschnittliche Zeit bis zur Problemlösung](http://isitmaintained.com/badge/resolution/crankyoldgit/IRremoteESP8266.svg)](http://isitmaintained.com/project/crankyoldgit/IRremoteESP8266 "Resolution Time") [![Prozentsatz der offenen Probleme](http://isitmaintained.com/badge/open/crankyoldgit/IRremoteESP8266.svg)](http://isitmaintained.com/project/crankyoldgit/IRremoteESP8266 "Open issues") @@ -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.18 jetzt verfügbar -Version 2.7.18 der Bibliothek ist nun [verfügbar](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). Die [Versionshinweise](ReleaseNotes.md) enthalten alle wichtigen Neuerungen. +## v2.7.19 jetzt verfügbar +Version 2.7.19 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/IRremoteESP8266/README_fr.md b/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/README_fr.md index 7cfe2a58f..c87ab75cf 100644 --- a/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/README_fr.md +++ b/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/README_fr.md @@ -1,6 +1,6 @@ ![IRremoteESP8266 Library](./assets/images/banner.svg) -[![Build Status](https://travis-ci.org/crankyoldgit/IRremoteESP8266.svg?branch=master)](https://travis-ci.org/crankyoldgit/IRremoteESP8266) +[![Build Status](https://travis-ci.com/crankyoldgit/IRremoteESP8266.svg?branch=master)](https://travis-ci.com/crankyoldgit/IRremoteESP8266) [![arduino-library-badge](https://www.ardu-badge.com/badge/IRremoteESP8266.svg?)](https://www.ardu-badge.com/IRremoteESP8266) [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/crankyoldgit/IRremoteESP8266.svg)](http://isitmaintained.com/project/crankyoldgit/IRremoteESP8266 "Average time to resolve an issue") [![Percentage of issues still open](http://isitmaintained.com/badge/open/crankyoldgit/IRremoteESP8266.svg)](http://isitmaintained.com/project/crankyoldgit/IRremoteESP8266 "Percentage of issues still open") @@ -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.18 disponible -Version 2.7.18 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.19 disponible +Version 2.7.19 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/IRremoteESP8266/ReleaseNotes.md b/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/ReleaseNotes.md index 318790e60..6fcd6f183 100644 --- a/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/ReleaseNotes.md +++ b/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/ReleaseNotes.md @@ -1,5 +1,28 @@ # Release Notes +## _v2.7.19 (20210706)_ + +**[Bug Fixes]** +- Illegal Heap write in rawbuf when the capture has overflowed. (#1516 #1517) +- PANASONIC_AC: Fix Low and High fan speeds (#1515) +- Fix MDNS in IRServer and IRMQTTServer example code (#1498 #1499) +- IRac: Fix off-by-one error in Coolix's sleep setting. (#1500) +- Fix undefined constant (#1490) + +**[Features]** +- Add detailed support for Kelon ACs (#1494) +- Experimental basic support for Teknopoint A/C protocol (#1486 #1504) +- Daikin64: Add support for Heat mode (#1492) +- Basic support for `HAIER_AC176` 176 bit protocol. (#1480 #1481) + +**[Misc]** +- GREE: Update inter-message gap timing (#1508 #1509) +- IRac: Change Coolix to send special messages after a normal message. (#1501 #1502) +- Fix compiler warnings causing Travis failures. (#1491) +- Update supported model info (#1477 #1485 #1488 #1489) +- Add HTML viewport meta tag to IRServer and IRMQTTServer examples (#1467 #1469) + + ## _v2.7.18 (20210420)_ **[Misc]** diff --git a/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/SupportedProtocols.md b/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/SupportedProtocols.md index f150f8b4d..9f91b52e9 100644 --- a/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/SupportedProtocols.md +++ b/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/SupportedProtocols.md @@ -1,6 +1,6 @@ + Last generated: Tue 06 Jul 2021 05:31:05 +0000 ---> # IR Protocols supported by this library | Protocol | Brand | Model | A/C Model | Detailed A/C Support | @@ -16,8 +16,9 @@ | [Coolix](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Coolix.cpp) | **[Kaysun](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Coolix.h)** | Casual CF A/C | | Yes | | [Coolix](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Coolix.cpp) | **[Midea](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Coolix.h)** | MS12FU-10HRDN1-QRD0GW(B) A/C
MSABAU-07HRFN1-QRD0GW A/C (circa 2016)
RG52D/BGE Remote | | Yes | | [Coolix](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Coolix.cpp) | **[Tokio](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Coolix.h)** | AATOEMF17-12CHR1SW split-type RG51\|50/BGE Remote | | Yes | +| [Coolix](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Coolix.cpp) | **[Toshiba](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Coolix.h)** | RAS-4M27YAV-E A/C
RAS-M10YKV-E A/C
RAS-M13YKV-E A/C
WH-E1YE remote | | Yes | | [Corona](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Corona.cpp) | **[Corona](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Corona.h)** | AR-01 remote
CSH-N2211 A/C
CSH-N2511 A/C
CSH-N2811 A/C
CSH-N4011 A/C | | Yes | -| [Daikin](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Daikin.cpp) | **[Daikin](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Daikin.h)** | 17 Series A/C (DAIKIN128)
ARC423A5 remote (DAIKIN160)
ARC433** remote (DAIKIN)
ARC433B69 remote (DAIKIN216)
ARC466A33 remote (DAIKIN)
ARC477A1 remote (DAIKIN2)
ARC480A5 remote (DAIKIN152)
BRC4C151 remote (DAIKIN176)
BRC4C153 remote (DAIKIN176)
BRC52B63 remote (DAIKIN128)
DGS01 remote (DAIKIN64)
FFN-C/FCN-F Series A/C (DAIKIN64)
FFQ35B8V1B A/C (DAIKIN176)
FTE12HV2S A/C
FTXB09AXVJU A/C (DAIKIN128)
FTXB12AXVJU A/C (DAIKIN128)
FTXM-M A/C (DAIKIN)
FTXZ25NV1B A/C (DAIKIN2)
FTXZ35NV1B A/C (DAIKIN2)
FTXZ50NV1B A/C (DAIKIN2)
M Series A/C (DAIKIN) | | Yes | +| [Daikin](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Daikin.cpp) | **[Daikin](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Daikin.h)** | 17 Series A/C (DAIKIN128)
ARC423A5 remote (DAIKIN160)
ARC433** remote (DAIKIN)
ARC433B69 remote (DAIKIN216)
ARC466A33 remote (DAIKIN)
ARC477A1 remote (DAIKIN2)
ARC480A5 remote (DAIKIN152)
BRC4C151 remote (DAIKIN176)
BRC4C153 remote (DAIKIN176)
BRC52B63 remote (DAIKIN128)
DGS01 remote (DAIKIN64)
FFN-C/FCN-F Series A/C (DAIKIN64)
FFQ35B8V1B A/C (DAIKIN176)
FTE12HV2S A/C
FTWX35AXV1 A/C (DAIKIN64)
FTXB09AXVJU A/C (DAIKIN128)
FTXB12AXVJU A/C (DAIKIN128)
FTXM-M A/C (DAIKIN)
FTXZ25NV1B A/C (DAIKIN2)
FTXZ35NV1B A/C (DAIKIN2)
FTXZ50NV1B A/C (DAIKIN2)
M Series A/C (DAIKIN) | | Yes | | [Delonghi](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Delonghi.cpp) | **[Delonghi](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Delonghi.h)** | PAC A95 | | Yes | | [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 | | - | @@ -25,6 +26,7 @@ | [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 | +| [Electra](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.cpp) | **[Frigidaire](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.h)** | FGPC102AB1 A/C | | 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 | | - | | [EliteScreens](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_EliteScreens.cpp) | **Lumene Screens** | Embassy | | - | | [Epson](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Epson.cpp) | **Epson** | EN-TW9100W Projector | | - | @@ -34,15 +36,18 @@ | [GlobalCache](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_GlobalCache.cpp) | **Global Cache** | Control Tower IR DB | | - | | [Goodweather](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Goodweather.cpp) | **[Goodweather](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Goodweather.h)** | ZH/JT-03 remote | | Yes | | [Gree](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.cpp) | **[Amana](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.h)** | PBC093G00CC A/C
YX1FF remote | YAW1F
YBOFB | Yes | +| [Gree](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.cpp) | **[Cooper & Hunter](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.h)** | CH-S09FTXG A/C
YB1F2 remote | YAW1F
YBOFB | Yes | | [Gree](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.cpp) | **[EKOKAI](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.h)** | A/C | YAW1F
YBOFB | Yes | | [Gree](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.cpp) | **[Gree](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.h)** | YAA1FBF remote
YB1F2F remote | YAW1F
YBOFB | Yes | | [Gree](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.cpp) | **[Green](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.h)** | YBOFB remote
YBOFB2 remote | YAW1F
YBOFB | Yes | | [Gree](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.cpp) | **[RusClimate](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.h)** | EACS/I-09HAR_X/N3 A/C
YAW1F remote | YAW1F
YBOFB | Yes | | [Gree](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.cpp) | **[Ultimate](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.h)** | Heat Pump | YAW1F
YBOFB | Yes | | [Haier](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Haier.cpp) | **[Haier](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Haier.h)** | HSU-09HMC203 A/C (HAIER_AC_YRW02)
HSU07-HEA03 remote (HAIER_AC)
YR-W02 remote (HAIER_AC_YRW02) | | Yes | +| [Haier](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Haier.cpp) | **[Mabe](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Haier.h)** | MMI18HDBWCA6MI8 A/C (HAIER_AC176)
V12843 HJ200223 remote (HAIER_AC176) | | Yes | | [Hitachi](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Hitachi.cpp) | **[Hitachi](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Hitachi.h)** | KAZE-312KSDP A/C (HITACHI_AC1)
LT0541-HTA remote (HITACHI_AC1)
PC-LH3B (HITACHI_AC3)
R-LT0541-HTA/Y.K.1.1-1 V2.3 remote (HITACHI_AC1)
RAR-8P2 remote (HITACHI_AC424)
RAS-22NK A/C (HITACHI_AC344)
RAS-35THA6 remote
RAS-AJ25H A/C (HITACHI_AC424)
RF11T1 remote (HITACHI_AC344)
Series VI A/C (Circa 2007) (HITACHI_AC1) | | Yes | | [Inax](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Inax.cpp) | **Lixil** | Inax DT-BA283 Toilet | | - | | [JVC](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_JVC.cpp) | **JVC** | PTU94023B remote | | - | +| [Kelon](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Kelon.cpp) | **[Kelon](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Kelon.h)** | ON/OFF 9000-12000 | | Yes | | [Kelvinator](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Kelvinator.cpp) | **[Green](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Kelvinator.h)** | YAPOF3 remote | | Yes | | [Kelvinator](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Kelvinator.cpp) | **[Kelvinator](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Kelvinator.h)** | KSV26CRC A/C
KSV26HRC A/C
KSV35CRC A/C
KSV35HRC A/C
KSV53HRC A/C
KSV62HRC A/C
KSV70CRC A/C
KSV70HRC A/C
KSV80HRC A/C
YALIF Remote | | Yes | | [Kelvinator](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Kelvinator.cpp) | **[Sharp](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Kelvinator.h)** | A5VEY A/C
YB1FA remote | | Yes | @@ -80,7 +85,7 @@ | [Pronto](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Pronto.cpp) | **Pronto** | Pronto Hex | | - | | [RC5_RC6](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_RC5_RC6.cpp) | **Philips** | RC-5X (RC5X)
Standard RC-5 (RC5)
Standard RC-6 (RC6) | | - | | [RCMM](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_RCMM.cpp) | **Microsoft** | XBOX 360 | | - | -| [Samsung](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Samsung.cpp) | **[Samsung](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Samsung.h)** | AH59-02692E Soundbar remote (SAMSUNG36)
AK59-00167A Bluray remote (SAMSUNG36)
AR09FSSDAWKNFA A/C (SAMSUNG_AC)
AR12HSSDBWKNEU A/C (SAMSUNG_AC)
AR12KSFPEWQNET A/C (SAMSUNG_AC)
AR12NXCXAWKXEU A/C (SAMSUNG_AC)
BN59-01178B TV remote (SAMSUNG)
DB63-03556X003 remote
DB93-16761C remote
HW-J551 Soundbar (SAMSUNG36)
IEC-R03 remote
UA55H6300 TV (SAMSUNG) | | Yes | +| [Samsung](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Samsung.cpp) | **[Samsung](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Samsung.h)** | AH59-02692E Soundbar remote (SAMSUNG36)
AK59-00167A Bluray remote (SAMSUNG36)
AR09FSSDAWKNFA A/C (SAMSUNG_AC)
AR09HSFSBWKN A/C (SAMSUNG_AC)
AR12HSSDBWKNEU A/C (SAMSUNG_AC)
AR12KSFPEWQNET A/C (SAMSUNG_AC)
AR12NXCXAWKXEU A/C (SAMSUNG_AC)
BN59-01178B TV remote (SAMSUNG)
DB63-03556X003 remote
DB93-14195A remote (SAMSUNG_AC)
DB93-16761C remote
HW-J551 Soundbar (SAMSUNG36)
IEC-R03 remote
UA55H6300 TV (SAMSUNG) | | Yes | | [Sanyo](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Sanyo.cpp) | **[Sanyo](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Sanyo.h)** | LC7461 transmitter IC (SANYO_LC7461)
RCS-2HS4E remote (SANYO_AC)
RCS-2S4E remote (SANYO_AC)
SA 8650B - disabled
SAP-K121AHA A/C (SANYO_AC)
SAP-K242AH A/C (SANYO_AC) | | Yes | | [Sharp](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Sharp.cpp) | **[Sharp](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Sharp.h)** | AH-A12REVP-1 A/C (A903)
AH-AxSAY A/C (A907)
AH-PR13-GL A/C (A903)
AH-XP10NRY A/C (A903)
AY-ZP40KR A/C (A907)
CRMC-820 JBEZ remote (A903)
CRMC-A705 JBEZ remote (A705)
CRMC-A863 JBEZ remote (A903)
CRMC-A903JBEZ remote (A903)
CRMC-A907 JBEZ remote (A907)
LC-52D62U TV | A705
A903
A907 | Yes | | [Sherwood](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Sherwood.cpp) | **Sherwood** | RC-138 remote
RD6505(B) Receiver | | - | @@ -93,6 +98,7 @@ | [Tcl](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Tcl.cpp) | **[Leberg](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Tcl.h)** | LBS-TOR07 A/C | | Yes | | [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 | +| [Teknopoint](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Teknopoint.cpp) | **Teknopoint** | Allegro SSA-09H A/C
GZ-055B-E1 remote | | - | | [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-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 | @@ -148,6 +154,7 @@ - GOODWEATHER - GREE - HAIER_AC +- HAIER_AC176 - HAIER_AC_YRW02 - HITACHI_AC - HITACHI_AC1 @@ -157,6 +164,7 @@ - HITACHI_AC424 - INAX - JVC +- KELON - KELVINATOR - LASERTAG - LEGOPF @@ -203,6 +211,7 @@ - TCL112AC - TECHNIBEL_AC - TECO +- TEKNOPOINT - TOSHIBA_AC - TRANSCOLD - TROTEC diff --git a/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/docs/doxygen/html/IRac_8h_source.html b/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/docs/doxygen/html/IRac_8h_source.html index 5b3ba1925..d5c997fb1 100644 --- a/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/docs/doxygen/html/IRac_8h_source.html +++ b/lib/lib_basic/IRremoteESP8266/IRremoteESP8266/docs/doxygen/html/IRac_8h_source.html @@ -93,638 +93,648 @@ $(function() {
22 #include "ir_Gree.h"
23 #include "ir_Haier.h"
24 #include "ir_Hitachi.h"
-
25 #include "ir_Kelvinator.h"
-
26 #include "ir_LG.h"
-
27 #include "ir_Midea.h"
-
28 #include "ir_Mitsubishi.h"
-
29 #include "ir_MitsubishiHeavy.h"
-
30 #include "ir_Neoclima.h"
-
31 #include "ir_Panasonic.h"
-
32 #include "ir_Samsung.h"
-
33 #include "ir_Sanyo.h"
-
34 #include "ir_Sharp.h"
-
35 #include "ir_Tcl.h"
-
36 #include "ir_Technibel.h"
-
37 #include "ir_Teco.h"
-
38 #include "ir_Toshiba.h"
-
39 #include "ir_Transcold.h"
-
40 #include "ir_Trotec.h"
-
41 #include "ir_Truma.h"
-
42 #include "ir_Vestel.h"
-
43 #include "ir_Voltas.h"
-
44 #include "ir_Whirlpool.h"
-
45 
-
46 // Constants
-
47 const int8_t kGpioUnused = -1;
-
48 
-
49 // Class
-
51 class IRac {
-
52  public:
-
53  explicit IRac(const uint16_t pin, const bool inverted = false,
-
54  const bool use_modulation = true);
-
55  static bool isProtocolSupported(const decode_type_t protocol);
-
56  static void initState(stdAc::state_t *state,
-
57  const decode_type_t vendor, const int16_t model,
-
58  const bool power, const stdAc::opmode_t mode,
-
59  const float degrees, const bool celsius,
-
60  const stdAc::fanspeed_t fan,
-
61  const stdAc::swingv_t swingv,
-
62  const stdAc::swingh_t swingh,
-
63  const bool quiet, const bool turbo, const bool econo,
-
64  const bool light, const bool filter, const bool clean,
-
65  const bool beep, const int16_t sleep,
-
66  const int16_t clock);
-
67  static void initState(stdAc::state_t *state);
-
68  void markAsSent(void);
-
69  bool sendAc(void);
-
70  bool sendAc(const stdAc::state_t desired, const stdAc::state_t *prev = NULL);
-
71  bool sendAc(const decode_type_t vendor, const int16_t model,
-
72  const bool power, const stdAc::opmode_t mode, const float degrees,
-
73  const bool celsius, const stdAc::fanspeed_t fan,
-
74  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
75  const bool quiet, const bool turbo, const bool econo,
-
76  const bool light, const bool filter, const bool clean,
-
77  const bool beep, const int16_t sleep = -1,
-
78  const int16_t clock = -1);
-
79  static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b);
-
80  static bool strToBool(const char *str, const bool def = false);
-
81  static int16_t strToModel(const char *str, const int16_t def = -1);
-
82  static stdAc::opmode_t strToOpmode(
-
83  const char *str, const stdAc::opmode_t def = stdAc::opmode_t::kAuto);
-
84  static stdAc::fanspeed_t strToFanspeed(
-
85  const char *str,
-
86  const stdAc::fanspeed_t def = stdAc::fanspeed_t::kAuto);
-
87  static stdAc::swingv_t strToSwingV(
-
88  const char *str, const stdAc::swingv_t def = stdAc::swingv_t::kOff);
-
89  static stdAc::swingh_t strToSwingH(
-
90  const char *str, const stdAc::swingh_t def = stdAc::swingh_t::kOff);
-
91  static String boolToString(const bool value);
-
92  static String opmodeToString(const stdAc::opmode_t mode);
-
93  static String fanspeedToString(const stdAc::fanspeed_t speed);
-
94  static String swingvToString(const stdAc::swingv_t swingv);
-
95  static String swinghToString(const stdAc::swingh_t swingh);
-
96  stdAc::state_t getState(void);
-
97  stdAc::state_t getStatePrev(void);
-
98  bool hasStateChanged(void);
-
99  stdAc::state_t next;
-
100 #ifndef UNIT_TEST
-
101 
-
102  private:
-
103 #endif
-
104  uint16_t _pin;
-
105  bool _inverted;
-
106  bool _modulation;
-
107  stdAc::state_t _prev;
-
108 #if SEND_AIRWELL
-
109  void airwell(IRAirwellAc *ac,
-
110  const bool on, const stdAc::opmode_t mode, const float degrees,
-
111  const stdAc::fanspeed_t fan);
-
112 #endif // SEND_AIRWELL
-
113 #if SEND_AMCOR
-
114  void amcor(IRAmcorAc *ac,
-
115  const bool on, const stdAc::opmode_t mode, const float degrees,
-
116  const stdAc::fanspeed_t fan);
-
117 #endif // SEND_AMCOR
-
118 #if SEND_ARGO
-
119  void argo(IRArgoAC *ac,
-
120  const bool on, const stdAc::opmode_t mode, const float degrees,
-
121  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
122  const bool turbo, const int16_t sleep = -1);
-
123 #endif // SEND_ARGO
-
124 #if SEND_CARRIER_AC64
-
125 void carrier64(IRCarrierAc64 *ac,
-
126  const bool on, const stdAc::opmode_t mode,
-
127  const float degrees, const stdAc::fanspeed_t fan,
-
128  const stdAc::swingv_t swingv, const int16_t sleep = -1);
-
129 #endif // SEND_CARRIER_AC64
-
130 #if SEND_COOLIX
-
131  void coolix(IRCoolixAC *ac,
-
132  const bool on, const stdAc::opmode_t mode, const float degrees,
-
133  const stdAc::fanspeed_t fan,
-
134  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
135  const bool turbo, const bool light, const bool clean,
-
136  const int16_t sleep = -1);
-
137 #endif // SEND_COOLIX
-
138 #if SEND_CORONA_AC
-
139  void corona(IRCoronaAc *ac,
-
140  const bool on, const stdAc::opmode_t mode,
-
141  const float degrees, const stdAc::fanspeed_t fan,
-
142  const stdAc::swingv_t swingv, const bool econo);
-
143 #endif // SEND_CORONA_AC
-
144 #if SEND_DAIKIN
-
145  void daikin(IRDaikinESP *ac,
-
146  const bool on, const stdAc::opmode_t mode, const float degrees,
-
147  const stdAc::fanspeed_t fan,
-
148  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
149  const bool quiet, const bool turbo, const bool econo,
-
150  const bool clean);
-
151 #endif // SEND_DAIKIN
-
152 #if SEND_DAIKIN128
-
153  void daikin128(IRDaikin128 *ac,
-
154  const bool on, const stdAc::opmode_t mode,
-
155  const float degrees, const stdAc::fanspeed_t fan,
-
156  const stdAc::swingv_t swingv,
-
157  const bool quiet, const bool turbo, const bool light,
-
158  const bool econo, const int16_t sleep = -1,
-
159  const int16_t clock = -1);
-
160 #endif // SEND_DAIKIN128
-
161 #if SEND_DAIKIN152
-
162  void daikin152(IRDaikin152 *ac,
-
163  const bool on, const stdAc::opmode_t mode,
-
164  const float degrees, const stdAc::fanspeed_t fan,
-
165  const stdAc::swingv_t swingv,
-
166  const bool quiet, const bool turbo, const bool econo);
-
167 #endif // SEND_DAIKIN152
-
168 #if SEND_DAIKIN160
-
169  void daikin160(IRDaikin160 *ac,
-
170  const bool on, const stdAc::opmode_t mode,
-
171  const float degrees, const stdAc::fanspeed_t fan,
-
172  const stdAc::swingv_t swingv);
-
173 #endif // SEND_DAIKIN160
-
174 #if SEND_DAIKIN176
-
175  void daikin176(IRDaikin176 *ac,
-
176  const bool on, const stdAc::opmode_t mode,
-
177  const float degrees, const stdAc::fanspeed_t fan,
-
178  const stdAc::swingh_t swingh);
-
179 #endif // SEND_DAIKIN176
-
180 #if SEND_DAIKIN2
-
181  void daikin2(IRDaikin2 *ac,
-
182  const bool on, const stdAc::opmode_t mode,
-
183  const float degrees, const stdAc::fanspeed_t fan,
-
184  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
185  const bool quiet, const bool turbo, const bool light,
-
186  const bool econo, const bool filter, const bool clean,
-
187  const bool beep, const int16_t sleep = -1,
-
188  const int16_t clock = -1);
-
189 #endif // SEND_DAIKIN2
-
190 #if SEND_DAIKIN216
-
191 void daikin216(IRDaikin216 *ac,
-
192  const bool on, const stdAc::opmode_t mode,
-
193  const float degrees, const stdAc::fanspeed_t fan,
-
194  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
195  const bool quiet, const bool turbo);
-
196 #endif // SEND_DAIKIN216
-
197 #if SEND_DAIKIN64
-
198  void daikin64(IRDaikin64 *ac,
-
199  const bool on, const stdAc::opmode_t mode,
-
200  const float degrees, const stdAc::fanspeed_t fan,
-
201  const stdAc::swingv_t swingv,
-
202  const bool quiet, const bool turbo,
-
203  const int16_t sleep = -1, const int16_t clock = -1);
-
204 #endif // SEND_DAIKIN64
-
205 #if SEND_DELONGHI_AC
-
206  void delonghiac(IRDelonghiAc *ac,
-
207  const bool on, const stdAc::opmode_t mode, const bool celsius,
-
208  const float degrees, const stdAc::fanspeed_t fan,
-
209  const bool turbo, const int16_t sleep = -1);
-
210 #endif // SEND_DELONGHI_AC
-
211 #if SEND_ECOCLIM
-
212 void ecoclim(IREcoclimAc *ac,
-
213  const bool on, const stdAc::opmode_t mode,
-
214  const float degrees, const stdAc::fanspeed_t fan,
-
215  const int16_t sleep = -1, const int16_t clock = -1);
-
216 #endif // SEND_ECOCLIM
-
217 #if SEND_ELECTRA_AC
-
218 void electra(IRElectraAc *ac,
-
219  const bool on, const stdAc::opmode_t mode,
-
220  const float degrees, const stdAc::fanspeed_t fan,
-
221  const stdAc::swingv_t swingv,
-
222  const stdAc::swingh_t swingh, const bool turbo,
-
223  const bool lighttoggle, const bool clean);
-
224 #endif // SEND_ELECTRA_AC
-
225 #if SEND_FUJITSU_AC
-
226  void fujitsu(IRFujitsuAC *ac, const fujitsu_ac_remote_model_t model,
-
227  const bool on, const stdAc::opmode_t mode,
-
228  const bool celsius, const float degrees,
-
229  const stdAc::fanspeed_t fan,
-
230  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
231  const bool quiet, const bool turbo, const bool econo,
-
232  const bool filter, const bool clean, const int16_t sleep = -1);
-
233 #endif // SEND_FUJITSU_AC
-
234 #if SEND_GOODWEATHER
-
235  void goodweather(IRGoodweatherAc *ac,
-
236  const bool on, const stdAc::opmode_t mode,
-
237  const float degrees,
-
238  const stdAc::fanspeed_t fan,
-
239  const stdAc::swingv_t swingv,
-
240  const bool turbo, const bool light,
-
241  const int16_t sleep = -1);
-
242 #endif // SEND_GOODWEATHER
-
243 #if SEND_GREE
-
244  void gree(IRGreeAC *ac, const gree_ac_remote_model_t model,
-
245  const bool on, const stdAc::opmode_t mode, const bool celsius,
-
246  const float degrees, const stdAc::fanspeed_t fan,
-
247  const stdAc::swingv_t swingv, const bool turbo, const bool light,
-
248  const bool clean, const int16_t sleep = -1);
-
249 #endif // SEND_GREE
-
250 #if SEND_HAIER_AC
-
251  void haier(IRHaierAC *ac,
-
252  const bool on, const stdAc::opmode_t mode, const float degrees,
-
253  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
254  const bool filter, const int16_t sleep = -1,
-
255  const int16_t clock = -1);
-
256 #endif // SEND_HAIER_AC
-
257 #if SEND_HAIER_AC_YRW02
-
258  void haierYrwo2(IRHaierACYRW02 *ac,
-
259  const bool on, const stdAc::opmode_t mode,
-
260  const float degrees, const stdAc::fanspeed_t fan,
-
261  const stdAc::swingv_t swingv,
-
262  const bool turbo, const bool filter,
-
263  const int16_t sleep = -1);
-
264 #endif // SEND_HAIER_AC_YRW02
-
265 #if SEND_HITACHI_AC
-
266  void hitachi(IRHitachiAc *ac,
-
267  const bool on, const stdAc::opmode_t mode,
-
268  const float degrees, const stdAc::fanspeed_t fan,
-
269  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh);
-
270 #endif // SEND_HITACHI_AC
-
271 #if SEND_HITACHI_AC1
-
272  void hitachi1(IRHitachiAc1 *ac, const hitachi_ac1_remote_model_t model,
-
273  const bool on, const bool power_toggle,
-
274  const stdAc::opmode_t mode,
-
275  const float degrees, const stdAc::fanspeed_t fan,
-
276  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
277  const bool swing_toggle, const int16_t sleep = -1);
-
278 #endif // SEND_HITACHI_AC1
-
279 #if SEND_HITACHI_AC344
-
280  void hitachi344(IRHitachiAc344 *ac,
-
281  const bool on, const stdAc::opmode_t mode,
-
282  const float degrees, const stdAc::fanspeed_t fan,
-
283  const stdAc::swingv_t swingv,
-
284  const stdAc::swingh_t swingh);
-
285 #endif // SEND_HITACHI_AC344
-
286 #if SEND_HITACHI_AC424
-
287  void hitachi424(IRHitachiAc424 *ac,
-
288  const bool on, const stdAc::opmode_t mode,
-
289  const float degrees, const stdAc::fanspeed_t fan,
-
290  const stdAc::swingv_t swingv);
-
291 #endif // SEND_HITACHI_AC424
-
292 #if SEND_KELVINATOR
-
293  void kelvinator(IRKelvinatorAC *ac,
-
294  const bool on, const stdAc::opmode_t mode,
-
295  const float degrees, const stdAc::fanspeed_t fan,
-
296  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
297  const bool quiet, const bool turbo, const bool light,
-
298  const bool filter, const bool clean);
-
299 #endif // SEND_KELVINATOR
-
300 #if SEND_LG
-
301  void lg(IRLgAc *ac, const lg_ac_remote_model_t model,
-
302  const bool on, const stdAc::opmode_t mode,
-
303  const float degrees, const stdAc::fanspeed_t fan);
-
304 #endif // SEND_LG
-
305 #if SEND_MIDEA
-
306  void midea(IRMideaAC *ac,
-
307  const bool on, const stdAc::opmode_t mode, const bool celsius,
-
308  const float degrees, const stdAc::fanspeed_t fan,
-
309  const stdAc::swingv_t swingv, const bool turbo, const bool econo,
-
310  const bool light, const int16_t sleep = -1);
-
311 #endif // SEND_MIDEA
-
312 #if SEND_MITSUBISHI_AC
-
313  void mitsubishi(IRMitsubishiAC *ac,
-
314  const bool on, const stdAc::opmode_t mode,
-
315  const float degrees,
-
316  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
317  const stdAc::swingh_t swingh,
-
318  const bool quiet, const int16_t clock = -1);
-
319 #endif // SEND_MITSUBISHI_AC
-
320 #if SEND_MITSUBISHI112
-
321  void mitsubishi112(IRMitsubishi112 *ac,
-
322  const bool on, const stdAc::opmode_t mode,
-
323  const float degrees, const stdAc::fanspeed_t fan,
-
324  const stdAc::swingv_t swingv,
-
325  const stdAc::swingh_t swingh,
-
326  const bool quiet);
-
327 #endif // SEND_MITSUBISHI112
-
328 #if SEND_MITSUBISHI136
-
329  void mitsubishi136(IRMitsubishi136 *ac,
-
330  const bool on, const stdAc::opmode_t mode,
-
331  const float degrees, const stdAc::fanspeed_t fan,
-
332  const stdAc::swingv_t swingv, const bool quiet);
-
333 #endif // SEND_MITSUBISHI136
-
334 #if SEND_MITSUBISHIHEAVY
-
335  void mitsubishiHeavy88(IRMitsubishiHeavy88Ac *ac,
-
336  const bool on, const stdAc::opmode_t mode,
-
337  const float degrees, const stdAc::fanspeed_t fan,
-
338  const stdAc::swingv_t swingv,
-
339  const stdAc::swingh_t swingh,
-
340  const bool turbo, const bool econo, const bool clean);
-
341  void mitsubishiHeavy152(IRMitsubishiHeavy152Ac *ac,
-
342  const bool on, const stdAc::opmode_t mode,
-
343  const float degrees, const stdAc::fanspeed_t fan,
-
344  const stdAc::swingv_t swingv,
-
345  const stdAc::swingh_t swingh,
-
346  const bool quiet, const bool turbo, const bool econo,
-
347  const bool filter, const bool clean,
-
348  const int16_t sleep = -1);
-
349 #endif // SEND_MITSUBISHIHEAVY
-
350 #if SEND_NEOCLIMA
-
351  void neoclima(IRNeoclimaAc *ac, const bool on, const stdAc::opmode_t mode,
-
352  const bool celsius, const float degrees,
-
353  const stdAc::fanspeed_t fan,
-
354  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
355  const bool turbo, const bool econo, const bool light,
-
356  const bool filter, const int16_t sleep = -1);
-
357 #endif // SEND_NEOCLIMA
-
358 #if SEND_PANASONIC_AC
-
359  void panasonic(IRPanasonicAc *ac, const panasonic_ac_remote_model_t model,
-
360  const bool on, const stdAc::opmode_t mode, const float degrees,
-
361  const stdAc::fanspeed_t fan,
-
362  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
363  const bool quiet, const bool turbo, const bool filter,
-
364  const int16_t clock = -1);
-
365 #endif // SEND_PANASONIC_AC
-
366 #if SEND_PANASONIC_AC32
-
367  void panasonic32(IRPanasonicAc32 *ac,
-
368  const bool on, const stdAc::opmode_t mode,
-
369  const float degrees, const stdAc::fanspeed_t fan,
-
370  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh);
-
371 #endif // SEND_PANASONIC_AC32
-
372 #if SEND_SAMSUNG_AC
-
373  void samsung(IRSamsungAc *ac,
-
374  const bool on, const stdAc::opmode_t mode, const float degrees,
-
375  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
376  const bool quiet, const bool turbo, const bool light,
-
377  const bool filter, const bool clean,
-
378  const bool beep, const bool prevpower = true,
-
379  const bool forcepower = true);
-
380 #endif // SEND_SAMSUNG_AC
-
381 #if SEND_SANYO_AC
-
382  void sanyo(IRSanyoAc *ac,
-
383  const bool on, const stdAc::opmode_t mode, const float degrees,
-
384  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
385  const bool beep, const int16_t sleep = -1);
-
386 #endif // SEND_SANYO_AC
-
387 #if SEND_SHARP_AC
-
388  void sharp(IRSharpAc *ac, const sharp_ac_remote_model_t model,
-
389  const bool on, const bool prev_power, const stdAc::opmode_t mode,
-
390  const float degrees, const stdAc::fanspeed_t fan,
-
391  const stdAc::swingv_t swingv, const bool turbo, const bool light,
-
392  const bool filter, const bool clean);
-
393 #endif // SEND_SHARP_AC
-
394 #if SEND_TCL112AC
-
395  void tcl112(IRTcl112Ac *ac,
-
396  const bool on, const stdAc::opmode_t mode, const float degrees,
-
397  const stdAc::fanspeed_t fan,
-
398  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
399  const bool turbo, const bool light, const bool econo,
-
400  const bool filter);
-
401 #endif // SEND_TCL112AC
-
402 #if SEND_TECHNIBEL_AC
-
403  void technibel(IRTechnibelAc *ac,
-
404  const bool on, const stdAc::opmode_t mode, const bool celsius,
-
405  const float degrees, const stdAc::fanspeed_t fan,
-
406  const stdAc::swingv_t swingv, const int16_t sleep = -1);
-
407 #endif // SEND_TECHNIBEL_AC
-
408 #if SEND_TECO
-
409  void teco(IRTecoAc *ac,
-
410  const bool on, const stdAc::opmode_t mode, const float degrees,
-
411  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
412  const bool light, const int16_t sleep = -1);
-
413 #endif // SEND_TECO
-
414 #if SEND_TOSHIBA_AC
-
415  void toshiba(IRToshibaAC *ac,
-
416  const bool on, const stdAc::opmode_t mode, const float degrees,
-
417  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
418  const bool turbo, const bool econo);
-
419 #endif // SEND_TOSHIBA_AC
-
420 #if SEND_TROTEC
-
421  void trotec(IRTrotecESP *ac,
-
422  const bool on, const stdAc::opmode_t mode, const float degrees,
-
423  const stdAc::fanspeed_t fan, const int16_t sleep = -1);
-
424 #endif // SEND_TROTEC
-
425 #if SEND_TRUMA
-
426  void truma(IRTrumaAc *ac,
-
427  const bool on, const stdAc::opmode_t mode, const float degrees,
-
428  const stdAc::fanspeed_t fan, const bool quiet);
-
429 #endif // SEND_TRUMA
-
430 #if SEND_VESTEL_AC
-
431  void vestel(IRVestelAc *ac,
-
432  const bool on, const stdAc::opmode_t mode, const float degrees,
-
433  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
434  const bool turbo, const bool filter,
-
435  const int16_t sleep = -1, const int16_t clock = -1,
-
436  const bool sendNormal = true);
-
437 #endif // SEND_VESTEL_AC
-
438 #if SEND_VOLTAS
-
439  void voltas(IRVoltas *ac, const voltas_ac_remote_model_t model,
-
440  const bool on, const stdAc::opmode_t mode,
-
441  const float degrees, const stdAc::fanspeed_t fan,
-
442  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
443  const bool turbo, const bool econo, const bool light,
-
444  const int16_t sleep = -1);
-
445 #endif // SEND_VOLTAS
-
446 #if SEND_WHIRLPOOL_AC
-
447  void whirlpool(IRWhirlpoolAc *ac, const whirlpool_ac_remote_model_t model,
-
448  const bool on, const stdAc::opmode_t mode, const float degrees,
-
449  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
450  const bool turbo, const bool light,
-
451  const int16_t sleep = -1, const int16_t clock = -1);
-
452 #endif // SEND_WHIRLPOOL_AC
-
453 #if SEND_TRANSCOLD
-
454  void transcold(IRTranscoldAc *ac,
-
455  const bool on, const stdAc::opmode_t mode, const float degrees,
-
456  const stdAc::fanspeed_t fan,
-
457  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh);
-
458 #endif // SEND_TRANSCOLD
-
459 static stdAc::state_t cleanState(const stdAc::state_t state);
-
460 static stdAc::state_t handleToggles(const stdAc::state_t desired,
-
461  const stdAc::state_t *prev = NULL);
-
462 }; // IRac class
-
463 
-
465 namespace IRAcUtils {
-
466  String resultAcToString(const decode_results * const results);
-
467  bool decodeToState(const decode_results *decode, stdAc::state_t *result,
-
468  const stdAc::state_t *prev = NULL);
-
469 } // namespace IRAcUtils
-
470 #endif // IRAC_H_
+
25 #include "ir_Kelon.h"
+
26 #include "ir_Kelvinator.h"
+
27 #include "ir_LG.h"
+
28 #include "ir_Midea.h"
+
29 #include "ir_Mitsubishi.h"
+
30 #include "ir_MitsubishiHeavy.h"
+
31 #include "ir_Neoclima.h"
+
32 #include "ir_Panasonic.h"
+
33 #include "ir_Samsung.h"
+
34 #include "ir_Sanyo.h"
+
35 #include "ir_Sharp.h"
+
36 #include "ir_Tcl.h"
+
37 #include "ir_Technibel.h"
+
38 #include "ir_Teco.h"
+
39 #include "ir_Toshiba.h"
+
40 #include "ir_Transcold.h"
+
41 #include "ir_Trotec.h"
+
42 #include "ir_Truma.h"
+
43 #include "ir_Vestel.h"
+
44 #include "ir_Voltas.h"
+
45 #include "ir_Whirlpool.h"
+
46 
+
47 // Constants
+
48 const int8_t kGpioUnused = -1;
+
49 
+
50 // Class
+
52 class IRac {
+
53  public:
+
54  explicit IRac(const uint16_t pin, const bool inverted = false,
+
55  const bool use_modulation = true);
+
56  static bool isProtocolSupported(const decode_type_t protocol);
+
57  static void initState(stdAc::state_t *state,
+
58  const decode_type_t vendor, const int16_t model,
+
59  const bool power, const stdAc::opmode_t mode,
+
60  const float degrees, const bool celsius,
+
61  const stdAc::fanspeed_t fan,
+
62  const stdAc::swingv_t swingv,
+
63  const stdAc::swingh_t swingh,
+
64  const bool quiet, const bool turbo, const bool econo,
+
65  const bool light, const bool filter, const bool clean,
+
66  const bool beep, const int16_t sleep,
+
67  const int16_t clock);
+
68  static void initState(stdAc::state_t *state);
+
69  void markAsSent(void);
+
70  bool sendAc(void);
+
71  bool sendAc(const stdAc::state_t desired, const stdAc::state_t *prev = NULL);
+
72  bool sendAc(const decode_type_t vendor, const int16_t model,
+
73  const bool power, const stdAc::opmode_t mode, const float degrees,
+
74  const bool celsius, const stdAc::fanspeed_t fan,
+
75  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
76  const bool quiet, const bool turbo, const bool econo,
+
77  const bool light, const bool filter, const bool clean,
+
78  const bool beep, const int16_t sleep = -1,
+
79  const int16_t clock = -1);
+
80  static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b);
+
81  static bool strToBool(const char *str, const bool def = false);
+
82  static int16_t strToModel(const char *str, const int16_t def = -1);
+
83  static stdAc::opmode_t strToOpmode(
+
84  const char *str, const stdAc::opmode_t def = stdAc::opmode_t::kAuto);
+
85  static stdAc::fanspeed_t strToFanspeed(
+
86  const char *str,
+
87  const stdAc::fanspeed_t def = stdAc::fanspeed_t::kAuto);
+
88  static stdAc::swingv_t strToSwingV(
+
89  const char *str, const stdAc::swingv_t def = stdAc::swingv_t::kOff);
+
90  static stdAc::swingh_t strToSwingH(
+
91  const char *str, const stdAc::swingh_t def = stdAc::swingh_t::kOff);
+
92  static String boolToString(const bool value);
+
93  static String opmodeToString(const stdAc::opmode_t mode);
+
94  static String fanspeedToString(const stdAc::fanspeed_t speed);
+
95  static String swingvToString(const stdAc::swingv_t swingv);
+
96  static String swinghToString(const stdAc::swingh_t swingh);
+
97  stdAc::state_t getState(void);
+
98  stdAc::state_t getStatePrev(void);
+
99  bool hasStateChanged(void);
+
100  stdAc::state_t next;
+
101 #ifndef UNIT_TEST
+
102 
+
103  private:
+
104 #endif
+
105  uint16_t _pin;
+
106  bool _inverted;
+
107  bool _modulation;
+
108  stdAc::state_t _prev;
+
109 #if SEND_AIRWELL
+
110  void airwell(IRAirwellAc *ac,
+
111  const bool on, const stdAc::opmode_t mode, const float degrees,
+
112  const stdAc::fanspeed_t fan);
+
113 #endif // SEND_AIRWELL
+
114 #if SEND_AMCOR
+
115  void amcor(IRAmcorAc *ac,
+
116  const bool on, const stdAc::opmode_t mode, const float degrees,
+
117  const stdAc::fanspeed_t fan);
+
118 #endif // SEND_AMCOR
+
119 #if SEND_ARGO
+
120  void argo(IRArgoAC *ac,
+
121  const bool on, const stdAc::opmode_t mode, const float degrees,
+
122  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
123  const bool turbo, const int16_t sleep = -1);
+
124 #endif // SEND_ARGO
+
125 #if SEND_CARRIER_AC64
+
126 void carrier64(IRCarrierAc64 *ac,
+
127  const bool on, const stdAc::opmode_t mode,
+
128  const float degrees, const stdAc::fanspeed_t fan,
+
129  const stdAc::swingv_t swingv, const int16_t sleep = -1);
+
130 #endif // SEND_CARRIER_AC64
+
131 #if SEND_COOLIX
+
132  void coolix(IRCoolixAC *ac,
+
133  const bool on, const stdAc::opmode_t mode, const float degrees,
+
134  const stdAc::fanspeed_t fan,
+
135  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
136  const bool turbo, const bool light, const bool clean,
+
137  const int16_t sleep = -1);
+
138 #endif // SEND_COOLIX
+
139 #if SEND_CORONA_AC
+
140  void corona(IRCoronaAc *ac,
+
141  const bool on, const stdAc::opmode_t mode,
+
142  const float degrees, const stdAc::fanspeed_t fan,
+
143  const stdAc::swingv_t swingv, const bool econo);
+
144 #endif // SEND_CORONA_AC
+
145 #if SEND_DAIKIN
+
146  void daikin(IRDaikinESP *ac,
+
147  const bool on, const stdAc::opmode_t mode, const float degrees,
+
148  const stdAc::fanspeed_t fan,
+
149  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
150  const bool quiet, const bool turbo, const bool econo,
+
151  const bool clean);
+
152 #endif // SEND_DAIKIN
+
153 #if SEND_DAIKIN128
+
154  void daikin128(IRDaikin128 *ac,
+
155  const bool on, const stdAc::opmode_t mode,
+
156  const float degrees, const stdAc::fanspeed_t fan,
+
157  const stdAc::swingv_t swingv,
+
158  const bool quiet, const bool turbo, const bool light,
+
159  const bool econo, const int16_t sleep = -1,
+
160  const int16_t clock = -1);
+
161 #endif // SEND_DAIKIN128
+
162 #if SEND_DAIKIN152
+
163  void daikin152(IRDaikin152 *ac,
+
164  const bool on, const stdAc::opmode_t mode,
+
165  const float degrees, const stdAc::fanspeed_t fan,
+
166  const stdAc::swingv_t swingv,
+
167  const bool quiet, const bool turbo, const bool econo);
+
168 #endif // SEND_DAIKIN152
+
169 #if SEND_DAIKIN160
+
170  void daikin160(IRDaikin160 *ac,
+
171  const bool on, const stdAc::opmode_t mode,
+
172  const float degrees, const stdAc::fanspeed_t fan,
+
173  const stdAc::swingv_t swingv);
+
174 #endif // SEND_DAIKIN160
+
175 #if SEND_DAIKIN176
+
176  void daikin176(IRDaikin176 *ac,
+
177  const bool on, const stdAc::opmode_t mode,
+
178  const float degrees, const stdAc::fanspeed_t fan,
+
179  const stdAc::swingh_t swingh);
+
180 #endif // SEND_DAIKIN176
+
181 #if SEND_DAIKIN2
+
182  void daikin2(IRDaikin2 *ac,
+
183  const bool on, const stdAc::opmode_t mode,
+
184  const float degrees, const stdAc::fanspeed_t fan,
+
185  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
186  const bool quiet, const bool turbo, const bool light,
+
187  const bool econo, const bool filter, const bool clean,
+
188  const bool beep, const int16_t sleep = -1,
+
189  const int16_t clock = -1);
+
190 #endif // SEND_DAIKIN2
+
191 #if SEND_DAIKIN216
+
192 void daikin216(IRDaikin216 *ac,
+
193  const bool on, const stdAc::opmode_t mode,
+
194  const float degrees, const stdAc::fanspeed_t fan,
+
195  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
196  const bool quiet, const bool turbo);
+
197 #endif // SEND_DAIKIN216
+
198 #if SEND_DAIKIN64
+
199  void daikin64(IRDaikin64 *ac,
+
200  const bool on, const stdAc::opmode_t mode,
+
201  const float degrees, const stdAc::fanspeed_t fan,
+
202  const stdAc::swingv_t swingv,
+
203  const bool quiet, const bool turbo,
+
204  const int16_t sleep = -1, const int16_t clock = -1);
+
205 #endif // SEND_DAIKIN64
+
206 #if SEND_DELONGHI_AC
+
207  void delonghiac(IRDelonghiAc *ac,
+
208  const bool on, const stdAc::opmode_t mode, const bool celsius,
+
209  const float degrees, const stdAc::fanspeed_t fan,
+
210  const bool turbo, const int16_t sleep = -1);
+
211 #endif // SEND_DELONGHI_AC
+
212 #if SEND_ECOCLIM
+
213 void ecoclim(IREcoclimAc *ac,
+
214  const bool on, const stdAc::opmode_t mode,
+
215  const float degrees, const stdAc::fanspeed_t fan,
+
216  const int16_t sleep = -1, const int16_t clock = -1);
+
217 #endif // SEND_ECOCLIM
+
218 #if SEND_ELECTRA_AC
+
219 void electra(IRElectraAc *ac,
+
220  const bool on, const stdAc::opmode_t mode,
+
221  const float degrees, const stdAc::fanspeed_t fan,
+
222  const stdAc::swingv_t swingv,
+
223  const stdAc::swingh_t swingh, const bool turbo,
+
224  const bool lighttoggle, const bool clean);
+
225 #endif // SEND_ELECTRA_AC
+
226 #if SEND_FUJITSU_AC
+
227  void fujitsu(IRFujitsuAC *ac, const fujitsu_ac_remote_model_t model,
+
228  const bool on, const stdAc::opmode_t mode,
+
229  const bool celsius, const float degrees,
+
230  const stdAc::fanspeed_t fan,
+
231  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
232  const bool quiet, const bool turbo, const bool econo,
+
233  const bool filter, const bool clean, const int16_t sleep = -1);
+
234 #endif // SEND_FUJITSU_AC
+
235 #if SEND_GOODWEATHER
+
236  void goodweather(IRGoodweatherAc *ac,
+
237  const bool on, const stdAc::opmode_t mode,
+
238  const float degrees,
+
239  const stdAc::fanspeed_t fan,
+
240  const stdAc::swingv_t swingv,
+
241  const bool turbo, const bool light,
+
242  const int16_t sleep = -1);
+
243 #endif // SEND_GOODWEATHER
+
244 #if SEND_GREE
+
245  void gree(IRGreeAC *ac, const gree_ac_remote_model_t model,
+
246  const bool on, const stdAc::opmode_t mode, const bool celsius,
+
247  const float degrees, const stdAc::fanspeed_t fan,
+
248  const stdAc::swingv_t swingv, const bool turbo, const bool light,
+
249  const bool clean, const int16_t sleep = -1);
+
250 #endif // SEND_GREE
+
251 #if SEND_HAIER_AC
+
252  void haier(IRHaierAC *ac,
+
253  const bool on, const stdAc::opmode_t mode, const float degrees,
+
254  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
255  const bool filter, const int16_t sleep = -1,
+
256  const int16_t clock = -1);
+
257 #endif // SEND_HAIER_AC
+
258 #if SEND_HAIER_AC_YRW02
+
259  void haierYrwo2(IRHaierACYRW02 *ac,
+
260  const bool on, const stdAc::opmode_t mode,
+
261  const float degrees, const stdAc::fanspeed_t fan,
+
262  const stdAc::swingv_t swingv,
+
263  const bool turbo, const bool filter,
+
264  const int16_t sleep = -1);
+
265 #endif // SEND_HAIER_AC_YRW02
+
266 #if SEND_HITACHI_AC
+
267  void hitachi(IRHitachiAc *ac,
+
268  const bool on, const stdAc::opmode_t mode,
+
269  const float degrees, const stdAc::fanspeed_t fan,
+
270  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh);
+
271 #endif // SEND_HITACHI_AC
+
272 #if SEND_HITACHI_AC1
+
273  void hitachi1(IRHitachiAc1 *ac, const hitachi_ac1_remote_model_t model,
+
274  const bool on, const bool power_toggle,
+
275  const stdAc::opmode_t mode,
+
276  const float degrees, const stdAc::fanspeed_t fan,
+
277  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
278  const bool swing_toggle, const int16_t sleep = -1);
+
279 #endif // SEND_HITACHI_AC1
+
280 #if SEND_HITACHI_AC344
+
281  void hitachi344(IRHitachiAc344 *ac,
+
282  const bool on, const stdAc::opmode_t mode,
+
283  const float degrees, const stdAc::fanspeed_t fan,
+
284  const stdAc::swingv_t swingv,
+
285  const stdAc::swingh_t swingh);
+
286 #endif // SEND_HITACHI_AC344
+
287 #if SEND_HITACHI_AC424
+
288  void hitachi424(IRHitachiAc424 *ac,
+
289  const bool on, const stdAc::opmode_t mode,
+
290  const float degrees, const stdAc::fanspeed_t fan,
+
291  const stdAc::swingv_t swingv);
+
292 #endif // SEND_HITACHI_AC424
+
293 #if SEND_KELON
+
294  void kelon(IRKelonAc *ac, const bool togglePower, const stdAc::opmode_t mode,
+
295  const int8_t dryGrade, const float degrees,
+
296  const stdAc::fanspeed_t fan, const bool toggleSwing,
+
297  const bool superCool, const int16_t sleep);
+
298 #endif // SEND_KELON
+
299 #if SEND_KELVINATOR
+
300  void kelvinator(IRKelvinatorAC *ac,
+
301  const bool on, const stdAc::opmode_t mode,
+
302  const float degrees, const stdAc::fanspeed_t fan,
+
303  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
304  const bool quiet, const bool turbo, const bool light,
+
305  const bool filter, const bool clean);
+
306 #endif // SEND_KELVINATOR
+
307 #if SEND_LG
+
308  void lg(IRLgAc *ac, const lg_ac_remote_model_t model,
+
309  const bool on, const stdAc::opmode_t mode,
+
310  const float degrees, const stdAc::fanspeed_t fan);
+
311 #endif // SEND_LG
+
312 #if SEND_MIDEA
+
313  void midea(IRMideaAC *ac,
+
314  const bool on, const stdAc::opmode_t mode, const bool celsius,
+
315  const float degrees, const stdAc::fanspeed_t fan,
+
316  const stdAc::swingv_t swingv, const bool turbo, const bool econo,
+
317  const bool light, const int16_t sleep = -1);
+
318 #endif // SEND_MIDEA
+
319 #if SEND_MITSUBISHI_AC
+
320  void mitsubishi(IRMitsubishiAC *ac,
+
321  const bool on, const stdAc::opmode_t mode,
+
322  const float degrees,
+
323  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
324  const stdAc::swingh_t swingh,
+
325  const bool quiet, const int16_t clock = -1);
+
326 #endif // SEND_MITSUBISHI_AC
+
327 #if SEND_MITSUBISHI112
+
328  void mitsubishi112(IRMitsubishi112 *ac,
+
329  const bool on, const stdAc::opmode_t mode,
+
330  const float degrees, const stdAc::fanspeed_t fan,
+
331  const stdAc::swingv_t swingv,
+
332  const stdAc::swingh_t swingh,
+
333  const bool quiet);
+
334 #endif // SEND_MITSUBISHI112
+
335 #if SEND_MITSUBISHI136
+
336  void mitsubishi136(IRMitsubishi136 *ac,
+
337  const bool on, const stdAc::opmode_t mode,
+
338  const float degrees, const stdAc::fanspeed_t fan,
+
339  const stdAc::swingv_t swingv, const bool quiet);
+
340 #endif // SEND_MITSUBISHI136
+
341 #if SEND_MITSUBISHIHEAVY
+
342  void mitsubishiHeavy88(IRMitsubishiHeavy88Ac *ac,
+
343  const bool on, const stdAc::opmode_t mode,
+
344  const float degrees, const stdAc::fanspeed_t fan,
+
345  const stdAc::swingv_t swingv,
+
346  const stdAc::swingh_t swingh,
+
347  const bool turbo, const bool econo, const bool clean);
+
348  void mitsubishiHeavy152(IRMitsubishiHeavy152Ac *ac,
+
349  const bool on, const stdAc::opmode_t mode,
+
350  const float degrees, const stdAc::fanspeed_t fan,
+
351  const stdAc::swingv_t swingv,
+
352  const stdAc::swingh_t swingh,
+
353  const bool quiet, const bool turbo, const bool econo,
+
354  const bool filter, const bool clean,
+
355  const int16_t sleep = -1);
+
356 #endif // SEND_MITSUBISHIHEAVY
+
357 #if SEND_NEOCLIMA
+
358  void neoclima(IRNeoclimaAc *ac, const bool on, const stdAc::opmode_t mode,
+
359  const bool celsius, const float degrees,
+
360  const stdAc::fanspeed_t fan,
+
361  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
362  const bool turbo, const bool econo, const bool light,
+
363  const bool filter, const int16_t sleep = -1);
+
364 #endif // SEND_NEOCLIMA
+
365 #if SEND_PANASONIC_AC
+
366  void panasonic(IRPanasonicAc *ac, const panasonic_ac_remote_model_t model,
+
367  const bool on, const stdAc::opmode_t mode, const float degrees,
+
368  const stdAc::fanspeed_t fan,
+
369  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
370  const bool quiet, const bool turbo, const bool filter,
+
371  const int16_t clock = -1);
+
372 #endif // SEND_PANASONIC_AC
+
373 #if SEND_PANASONIC_AC32
+
374  void panasonic32(IRPanasonicAc32 *ac,
+
375  const bool on, const stdAc::opmode_t mode,
+
376  const float degrees, const stdAc::fanspeed_t fan,
+
377  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh);
+
378 #endif // SEND_PANASONIC_AC32
+
379 #if SEND_SAMSUNG_AC
+
380  void samsung(IRSamsungAc *ac,
+
381  const bool on, const stdAc::opmode_t mode, const float degrees,
+
382  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
383  const bool quiet, const bool turbo, const bool light,
+
384  const bool filter, const bool clean,
+
385  const bool beep, const bool prevpower = true,
+
386  const bool forcepower = true);
+
387 #endif // SEND_SAMSUNG_AC
+
388 #if SEND_SANYO_AC
+
389  void sanyo(IRSanyoAc *ac,
+
390  const bool on, const stdAc::opmode_t mode, const float degrees,
+
391  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
392  const bool beep, const int16_t sleep = -1);
+
393 #endif // SEND_SANYO_AC
+
394 #if SEND_SHARP_AC
+
395  void sharp(IRSharpAc *ac, const sharp_ac_remote_model_t model,
+
396  const bool on, const bool prev_power, const stdAc::opmode_t mode,
+
397  const float degrees, const stdAc::fanspeed_t fan,
+
398  const stdAc::swingv_t swingv, const bool turbo, const bool light,
+
399  const bool filter, const bool clean);
+
400 #endif // SEND_SHARP_AC
+
401 #if SEND_TCL112AC
+
402  void tcl112(IRTcl112Ac *ac,
+
403  const bool on, const stdAc::opmode_t mode, const float degrees,
+
404  const stdAc::fanspeed_t fan,
+
405  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
406  const bool turbo, const bool light, const bool econo,
+
407  const bool filter);
+
408 #endif // SEND_TCL112AC
+
409 #if SEND_TECHNIBEL_AC
+
410  void technibel(IRTechnibelAc *ac,
+
411  const bool on, const stdAc::opmode_t mode, const bool celsius,
+
412  const float degrees, const stdAc::fanspeed_t fan,
+
413  const stdAc::swingv_t swingv, const int16_t sleep = -1);
+
414 #endif // SEND_TECHNIBEL_AC
+
415 #if SEND_TECO
+
416  void teco(IRTecoAc *ac,
+
417  const bool on, const stdAc::opmode_t mode, const float degrees,
+
418  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
419  const bool light, const int16_t sleep = -1);
+
420 #endif // SEND_TECO
+
421 #if SEND_TOSHIBA_AC
+
422  void toshiba(IRToshibaAC *ac,
+
423  const bool on, const stdAc::opmode_t mode, const float degrees,
+
424  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
425  const bool turbo, const bool econo);
+
426 #endif // SEND_TOSHIBA_AC
+
427 #if SEND_TROTEC
+
428  void trotec(IRTrotecESP *ac,
+
429  const bool on, const stdAc::opmode_t mode, const float degrees,
+
430  const stdAc::fanspeed_t fan, const int16_t sleep = -1);
+
431 #endif // SEND_TROTEC
+
432 #if SEND_TRUMA
+
433  void truma(IRTrumaAc *ac,
+
434  const bool on, const stdAc::opmode_t mode, const float degrees,
+
435  const stdAc::fanspeed_t fan, const bool quiet);
+
436 #endif // SEND_TRUMA
+
437 #if SEND_VESTEL_AC
+
438  void vestel(IRVestelAc *ac,
+
439  const bool on, const stdAc::opmode_t mode, const float degrees,
+
440  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
441  const bool turbo, const bool filter,
+
442  const int16_t sleep = -1, const int16_t clock = -1,
+
443  const bool sendNormal = true);
+
444 #endif // SEND_VESTEL_AC
+
445 #if SEND_VOLTAS
+
446  void voltas(IRVoltas *ac, const voltas_ac_remote_model_t model,
+
447  const bool on, const stdAc::opmode_t mode,
+
448  const float degrees, const stdAc::fanspeed_t fan,
+
449  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
450  const bool turbo, const bool econo, const bool light,
+
451  const int16_t sleep = -1);
+
452 #endif // SEND_VOLTAS
+
453 #if SEND_WHIRLPOOL_AC
+
454  void whirlpool(IRWhirlpoolAc *ac, const whirlpool_ac_remote_model_t model,
+
455  const bool on, const stdAc::opmode_t mode, const float degrees,
+
456  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
457  const bool turbo, const bool light,
+
458  const int16_t sleep = -1, const int16_t clock = -1);
+
459 #endif // SEND_WHIRLPOOL_AC
+
460 #if SEND_TRANSCOLD
+
461  void transcold(IRTranscoldAc *ac,
+
462  const bool on, const stdAc::opmode_t mode, const float degrees,
+
463  const stdAc::fanspeed_t fan,
+
464  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh);
+
465 #endif // SEND_TRANSCOLD
+
466 static stdAc::state_t cleanState(const stdAc::state_t state);
+
467 static stdAc::state_t handleToggles(const stdAc::state_t desired,
+
468  const stdAc::state_t *prev = NULL);
+
469 }; // IRac class
+
470 
+
472 namespace IRAcUtils {
+
473  String resultAcToString(const decode_results * const results);
+
474  bool decodeToState(const decode_results *decode, stdAc::state_t *result,
+
475  const stdAc::state_t *prev = NULL);
+
476 } // namespace IRAcUtils
+
477 #endif // IRAC_H_
-
IRPanasonicAc
Class for handling detailed Panasonic A/C messages.
Definition: ir_Panasonic.h:100
-
IRac::airwell
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:310
+
IRPanasonicAc
Class for handling detailed Panasonic A/C messages.
Definition: ir_Panasonic.h:102
+
IRac::airwell
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
ir_Kelvinator.h
Support for Kelvinator A/C protocols.
-
IRSamsungAc
Class for handling detailed Samsung A/C messages.
Definition: ir_Samsung.h:130
-
IRac::hitachi
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:1121
+
IRSamsungAc
Class for handling detailed Samsung A/C messages.
Definition: ir_Samsung.h:132
+
IRac::hitachi
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:1123
IRToshibaAC
Class for handling detailed Toshiba A/C messages.
Definition: ir_Toshiba.h:121
-
decode_type_t
decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition: IRremoteESP8266.h:799
-
IRac::getStatePrev
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:135
-
IRac::getState
stdAc::state_t getState(void)
Get the current internal A/C climate state.
Definition: IRac.cpp:130
+
decode_type_t
decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition: IRremoteESP8266.h:823
+
IRac::getStatePrev
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:136
+
IRac::getState
stdAc::state_t getState(void)
Get the current internal A/C climate state.
Definition: IRac.cpp:131
IRMitsubishiHeavy152Ac
Class for handling detailed Mitsubishi Heavy 152-bit A/C messages.
Definition: ir_MitsubishiHeavy.h:184
-
IRac::strToSwingH
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:2944
-
IRac::sharp
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:1775
-
IRac::hitachi344
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:1197
+
IRac::strToSwingH
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:2992
+
IRac::sharp
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:1808
+
IRac::hitachi344
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:1199
stdAc::opmode_t::kAuto
@ kAuto
ir_Electra.h
Support for Electra A/C protocols.
-
IRac::ecoclim
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:822
-
IRac::markAsSent
void markAsSent(void)
Update the previous state to the current one.
Definition: IRac.cpp:2807
+
IRac::ecoclim
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:824
+
IRac::markAsSent
void markAsSent(void)
Update the previous state to the current one.
Definition: IRac.cpp:2855
stdAc::swingv_t
swingv_t
Common A/C settings for Vertical Swing.
Definition: IRsend.h:70
ir_Airwell.h
Airwell "Manchester code" based protocol. Some other Airwell products use the COOLIX protocol.
-
IRac::daikin2
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:699
+
IRac::daikin2
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:701
ir_Trotec.h
Support for Trotec protocols.
-
IRac::sanyo
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:1731
-
IRDaikinESP
Class for handling detailed Daikin 280-bit A/C messages.
Definition: ir_Daikin.h:658
-
IRac::lg
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:1303
+
IRac::sanyo
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:1764
+
IRDaikinESP
Class for handling detailed Daikin 280-bit A/C messages.
Definition: ir_Daikin.h:660
+
IRac::lg
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:1336
IRDelonghiAc
Class for handling detailed Delonghi A/C messages.
Definition: ir_Delonghi.h:73
IRCoronaAc
Class for handling detailed Corona A/C messages.
Definition: ir_Corona.h:107
-
IRac::kelvinator
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:1269
-
IRDaikin2
Class for handling detailed Daikin 312-bit A/C messages.
Definition: ir_Daikin.h:740
-
IRac::fujitsu
void fujitsu(IRFujitsuAC *ac, const fujitsu_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 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:907
+
IRac::kelvinator
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:1302
+
IRDaikin2
Class for handling detailed Daikin 312-bit A/C messages.
Definition: ir_Daikin.h:742
+
IRac::fujitsu
void fujitsu(IRFujitsuAC *ac, const fujitsu_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 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:909
ir_Neoclima.h
Support for Neoclima protocols. Analysis by crankyoldgit & AndreyShpilevoy.
-
IRDaikin128
Class for handling detailed Daikin 128-bit A/C messages.
Definition: ir_Daikin.h:1001
+
IRDaikin128
Class for handling detailed Daikin 128-bit A/C messages.
Definition: ir_Daikin.h:1003
stdAc::fanspeed_t
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
ir_Sharp.h
Support for Sharp protocols.
-
IRac::fanspeedToString
static String fanspeedToString(const stdAc::fanspeed_t speed)
Convert the supplied fan speed enum into the appropriate String.
Definition: IRac.cpp:3094
+
IRac::fanspeedToString
static String fanspeedToString(const stdAc::fanspeed_t speed)
Convert the supplied fan speed enum into the appropriate String.
Definition: IRac.cpp:3142
whirlpool_ac_remote_model_t
whirlpool_ac_remote_model_t
Whirlpool A/C model numbers.
Definition: IRsend.h:170
ir_Carrier.h
Carrier A/C.
-
IRac::whirlpool
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:2117
+
IRac::whirlpool
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:2150
decode_results
Results returned from the decoder.
Definition: IRrecv.h:92
-
IRac::daikin64
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:768
-
IRac::voltas
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:2076
-
IRac::tcl112
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:1828
-
IRac::transcold
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:2154
-
IRac::sendAc
bool sendAc(void)
Send an A/C message based soley on our internal state.
Definition: IRac.cpp:2813
-
IRac::cmpStates
static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b)
Compare two AirCon states.
Definition: IRac.cpp:2824
+
IRac::daikin64
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:770
+
IRac::voltas
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:2109
+
IRac::tcl112
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:1861
+
IRac::transcold
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:2187
+
IRac::sendAc
bool sendAc(void)
Send an A/C message based soley on our internal state.
Definition: IRac.cpp:2861
+
IRac::cmpStates
static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b)
Compare two AirCon states.
Definition: IRac.cpp:2872
ir_Midea.h
Support for Midea protocols. Midea added by crankyoldgit & bwze.
ir_Daikin.h
Support for Daikin A/C protocols.
gree_ac_remote_model_t
gree_ac_remote_model_t
Gree A/C model numbers.
Definition: IRsend.h:134
-
IRDaikin64
Class for handling detailed Daikin 64-bit A/C messages.
Definition: ir_Daikin.h:1131
+
IRDaikin64
Class for handling detailed Daikin 64-bit A/C messages.
Definition: ir_Daikin.h:1133
ir_Coolix.h
Support for Coolix A/C protocols.
-
IRac::vestel
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:2034
+
IRac::vestel
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:2067
IRHitachiAc424
Class for handling detailed Hitachi 53-byte/424-bit A/C messages.
Definition: ir_Hitachi.h:371
-
IRac::daikin
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:535
-
IRac::IRac
IRac(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: IRac.cpp:56
-
IRDaikin216
Class for handling detailed Daikin 216-bit A/C messages.
Definition: ir_Daikin.h:836
+
IRac::daikin
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:537
+
IRac::IRac
IRac(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: IRac.cpp:57
+
IRDaikin216
Class for handling detailed Daikin 216-bit A/C messages.
Definition: ir_Daikin.h:838
IRVoltas
Class for handling detailed Voltas A/C messages.
Definition: ir_Voltas.h:90
hitachi_ac1_remote_model_t
hitachi_ac1_remote_model_t
HITACHI_AC1 A/C model numbers.
Definition: IRsend.h:140
-
IRac::samsung
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:1690
-
IRac::daikin128
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:575
+
IRac::samsung
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:1723
+
IRac::daikin128
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:577
IRHitachiAc
Class for handling detailed Hitachi 224-bit A/C messages.
Definition: ir_Hitachi.h:246
-
kGpioUnused
const int8_t kGpioUnused
A placeholder for not using an actual GPIO.
Definition: IRac.h:47
-
IRAcUtils
Common functions for use with all A/Cs supported by the IRac class.
Definition: IRac.cpp:3163
+
kGpioUnused
const int8_t kGpioUnused
A placeholder for not using an actual GPIO.
Definition: IRac.h:48
+
IRAcUtils
Common functions for use with all A/Cs supported by the IRac class.
Definition: IRac.cpp:3211
IRSanyoAc
Class for handling detailed Sanyo A/C messages.
Definition: ir_Sanyo.h:106
-
IRac::haier
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:1052
+
IRac::haier
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:1054
+
IRKelonAc
Definition: ir_Kelon.h:70
IRWhirlpoolAc
Class for handling detailed Whirlpool A/C messages.
Definition: ir_Whirlpool.h:132
IRHitachiAc344
Class for handling detailed Hitachi 344-bit A/C messages.
Definition: ir_Hitachi.h:459
-
IRac::boolToString
static String boolToString(const bool value)
Convert the supplied boolean into the appropriate String.
Definition: IRac.cpp:3065
-
IRac::next
stdAc::state_t next
The state we want the device to be in after we send.
Definition: IRac.h:99
-
String
std::string String
Definition: IRremoteESP8266.h:1217
+
IRac::boolToString
static String boolToString(const bool value)
Convert the supplied boolean into the appropriate String.
Definition: IRac.cpp:3113
+
IRac::next
stdAc::state_t next
The state we want the device to be in after we send.
Definition: IRac.h:100
+
String
std::string String
Definition: IRremoteESP8266.h:1250
IRMitsubishiAC
Class for handling detailed Mitsubishi 144-bit A/C messages.
Definition: ir_Mitsubishi.h:242
-
IRac::trotec
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:1966
-
IRac::strToModel
static int16_t strToModel(const char *str, const int16_t def=-1)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2984
+
IRac::trotec
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:1999
+
IRac::strToModel
static int16_t strToModel(const char *str, const int16_t def=-1)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:3032
IRAmcorAc
Class for handling detailed Amcor A/C messages.
Definition: ir_Amcor.h:90
IRMitsubishi112
Class for handling detailed Mitsubishi 122-bit A/C messages.
Definition: ir_Mitsubishi.h:362
ir_Ecoclim.h
EcoClim A/C protocol.
IRTcl112Ac
Class for handling detailed TCL A/C messages.
Definition: ir_Tcl.h:89
-
IRac::daikin176
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:667
-
IRElectraAc
Class for handling detailed Electra A/C messages.
Definition: ir_Electra.h:98
+
IRac::daikin176
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:669
+
IRElectraAc
Class for handling detailed Electra A/C messages.
Definition: ir_Electra.h:99
ir_Tcl.h
Support for TCL protocols.
-
IRac::hasStateChanged
bool hasStateChanged(void)
Check if the internal state has changed from what was previously sent.
Definition: IRac.cpp:2836
-
IRac::haierYrwo2
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:1089
-
IRac::daikin216
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:738
+
IRac::hasStateChanged
bool hasStateChanged(void)
Check if the internal state has changed from what was previously sent.
Definition: IRac.cpp:2884
+
IRac::haierYrwo2
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:1091
+
IRac::daikin216
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:740
ir_Transcold.h
Support for Transcold A/C protocols.
ir_Hitachi.h
Support for Hitachi A/C protocols.
ir_Panasonic.h
Support for Panasonic protocols.
-
IRac::handleToggles
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:2203
+
IRac::handleToggles
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:2236
IRMitsubishi136
Class for handling detailed Mitsubishi 136-bit A/C messages.
Definition: ir_Mitsubishi.h:308
panasonic_ac_remote_model_t
panasonic_ac_remote_model_t
Panasonic A/C model numbers.
Definition: IRsend.h:146
IRremoteESP8266.h
stdAc::swingh_t
swingh_t
Common A/C settings for Horizontal Swing.
Definition: IRsend.h:83
-
IRac::mitsubishi112
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:1415
-
IRAcUtils::decodeToState
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:3549
+
IRac::mitsubishi112
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:1448
+
IRAcUtils::decodeToState
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:3604
IRHitachiAc1
Class for handling detailed Hitachi 104-bit A/C messages.
Definition: ir_Hitachi.h:303
-
IRac::hitachi424
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:1231
+
IRac::hitachi424
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:1233
ir_Samsung.h
Support for Samsung protocols. Samsung originally added from https://github.com/shirriff/Arduino-IRre...
-
IRAcUtils::resultAcToString
String resultAcToString(const decode_results *const result)
Display the human readable state of an A/C message if we can.
Definition: IRac.cpp:3169
-
IRac::daikin152
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:612
+
IRAcUtils::resultAcToString
String resultAcToString(const decode_results *const result)
Display the human readable state of an A/C message if we can.
Definition: IRac.cpp:3217
+
IRac::daikin152
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:614
fujitsu_ac_remote_model_t
fujitsu_ac_remote_model_t
Fujitsu A/C model numbers.
Definition: IRsend.h:120
ir_Gree.h
Support for Gree A/C protocols.
IRCarrierAc64
Class for handling detailed Carrier 64 bit A/C messages.
Definition: ir_Carrier.h:84
IRMideaAC
Class for handling detailed Midea A/C messages.
Definition: ir_Midea.h:151
IRKelvinatorAC
Class for handling detailed Kelvinator A/C messages.
Definition: ir_Kelvinator.h:121
-
IRac::_inverted
bool _inverted
IR LED is lit when GPIO is LOW (true) or HIGH (false)?
Definition: IRac.h:105
+
IRac::_inverted
bool _inverted
IR LED is lit when GPIO is LOW (true) or HIGH (false)?
Definition: IRac.h:106
IRFujitsuAC
Class for handling detailed Fujitsu A/C messages.
Definition: ir_Fujitsu.h:169
ir_MitsubishiHeavy.h
Support for Mitsubishi Heavy Industry protocols. Code to emulate Mitsubishi Heavy Industries A/C IR r...
-
IRCoolixAC
Class for handling detailed Coolix A/C messages.
Definition: ir_Coolix.h:112
-
IRac::midea
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:1340
-
IRac::panasonic
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:1612
-
IRac::swingvToString
static String swingvToString(const stdAc::swingv_t swingv)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3116
+
IRCoolixAC
Class for handling detailed Coolix A/C messages.
Definition: ir_Coolix.h:116
+
IRac::midea
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:1373
+
IRac::panasonic
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:1645
+
IRac::swingvToString
static String swingvToString(const stdAc::swingv_t swingv)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3164
ir_Mitsubishi.h
Support for Mitsubishi protocols. Mitsubishi (TV) decoding added from https://github....
-
IRac
A universal/common/generic interface for controling supported A/Cs.
Definition: IRac.h:51
+
IRac
A universal/common/generic interface for controling supported A/Cs.
Definition: IRac.h:52
ir_Teco.h
Support for Teco protocols.
-
IRac::gree
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:1014
+
IRac::gree
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:1016
ir_Delonghi.h
Delonghi A/C.
-
IRac::electra
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:864
-
IRac::cleanState
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:2190
+
IRac::electra
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:866
+
IRac::cleanState
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:2223
ir_Argo.h
Support for Argo Ulisse 13 DCI Mobile Split ACs.
-
IRac::mitsubishi
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:1378
-
IRac::amcor
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:338
+
IRac::mitsubishi
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:1411
+
IRac::amcor
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
IRTechnibelAc
Class for handling detailed Technibel A/C messages.
Definition: ir_Technibel.h:77
IREcoclimAc
Class for handling detailed EcoClim A/C 56 bit messages.
Definition: ir_Ecoclim.h:84
IRAirwellAc
Class for handling detailed Airwell A/C messages.
Definition: ir_Airwell.h:60
ir_Voltas.h
Support for Voltas A/C protocol.
-
IRDaikin152
Class for handling detailed Daikin 152-bit A/C messages.
Definition: ir_Daikin.h:1071
+
IRDaikin152
Class for handling detailed Daikin 152-bit A/C messages.
Definition: ir_Daikin.h:1073
IRLgAc
Class for handling detailed LG A/C messages.
Definition: ir_LG.h:67
ir_Fujitsu.h
Support for Fujitsu A/C protocols. Fujitsu A/C support added by Jonny Graham.
-
IRHaierAC
Class for handling detailed Haier A/C messages.
Definition: ir_Haier.h:244
-
IRac::neoclima
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:1571
-
IRDaikin160
Class for handling detailed Daikin 160-bit A/C messages.
Definition: ir_Daikin.h:892
-
IRac::opmodeToString
static String opmodeToString(const stdAc::opmode_t mode)
Convert the supplied operation mode into the appropriate String.
Definition: IRac.cpp:3072
+
IRHaierAC
Class for handling detailed Haier A/C messages.
Definition: ir_Haier.h:246
+
IRac::neoclima
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:1604
+
IRDaikin160
Class for handling detailed Daikin 160-bit A/C messages.
Definition: ir_Daikin.h:894
+
IRac::opmodeToString
static String opmodeToString(const stdAc::opmode_t mode)
Convert the supplied operation mode into the appropriate String.
Definition: IRac.cpp:3120
IRSharpAc
Class for handling detailed Sharp A/C messages.
Definition: ir_Sharp.h:137
-
IRac::toshiba
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:1930
+
IRac::toshiba
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:1963
ir_Goodweather.h
Support for Goodweather compatible HVAC protocols.
-
IRac::argo
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:370
+
IRac::argo
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_ac_remote_model_t
LG A/C model numbers.
Definition: IRsend.h:176
-
IRac::mitsubishi136
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:1451
+
IRac::mitsubishi136
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:1484
stdAc::fanspeed_t::kAuto
@ kAuto
-
IRac::_modulation
bool _modulation
Is frequency modulation to be used?
Definition: IRac.h:106
-
IRac::teco
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:1897
-
IRac::strToOpmode
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:2842
+
IRac::_modulation
bool _modulation
Is frequency modulation to be used?
Definition: IRac.h:107
+
IRac::teco
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:1930
+
IRac::strToOpmode
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:2890
ir_Sanyo.h
Support for Sanyo protocols. Sanyo LC7461 support originally by marcosamarinho Sanyo SA 8650B origina...
-
IRac::hitachi1
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:1158
+
IRac::hitachi1
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:1160
IRTranscoldAc
Class for handling detailed Transcold A/C messages.
Definition: ir_Transcold.h:120
stdAc::swingh_t::kOff
@ kOff
-
IRac::panasonic32
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:1648
+
IRac::panasonic32
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:1681
ir_Whirlpool.h
Support for Whirlpool protocols. Decoding help from: @redmusicxd, @josh929800, @raducostea.
-
IRac::strToBool
static bool strToBool(const char *str, const bool def=false)
Convert the supplied str into the appropriate boolean value.
Definition: IRac.cpp:3047
-
IRac::mitsubishiHeavy88
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:1486
-
IRac::strToSwingV
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:2903
+
IRac::strToBool
static bool strToBool(const char *str, const bool def=false)
Convert the supplied str into the appropriate boolean value.
Definition: IRac.cpp:3095
+
IRac::mitsubishiHeavy88
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:1519
+
IRac::strToSwingV
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:2951
IRVestelAc
Class for handling detailed Vestel A/C messages.
Definition: ir_Vestel.h:100
-
IRPanasonicAc32
Class for handling detailed Panasonic 32bit A/C messages.
Definition: ir_Panasonic.h:219
+
IRPanasonicAc32
Class for handling detailed Panasonic 32bit A/C messages.
Definition: ir_Panasonic.h:221
IRTrotecESP
Class for handling detailed Trotec A/C messages.
Definition: ir_Trotec.h:91
ir_Truma.h
Support for Truma protocol.
IRTecoAc
Class for handling detailed Teco A/C messages.
Definition: ir_Teco.h:62
-
IRac::truma
void truma(IRTrumaAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const bool quiet)
Send a Truma A/C message with the supplied settings.
Definition: IRac.cpp:1997
-
IRac::swinghToString
static String swinghToString(const stdAc::swingh_t swingh)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3140
+
IRac::truma
void truma(IRTrumaAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const bool quiet)
Send a Truma A/C message with the supplied settings.
Definition: IRac.cpp:2030
+
IRac::swinghToString
static String swinghToString(const stdAc::swingh_t swingh)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3188
IRTrumaAc
Class for handling detailed Truma A/C messages.
Definition: ir_Truma.h:69
ir_Technibel.h
Support for Technibel protocol.
-
IRac::delonghiac
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:798
-
IRac::_prev
stdAc::state_t _prev
The state we expect the device to currently be in.
Definition: IRac.h:107
-
IRHaierACYRW02
Class for handling detailed Haier ACYRW02 A/C messages.
Definition: ir_Haier.h:314
-
IRac::daikin160
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:645
-
IRac::corona
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:500
-
IRac::initState
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:87
-
IRac::mitsubishiHeavy152
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:1527
+
IRac::delonghiac
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:800
+
IRac::kelon
void kelon(IRKelonAc *ac, const bool togglePower, const stdAc::opmode_t mode, const int8_t dryGrade, const float degrees, const stdAc::fanspeed_t fan, const bool toggleSwing, const bool superCool, const int16_t sleep)
Send a Kelon A/C message with the supplied settings.
Definition: IRac.cpp:1268
+
ir_Kelon.h
Support for Kelan AC protocol. Both sending and decoding should be functional for models of series KE...
+
IRac::_prev
stdAc::state_t _prev
The state we expect the device to currently be in.
Definition: IRac.h:108
+
IRHaierACYRW02
Class for handling detailed Haier ACYRW02 A/C messages.
Definition: ir_Haier.h:316
+
IRac::daikin160
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:647
+
IRac::corona
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:502
+
IRac::initState
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:88
+
IRac::mitsubishiHeavy152
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:1560
stdAc::swingv_t::kOff
@ kOff
ir_Haier.h
Support for Haier A/C protocols. The specifics of reverse engineering the protocols details:
IRMitsubishiHeavy88Ac
Class for handling detailed Mitsubishi Heavy 88-bit A/C messages.
Definition: ir_MitsubishiHeavy.h:271
-
IRGreeAC
Class for handling detailed Gree A/C messages.
Definition: ir_Gree.h:133
-
IRac::coolix
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:439
-
IRac::strToFanspeed
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:2872
+
IRGreeAC
Class for handling detailed Gree A/C messages.
Definition: ir_Gree.h:136
+
IRac::coolix
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
+
IRac::strToFanspeed
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:2920
ir_Toshiba.h
Support for Toshiba protocols.
-
IRac::goodweather
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:972
+
IRac::goodweather
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:974
stdAc::state_t
Structure to hold a common A/C state.
Definition: IRsend.h:97
IRGoodweatherAc
Class for handling detailed Goodweather A/C messages.
Definition: ir_Goodweather.h:100
ir_Vestel.h
Support for Vestel protocols. Vestel added by Erdem U. Altinyurt.
ir_Corona.h
IRArgoAC
Class for handling detailed Argo A/C messages.
Definition: ir_Argo.h:127
IRNeoclimaAc
Class for handling detailed Neoclima A/C messages.
Definition: ir_Neoclima.h:120
-
IRac::isProtocolSupported
static bool isProtocolSupported(const decode_type_t protocol)
Is the given protocol supported by the IRac class?
Definition: IRac.cpp:140
-
IRDaikin176
Class for handling detailed Daikin 176-bit A/C messages.
Definition: ir_Daikin.h:944
+
IRac::isProtocolSupported
static bool isProtocolSupported(const decode_type_t protocol)
Is the given protocol supported by the IRac class?
Definition: IRac.cpp:141
+
IRDaikin176
Class for handling detailed Daikin 176-bit A/C messages.
Definition: ir_Daikin.h:946
ir_Amcor.h
Amcor A/C protocol.
-
IRac::_pin
uint16_t _pin
The GPIO to use to transmit messages from.
Definition: IRac.h:104
-
IRac::technibel
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:1864
+
IRac::_pin
uint16_t _pin
The GPIO to use to transmit messages from.
Definition: IRac.h:105
+
IRac::technibel
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:1897
voltas_ac_remote_model_t
voltas_ac_remote_model_t
Voltas A/C model numbers.
Definition: IRsend.h:164
sharp_ac_remote_model_t
sharp_ac_remote_model_t
Sharp A/C model numbers.
Definition: IRsend.h:157
ir_LG.h
Support for LG protocols.
-
IRac::carrier64
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:402
+
IRac::carrier64
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
stdAc::opmode_t
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46