diff --git a/lib/IRremoteESP8266-2.7.10/.github/CONTRIBUTING.md b/lib/IRremoteESP8266-2.7.10/.github/CONTRIBUTING.md new file mode 100644 index 000000000..20bb97d94 --- /dev/null +++ b/lib/IRremoteESP8266-2.7.10/.github/CONTRIBUTING.md @@ -0,0 +1,82 @@ +# Contributing to the IRremoteESP8266 library + +:+1::tada: First off, thanks for taking the time to contribute! :tada::+1: + +The following is a set of guidelines for contributing to the IRremoteESP8266 library, hosted on GitHub. These are guidelines, [not rules](http://imgur.com/mSHi8). Use your best judgment, and feel free to propose changes to this document in a pull request. + +#### Table Of Contents + +[Code of Conduct](#code-of-conduct) + +[How Can I Contribute?](#how-can-i-contribute) + * [Reporting Bugs](#reporting-bugs) + * [Pull Requests](#pull-requests) + +[Styleguides](#styleguides) + * [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html) + * [Git Commit Messages](#git-commit-messages) + + +## Code of Conduct + +This project and everyone participating in it is governed by the principle of ["Be excellent to each other"](http://www.imdb.com/title/tt0096928/quotes). That's it. TL;DR: _Don't be a jerk._ + +## How Can I Contribute? + +### Reporting Bugs + +This section guides you through submitting a bug report for the library. Following these guidelines helps maintainers and the community understand your report :pencil:, reproduce the behavior :computer: :computer:, and find related reports :mag_right:. + +Before creating bug reports, please check [this list](#before-submitting-a-bug-report) as you might find out that you don't need to create one. When you are creating a bug report, please [include as much detail as possible](#how-do-i-submit-a-good-bug-report). Fill out [the required template](issue_template.md), the information it asks for helps us resolve issues faster. + +> **Note:** If you find a **Closed** issue that seems like it's the same thing that you're experiencing, open a new issue and include a link to the original issue in the body of your new one. + +#### Before Submitting A Bug Report + +* **Check the [Troubleshooting Guide](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Troubleshooting-Guide).** You might be able to find the cause of the problem and fix it yourself. Most importantly, check if you can reproduce the problem in the latest version (a.k.a. 'master') of the library. +* **Perform a [cursory search](https://github.com/issues?q=+is%3Aissue+repo%3Acrankyoldgit/IRremoteESP8266)** to see if the problem is already reported. If it has **and the issue is still open**, add a comment to the existing issue instead of opening a new one. + +#### How Do I Submit A (Good) Bug Report? + +Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/). Create an issue and provide the following information by filling in [the template](issue_template.md). + +Explain the problem and include any additional details to help maintainers reproduce the problem: + +* **Use a clear and descriptive title** for the issue to identify the problem. +* **Describe the exact steps which reproduce the problem** in as much detail as possible. +* **Provide specific examples to demonstrate the steps**. Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples. If you're providing snippets in the issue, use [Markdown code blocks](https://help.github.com/articles/markdown-basics/#multiple-lines). +* **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that behavior. +* **Explain which behavior you expected to see instead and why.** +* **If the problem wasn't triggered by a specific action**, describe what you were doing before the problem happened and share more information using the guidelines below. + +Provide more context by answering these questions: + +* **Can you reproduce the problem in one of the code examples?** +* **Did the problem start happening recently** (e.g. after updating to a new version of Arduino or the library) or was this always a problem? +* If the problem started happening recently, **can you reproduce the problem in an older version of the library?** What's the most recent version in which the problem doesn't happen? You can download older versions of the library from [the releases page](https://github.com/crankyoldgit/IRremoteESP8266/releases). +* **Can you reliably reproduce the issue?** If not, provide details about how often the problem happens and under which conditions it normally happens. + +Include details about your configuration, circuit and environment: + +* **Which version of the library are you using?** You can get the exact version by inspecting the `library.json` file in the root directory of the library. +* **What board are you running this on?** + +### Pull Requests + +* Do not include issue numbers in the PR title +* Include as much data and comments as practicle. +* Follow the [C++ style guide](https://google.github.io/styleguide/cppguide.html). +* Please write or ensure Unit Tests cover the change you are making, if you can. +* End all files with a newline +* Avoid platform-dependent code. +* Use c98 types where possible for better portablity. +* In almost all cases, code & documentation should be peer-reviewed by at least one other contributor. +* The code should pass all the existing testing infrastructure in Travis. e.g. Unit tests, cpplint, and basic compilation. +* State if you have tested this under real conditions if you have, and what other tests you may have carried out. + +### Git Commit Messages + +* Limit the first line to 72 characters or less +* Reference issues and pull requests liberally after the first line +* Humour is always acceptable. Be liberal with it. ;-) +* While not required, a comprehensive description of all the changes in the PR is best. diff --git a/lib/IRremoteESP8266-2.7.10/.github/Contributors.md b/lib/IRremoteESP8266-2.7.10/.github/Contributors.md new file mode 100644 index 000000000..43b681bc4 --- /dev/null +++ b/lib/IRremoteESP8266-2.7.10/.github/Contributors.md @@ -0,0 +1,23 @@ +## Contributors of this project +### Main contributors & maintainers +- [Mark Szabo](https://github.com/markszabo/) : Initial IR sending on ESP8266 +- [Sébastien Warin](https://github.com/sebastienwarin/) (http://sebastien.warin.fr) : Initial IR receiving on ESP8266 +- [David Conran](https://github.com/crankyoldgit/) : ESP32 support and pretty much everything else. +- [Roi Dayan](https://github.com/roidayan/) +- [Marcos de Alcântara Marinho](https://github.com/marcosamarinho/) +- [Massimiliano Pinto](https://github.com/pintomax/) +- [Darsh Patel](https://github.com/darshkpatel/) +- [Jonny Graham](https://github.com/jonnygraham/) +- [Stu Fisher](https://github.com/stufisher/) +- [Jorge Cisneros](https://github.com/jorgecis/) +- [Denes Varga](https://github.com/denxhun/) +- [Brett T. Warden](https://github.com/bwarden/) +- [Fabien Valthier](https://github.com/hcoohb) +- [Ajay Pala](https://github.com/ajaypala/) +- [Motea Marius](https://github.com/mariusmotea) +- [Mark Kuchel](https://github.com/kuchel77) +- [Christian Nilsson](https://github.com/NiKiZe) + +All contributors can be found on the [contributors site](https://github.com/crankyoldgit/IRremoteESP8266/graphs/contributors). + +### Contributors of the [original project](https://github.com/z3t0/Arduino-IRremote) can be found on the [original project's contributors page](https://github.com/z3t0/Arduino-IRremote/blob/master/Contributors.md) diff --git a/lib/IRremoteESP8266-2.7.10/.github/issue_template.md b/lib/IRremoteESP8266-2.7.10/.github/issue_template.md new file mode 100644 index 000000000..d9b80dab6 --- /dev/null +++ b/lib/IRremoteESP8266-2.7.10/.github/issue_template.md @@ -0,0 +1,42 @@ +_(Please use this template for reporting issues. You can delete what ever is not relevant. Giving us this information will help us help you faster. Please also read the [FAQ](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Frequently-Asked-Questions) & [Troubleshooting Guide](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Troubleshooting-Guide). Your problem may already have an answer there.)_ + +### Version/revision of the library used +_Typically located in the `library.json` & `src/IRremoteESP8266.h` files in the root directory of the library. +e.g. v2.0.0, or 'master' as at 1st of June, 2017. etc._ + +### Expected behavior +_What steps did you do and what should it have done?_ + +e.g. +1. Initialise the IRsend class. +2. IRsend.sendFoobar(0xdeadbeef); +3. Foobar branded BBQ turns on and cooks me some ribs. + +### Actual behavior +_What steps did you do, and what did or didn't actually happen?_ + +e.g. +1. Initialise the IRsend class. +2. IRsend.sendFoobar(0xdeadbeef); +3. Foobar BBQ went into Cow(er)-saving mode and fried me a couple of eggs instead. + +#### Output of raw data from IRrecvDumpV2.ino (if applicable) +_Include some raw dumps of what the device saw._ + +### Steps to reproduce the behavior +_What can we do to (pref. reliably) repeat what is happening?_ + +#### Example code used +_Include all relevant code snippets or links to the actual code files. Tip: [How to quote your code so it is still readable](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code)._ + +#### Circuit diagram and hardware used (if applicable) +_Link to an image of the circuit diagram used. Part number of the IR receiver module etc. ESP8266 or ESP32 board type._ + +### I have followed the steps in the [Troubleshooting Guide](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Troubleshooting-Guide) & read the [FAQ](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Frequently-Asked-Questions) +_Yes/No._ + +### Has this library/code previously worked as expected for you? +_Yes/No. If "Yes", which version last worked for you?_ + +### Other useful information +_More information is always welcome. Be verbose._ diff --git a/lib/IRremoteESP8266-2.7.10/.gitignore b/lib/IRremoteESP8266-2.7.10/.gitignore new file mode 100644 index 000000000..c02171953 --- /dev/null +++ b/lib/IRremoteESP8266-2.7.10/.gitignore @@ -0,0 +1,53 @@ +#----------------------------------------# +# .gitingore for IRremoteESP8266 library # +#----------------------------------------# + +### Files to ignore. + +## Editors +# vi/vim +**/*.swp + +# vscode +.vscode + +## Build environments +# Platformio +**/.pio/ +**/.pioenvs/ +**/.piolibdeps/ +**/.clang_complete +**/.gcc-flags.json +examples/**/lib +examples/**/.travis.yml +examples/**/.gitignore +lib/readme.txt +lib/googletest/**/* + +# GCC pre-compiled headers. +**/*.gch + +# Python compiled files +**/*.pyc + +# Unit Test builds +test/*.o +test/*.a +test/*_test + +# Tools builds +tools/*.o +tools/*.a +tools/gc_decode +tools/mode2_decode + +.pioenvs +.piolibdeps +.clang_complete +.gcc-flags.json + +#Cygwin builds +*.exe + +# Mac extended attributes +.DS_Store diff --git a/lib/IRremoteESP8266-2.7.10/.gitmodules b/lib/IRremoteESP8266-2.7.10/.gitmodules new file mode 100644 index 000000000..c28fe0509 --- /dev/null +++ b/lib/IRremoteESP8266-2.7.10/.gitmodules @@ -0,0 +1,4 @@ +[submodule "lib/googletest"] + path = lib/googletest + url = https://github.com/google/googletest.git + branch = v1.8.x diff --git a/lib/IRremoteESP8266-2.7.10/.style.yapf b/lib/IRremoteESP8266-2.7.10/.style.yapf new file mode 100644 index 000000000..65fa0ee33 --- /dev/null +++ b/lib/IRremoteESP8266-2.7.10/.style.yapf @@ -0,0 +1,3 @@ +[style] +based_on_style: google +indent_width: 2 diff --git a/lib/IRremoteESP8266-2.7.10/.travis.yml b/lib/IRremoteESP8266-2.7.10/.travis.yml new file mode 100644 index 000000000..704004f68 --- /dev/null +++ b/lib/IRremoteESP8266-2.7.10/.travis.yml @@ -0,0 +1,69 @@ +language: c +addons: + apt: + packages: + - jq + - doxygen + - graphviz + - python3 + - python3-pip + - pylint3 + - python3-setuptools +env: + - PLATFORMIO_BUILD_CACHE_DIR="../../.pio/buildcache" + IRRECVDUMP_RE=".*IRrecvDumpV.*" + IRMQTTSERVER_RE=".*IRMQTTServer.*" + MAKEFLAGS="-j 2" +cache: + directories: + - "~/.platformio" +before_install: + - wget https://raw.githubusercontent.com/google/styleguide/gh-pages/cpplint/cpplint.py + - python --version && pip --version + - python3 --version && pip3 --version + - sudo pip3 install -U platformio + - pio update +script: echo Running checks +notifications: + email: + on_success: change + on_failure: change +jobs: + include: + - name: "Compile the trivial examples" + script: + # Check that everything compiles but some heavy tasks e.g. IRMQTTServer & IRrecvDumpV2+ + # i.e. We are splitting the work load in to parallel tasks. + - find . -regextype egrep -name platformio.ini -type f \! -regex "${IRRECVDUMP_RE}|${IRMQTTSERVER_RE}" | sed 's,/platformio.ini$,,' | xargs --verbose -n 1 pio run --jobs 2 --project-dir + - name: "Compile the IRrecvDumpV2+ examples" + script: + # Check that IRrecvDumpV2+ compiles. + # i.e. We are splitting the work load in to parallel tasks. + - find . -regextype egrep -name platformio.ini -type f -regex "${IRRECVDUMP_RE}" | sed 's,/platformio.ini$,,' | xargs --verbose -n 1 pio run --jobs 2 --project-dir + - name: "Unit tests, Linter, Doc checks, & Compile IRMQTTServer" + script: + # Run all the Tests & check the code linters have no issues, and that + # IRMQTTServer compiles. + # i.e. We are splitting the work load in to parallel tasks. + # Check the version numbers match. + - LIB_VERSION=$(egrep "^#define\s+_IRREMOTEESP8266_VERSION_\s+" src/IRremoteESP8266.h | cut -d\" -f2) + - test ${LIB_VERSION} == "$(jq -r .version library.json)" + - grep -q "^version=${LIB_VERSION}$" library.properties + # Check the tools programs compile. + - (cd tools; make all) + # Check for lint issues. + - shopt -s nullglob + - python cpplint.py --extensions=c,cc,cpp,ino --headers=h,hpp {src,src/locale,test,tools}/*.{h,c,cc,cpp,hpp,ino} examples/*/*.{h,c,cc,cpp,hpp,ino} + - pylint3 -d F0001 {src,test,tools}/*.py + - shopt -u nullglob + # Build and run the unit tests. + - (cd test; make run) + - (cd tools; make run_tests) + # Check that every example directory has a platformio.ini file. + - (status=0; for dir in examples/*; do if [[ ! -f "${dir}/platformio.ini" ]]; then echo "${dir} has no 'platform.ini' file!"; status=1; fi; done; exit ${status}) + # Check that doxygen completes without errors or warnings. + - (DOXYGEN_OUTPUT=$(doxygen 2>&1); if [[ $? -ne 0 || -n "${DOXYGEN_OUTPUT}" ]]; then echo "${DOXYGEN_OUTPUT}"; exit 1; fi) + # Check that all files has supported sections. + - (SUPPORTED_OUTPUT=$(python3 tools/scrape_supported_devices.py --noout --alert 2>&1); if [[ $? -ne 0 || -n "${SUPPORTED_OUTPUT}" ]]; then echo "${SUPPORTED_OUTPUT}"; exit 1; fi) + # Check that IRMQTTServer compiles. + - find . -regextype egrep -name platformio.ini -type f -regex "${IRMQTTSERVER_RE}" | sed 's,/platformio.ini$,,' | xargs --verbose -n 1 pio run --jobs 2 --project-dir diff --git a/lib/IRremoteESP8266-2.7.8.10/CPPLINT.cfg b/lib/IRremoteESP8266-2.7.10/CPPLINT.cfg similarity index 100% rename from lib/IRremoteESP8266-2.7.8.10/CPPLINT.cfg rename to lib/IRremoteESP8266-2.7.10/CPPLINT.cfg diff --git a/lib/IRremoteESP8266-2.7.8.10/Doxyfile b/lib/IRremoteESP8266-2.7.10/Doxyfile similarity index 100% rename from lib/IRremoteESP8266-2.7.8.10/Doxyfile rename to lib/IRremoteESP8266-2.7.10/Doxyfile diff --git a/lib/IRremoteESP8266-2.7.8.10/LICENSE.txt b/lib/IRremoteESP8266-2.7.10/LICENSE.txt similarity index 100% rename from lib/IRremoteESP8266-2.7.8.10/LICENSE.txt rename to lib/IRremoteESP8266-2.7.10/LICENSE.txt diff --git a/lib/IRremoteESP8266-2.7.10/README.md b/lib/IRremoteESP8266-2.7.10/README.md new file mode 100644 index 000000000..0640c53ff --- /dev/null +++ b/lib/IRremoteESP8266-2.7.10/README.md @@ -0,0 +1,88 @@ +# IRremoteESP8266 Library + +[![Build Status](https://travis-ci.org/crankyoldgit/IRremoteESP8266.svg?branch=master)](https://travis-ci.org/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") +[![GitLicense](https://gitlicense.com/badge/crankyoldgit/IRremoteESP8266)](https://gitlicense.com/license/crankyoldgit/IRremoteESP8266) + +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.10 Now Available +Version 2.7.10 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. + +#### Upgrading from pre-v2.5 +The library has changed from using constants declared as `#define` to +[const](https://google.github.io/styleguide/cppguide.html#Constant_Names) with +the appropriate naming per the +[C++ style guide](https://google.github.io/styleguide/cppguide.html). +This may potentially cause old programs to not compile. +The most likely externally used `#define`s have been _aliased_ for limited +backward compatibility for projects using the old style. Going forward, only the +new `kConstantName` style will be supported for new protocol additions. + +In the unlikely case, it does break your code, then you may have been referencing +something you likely should not have. You should be able to quickly determine +the new name from the old. e.g. `CONSTANT_NAME` to `kConstantName`. +Use common sense or examining the library's code if this does affect code. + +## Supported Protocols +You can find the details of which protocols & devices are supported +[here](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/SupportedProtocols.md). + +## Troubleshooting +Before reporting an issue or asking for help, please try to follow our [Troubleshooting Guide](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Troubleshooting-Guide) first. + +## Frequently Asked Questions +Some common answers to common questions and problems are on our [F.A.Q. wiki page](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Frequently-Asked-Questions). + +## Library API Documentation +This library uses [Doxygen](https://www.doxygen.nl/index.html) to [automatically document](https://crankyoldgit.github.io/IRremoteESP8266/doxygen/html/) the [library's](https://crankyoldgit.github.io/IRremoteESP8266/doxygen/html/) [API](https://en.wikipedia.org/wiki/Application_programming_interface). +You can find it [here](https://crankyoldgit.github.io/IRremoteESP8266/doxygen/html/). + +## Installation +##### Official releases via the Arduino IDE v1.8+ (Windows & Linux) +1. Click the _"Sketch"_ -> _"Include Library"_ -> _"Manage Libraries..."_ Menu items. +1. Enter `IRremoteESP8266` into the _"Filter your search..."_ top right search box. +1. Click on the IRremoteESP8266 result of the search. +1. Select the version you wish to install and click _"Install"_. + +##### Manual Installation for Windows +1. Click on _"Clone or Download"_ button, then _"[Download ZIP](https://github.com/crankyoldgit/IRremoteESP8266/archive->master.zip)"_ on the page. +1. Extract the contents of the downloaded zip file. +1. Rename the extracted folder to _"IRremoteESP8266"_. +1. Move this folder to your libraries directory. (under windows: `C:\Users\YOURNAME\Documents\Arduino\libraries\`) +1. Restart your Arduino IDE. +1. Check out the examples. + +##### Using Git to install the library ( Linux ) +``` +cd ~/Arduino/libraries +git clone https://github.com/crankyoldgit/IRremoteESP8266.git +``` +###### To update to the latest version of the library +``` +cd ~/Arduino/libraries/IRremoteESP8266 && git pull +``` + +## Contributing +If you want to [contribute](.github/CONTRIBUTING.md#how-can-i-contribute) to this project, consider: +- [Reporting](.github/CONTRIBUTING.md#reporting-bugs) bugs and errors +- Ask for enhancements +- Improve our documentation +- [Creating issues](.github/CONTRIBUTING.md#reporting-bugs) and [pull requests](.github/CONTRIBUTING.md#pull-requests) +- Tell other people about this library + +## Contributors +Available [here](.github/Contributors.md) + +## Library History +This library was originally based on Ken Shirriff's work (https://github.com/shirriff/Arduino-IRremote/) + +[Mark Szabo](https://github.com/crankyoldgit/IRremoteESP8266) has updated the IRsend class to work on ESP8266 and [Sebastien Warin](https://github.com/sebastienwarin/IRremoteESP8266) the receiving & decoding part (IRrecv class). + +As of v2.0, the library was almost entirely re-written with the ESP8266's resources in mind. diff --git a/lib/IRremoteESP8266-2.7.8.10/README_fr.md b/lib/IRremoteESP8266-2.7.10/README_fr.md similarity index 96% rename from lib/IRremoteESP8266-2.7.8.10/README_fr.md rename to lib/IRremoteESP8266-2.7.10/README_fr.md index 1e983ba35..3c26ff76f 100644 --- a/lib/IRremoteESP8266-2.7.8.10/README_fr.md +++ b/lib/IRremoteESP8266-2.7.10/README_fr.md @@ -9,8 +9,8 @@ Cette librairie vous permetra de **recevoir et d'envoyer des signaux** infrarouge sur le protocole [ESP8266](https://github.com/esp8266/Arduino) ou sur le protocole [ESP32](https://github.com/espressif/arduino-esp32) en utilisant le [Arduino framework](https://www.arduino.cc/) qui utilise la norme 940nm IR LEDs et le module basique de reception d'onde IR. Exemple : TSOP{17,22,24,36,38,44,48}* modules etc. -## v2.7.8 disponible -Version 2.7.8 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.10 disponible +Version 2.7.10 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/IRremoteESP8266-2.7.8.10/ReleaseNotes.md b/lib/IRremoteESP8266-2.7.10/ReleaseNotes.md similarity index 94% rename from lib/IRremoteESP8266-2.7.8.10/ReleaseNotes.md rename to lib/IRremoteESP8266-2.7.10/ReleaseNotes.md index 4b757f710..3e62465e8 100644 --- a/lib/IRremoteESP8266-2.7.8.10/ReleaseNotes.md +++ b/lib/IRremoteESP8266-2.7.10/ReleaseNotes.md @@ -1,5 +1,49 @@ # Release Notes +## _v2.7.10 (20200831)_ + +**[BREAKING CHANGES]** +- move SPIFFS to LittleFS for ESP8266 (#1182 #1226) +- Daikin176: Change & increase operating mode values. (#1233 #1235) + +**[Bug Fixes]** +- TOSHIBA_AC: not turning off when using `IRac` class. (#1250 #1251) +- Haier: change position of Fan speed bits. (#1246 #1247) + +**[Features]** +- Voltas: Add detailed support for Voltas A/Cs (#1238 #1248) +- Add support for Metz protocol. (#1241 #1242) +- Basic support for Voltas A/C protocol (#1238 #1243) +- Add low level bit formatting sanity checks. (#1232) + +**[Misc]** +- Rewrite Airwell by using bit fields (#1254) +- Rewrite Haier YRW02 using bit fields (#1253) +- rewrite Haier HSU07-HEA03 (#1246 #1247) +- rewrite ir_Gree & ir_Midea by using bit field (#1240) +- Incorrect usage of `assert()` (#1244 #1245 #1232) +- rewrite Gree (#1210) + + +## _v2.7.9 (20200730)_ + +**[Bug Fixes]** +- Fix mistake in `IRLGAc::convertFan()`. (#1214 #1215) + +**[Features]** +- Add Sanyo A/C (72 bit) protocol with detailed support. (#1211 #1218) +- Added modification to Midea unit to support Danby DAC AC units. (#1213) +- ToshibaAc: Rework to support Carrier models and add more settings. (#1205 #1212) +- Add detailed support for Airwell A/C protocol. (#1202 #1204) + +**[Misc]** +- Pioneer: Update timings based on user collected data. (#1220 #1222) +- Samsung36: Adjust timings & update unit tests. (#1220 #1221) +- Consolidate common code: Inverted byte pairs (#1219) +- Remove duplicate code from `IRToshibaAC::calcChecksum()` (#1207) +- Update missing/incorrect doxygen comments (#1203) + + ## _v2.7.8 (20200622)_ **[BREAKING CHANGES]** diff --git a/lib/IRremoteESP8266-2.7.8.10/SupportedProtocols.md b/lib/IRremoteESP8266-2.7.10/SupportedProtocols.md similarity index 88% rename from lib/IRremoteESP8266-2.7.8.10/SupportedProtocols.md rename to lib/IRremoteESP8266-2.7.10/SupportedProtocols.md index 7dab7ccb7..ab3b47f51 100644 --- a/lib/IRremoteESP8266-2.7.8.10/SupportedProtocols.md +++ b/lib/IRremoteESP8266-2.7.10/SupportedProtocols.md @@ -1,11 +1,11 @@ + Last generated: Mon 31 Aug 2020 10:57:08 +0000 ---> # IR Protocols supported by this library | Protocol | Brand | Model | A/C Model | Detailed A/C Support | | --- | --- | --- | --- | --- | -| [Airwell](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Airwell.cpp) | **Airwell** | DLS 21 DCI R410 AW A/C
RC04 remote
RC08W remote | | - | +| [Airwell](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Airwell.cpp) | **[Airwell](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Airwell.h)** | DLS 21 DCI R410 AW A/C
RC04 remote
RC08W remote | | Yes | | [Aiwa](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Aiwa.cpp) | **Aiwa** | RC-T501 RCU | | - | | [Amcor](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Amcor.cpp) | **[Amcor](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Amcor.h)** | ADR-853H A/C
TAC-444 remote
TAC-495 remote | | Yes | | [Argo](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Argo.cpp) | **[Argo](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Argo.h)** | Ulisse 13 DCI Mobile Split A/C | | Yes | @@ -15,7 +15,7 @@ | [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 | | [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)
BRC4C153 remote (DAIKIN176)
BRC52B63 remote (DAIKIN128)
DGS01 remote (DAIKIN64)
FFN-C/FCN-F Series A/C (DAIKIN64)
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
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 | | - | @@ -46,7 +46,9 @@ | [Lutron](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Lutron.cpp) | **Lutron** | MIR-ITFS remote
MIR-ITFS-F remote
MIR-ITFS-LF remote
SP-HT remote | | - | | [MWM](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_MWM.cpp) | **Disney** | Made With Magic (Glow With The Show) wand | | - | | [Magiquest](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Magiquest.cpp) | **[MagiQuest](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Magiquest.h)** | Wand | | - | +| [Metz](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Metz.cpp) | **Metz** | CH610 TV
RM16 remote
RM17 remote
RM19 remote | | - | | [Midea](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Midea.cpp) | **[Comfee](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Midea.h)** | MPD1-12CRN7 A/C (MIDEA) | | Yes | +| [Midea](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Midea.cpp) | **[Danby](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Midea.h)** | DAC080BGUWDB (MIDEA)
DAC100BGUWDB (MIDEA)
DAC120BGUWDB (MIDEA)
R09C/BCGE remote (MIDEA) | | Yes | | [Midea](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Midea.cpp) | **[Keystone](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Midea.h)** | RG57H4(B)BGEF remote (MIDEA) | | Yes | | [Midea](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Midea.cpp) | **[Midea](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Midea.h)** | FS40-7AR Stand Fan (MIDEA24) | | Yes | | [Midea](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Midea.cpp) | **[Pioneer System](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Midea.h)** | RUBO18GMFILCAD A/C (18K BTU) (MIDEA)
RYBO12GMFILCAD A/C (12K BTU) (MIDEA) | | Yes | @@ -62,12 +64,12 @@ | [Neoclima](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Neoclima.cpp) | **[Neoclima](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Neoclima.h)** | NS-09AHTI A/C
ZH/TY-01 remote | | Yes | | [Nikai](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Nikai.cpp) | **Nikai** | Unknown LCD TV | | - | | [Panasonic](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Panasonic.cpp) | **[Panasonic](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Panasonic.h)** | A75C2311 remote (PANASONIC_AC CKP/5)
A75C2616-1 remote (PANASONIC_AC DKE/3)
A75C3704 remote (PANASONIC_AC DKE/3)
A75C3747 remote (PANASONIC_AC JKE/4)
CKP series A/C (PANASONIC_AC CKP/5)
CS-E7PKR A/C (PANASONIC_AC DKE/2)
CS-ME10CKPG A/C (PANASONIC_AC CKP/5)
CS-ME12CKPG A/C (PANASONIC_AC CKP/5)
CS-ME14CKPG A/C (PANASONIC_AC CKP/5)
CS-YW9MKD A/C (PANASONIC_AC JKE/4)
CS-Z9RKR A/C (PANASONIC_AC RKR/6)
DKE series A/C (PANASONIC_AC DKE/3)
DKW series A/C (PANASONIC_AC DKE/3)
JKE series A/C (PANASONIC_AC JKE/4)
NKE series A/C (PANASONIC_AC NKE/2)
PKR series A/C (PANASONIC_AC DKE/3)
RKR series A/C (PANASONIC_AC RKR/6)
TV (PANASONIC) | CKP
DKE
JKE
LKE
NKE
RKR | Yes | -| [Pioneer](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Pioneer.cpp) | **Pioneer** | AV Receivers | | - | +| [Pioneer](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Pioneer.cpp) | **Pioneer** | AV Receivers
AXD7690 Remote
VSX-324 AV Receiver | | - | | [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)** | 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
IEC-R03 remote
UA55H6300 TV (SAMSUNG) | | Yes | -| [Sanyo](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Sanyo.cpp) | **Sanyo** | LC7461 transmitter IC (SANYO_LC7461)
SA 8650B - disabled | | - | +| [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 | +| [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-AxSAY A/C
AH-XP10NRY A/C
AY-ZP40KR A/C
CRMC-820JBEZ remote
CRMC-A907 JBEZ remote
LC-52D62U TV | | Yes | | [Sherwood](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Sherwood.cpp) | **Sherwood** | RC-138 remote
RD6505(B) Receiver | | - | | [Sony](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Sony.cpp) | **Sony** | HT-CT380 Soundbar (Uses 38kHz & 3 repeats) | | - | @@ -78,10 +80,12 @@ | [Symphony](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Symphony.cpp) | **Westinghouse** | 78095 Remote
Ceiling fan | | - | | [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 | | [Teco](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Teco.cpp) | **[Alaska](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Teco.h)** | SAC9010QC A/C
SAC9010QC remote | | Yes | +| [Toshiba](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Toshiba.cpp) | **[Carrier](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Toshiba.h)** | 42NQV025M2 / 38NYV025M2 A/C
42NQV035M2 / 38NYV035M2 A/C
42NQV050M2 / 38NYV050M2 A/C
42NQV060M2 / 38NYV060M2 A/C | | Yes | | [Toshiba](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Toshiba.cpp) | **[Toshiba](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Toshiba.h)** | Akita EVO II
RAS 18SKP-ES
RAS-B13N3KV2
RAS-B13N3KVP-E
WC-L03SE
WH-TA04NE | | Yes | | [Trotec](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Trotec.cpp) | **[Duux](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Trotec.h)** | Blizzard Smart 10K / DXMA04 A/C | | Yes | | [Trotec](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Trotec.cpp) | **[Trotec](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Trotec.h)** | PAC 3200 A/C | | Yes | | [Vestel](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Vestel.cpp) | **[Vestel](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Vestel.h)** | BIOX CXP-9 A/C (9K BTU) | | Yes | +| [Voltas](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Voltas.cpp) | **[Voltas](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Voltas.h)** | 122LZF 4011252 Window A/C | 122LZF | Yes | | [Whirlpool](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Whirlpool.cpp) | **[Whirlpool](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Whirlpool.h)** | DG11J1-04 remote
DG11J1-3A remote
DG11J1-91 remote
SPIS409L A/C
SPIS412L A/C
SPIW409L A/C
SPIW412L A/C
SPIW418L A/C | DG11J13A
DG11J191 | Yes | | [Whynter](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Whynter.cpp) | **Whynter** | ARC-110WD A/C | | - | | [Zepeal](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Zepeal.cpp) | **Zepeal** | DRT-A3311(BG) 5 button remote
DRT-A3311(BG) floor fan | | - | @@ -142,6 +146,7 @@ - LG2 - LUTRON - MAGIQUEST +- METZ - MIDEA - MIDEA24 - MITSUBISHI @@ -168,6 +173,7 @@ - SAMSUNG36 - SAMSUNG_AC - SANYO +- SANYO_AC - SANYO_LC7461 - SHARP - SHARP_AC @@ -178,6 +184,7 @@ - TOSHIBA_AC - TROTEC - VESTEL_AC +- VOLTAS - WHIRLPOOL_AC - WHYNTER - ZEPEAL diff --git a/lib/IRremoteESP8266-2.7.8.10/docs/README.md b/lib/IRremoteESP8266-2.7.10/docs/README.md similarity index 100% rename from lib/IRremoteESP8266-2.7.8.10/docs/README.md rename to lib/IRremoteESP8266-2.7.10/docs/README.md diff --git a/lib/IRremoteESP8266-2.7.8.10/docs/README_fr.md b/lib/IRremoteESP8266-2.7.10/docs/README_fr.md similarity index 100% rename from lib/IRremoteESP8266-2.7.8.10/docs/README_fr.md rename to lib/IRremoteESP8266-2.7.10/docs/README_fr.md diff --git a/lib/IRremoteESP8266-2.7.8.10/docs/_config.yml b/lib/IRremoteESP8266-2.7.10/docs/_config.yml similarity index 100% rename from lib/IRremoteESP8266-2.7.8.10/docs/_config.yml rename to lib/IRremoteESP8266-2.7.10/docs/_config.yml diff --git a/lib/IRremoteESP8266-2.7.8.10/docs/doxygen/html/IRac_8cpp.html b/lib/IRremoteESP8266-2.7.10/docs/doxygen/html/IRac_8cpp.html similarity index 94% rename from lib/IRremoteESP8266-2.7.8.10/docs/doxygen/html/IRac_8cpp.html rename to lib/IRremoteESP8266-2.7.10/docs/doxygen/html/IRac_8cpp.html index 2cd303da8..712ddbf93 100644 --- a/lib/IRremoteESP8266-2.7.8.10/docs/doxygen/html/IRac_8cpp.html +++ b/lib/IRremoteESP8266-2.7.10/docs/doxygen/html/IRac_8cpp.html @@ -76,6 +76,7 @@ $(function() {

Namespaces

 IRAcUtils + Common functions for use with all A/Cs supported by the IRac class.
  +

diff --git a/lib/IRremoteESP8266-2.7.8.10/docs/doxygen/html/IRac_8h.html b/lib/IRremoteESP8266-2.7.10/docs/doxygen/html/IRac_8h.html similarity index 89% rename from lib/IRremoteESP8266-2.7.8.10/docs/doxygen/html/IRac_8h.html rename to lib/IRremoteESP8266-2.7.10/docs/doxygen/html/IRac_8h.html index 8a58a1eee..5aec953b6 100644 --- a/lib/IRremoteESP8266-2.7.8.10/docs/doxygen/html/IRac_8h.html +++ b/lib/IRremoteESP8266-2.7.10/docs/doxygen/html/IRac_8h.html @@ -80,11 +80,13 @@ $(function() {

Classes

class  IRac
 A universal/common/generic interface for controling supported A/Cs. More...
 
+

Namespaces

 IRAcUtils
 Common functions for use with all A/Cs supported by the IRac class.
 
+

@@ -99,6 +101,7 @@ Functions

Variables

const int8_t kGpioUnused = -1
 A placeholder for not using an actual GPIO. More...
 

Variable Documentation

@@ -114,6 +117,8 @@ Variables
+

A placeholder for not using an actual GPIO.

+
diff --git a/lib/IRremoteESP8266-2.7.8.10/docs/doxygen/html/IRac_8h_source.html b/lib/IRremoteESP8266-2.7.10/docs/doxygen/html/IRac_8h_source.html similarity index 84% rename from lib/IRremoteESP8266-2.7.8.10/docs/doxygen/html/IRac_8h_source.html rename to lib/IRremoteESP8266-2.7.10/docs/doxygen/html/IRac_8h_source.html index 00c94ee20..25336b9b2 100644 --- a/lib/IRremoteESP8266-2.7.8.10/docs/doxygen/html/IRac_8h_source.html +++ b/lib/IRremoteESP8266-2.7.10/docs/doxygen/html/IRac_8h_source.html @@ -78,569 +78,603 @@ $(function() {
7 #include <Arduino.h>
8 #endif
9 #include "IRremoteESP8266.h"
-
10 #include "ir_Amcor.h"
-
11 #include "ir_Argo.h"
-
12 #include "ir_Carrier.h"
-
13 #include "ir_Coolix.h"
-
14 #include "ir_Corona.h"
-
15 #include "ir_Daikin.h"
-
16 #include "ir_Delonghi.h"
-
17 #include "ir_Fujitsu.h"
-
18 #include "ir_Electra.h"
-
19 #include "ir_Goodweather.h"
-
20 #include "ir_Gree.h"
-
21 #include "ir_Haier.h"
-
22 #include "ir_Hitachi.h"
-
23 #include "ir_Kelvinator.h"
-
24 #include "ir_LG.h"
-
25 #include "ir_Midea.h"
-
26 #include "ir_Mitsubishi.h"
-
27 #include "ir_MitsubishiHeavy.h"
-
28 #include "ir_Neoclima.h"
-
29 #include "ir_Panasonic.h"
-
30 #include "ir_Samsung.h"
-
31 #include "ir_Sharp.h"
-
32 #include "ir_Tcl.h"
-
33 #include "ir_Teco.h"
-
34 #include "ir_Toshiba.h"
-
35 #include "ir_Trotec.h"
-
36 #include "ir_Vestel.h"
-
37 #include "ir_Whirlpool.h"
-
38 
-
39 // Constants
-
40 const int8_t kGpioUnused = -1;
+
10 #include "ir_Airwell.h"
+
11 #include "ir_Amcor.h"
+
12 #include "ir_Argo.h"
+
13 #include "ir_Carrier.h"
+
14 #include "ir_Coolix.h"
+
15 #include "ir_Corona.h"
+
16 #include "ir_Daikin.h"
+
17 #include "ir_Delonghi.h"
+
18 #include "ir_Fujitsu.h"
+
19 #include "ir_Electra.h"
+
20 #include "ir_Goodweather.h"
+
21 #include "ir_Gree.h"
+
22 #include "ir_Haier.h"
+
23 #include "ir_Hitachi.h"
+
24 #include "ir_Kelvinator.h"
+
25 #include "ir_LG.h"
+
26 #include "ir_Midea.h"
+
27 #include "ir_Mitsubishi.h"
+
28 #include "ir_MitsubishiHeavy.h"
+
29 #include "ir_Neoclima.h"
+
30 #include "ir_Panasonic.h"
+
31 #include "ir_Samsung.h"
+
32 #include "ir_Sanyo.h"
+
33 #include "ir_Sharp.h"
+
34 #include "ir_Tcl.h"
+
35 #include "ir_Teco.h"
+
36 #include "ir_Toshiba.h"
+
37 #include "ir_Trotec.h"
+
38 #include "ir_Vestel.h"
+
39 #include "ir_Voltas.h"
+
40 #include "ir_Whirlpool.h"
41 
-
42 // Class
-
43 class IRac {
-
44  public:
-
45  explicit IRac(const uint16_t pin, const bool inverted = false,
-
46  const bool use_modulation = true);
-
47  static bool isProtocolSupported(const decode_type_t protocol);
-
48  static void initState(stdAc::state_t *state,
-
49  const decode_type_t vendor, const int16_t model,
-
50  const bool power, const stdAc::opmode_t mode,
-
51  const float degrees, const bool celsius,
-
52  const stdAc::fanspeed_t fan,
-
53  const stdAc::swingv_t swingv,
-
54  const stdAc::swingh_t swingh,
-
55  const bool quiet, const bool turbo, const bool econo,
-
56  const bool light, const bool filter, const bool clean,
-
57  const bool beep, const int16_t sleep,
-
58  const int16_t clock);
-
59  static void initState(stdAc::state_t *state);
-
60  void markAsSent(void);
-
61  bool sendAc(void);
-
62  bool sendAc(const stdAc::state_t desired, const stdAc::state_t *prev = NULL);
-
63  bool sendAc(const decode_type_t vendor, const int16_t model,
-
64  const bool power, const stdAc::opmode_t mode, const float degrees,
-
65  const bool celsius, const stdAc::fanspeed_t fan,
-
66  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
67  const bool quiet, const bool turbo, const bool econo,
-
68  const bool light, const bool filter, const bool clean,
-
69  const bool beep, const int16_t sleep = -1,
-
70  const int16_t clock = -1);
-
71  static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b);
-
72  static bool strToBool(const char *str, const bool def = false);
-
73  static int16_t strToModel(const char *str, const int16_t def = -1);
-
74  static stdAc::opmode_t strToOpmode(
-
75  const char *str, const stdAc::opmode_t def = stdAc::opmode_t::kAuto);
-
76  static stdAc::fanspeed_t strToFanspeed(
-
77  const char *str,
-
78  const stdAc::fanspeed_t def = stdAc::fanspeed_t::kAuto);
-
79  static stdAc::swingv_t strToSwingV(
-
80  const char *str, const stdAc::swingv_t def = stdAc::swingv_t::kOff);
-
81  static stdAc::swingh_t strToSwingH(
-
82  const char *str, const stdAc::swingh_t def = stdAc::swingh_t::kOff);
-
83  static String boolToString(const bool value);
-
84  static String opmodeToString(const stdAc::opmode_t mode);
-
85  static String fanspeedToString(const stdAc::fanspeed_t speed);
-
86  static String swingvToString(const stdAc::swingv_t swingv);
-
87  static String swinghToString(const stdAc::swingh_t swingh);
-
88  stdAc::state_t getState(void);
-
89  stdAc::state_t getStatePrev(void);
-
90  bool hasStateChanged(void);
-
91  stdAc::state_t next;
-
92 #ifndef UNIT_TEST
-
93 
-
94  private:
-
95 #endif
-
96  uint16_t _pin;
-
97  bool _inverted;
-
98  bool _modulation;
-
99  stdAc::state_t _prev; // The state we expect the device to currently be in.
-
100 #if SEND_AMCOR
-
101  void amcor(IRAmcorAc *ac,
-
102  const bool on, const stdAc::opmode_t mode, const float degrees,
-
103  const stdAc::fanspeed_t fan);
-
104 #endif // SEND_AMCOR
-
105 #if SEND_ARGO
-
106  void argo(IRArgoAC *ac,
-
107  const bool on, const stdAc::opmode_t mode, const float degrees,
-
108  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
109  const bool turbo, const int16_t sleep = -1);
-
110 #endif // SEND_ARGO
-
111 #if SEND_CARRIER_AC64
-
112 void carrier64(IRCarrierAc64 *ac,
-
113  const bool on, const stdAc::opmode_t mode,
-
114  const float degrees, const stdAc::fanspeed_t fan,
-
115  const stdAc::swingv_t swingv, const int16_t sleep = -1);
-
116 #endif // SEND_CARRIER_AC64
-
117 #if SEND_COOLIX
-
118  void coolix(IRCoolixAC *ac,
-
119  const bool on, const stdAc::opmode_t mode, const float degrees,
-
120  const stdAc::fanspeed_t fan,
-
121  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
122  const bool turbo, const bool light, const bool clean,
-
123  const int16_t sleep = -1);
-
124 #endif // SEND_COOLIX
-
125 #if SEND_CORONA_AC
-
126  void corona(IRCoronaAc *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 bool econo);
-
130 #endif // SEND_CORONA_AC
-
131 #if SEND_DAIKIN
-
132  void daikin(IRDaikinESP *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 quiet, const bool turbo, const bool econo,
-
137  const bool clean);
-
138 #endif // SEND_DAIKIN
-
139 #if SEND_DAIKIN128
-
140  void daikin128(IRDaikin128 *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,
-
144  const bool quiet, const bool turbo, const bool light,
-
145  const bool econo, const int16_t sleep = -1,
-
146  const int16_t clock = -1);
-
147 #endif // SEND_DAIKIN128
-
148 #if SEND_DAIKIN152
-
149  void daikin152(IRDaikin152 *ac,
+
42 // Constants
+
43 const int8_t kGpioUnused = -1;
+
44 
+
45 // Class
+
47 class IRac {
+
48  public:
+
49  explicit IRac(const uint16_t pin, const bool inverted = false,
+
50  const bool use_modulation = true);
+
51  static bool isProtocolSupported(const decode_type_t protocol);
+
52  static void initState(stdAc::state_t *state,
+
53  const decode_type_t vendor, const int16_t model,
+
54  const bool power, const stdAc::opmode_t mode,
+
55  const float degrees, const bool celsius,
+
56  const stdAc::fanspeed_t fan,
+
57  const stdAc::swingv_t swingv,
+
58  const stdAc::swingh_t swingh,
+
59  const bool quiet, const bool turbo, const bool econo,
+
60  const bool light, const bool filter, const bool clean,
+
61  const bool beep, const int16_t sleep,
+
62  const int16_t clock);
+
63  static void initState(stdAc::state_t *state);
+
64  void markAsSent(void);
+
65  bool sendAc(void);
+
66  bool sendAc(const stdAc::state_t desired, const stdAc::state_t *prev = NULL);
+
67  bool sendAc(const decode_type_t vendor, const int16_t model,
+
68  const bool power, const stdAc::opmode_t mode, const float degrees,
+
69  const bool celsius, const stdAc::fanspeed_t fan,
+
70  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
71  const bool quiet, const bool turbo, const bool econo,
+
72  const bool light, const bool filter, const bool clean,
+
73  const bool beep, const int16_t sleep = -1,
+
74  const int16_t clock = -1);
+
75  static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b);
+
76  static bool strToBool(const char *str, const bool def = false);
+
77  static int16_t strToModel(const char *str, const int16_t def = -1);
+
78  static stdAc::opmode_t strToOpmode(
+
79  const char *str, const stdAc::opmode_t def = stdAc::opmode_t::kAuto);
+
80  static stdAc::fanspeed_t strToFanspeed(
+
81  const char *str,
+
82  const stdAc::fanspeed_t def = stdAc::fanspeed_t::kAuto);
+
83  static stdAc::swingv_t strToSwingV(
+
84  const char *str, const stdAc::swingv_t def = stdAc::swingv_t::kOff);
+
85  static stdAc::swingh_t strToSwingH(
+
86  const char *str, const stdAc::swingh_t def = stdAc::swingh_t::kOff);
+
87  static String boolToString(const bool value);
+
88  static String opmodeToString(const stdAc::opmode_t mode);
+
89  static String fanspeedToString(const stdAc::fanspeed_t speed);
+
90  static String swingvToString(const stdAc::swingv_t swingv);
+
91  static String swinghToString(const stdAc::swingh_t swingh);
+
92  stdAc::state_t getState(void);
+
93  stdAc::state_t getStatePrev(void);
+
94  bool hasStateChanged(void);
+
95  stdAc::state_t next;
+
96 #ifndef UNIT_TEST
+
97 
+
98  private:
+
99 #endif
+
100  uint16_t _pin;
+
101  bool _inverted;
+
102  bool _modulation;
+
103  stdAc::state_t _prev;
+
104 #if SEND_AIRWELL
+
105  void airwell(IRAirwellAc *ac,
+
106  const bool on, const stdAc::opmode_t mode, const float degrees,
+
107  const stdAc::fanspeed_t fan);
+
108 #endif // SEND_AIRWELL
+
109 #if SEND_AMCOR
+
110  void amcor(IRAmcorAc *ac,
+
111  const bool on, const stdAc::opmode_t mode, const float degrees,
+
112  const stdAc::fanspeed_t fan);
+
113 #endif // SEND_AMCOR
+
114 #if SEND_ARGO
+
115  void argo(IRArgoAC *ac,
+
116  const bool on, const stdAc::opmode_t mode, const float degrees,
+
117  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
118  const bool turbo, const int16_t sleep = -1);
+
119 #endif // SEND_ARGO
+
120 #if SEND_CARRIER_AC64
+
121 void carrier64(IRCarrierAc64 *ac,
+
122  const bool on, const stdAc::opmode_t mode,
+
123  const float degrees, const stdAc::fanspeed_t fan,
+
124  const stdAc::swingv_t swingv, const int16_t sleep = -1);
+
125 #endif // SEND_CARRIER_AC64
+
126 #if SEND_COOLIX
+
127  void coolix(IRCoolixAC *ac,
+
128  const bool on, const stdAc::opmode_t mode, const float degrees,
+
129  const stdAc::fanspeed_t fan,
+
130  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
131  const bool turbo, const bool light, const bool clean,
+
132  const int16_t sleep = -1);
+
133 #endif // SEND_COOLIX
+
134 #if SEND_CORONA_AC
+
135  void corona(IRCoronaAc *ac,
+
136  const bool on, const stdAc::opmode_t mode,
+
137  const float degrees, const stdAc::fanspeed_t fan,
+
138  const stdAc::swingv_t swingv, const bool econo);
+
139 #endif // SEND_CORONA_AC
+
140 #if SEND_DAIKIN
+
141  void daikin(IRDaikinESP *ac,
+
142  const bool on, const stdAc::opmode_t mode, const float degrees,
+
143  const stdAc::fanspeed_t fan,
+
144  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
145  const bool quiet, const bool turbo, const bool econo,
+
146  const bool clean);
+
147 #endif // SEND_DAIKIN
+
148 #if SEND_DAIKIN128
+
149  void daikin128(IRDaikin128 *ac,
150  const bool on, const stdAc::opmode_t mode,
151  const float degrees, const stdAc::fanspeed_t fan,
152  const stdAc::swingv_t swingv,
-
153  const bool quiet, const bool turbo, const bool econo);
-
154 #endif // SEND_DAIKIN152
-
155 #if SEND_DAIKIN160
-
156  void daikin160(IRDaikin160 *ac,
-
157  const bool on, const stdAc::opmode_t mode,
-
158  const float degrees, const stdAc::fanspeed_t fan,
-
159  const stdAc::swingv_t swingv);
-
160 #endif // SEND_DAIKIN160
-
161 #if SEND_DAIKIN176
-
162  void daikin176(IRDaikin176 *ac,
-
163  const bool on, const stdAc::opmode_t mode,
-
164  const float degrees, const stdAc::fanspeed_t fan,
-
165  const stdAc::swingh_t swingh);
-
166 #endif // SEND_DAIKIN176
-
167 #if SEND_DAIKIN2
-
168  void daikin2(IRDaikin2 *ac,
-
169  const bool on, const stdAc::opmode_t mode,
-
170  const float degrees, const stdAc::fanspeed_t fan,
-
171  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
172  const bool quiet, const bool turbo, const bool light,
-
173  const bool econo, const bool filter, const bool clean,
-
174  const bool beep, const int16_t sleep = -1,
-
175  const int16_t clock = -1);
-
176 #endif // SEND_DAIKIN2
-
177 #if SEND_DAIKIN216
-
178 void daikin216(IRDaikin216 *ac,
-
179  const bool on, const stdAc::opmode_t mode,
-
180  const float degrees, const stdAc::fanspeed_t fan,
-
181  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
182  const bool quiet, const bool turbo);
-
183 #endif // SEND_DAIKIN216
-
184 #if SEND_DAIKIN64
-
185  void daikin64(IRDaikin64 *ac,
-
186  const bool on, const stdAc::opmode_t mode,
-
187  const float degrees, const stdAc::fanspeed_t fan,
-
188  const stdAc::swingv_t swingv,
-
189  const bool quiet, const bool turbo,
-
190  const int16_t sleep = -1, const int16_t clock = -1);
-
191 #endif // SEND_DAIKIN64
-
192 #if SEND_DELONGHI_AC
-
193  void delonghiac(IRDelonghiAc *ac,
-
194  const bool on, const stdAc::opmode_t mode, const bool celsius,
-
195  const float degrees, const stdAc::fanspeed_t fan,
-
196  const bool turbo, const int16_t sleep = -1);
-
197 #endif // SEND_DELONGHI_AC
-
198 #if SEND_ELECTRA_AC
-
199 void electra(IRElectraAc *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 stdAc::swingh_t swingh, const bool turbo,
-
204  const bool lighttoggle, const bool clean);
-
205 #endif // SEND_ELECTRA_AC
-
206 #if SEND_FUJITSU_AC
-
207  void fujitsu(IRFujitsuAC *ac, const fujitsu_ac_remote_model_t model,
-
208  const bool on, const stdAc::opmode_t mode, const float degrees,
-
209  const stdAc::fanspeed_t fan,
-
210  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
211  const bool quiet, const bool turbo, const bool econo,
-
212  const bool filter, const bool clean);
-
213 #endif // SEND_FUJITSU_AC
-
214 #if SEND_GOODWEATHER
-
215  void goodweather(IRGoodweatherAc *ac,
-
216  const bool on, const stdAc::opmode_t mode,
-
217  const float degrees,
-
218  const stdAc::fanspeed_t fan,
-
219  const stdAc::swingv_t swingv,
-
220  const bool turbo, const bool light,
-
221  const int16_t sleep = -1);
-
222 #endif // SEND_GOODWEATHER
-
223 #if SEND_GREE
-
224  void gree(IRGreeAC *ac, const gree_ac_remote_model_t model,
-
225  const bool on, const stdAc::opmode_t mode, const bool celsius,
-
226  const float degrees, const stdAc::fanspeed_t fan,
-
227  const stdAc::swingv_t swingv, const bool turbo, const bool light,
-
228  const bool clean, const int16_t sleep = -1);
-
229 #endif // SEND_GREE
-
230 #if SEND_HAIER_AC
-
231  void haier(IRHaierAC *ac,
-
232  const bool on, const stdAc::opmode_t mode, const float degrees,
-
233  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
234  const bool filter, const int16_t sleep = -1,
-
235  const int16_t clock = -1);
-
236 #endif // SEND_HAIER_AC
-
237 #if SEND_HAIER_AC_YRW02
-
238  void haierYrwo2(IRHaierACYRW02 *ac,
-
239  const bool on, const stdAc::opmode_t mode,
-
240  const float degrees, const stdAc::fanspeed_t fan,
-
241  const stdAc::swingv_t swingv,
-
242  const bool turbo, const bool filter,
-
243  const int16_t sleep = -1);
-
244 #endif // SEND_HAIER_AC_YRW02
-
245 #if SEND_HITACHI_AC
-
246  void hitachi(IRHitachiAc *ac,
-
247  const bool on, const stdAc::opmode_t mode,
-
248  const float degrees, const stdAc::fanspeed_t fan,
-
249  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh);
-
250 #endif // SEND_HITACHI_AC
-
251 #if SEND_HITACHI_AC1
-
252  void hitachi1(IRHitachiAc1 *ac, const hitachi_ac1_remote_model_t model,
-
253  const bool on, const bool power_toggle,
-
254  const stdAc::opmode_t mode,
-
255  const float degrees, const stdAc::fanspeed_t fan,
-
256  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
257  const bool swing_toggle, const int16_t sleep = -1);
-
258 #endif // SEND_HITACHI_AC1
-
259 #if SEND_HITACHI_AC344
-
260  void hitachi344(IRHitachiAc344 *ac,
-
261  const bool on, const stdAc::opmode_t mode,
-
262  const float degrees, const stdAc::fanspeed_t fan,
-
263  const stdAc::swingv_t swingv,
-
264  const stdAc::swingh_t swingh);
-
265 #endif // SEND_HITACHI_AC344
-
266 #if SEND_HITACHI_AC424
-
267  void hitachi424(IRHitachiAc424 *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);
-
271 #endif // SEND_HITACHI_AC424
-
272 #if SEND_KELVINATOR
-
273  void kelvinator(IRKelvinatorAC *ac,
-
274  const bool on, 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 quiet, const bool turbo, const bool light,
-
278  const bool filter, const bool clean);
-
279 #endif // SEND_KELVINATOR
-
280 #if SEND_LG
-
281  void lg(IRLgAc *ac, const lg_ac_remote_model_t model,
-
282  const bool on, const stdAc::opmode_t mode,
-
283  const float degrees, const stdAc::fanspeed_t fan);
-
284 #endif // SEND_LG
-
285 #if SEND_MIDEA
-
286  void midea(IRMideaAC *ac,
-
287  const bool on, const stdAc::opmode_t mode, const bool celsius,
-
288  const float degrees, const stdAc::fanspeed_t fan,
-
289  const stdAc::swingv_t swingv, const int16_t sleep = -1);
-
290 #endif // SEND_MIDEA
-
291 #if SEND_MITSUBISHI_AC
-
292  void mitsubishi(IRMitsubishiAC *ac,
-
293  const bool on, const stdAc::opmode_t mode,
-
294  const float degrees,
-
295  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
296  const stdAc::swingh_t swingh,
-
297  const bool quiet, const int16_t clock = -1);
-
298 #endif // SEND_MITSUBISHI_AC
-
299 #if SEND_MITSUBISHI112
-
300  void mitsubishi112(IRMitsubishi112 *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,
-
304  const stdAc::swingh_t swingh,
-
305  const bool quiet);
-
306 #endif // SEND_MITSUBISHI112
-
307 #if SEND_MITSUBISHI136
-
308  void mitsubishi136(IRMitsubishi136 *ac,
-
309  const bool on, const stdAc::opmode_t mode,
-
310  const float degrees, const stdAc::fanspeed_t fan,
-
311  const stdAc::swingv_t swingv, const bool quiet);
-
312 #endif // SEND_MITSUBISHI136
-
313 #if SEND_MITSUBISHIHEAVY
-
314  void mitsubishiHeavy88(IRMitsubishiHeavy88Ac *ac,
-
315  const bool on, const stdAc::opmode_t mode,
-
316  const float degrees, const stdAc::fanspeed_t fan,
-
317  const stdAc::swingv_t swingv,
-
318  const stdAc::swingh_t swingh,
-
319  const bool turbo, const bool econo, const bool clean);
-
320  void mitsubishiHeavy152(IRMitsubishiHeavy152Ac *ac,
-
321  const bool on, const stdAc::opmode_t mode,
-
322  const float degrees, const stdAc::fanspeed_t fan,
-
323  const stdAc::swingv_t swingv,
-
324  const stdAc::swingh_t swingh,
-
325  const bool quiet, const bool turbo, const bool econo,
-
326  const bool filter, const bool clean,
-
327  const int16_t sleep = -1);
-
328 #endif // SEND_MITSUBISHIHEAVY
-
329 #if SEND_NEOCLIMA
-
330  void neoclima(IRNeoclimaAc *ac, const bool on, const stdAc::opmode_t mode,
-
331  const float degrees, const stdAc::fanspeed_t fan,
-
332  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
333  const bool turbo, const bool light, const bool filter,
-
334  const int16_t sleep = -1);
-
335 #endif // SEND_NEOCLIMA
-
336 #if SEND_PANASONIC_AC
-
337  void panasonic(IRPanasonicAc *ac, const panasonic_ac_remote_model_t model,
-
338  const bool on, const stdAc::opmode_t mode, const float degrees,
-
339  const stdAc::fanspeed_t fan,
-
340  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
341  const bool quiet, const bool turbo, const bool filter,
-
342  const int16_t clock = -1);
-
343 #endif // SEND_PANASONIC_AC
-
344 #if SEND_SAMSUNG_AC
-
345  void samsung(IRSamsungAc *ac,
-
346  const bool on, const stdAc::opmode_t mode, const float degrees,
-
347  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
348  const bool quiet, const bool turbo, const bool light,
-
349  const bool filter, const bool clean,
-
350  const bool beep, const bool prevpower = true,
-
351  const bool forcepower = true);
-
352 #endif // SEND_SAMSUNG_AC
-
353 #if SEND_SHARP_AC
-
354  void sharp(IRSharpAc *ac,
-
355  const bool on, const bool prev_power, const stdAc::opmode_t mode,
-
356  const float degrees, const stdAc::fanspeed_t fan,
-
357  const stdAc::swingv_t swingv, const bool turbo, const bool filter,
-
358  const bool clean);
-
359 #endif // SEND_SHARP_AC
-
360 #if SEND_TCL112AC
-
361  void tcl112(IRTcl112Ac *ac,
-
362  const bool on, const stdAc::opmode_t mode, const float degrees,
-
363  const stdAc::fanspeed_t fan,
-
364  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
365  const bool turbo, const bool light, const bool econo,
-
366  const bool filter);
-
367 #endif // SEND_TCL112AC
-
368 #if SEND_TECO
-
369  void teco(IRTecoAc *ac,
-
370  const bool on, const stdAc::opmode_t mode, const float degrees,
-
371  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
372  const bool light, const int16_t sleep = -1);
-
373 #endif // SEND_TECO
-
374 #if SEND_TOSHIBA_AC
-
375  void toshiba(IRToshibaAC *ac,
-
376  const bool on, const stdAc::opmode_t mode, const float degrees,
-
377  const stdAc::fanspeed_t fan);
-
378 #endif // SEND_TOSHIBA_AC
-
379 #if SEND_TROTEC
-
380  void trotec(IRTrotecESP *ac,
-
381  const bool on, const stdAc::opmode_t mode, const float degrees,
-
382  const stdAc::fanspeed_t fan, const int16_t sleep = -1);
-
383 #endif // SEND_TROTEC
-
384 #if SEND_VESTEL_AC
-
385  void vestel(IRVestelAc *ac,
-
386  const bool on, const stdAc::opmode_t mode, const float degrees,
-
387  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
388  const bool turbo, const bool filter,
-
389  const int16_t sleep = -1, const int16_t clock = -1,
-
390  const bool sendNormal = true);
-
391 #endif // SEND_VESTEL_AC
-
392 #if SEND_WHIRLPOOL_AC
-
393  void whirlpool(IRWhirlpoolAc *ac, const whirlpool_ac_remote_model_t model,
-
394  const bool on, const stdAc::opmode_t mode, const float degrees,
-
395  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
396  const bool turbo, const bool light,
-
397  const int16_t sleep = -1, const int16_t clock = -1);
-
398 #endif // SEND_WHIRLPOOL_AC
-
399 static stdAc::state_t cleanState(const stdAc::state_t state);
-
400 static stdAc::state_t handleToggles(const stdAc::state_t desired,
-
401  const stdAc::state_t *prev = NULL);
-
402 }; // IRac class
-
403 
-
404 namespace IRAcUtils {
-
405  String resultAcToString(const decode_results * const results);
-
406  bool decodeToState(const decode_results *decode, stdAc::state_t *result,
-
407  const stdAc::state_t *prev = NULL);
-
408 } // namespace IRAcUtils
-
409 #endif // IRAC_H_
+
153  const bool quiet, const bool turbo, const bool light,
+
154  const bool econo, const int16_t sleep = -1,
+
155  const int16_t clock = -1);
+
156 #endif // SEND_DAIKIN128
+
157 #if SEND_DAIKIN152
+
158  void daikin152(IRDaikin152 *ac,
+
159  const bool on, const stdAc::opmode_t mode,
+
160  const float degrees, const stdAc::fanspeed_t fan,
+
161  const stdAc::swingv_t swingv,
+
162  const bool quiet, const bool turbo, const bool econo);
+
163 #endif // SEND_DAIKIN152
+
164 #if SEND_DAIKIN160
+
165  void daikin160(IRDaikin160 *ac,
+
166  const bool on, const stdAc::opmode_t mode,
+
167  const float degrees, const stdAc::fanspeed_t fan,
+
168  const stdAc::swingv_t swingv);
+
169 #endif // SEND_DAIKIN160
+
170 #if SEND_DAIKIN176
+
171  void daikin176(IRDaikin176 *ac,
+
172  const bool on, const stdAc::opmode_t mode,
+
173  const float degrees, const stdAc::fanspeed_t fan,
+
174  const stdAc::swingh_t swingh);
+
175 #endif // SEND_DAIKIN176
+
176 #if SEND_DAIKIN2
+
177  void daikin2(IRDaikin2 *ac,
+
178  const bool on, const stdAc::opmode_t mode,
+
179  const float degrees, const stdAc::fanspeed_t fan,
+
180  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
181  const bool quiet, const bool turbo, const bool light,
+
182  const bool econo, const bool filter, const bool clean,
+
183  const bool beep, const int16_t sleep = -1,
+
184  const int16_t clock = -1);
+
185 #endif // SEND_DAIKIN2
+
186 #if SEND_DAIKIN216
+
187 void daikin216(IRDaikin216 *ac,
+
188  const bool on, const stdAc::opmode_t mode,
+
189  const float degrees, const stdAc::fanspeed_t fan,
+
190  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
191  const bool quiet, const bool turbo);
+
192 #endif // SEND_DAIKIN216
+
193 #if SEND_DAIKIN64
+
194  void daikin64(IRDaikin64 *ac,
+
195  const bool on, const stdAc::opmode_t mode,
+
196  const float degrees, const stdAc::fanspeed_t fan,
+
197  const stdAc::swingv_t swingv,
+
198  const bool quiet, const bool turbo,
+
199  const int16_t sleep = -1, const int16_t clock = -1);
+
200 #endif // SEND_DAIKIN64
+
201 #if SEND_DELONGHI_AC
+
202  void delonghiac(IRDelonghiAc *ac,
+
203  const bool on, const stdAc::opmode_t mode, const bool celsius,
+
204  const float degrees, const stdAc::fanspeed_t fan,
+
205  const bool turbo, const int16_t sleep = -1);
+
206 #endif // SEND_DELONGHI_AC
+
207 #if SEND_ELECTRA_AC
+
208 void electra(IRElectraAc *ac,
+
209  const bool on, const stdAc::opmode_t mode,
+
210  const float degrees, const stdAc::fanspeed_t fan,
+
211  const stdAc::swingv_t swingv,
+
212  const stdAc::swingh_t swingh, const bool turbo,
+
213  const bool lighttoggle, const bool clean);
+
214 #endif // SEND_ELECTRA_AC
+
215 #if SEND_FUJITSU_AC
+
216  void fujitsu(IRFujitsuAC *ac, const fujitsu_ac_remote_model_t model,
+
217  const bool on, const stdAc::opmode_t mode, const float degrees,
+
218  const stdAc::fanspeed_t fan,
+
219  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
220  const bool quiet, const bool turbo, const bool econo,
+
221  const bool filter, const bool clean);
+
222 #endif // SEND_FUJITSU_AC
+
223 #if SEND_GOODWEATHER
+
224  void goodweather(IRGoodweatherAc *ac,
+
225  const bool on, const stdAc::opmode_t mode,
+
226  const float degrees,
+
227  const stdAc::fanspeed_t fan,
+
228  const stdAc::swingv_t swingv,
+
229  const bool turbo, const bool light,
+
230  const int16_t sleep = -1);
+
231 #endif // SEND_GOODWEATHER
+
232 #if SEND_GREE
+
233  void gree(IRGreeAC *ac, const gree_ac_remote_model_t model,
+
234  const bool on, const stdAc::opmode_t mode, const bool celsius,
+
235  const float degrees, const stdAc::fanspeed_t fan,
+
236  const stdAc::swingv_t swingv, const bool turbo, const bool light,
+
237  const bool clean, const int16_t sleep = -1);
+
238 #endif // SEND_GREE
+
239 #if SEND_HAIER_AC
+
240  void haier(IRHaierAC *ac,
+
241  const bool on, const stdAc::opmode_t mode, const float degrees,
+
242  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
243  const bool filter, const int16_t sleep = -1,
+
244  const int16_t clock = -1);
+
245 #endif // SEND_HAIER_AC
+
246 #if SEND_HAIER_AC_YRW02
+
247  void haierYrwo2(IRHaierACYRW02 *ac,
+
248  const bool on, const stdAc::opmode_t mode,
+
249  const float degrees, const stdAc::fanspeed_t fan,
+
250  const stdAc::swingv_t swingv,
+
251  const bool turbo, const bool filter,
+
252  const int16_t sleep = -1);
+
253 #endif // SEND_HAIER_AC_YRW02
+
254 #if SEND_HITACHI_AC
+
255  void hitachi(IRHitachiAc *ac,
+
256  const bool on, const stdAc::opmode_t mode,
+
257  const float degrees, const stdAc::fanspeed_t fan,
+
258  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh);
+
259 #endif // SEND_HITACHI_AC
+
260 #if SEND_HITACHI_AC1
+
261  void hitachi1(IRHitachiAc1 *ac, const hitachi_ac1_remote_model_t model,
+
262  const bool on, const bool power_toggle,
+
263  const stdAc::opmode_t mode,
+
264  const float degrees, const stdAc::fanspeed_t fan,
+
265  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
266  const bool swing_toggle, const int16_t sleep = -1);
+
267 #endif // SEND_HITACHI_AC1
+
268 #if SEND_HITACHI_AC344
+
269  void hitachi344(IRHitachiAc344 *ac,
+
270  const bool on, const stdAc::opmode_t mode,
+
271  const float degrees, const stdAc::fanspeed_t fan,
+
272  const stdAc::swingv_t swingv,
+
273  const stdAc::swingh_t swingh);
+
274 #endif // SEND_HITACHI_AC344
+
275 #if SEND_HITACHI_AC424
+
276  void hitachi424(IRHitachiAc424 *ac,
+
277  const bool on, const stdAc::opmode_t mode,
+
278  const float degrees, const stdAc::fanspeed_t fan,
+
279  const stdAc::swingv_t swingv);
+
280 #endif // SEND_HITACHI_AC424
+
281 #if SEND_KELVINATOR
+
282  void kelvinator(IRKelvinatorAC *ac,
+
283  const bool on, const stdAc::opmode_t mode,
+
284  const float degrees, const stdAc::fanspeed_t fan,
+
285  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
286  const bool quiet, const bool turbo, const bool light,
+
287  const bool filter, const bool clean);
+
288 #endif // SEND_KELVINATOR
+
289 #if SEND_LG
+
290  void lg(IRLgAc *ac, const lg_ac_remote_model_t model,
+
291  const bool on, const stdAc::opmode_t mode,
+
292  const float degrees, const stdAc::fanspeed_t fan);
+
293 #endif // SEND_LG
+
294 #if SEND_MIDEA
+
295  void midea(IRMideaAC *ac,
+
296  const bool on, const stdAc::opmode_t mode, const bool celsius,
+
297  const float degrees, const stdAc::fanspeed_t fan,
+
298  const stdAc::swingv_t swingv, const bool econo,
+
299  const int16_t sleep = -1);
+
300 #endif // SEND_MIDEA
+
301 #if SEND_MITSUBISHI_AC
+
302  void mitsubishi(IRMitsubishiAC *ac,
+
303  const bool on, const stdAc::opmode_t mode,
+
304  const float degrees,
+
305  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
306  const stdAc::swingh_t swingh,
+
307  const bool quiet, const int16_t clock = -1);
+
308 #endif // SEND_MITSUBISHI_AC
+
309 #if SEND_MITSUBISHI112
+
310  void mitsubishi112(IRMitsubishi112 *ac,
+
311  const bool on, const stdAc::opmode_t mode,
+
312  const float degrees, const stdAc::fanspeed_t fan,
+
313  const stdAc::swingv_t swingv,
+
314  const stdAc::swingh_t swingh,
+
315  const bool quiet);
+
316 #endif // SEND_MITSUBISHI112
+
317 #if SEND_MITSUBISHI136
+
318  void mitsubishi136(IRMitsubishi136 *ac,
+
319  const bool on, const stdAc::opmode_t mode,
+
320  const float degrees, const stdAc::fanspeed_t fan,
+
321  const stdAc::swingv_t swingv, const bool quiet);
+
322 #endif // SEND_MITSUBISHI136
+
323 #if SEND_MITSUBISHIHEAVY
+
324  void mitsubishiHeavy88(IRMitsubishiHeavy88Ac *ac,
+
325  const bool on, const stdAc::opmode_t mode,
+
326  const float degrees, const stdAc::fanspeed_t fan,
+
327  const stdAc::swingv_t swingv,
+
328  const stdAc::swingh_t swingh,
+
329  const bool turbo, const bool econo, const bool clean);
+
330  void mitsubishiHeavy152(IRMitsubishiHeavy152Ac *ac,
+
331  const bool on, const stdAc::opmode_t mode,
+
332  const float degrees, const stdAc::fanspeed_t fan,
+
333  const stdAc::swingv_t swingv,
+
334  const stdAc::swingh_t swingh,
+
335  const bool quiet, const bool turbo, const bool econo,
+
336  const bool filter, const bool clean,
+
337  const int16_t sleep = -1);
+
338 #endif // SEND_MITSUBISHIHEAVY
+
339 #if SEND_NEOCLIMA
+
340  void neoclima(IRNeoclimaAc *ac, const bool on, const stdAc::opmode_t mode,
+
341  const float degrees, const stdAc::fanspeed_t fan,
+
342  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
343  const bool turbo, const bool light, const bool filter,
+
344  const int16_t sleep = -1);
+
345 #endif // SEND_NEOCLIMA
+
346 #if SEND_PANASONIC_AC
+
347  void panasonic(IRPanasonicAc *ac, const panasonic_ac_remote_model_t model,
+
348  const bool on, const stdAc::opmode_t mode, const float degrees,
+
349  const stdAc::fanspeed_t fan,
+
350  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
351  const bool quiet, const bool turbo, const bool filter,
+
352  const int16_t clock = -1);
+
353 #endif // SEND_PANASONIC_AC
+
354 #if SEND_SAMSUNG_AC
+
355  void samsung(IRSamsungAc *ac,
+
356  const bool on, const stdAc::opmode_t mode, const float degrees,
+
357  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
358  const bool quiet, const bool turbo, const bool light,
+
359  const bool filter, const bool clean,
+
360  const bool beep, const bool prevpower = true,
+
361  const bool forcepower = true);
+
362 #endif // SEND_SAMSUNG_AC
+
363 #if SEND_SANYO_AC
+
364  void sanyo(IRSanyoAc *ac,
+
365  const bool on, const stdAc::opmode_t mode, const float degrees,
+
366  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
367  const bool beep, const int16_t sleep = -1);
+
368 #endif // SEND_SANYO_AC
+
369 #if SEND_SHARP_AC
+
370  void sharp(IRSharpAc *ac,
+
371  const bool on, const bool prev_power, const stdAc::opmode_t mode,
+
372  const float degrees, const stdAc::fanspeed_t fan,
+
373  const stdAc::swingv_t swingv, const bool turbo, const bool filter,
+
374  const bool clean);
+
375 #endif // SEND_SHARP_AC
+
376 #if SEND_TCL112AC
+
377  void tcl112(IRTcl112Ac *ac,
+
378  const bool on, const stdAc::opmode_t mode, const float degrees,
+
379  const stdAc::fanspeed_t fan,
+
380  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
381  const bool turbo, const bool light, const bool econo,
+
382  const bool filter);
+
383 #endif // SEND_TCL112AC
+
384 #if SEND_TECO
+
385  void teco(IRTecoAc *ac,
+
386  const bool on, const stdAc::opmode_t mode, const float degrees,
+
387  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
388  const bool light, const int16_t sleep = -1);
+
389 #endif // SEND_TECO
+
390 #if SEND_TOSHIBA_AC
+
391  void toshiba(IRToshibaAC *ac,
+
392  const bool on, const stdAc::opmode_t mode, const float degrees,
+
393  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
394  const bool turbo, const bool econo);
+
395 #endif // SEND_TOSHIBA_AC
+
396 #if SEND_TROTEC
+
397  void trotec(IRTrotecESP *ac,
+
398  const bool on, const stdAc::opmode_t mode, const float degrees,
+
399  const stdAc::fanspeed_t fan, const int16_t sleep = -1);
+
400 #endif // SEND_TROTEC
+
401 #if SEND_VESTEL_AC
+
402  void vestel(IRVestelAc *ac,
+
403  const bool on, const stdAc::opmode_t mode, const float degrees,
+
404  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
405  const bool turbo, const bool filter,
+
406  const int16_t sleep = -1, const int16_t clock = -1,
+
407  const bool sendNormal = true);
+
408 #endif // SEND_VESTEL_AC
+
409 #if SEND_VOLTAS
+
410  void voltas(IRVoltas *ac, const voltas_ac_remote_model_t model,
+
411  const bool on, const stdAc::opmode_t mode,
+
412  const float degrees, const stdAc::fanspeed_t fan,
+
413  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
414  const bool turbo, const bool econo, const bool light,
+
415  const int16_t sleep = -1);
+
416 #endif // SEND_VOLTAS
+
417 #if SEND_WHIRLPOOL_AC
+
418  void whirlpool(IRWhirlpoolAc *ac, const whirlpool_ac_remote_model_t model,
+
419  const bool on, const stdAc::opmode_t mode, const float degrees,
+
420  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
421  const bool turbo, const bool light,
+
422  const int16_t sleep = -1, const int16_t clock = -1);
+
423 #endif // SEND_WHIRLPOOL_AC
+
424 static stdAc::state_t cleanState(const stdAc::state_t state);
+
425 static stdAc::state_t handleToggles(const stdAc::state_t desired,
+
426  const stdAc::state_t *prev = NULL);
+
427 }; // IRac class
+
428 
+
430 namespace IRAcUtils {
+
431  String resultAcToString(const decode_results * const results);
+
432  bool decodeToState(const decode_results *decode, stdAc::state_t *result,
+
433  const stdAc::state_t *prev = NULL);
+
434 } // namespace IRAcUtils
+
435 #endif // IRAC_H_
IRPanasonicAc
Class for handling detailed Panasonic A/C messages.
Definition: ir_Panasonic.h:98
+
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:291
ir_Kelvinator.h
Support for Kelvinator A/C protocols.
-
IRSamsungAc
Class for handling detailed Samsung A/C messages.
Definition: ir_Samsung.h:95
-
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:1020
-
IRToshibaAC
Class for handling detailed Toshiba A/C messages.
Definition: ir_Toshiba.h:62
-
decode_type_t
decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition: IRremoteESP8266.h:714
-
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:128
-
IRac::getState
stdAc::state_t getState(void)
Get the current internal A/C climate state.
Definition: IRac.cpp:123
+
IRSamsungAc
Class for handling detailed Samsung A/C messages.
Definition: ir_Samsung.h:97
+
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:1060
+
IRToshibaAC
Class for handling detailed Toshiba A/C messages.
Definition: ir_Toshiba.h:100
+
decode_type_t
decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition: IRremoteESP8266.h:736
+
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:131
+
IRac::getState
stdAc::state_t getState(void)
Get the current internal A/C climate state.
Definition: IRac.cpp:126
IRMitsubishiHeavy152Ac
Class for handling detailed Mitsubishi Heavy 152-bit A/C messages.
Definition: ir_MitsubishiHeavy.h:133
-
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:2499
-
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:1096
+
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:2664
+
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:1136
stdAc::opmode_t::kAuto
@ kAuto
ir_Electra.h
Support for Electra A/C protocols.
-
IRac::markAsSent
void markAsSent(void)
Update the previous state to the current one.
Definition: IRac.cpp:2362
+
IRac::markAsSent
void markAsSent(void)
Update the previous state to the current one.
Definition: IRac.cpp:2527
stdAc::swingv_t
swingv_t
Common A/C settings for Vertical Swing.
Definition: IRsend.h:70
-
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:640
+
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:680
ir_Trotec.h
Support for Trotec protocols.
-
IRDaikinESP
Class for handling detailed Daikin 280-bit A/C messages.
Definition: ir_Daikin.h:520
-
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:1202
+
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:1629
+
IRDaikinESP
Class for handling detailed Daikin 280-bit A/C messages.
Definition: ir_Daikin.h:526
+
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:1242
IRDelonghiAc
Class for handling detailed Delonghi A/C messages.
Definition: ir_Delonghi.h:102
IRCoronaAc
Class for handling detailed Corona A/C messages.
Definition: ir_Corona.h:93
-
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:1168
-
IRDaikin2
Class for handling detailed Daikin 312-bit A/C messages. Code by crankyoldgit, Reverse engineering an...
Definition: ir_Daikin.h:602
+
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:1208
+
IRDaikin2
Class for handling detailed Daikin 312-bit A/C messages.
Definition: ir_Daikin.h:608
ir_Neoclima.h
Support for Neoclima protocols. Analysis by crankyoldgit & AndreyShpilevoy.
-
IRDaikin128
Class for handling detailed Daikin 128-bit A/C messages. Code by crankyoldgit. Analysis by Daniel Ven...
Definition: ir_Daikin.h:864
+
IRDaikin128
Class for handling detailed Daikin 128-bit A/C messages.
Definition: ir_Daikin.h:869
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:2641
-
whirlpool_ac_remote_model_t
whirlpool_ac_remote_model_t
Whirlpool A/C model numbers.
Definition: IRsend.h:152
+
IRac::fanspeedToString
static String fanspeedToString(const stdAc::fanspeed_t speed)
Convert the supplied fan speed enum into the appropriate String.
Definition: IRac.cpp:2814
+
whirlpool_ac_remote_model_t
whirlpool_ac_remote_model_t
Whirlpool A/C model numbers.
Definition: IRsend.h:158
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:1814
+
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:1948
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:709
-
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:1640
-
IRac::sendAc
bool sendAc(void)
Send an A/C message based soley on our internal state.
Definition: IRac.cpp:2368
-
IRac::cmpStates
static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b)
Compare two AirCon states.
Definition: IRac.cpp:2379
+
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:749
+
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:1907
+
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:1723
+
IRac::sendAc
bool sendAc(void)
Send an A/C message based soley on our internal state.
Definition: IRac.cpp:2533
+
IRac::cmpStates
static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b)
Compare two AirCon states.
Definition: IRac.cpp:2544
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:129
-
IRDaikin64
Class for handling detailed Daikin 64-bit A/C messages.
Definition: ir_Daikin.h:998
+
IRDaikin64
Class for handling detailed Daikin 64-bit A/C messages.
Definition: ir_Daikin.h:1003
ir_Coolix.h
-
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:1773
+
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:1865
IRHitachiAc424
Class for handling detailed Hitachi 53-byte/424-bit A/C messages.
Definition: ir_Hitachi.h:313
-
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:476
-
IRac::IRac
IRac(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: IRac.cpp:49
-
IRDaikin216
Class for handling detailed Daikin 216-bit A/C messages.
Definition: ir_Daikin.h:698
+
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:516
+
IRac::IRac
IRac(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: IRac.cpp:52
+
IRDaikin216
Class for handling detailed Daikin 216-bit A/C messages.
Definition: ir_Daikin.h:704
+
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:135
-
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:1544
-
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:516
+
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:1588
+
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:556
IRHitachiAc
Class for handling detailed Hitachi 224-bit A/C messages.
Definition: ir_Hitachi.h:188
-
kGpioUnused
const int8_t kGpioUnused
Definition: IRac.h:40
-
IRAcUtils
Definition: IRac.cpp:2710
-
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:951
+
kGpioUnused
const int8_t kGpioUnused
A placeholder for not using an actual GPIO.
Definition: IRac.h:43
+
IRAcUtils
Common functions for use with all A/Cs supported by the IRac class.
Definition: IRac.cpp:2883
+
IRSanyoAc
Class for handling detailed Sanyo A/C messages.
Definition: ir_Sanyo.h:98
+
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:991
IRWhirlpoolAc
Class for handling detailed Whirlpool A/C messages.
Definition: ir_Whirlpool.h:91
IRHitachiAc344
Class for handling detailed Hitachi 344-bit A/C messages.
Definition: ir_Hitachi.h:401
-
IRac::boolToString
static String boolToString(const bool value)
Convert the supplied boolean into the appropriate String.
Definition: IRac.cpp:2612
-
IRac::next
stdAc::state_t next
The state we want the device to be in after we send.
Definition: IRac.h:91
-
String
std::string String
Definition: IRremoteESP8266.h:1093
-
IRMitsubishiAC
Class for handling detailed Mitsubishi 144-bit A/C messages. Inspired and derived from the work done ...
Definition: ir_Mitsubishi.h:168
-
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:1736
-
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:2539
+
IRac::boolToString
static String boolToString(const bool value)
Convert the supplied boolean into the appropriate String.
Definition: IRac.cpp:2785
+
IRac::next
stdAc::state_t next
The state we want the device to be in after we send.
Definition: IRac.h:95
+
String
std::string String
Definition: IRremoteESP8266.h:1128
+
IRMitsubishiAC
Class for handling detailed Mitsubishi 144-bit A/C messages.
Definition: ir_Mitsubishi.h:168
+
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:1828
+
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:2704
IRAmcorAc
Class for handling detailed Amcor A/C messages.
Definition: ir_Amcor.h:81
-
IRMitsubishi112
Definition: ir_Mitsubishi.h:286
+
IRMitsubishi112
Class for handling detailed Mitsubishi 122-bit A/C messages.
Definition: ir_Mitsubishi.h:286
IRTcl112Ac
Class for handling detailed TCL A/C messages.
Definition: ir_Tcl.h:63
-
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:608
+
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:648
IRElectraAc
Class for handling detailed Electra A/C messages.
Definition: ir_Electra.h:80
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:2391
-
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:988
-
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:679
+
IRac::hasStateChanged
bool hasStateChanged(void)
Check if the internal state has changed from what was previously sent.
Definition: IRac.cpp:2556
+
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:1028
+
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:719
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:1858
+
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:1992
IRMitsubishi136
Class for handling detailed Mitsubishi 136-bit A/C messages.
Definition: ir_Mitsubishi.h:232
panasonic_ac_remote_model_t
panasonic_ac_remote_model_t
Panasonic A/C model numbers.
Definition: IRsend.h:141
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:1306
-
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:3033
+
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:1350
+
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:3227
IRHitachiAc1
Class for handling detailed Hitachi 104-bit A/C messages.
Definition: ir_Hitachi.h:245
-
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:1130
+
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:1170
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:2716
-
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:553
+
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:2889
+
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:593
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:74
-
IRMideaAC
Class for handling detailed Midea A/C messages.
Definition: ir_Midea.h:73
+
IRMideaAC
Class for handling detailed Midea A/C messages.
Definition: ir_Midea.h:99
IRKelvinatorAC
Class for handling detailed Kelvinator A/C messages.
Definition: ir_Kelvinator.h:137
-
IRac::_inverted
bool _inverted
Definition: IRac.h:97
+
IRac::_inverted
bool _inverted
IR LED is lit when GPIO is LOW (true) or HIGH (false)?
Definition: IRac.h:101
IRFujitsuAC
Class for handling detailed Fujitsu A/C messages.
Definition: ir_Fujitsu.h:101
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:105
-
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:1500
-
IRac::swingvToString
static String swingvToString(const stdAc::swingv_t swingv)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:2663
+
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:1544
+
IRac::swingvToString
static String swingvToString(const stdAc::swingv_t swingv)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:2836
ir_Mitsubishi.h
Support for Mitsubishi protocols. Mitsubishi (TV) decoding added from https://github....
-
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 int16_t sleep=-1)
Send a Midea A/C message with the supplied settings.
Definition: IRac.cpp:1235
-
IRac
Definition: IRac.h:43
+
IRac
A universal/common/generic interface for controling supported A/Cs.
Definition: IRac.h:47
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:913
+
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:953
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:766
-
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:1845
+
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:806
+
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:1979
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:1271
-
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:279
-
IRDaikin152
Class for handling detailed Daikin 152-bit A/C messages.
Definition: ir_Daikin.h:938
-
IRLgAc
Class for handling detailed LG A/C messages.
Definition: ir_LG.h:63
+
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:1315
+
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:319
+
IRAirwellAc
Class for handling detailed Airwell A/C messages.
Definition: ir_Airwell.h:58
+
ir_Voltas.h
Support for Voltas A/C protocol.
+
IRDaikin152
Class for handling detailed Daikin 152-bit A/C messages.
Definition: ir_Daikin.h:943
+
IRLgAc
Class for handling detailed LG A/C messages.
Definition: ir_LG.h:64
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:217
-
IRDaikin160
Class for handling detailed Daikin 160-bit A/C messages.
Definition: ir_Daikin.h:754
-
IRac::opmodeToString
static String opmodeToString(const stdAc::opmode_t mode)
Convert the supplied operation mode into the appropriate String.
Definition: IRac.cpp:2619
+
IRHaierAC
Class for handling detailed Haier A/C messages.
Definition: ir_Haier.h:244
+
IRDaikin160
Class for handling detailed Daikin 160-bit A/C messages.
Definition: ir_Daikin.h:760
+
IRac::opmodeToString
static String opmodeToString(const stdAc::opmode_t mode)
Convert the supplied operation mode into the appropriate String.
Definition: IRac.cpp:2792
IRSharpAc
Class for handling detailed Sharp A/C messages.
Definition: ir_Sharp.h:108
+
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:1792
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:311
-
lg_ac_remote_model_t
lg_ac_remote_model_t
LG A/C model numbers.
Definition: IRsend.h:158
-
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:1342
+
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:351
+
lg_ac_remote_model_t
lg_ac_remote_model_t
LG A/C model numbers.
Definition: IRsend.h:164
+
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:1386
stdAc::fanspeed_t::kAuto
@ kAuto
-
IRac::_modulation
bool _modulation
Definition: IRac.h:98
-
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:1676
-
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:2397
-
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:1057
+
IRac::_modulation
bool _modulation
Is frequency modulation to be used?
Definition: IRac.h:102
+
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:1759
+
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:2562
+
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:1097
stdAc::swingh_t::kOff
@ kOff
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:2594
-
IRac::toshiba
void toshiba(IRToshibaAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send a Toshiba A/C message with the supplied settings.
Definition: IRac.cpp:1706
-
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:1377
-
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:2458
+
IRac::strToBool
static bool strToBool(const char *str, const bool def=false)
Convert the supplied str into the appropriate boolean value.
Definition: IRac.cpp:2767
+
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:1421
+
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:2623
IRVestelAc
Class for handling detailed Vestel A/C messages.
Definition: ir_Vestel.h:116
-
IRac::neoclima
void neoclima(IRNeoclimaAc *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 filter, const int16_t sleep=-1)
Send a Neoclima A/C message with the supplied settings.
Definition: IRac.cpp:1460
+
IRac::neoclima
void neoclima(IRNeoclimaAc *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 filter, const int16_t sleep=-1)
Send a Neoclima A/C message with the supplied settings.
Definition: IRac.cpp:1504
IRTrotecESP
Class for handling detailed Trotec A/C messages.
Definition: ir_Trotec.h:76
IRTecoAc
Class for handling detailed Teco A/C messages.
Definition: ir_Teco.h:107
-
IRac::swinghToString
static String swinghToString(const stdAc::swingh_t swingh)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:2687
-
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:739
-
IRac::_prev
stdAc::state_t _prev
Definition: IRac.h:99
-
IRHaierACYRW02
Class for handling detailed Haier ACYRW02 A/C messages.
Definition: ir_Haier.h:289
-
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:586
-
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:441
-
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)
Initialse the given state with the supplied settings.
Definition: IRac.cpp:80
-
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:1418
+
IRac::swinghToString
static String swinghToString(const stdAc::swingh_t swingh)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:2860
+
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:779
+
IRac::_prev
stdAc::state_t _prev
The state we expect the device to currently be in.
Definition: IRac.h:103
+
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:626
+
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:481
+
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)
Initialse the given state with the supplied settings.
Definition: IRac.cpp:83
+
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:1462
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:220
-
IRGreeAC
Class for handling detailed Gree A/C messages.
Definition: ir_Gree.h:117
-
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:380
-
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:2427
+
IRGreeAC
Class for handling detailed Gree A/C messages.
Definition: ir_Gree.h:130
+
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:420
+
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:2592
+
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 econo, const int16_t sleep=-1)
Send a Midea A/C message with the supplied settings.
Definition: IRac.cpp:1277
ir_Toshiba.h
Support for Toshiba protocols.
-
IRac::sharp
void sharp(IRSharpAc *ac, 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 filter, const bool clean)
Send a Sharp A/C message with the supplied settings.
Definition: IRac.cpp:1588
-
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:871
+
IRac::sharp
void sharp(IRSharpAc *ac, 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 filter, const bool clean)
Send a Sharp A/C message with the supplied settings.
Definition: IRac.cpp:1671
+
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:911
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:90
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:129
-
IRac::fujitsu
void fujitsu(IRFujitsuAC *ac, const fujitsu_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool filter, const bool clean)
Send a Fujitsu A/C message with the supplied settings.
Definition: IRac.cpp:808
+
IRac::fujitsu
void fujitsu(IRFujitsuAC *ac, const fujitsu_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool filter, const bool clean)
Send a Fujitsu A/C message with the supplied settings.
Definition: IRac.cpp:848
IRNeoclimaAc
Class for handling detailed Neoclima A/C messages.
Definition: ir_Neoclima.h:86
-
IRac::isProtocolSupported
static bool isProtocolSupported(const decode_type_t protocol)
Is the given protocol supported by the IRac class?
Definition: IRac.cpp:133
-
IRDaikin176
Class for handling detailed Daikin 176-bit A/C messages.
Definition: ir_Daikin.h:806
+
IRac::isProtocolSupported
static bool isProtocolSupported(const decode_type_t protocol)
Is the given protocol supported by the IRac class?
Definition: IRac.cpp:136
+
IRDaikin176
Class for handling detailed Daikin 176-bit A/C messages.
Definition: ir_Daikin.h:812
ir_Amcor.h
Amcor A/C protocol.
-
IRac::_pin
uint16_t _pin
Definition: IRac.h:96
+
IRac::_pin
uint16_t _pin
The GPIO to use to transmit messages from.
Definition: IRac.h:100
+
voltas_ac_remote_model_t
voltas_ac_remote_model_t
Voltas A/C model numbers.
Definition: IRsend.h:152
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:343
+
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:383
stdAc::opmode_t
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46