diff --git a/.github/ISSUE_TEMPLATE/Bug_report.md b/.github/ISSUE_TEMPLATE/Bug_report.md index 0f63d139f..523eb00ea 100644 --- a/.github/ISSUE_TEMPLATE/Bug_report.md +++ b/.github/ISSUE_TEMPLATE/Bug_report.md @@ -1,6 +1,6 @@ --- -name: Problem report -about: Create a report to help us improve +name: Problem Report +about: Create a Report to help us improve --- - -**Have you looked for this feature in other issues and in the docs?** - -**Is your feature request related to a problem? Please describe.** -_A clear and concise description of what the problem is._ - -**Describe the solution you'd like** -_A clear and concise description of what you want to happen._ - -**Describe alternatives you've considered** -_A clear and concise description of any alternative solutions or features you've considered._ - -**Additional context** -_Add any other context or screenshots about the feature request here._ - -**(Please, remember to close the issue when the problem has been addressed)** diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 225df7f86..de81acb78 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -2,7 +2,10 @@ blank_issues_enabled: false contact_links: - name: Tasmota Docs url: https://tasmota.github.io/docs - about: All the information related to Tasmota - - name: Tasmota Support Chat + about: All the information related to Tasmota. + - name: Tasmota Discussions and Support + url: https://github.com/arendst/Tasmota/discussions + about: Tasmota usage Questions, Feature Requests and Projects. + - name: Tasmota Users Chat url: https://discord.gg/Ks2Kzd4 about: Chat for feedback, questions and troubleshooting. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 748f02248..0de14bbf8 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -3,11 +3,11 @@ **Related issue (if applicable):** fixes # ## Checklist: - - [ ] The pull request is done against the latest dev branch + - [ ] The pull request is done against the latest development branch - [ ] Only relevant files were touched - [ ] Only one feature/fix was added per PR and the code change compiles without warnings - [ ] The code change is tested and works on Tasmota core ESP8266 V.2.7.4.9 - - [ ] The code change is tested and works on Tasmota core ESP32 V.1.0.4.2 + - [ ] The code change is tested and works on Tasmota core ESP32 V.1.0.5-rc6 - [ ] I accept the [CLA](https://github.com/arendst/Tasmota/blob/development/CONTRIBUTING.md#contributor-license-agreement-cla). _NOTE: The code change must pass CI tests. **Your PR cannot be merged unless tests pass**_ diff --git a/.github/issue-close-app.yml b/.github/issue-close-app.yml index aa8c4b638..889914ff8 100644 --- a/.github/issue-close-app.yml +++ b/.github/issue-close-app.yml @@ -5,7 +5,7 @@ # Comment that will be sent if an issue is judged to be closed. comment: >- - This issue has been automatically closed because the issue template is missing or incomplete. + This issue has been automatically closed because the PROBLEM REPORT TEMPLATE is missing or incomplete. Filling the template is required so standard questions don't need to be asked again each time. Our ability to provide assistance is greatly hampered if few minutes are not taken to complete the issue template @@ -13,19 +13,17 @@ comment: >- of time you will spend completing the template will also help the volunteers, providing assistance to you, to reduce the time required to help you. - Please, could you be so kind on completing the [issue template](https://github.com/arendst/Tasmota/issues/new/choose) in order to have more information so as to properly help you? + Please, could you be so kind on completing the [PROBLEM REPORT TEMPLATE](https://github.com/arendst/Tasmota/issues/new/choose) in order to have more information so as to properly help you? Thank you for taking the time to report, hopefully it can be resolved soon. - [Wiki](https://tasmota.github.io/docs/) for more information. + [Docs](https://tasmota.github.io/docs/) for more information. - [Chat](https://discord.gg/Ks2Kzd4) for more user experience. + [Discussions](https://github.com/arendst/Tasmota/discussions) for Questions, Feature Requests and Projects. - [Community](https://groups.google.com/d/forum/sonoffusers) for forum. - - [Code of Conduct](https://github.com/arendst/Tasmota/blob/development/CODE_OF_CONDUCT.md) - - [Contributing Guideline and Policy](https://github.com/arendst/Tasmota/blob/development/CONTRIBUTING.md) + [Chat](https://discord.gg/Ks2Kzd4) for more users experience. + + Please check the [Code of Conduct](https://github.com/arendst/Tasmota/blob/development/CODE_OF_CONDUCT.md) and the [Contributing Guideline and Policy](https://github.com/arendst/Tasmota/blob/development/CONTRIBUTING.md) issueConfigs: # There can be several configs for different kind of issues. diff --git a/.github/workflows/CI_github.yml b/.github/workflows/CI_github.yml index b8844bb5c..14237370c 100644 --- a/.github/workflows/CI_github.yml +++ b/.github/workflows/CI_github.yml @@ -1,6 +1,6 @@ name: Tasmota CI -on: +on: pull_request: jobs: @@ -16,12 +16,12 @@ jobs: pip install -U platformio platformio upgrade --dev platformio update - - name: Run PlatformIO + - name: Run PlatformIO run: platformio run -e tasmota - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-minimal: runs-on: ubuntu-latest @@ -40,7 +40,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-lite: runs-on: ubuntu-latest @@ -59,7 +59,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-knx: runs-on: ubuntu-latest @@ -78,8 +78,8 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware - + path: ./build_output + tasmota-sensors: runs-on: ubuntu-latest steps: @@ -97,7 +97,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-display: runs-on: ubuntu-latest @@ -116,7 +116,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-ir: runs-on: ubuntu-latest @@ -135,7 +135,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-zbbridge: runs-on: ubuntu-latest @@ -154,7 +154,26 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output + + tasmota-AF: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -U platformio + platformio upgrade --dev + platformio update + - name: Run PlatformIO + run: platformio run -e tasmota-AF + - uses: actions/upload-artifact@v2 + with: + name: firmware + path: ./build_output tasmota-BG: runs-on: ubuntu-latest @@ -173,8 +192,8 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware - + path: ./build_output + tasmota-BR: runs-on: ubuntu-latest steps: @@ -192,7 +211,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-CN: runs-on: ubuntu-latest @@ -211,7 +230,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-CZ: runs-on: ubuntu-latest @@ -230,7 +249,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-DE: runs-on: ubuntu-latest @@ -249,8 +268,8 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware - + path: ./build_output + tasmota-ES: runs-on: ubuntu-latest steps: @@ -268,8 +287,8 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware - + path: ./build_output + tasmota-FR: runs-on: ubuntu-latest steps: @@ -287,7 +306,26 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output + + tasmota-FY: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -U platformio + platformio upgrade --dev + platformio update + - name: Run PlatformIO + run: platformio run -e tasmota-FY + - uses: actions/upload-artifact@v2 + with: + name: firmware + path: ./build_output tasmota-GR: runs-on: ubuntu-latest @@ -306,7 +344,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-HE: runs-on: ubuntu-latest @@ -325,8 +363,8 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware - + path: ./build_output + tasmota-HU: runs-on: ubuntu-latest steps: @@ -344,7 +382,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-IT: runs-on: ubuntu-latest @@ -363,7 +401,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-KO: runs-on: ubuntu-latest @@ -382,7 +420,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-NL: runs-on: ubuntu-latest @@ -401,8 +439,8 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware - + path: ./build_output + tasmota-PL: runs-on: ubuntu-latest steps: @@ -420,7 +458,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-PT: runs-on: ubuntu-latest @@ -439,7 +477,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-RO: runs-on: ubuntu-latest @@ -458,7 +496,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-RU: runs-on: ubuntu-latest @@ -477,8 +515,8 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware - + path: ./build_output + tasmota-SE: runs-on: ubuntu-latest steps: @@ -496,7 +534,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-SK: runs-on: ubuntu-latest @@ -515,7 +553,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-TR: runs-on: ubuntu-latest @@ -534,7 +572,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-TW: runs-on: ubuntu-latest @@ -553,8 +591,8 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware - + path: ./build_output + tasmota-UK: runs-on: ubuntu-latest steps: @@ -572,7 +610,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-VN: runs-on: ubuntu-latest @@ -591,4 +629,4 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output diff --git a/.github/workflows/CI_github_ESP32.yml b/.github/workflows/CI_github_ESP32.yml index aca4ddb15..0c2b75709 100644 --- a/.github/workflows/CI_github_ESP32.yml +++ b/.github/workflows/CI_github_ESP32.yml @@ -22,8 +22,8 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware - + path: ./build_output + tasmota32-webcam: runs-on: ubuntu-latest steps: @@ -42,7 +42,47 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output + + tasmota32-odroidgo: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -U platformio + platformio upgrade --dev + platformio update + - name: Run PlatformIO + run: | + platformio run -e tasmota32-odroidgo + - uses: actions/upload-artifact@v2 + with: + name: firmware + path: ./build_output + + tasmota32-core2: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -U platformio + platformio upgrade --dev + platformio update + - name: Run PlatformIO + run: | + platformio run -e tasmota32-core2 + - uses: actions/upload-artifact@v2 + with: + name: firmware + path: ./build_output tasmota32-minimal: runs-on: ubuntu-latest @@ -62,7 +102,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-lite: runs-on: ubuntu-latest @@ -82,7 +122,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-knx: runs-on: ubuntu-latest @@ -102,8 +142,8 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware - + path: ./build_output + tasmota32-sensors: runs-on: ubuntu-latest steps: @@ -122,7 +162,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-display: runs-on: ubuntu-latest @@ -142,7 +182,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-ir: runs-on: ubuntu-latest @@ -162,7 +202,27 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output + + tasmota32-AF: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -U platformio + platformio upgrade --dev + platformio update + - name: Run PlatformIO + run: | + platformio run -e tasmota32-AF + - uses: actions/upload-artifact@v2 + with: + name: firmware + path: ./build_output tasmota32-BG: runs-on: ubuntu-latest @@ -182,8 +242,8 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware - + path: ./build_output + tasmota32-BR: runs-on: ubuntu-latest steps: @@ -202,7 +262,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-CN: runs-on: ubuntu-latest @@ -222,7 +282,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-CZ: runs-on: ubuntu-latest @@ -242,7 +302,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-DE: runs-on: ubuntu-latest @@ -262,8 +322,8 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware - + path: ./build_output + tasmota32-ES: runs-on: ubuntu-latest steps: @@ -282,7 +342,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-FR: runs-on: ubuntu-latest @@ -302,7 +362,27 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output + + tasmota32-FY: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -U platformio + platformio upgrade --dev + platformio update + - name: Run PlatformIO + run: | + platformio run -e tasmota32-FY + - uses: actions/upload-artifact@v2 + with: + name: firmware + path: ./build_output tasmota32-GR: runs-on: ubuntu-latest @@ -322,7 +402,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-HE: runs-on: ubuntu-latest @@ -342,8 +422,8 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware - + path: ./build_output + tasmota32-HU: runs-on: ubuntu-latest steps: @@ -362,7 +442,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-IT: runs-on: ubuntu-latest @@ -382,7 +462,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-KO: runs-on: ubuntu-latest @@ -402,7 +482,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-NL: runs-on: ubuntu-latest @@ -422,8 +502,8 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware - + path: ./build_output + tasmota32-PL: runs-on: ubuntu-latest steps: @@ -442,7 +522,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-PT: runs-on: ubuntu-latest @@ -462,7 +542,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-RO: runs-on: ubuntu-latest @@ -482,7 +562,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-RU: runs-on: ubuntu-latest @@ -502,8 +582,8 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware - + path: ./build_output + tasmota32-SE: runs-on: ubuntu-latest steps: @@ -522,7 +602,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-SK: runs-on: ubuntu-latest @@ -542,7 +622,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-TR: runs-on: ubuntu-latest @@ -562,7 +642,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-TW: runs-on: ubuntu-latest @@ -582,8 +662,8 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware - + path: ./build_output + tasmota32-UK: runs-on: ubuntu-latest steps: @@ -602,7 +682,7 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-VN: runs-on: ubuntu-latest @@ -622,4 +702,4 @@ jobs: - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output diff --git a/.github/workflows/Tasmota_build.yml b/.github/workflows/Tasmota_build.yml index 978ad280c..f1647d203 100644 --- a/.github/workflows/Tasmota_build.yml +++ b/.github/workflows/Tasmota_build.yml @@ -34,17 +34,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-minimal: @@ -57,17 +54,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-minimal - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-lite: @@ -80,17 +74,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-lite - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-knx: @@ -103,17 +94,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-knx - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-sensors: @@ -126,17 +114,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-sensors - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-display: @@ -149,17 +134,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-display - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-ir: @@ -172,17 +154,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-ir - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-ircustom: @@ -195,17 +174,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-ircustom - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-zbbridge: @@ -218,17 +194,35 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-zbbridge - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output + + + tasmota-AF: + needs: tasmota_pull + runs-on: ubuntu-latest + continue-on-error: true + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + - name: Install dependencies + run: | + pip install -U platformio + - name: Run PlatformIO + run: | + platformio run -e tasmota-AF + - uses: actions/upload-artifact@v2 + with: + name: firmware + path: ./build_output + tasmota-BG: needs: tasmota_pull @@ -240,17 +234,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-BG - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-BR: @@ -263,17 +254,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-BR - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-CN: @@ -286,17 +274,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-CN - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-CZ: @@ -309,17 +294,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-CZ - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-DE: @@ -332,17 +314,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-DE - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-ES: @@ -355,17 +334,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-ES - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-FR: @@ -378,17 +354,34 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-FR - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output + + + tasmota-FY: + needs: tasmota_pull + runs-on: ubuntu-latest + continue-on-error: true + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + - name: Install dependencies + run: | + pip install -U platformio + - name: Run PlatformIO + run: | + platformio run -e tasmota-FY + - uses: actions/upload-artifact@v2 + with: + name: firmware + path: ./build_output tasmota-GR: @@ -401,17 +394,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-GR - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-HE: @@ -424,17 +414,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-HE - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-HU: @@ -447,17 +434,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-HU - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-IT: @@ -470,17 +454,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-IT - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-KO: @@ -493,17 +474,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-KO - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-NL: @@ -516,17 +494,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-NL - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-PL: @@ -539,17 +514,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-PL - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-PT: @@ -562,17 +534,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-PT - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-RO: @@ -585,17 +554,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-RO - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-RU: @@ -608,17 +574,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-RU - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-SE: @@ -631,17 +594,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-SE - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-SK: @@ -654,17 +614,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-SK - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-TR: @@ -677,17 +634,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-TR - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-TW: @@ -700,17 +654,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-TW - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-UK: @@ -723,17 +674,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-UK - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-VN: @@ -746,17 +694,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-VN - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32: @@ -769,17 +714,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32 - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-minimal: @@ -792,17 +734,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-minimal - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-lite: @@ -815,17 +754,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-lite - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-webcam: @@ -838,17 +774,54 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-webcam - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output + + + tasmota32-odroidgo: + needs: tasmota_pull + runs-on: ubuntu-latest + continue-on-error: true + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + - name: Install dependencies + run: | + pip install -U platformio + - name: Run PlatformIO + run: | + platformio run -e tasmota32-odroidgo + - uses: actions/upload-artifact@v2 + with: + name: firmware + path: ./build_output + + + tasmota32-core2: + needs: tasmota_pull + runs-on: ubuntu-latest + continue-on-error: true + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + - name: Install dependencies + run: | + pip install -U platformio + - name: Run PlatformIO + run: | + platformio run -e tasmota32-core2 + - uses: actions/upload-artifact@v2 + with: + name: firmware + path: ./build_output tasmota32-knx: @@ -861,17 +834,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-knx - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-sensors: @@ -884,17 +854,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-sensors - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-display: @@ -907,17 +874,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-display - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-ir: @@ -930,17 +894,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-ir - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-ircustom: @@ -953,17 +914,34 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-ircustom - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output + + + tasmota32-AF: + needs: tasmota_pull + runs-on: ubuntu-latest + continue-on-error: true + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + - name: Install dependencies + run: | + pip install -U platformio + - name: Run PlatformIO + run: | + platformio run -e tasmota32-AF + - uses: actions/upload-artifact@v2 + with: + name: firmware + path: ./build_output tasmota32-BG: @@ -976,17 +954,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-BG - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-BR: @@ -999,17 +974,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-BR - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-CN: @@ -1022,17 +994,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-CN - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-CZ: @@ -1045,17 +1014,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-CZ - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-DE: @@ -1068,17 +1034,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-DE - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-ES: @@ -1091,17 +1054,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-ES - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-FR: @@ -1114,17 +1074,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-FR - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-GR: @@ -1137,17 +1094,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-GR - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-HE: @@ -1160,17 +1114,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-HE - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-HU: @@ -1183,17 +1134,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-HU - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-IT: @@ -1206,17 +1154,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-IT - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-KO: @@ -1229,17 +1174,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-KO - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-NL: @@ -1252,17 +1194,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-NL - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-PL: @@ -1275,17 +1214,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-PL - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-PT: @@ -1298,17 +1234,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-PT - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-RO: @@ -1321,17 +1254,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-RO - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-RU: @@ -1344,17 +1274,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-RU - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-SE: @@ -1367,17 +1294,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-SE - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-SK: @@ -1390,17 +1314,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-SK - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-TR: @@ -1413,17 +1334,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-TR - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-TW: @@ -1436,17 +1354,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-TW - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-UK: @@ -1459,17 +1374,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-UK - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-VN: @@ -1482,17 +1394,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-VN - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output Upload: @@ -1513,27 +1422,31 @@ jobs: mkdir -p ./firmware/tasmota/languages mkdir -p ./firmware/tasmota32/languages mkdir -p ./firmware/tasmota32/ESP32_needed_files/ - [ ! -f ./mv_firmware/tasmota.* ] || mv ./mv_firmware/tasmota.* ./firmware/tasmota/ - [ ! -f ./mv_firmware/tasmota-sensors.* ] || mv ./mv_firmware/tasmota-sensors.* ./firmware/tasmota/ - [ ! -f ./mv_firmware/tasmota-minimal.* ] || mv ./mv_firmware/tasmota-minimal.* ./firmware/tasmota/ - [ ! -f ./mv_firmware/tasmota-lite.* ] || mv ./mv_firmware/tasmota-lite.* ./firmware/tasmota/ - [ ! -f ./mv_firmware/tasmota-ir*.* ] || mv ./mv_firmware/tasmota-ir*.* ./firmware/tasmota/ - [ ! -f ./mv_firmware/tasmota-display.* ] || mv ./mv_firmware/tasmota-display.* ./firmware/tasmota/ - [ ! -f ./mv_firmware/tasmota-knx.* ] || mv ./mv_firmware/tasmota-knx.* ./firmware/tasmota/ - [ ! -f ./mv_firmware/tasmota-zbbridge.* ] || mv ./mv_firmware/tasmota-zbbridge.* ./firmware/tasmota/ - [ ! -f ./mv_firmware/tasmota32.* ] || mv ./mv_firmware/tasmota32.* ./firmware/tasmota32/ - [ ! -f ./mv_firmware/tasmota32-sensors.* ] || mv ./mv_firmware/tasmota32-sensors.* ./firmware/tasmota32/ - [ ! -f ./mv_firmware/tasmota32-minimal.* ] || mv ./mv_firmware/tasmota32-minimal.* ./firmware/tasmota32/ - [ ! -f ./mv_firmware/tasmota32-lite.* ] || mv ./mv_firmware/tasmota32-lite.* ./firmware/tasmota32/ - [ ! -f ./mv_firmware/tasmota32-ir*.* ] || mv ./mv_firmware/tasmota32-ir*.* ./firmware/tasmota32/ - [ ! -f ./mv_firmware/tasmota32-display.* ] || mv ./mv_firmware/tasmota32-display.* ./firmware/tasmota32/ - [ ! -f ./mv_firmware/tasmota32-web*.* ] || mv ./mv_firmware/tasmota32-web*.* ./firmware/tasmota32/ - [ ! -f ./mv_firmware/tasmota32-knx.* ] || mv ./mv_firmware/tasmota32-knx.* ./firmware/tasmota32/ - [ ! -f ./mv_firmware/tasmota32* ] || mv ./mv_firmware/tasmota32* ./firmware/tasmota32/languages/ - [ ! -f ./mv_firmware/* ] || mv ./mv_firmware/* ./firmware/tasmota/languages/ - rm ./firmware/tasmota32/*.gz - rm ./firmware/tasmota32/languages/*.gz + mkdir -p ./firmware/tasmota32/Odroid_go_needed_files/ + mkdir -p ./firmware/map + [ ! -f ./mv_firmware/map/* ] || mv ./mv_firmware/map/* ./firmware/map/ + [ ! -f ./mv_firmware/firmware/tasmota.* ] || mv ./mv_firmware/firmware/tasmota.* ./firmware/tasmota/ + [ ! -f ./mv_firmware/firmware/tasmota-sensors.* ] || mv ./mv_firmware/firmware/tasmota-sensors.* ./firmware/tasmota/ + [ ! -f ./mv_firmware/firmware/tasmota-minimal.* ] || mv ./mv_firmware/firmware/tasmota-minimal.* ./firmware/tasmota/ + [ ! -f ./mv_firmware/firmware/tasmota-lite.* ] || mv ./mv_firmware/firmware/tasmota-lite.* ./firmware/tasmota/ + [ ! -f ./mv_firmware/firmware/tasmota-ir*.* ] || mv ./mv_firmware/firmware/tasmota-ir*.* ./firmware/tasmota/ + [ ! -f ./mv_firmware/firmware/tasmota-display.* ] || mv ./mv_firmware/firmware/tasmota-display.* ./firmware/tasmota/ + [ ! -f ./mv_firmware/firmware/tasmota-knx.* ] || mv ./mv_firmware/firmware/tasmota-knx.* ./firmware/tasmota/ + [ ! -f ./mv_firmware/firmware/tasmota-zbbridge.* ] || mv ./mv_firmware/firmware/tasmota-zbbridge.* ./firmware/tasmota/ + [ ! -f ./mv_firmware/firmware/tasmota32.* ] || mv ./mv_firmware/firmware/tasmota32.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32-sensors.* ] || mv ./mv_firmware/firmware/tasmota32-sensors.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32-minimal.* ] || mv ./mv_firmware/firmware/tasmota32-minimal.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32-lite.* ] || mv ./mv_firmware/firmware/tasmota32-lite.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32-ir*.* ] || mv ./mv_firmware/firmware/tasmota32-ir*.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32-display.* ] || mv ./mv_firmware/firmware/tasmota32-display.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32-web*.* ] || mv ./mv_firmware/firmware/tasmota32-web*.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32-odroidgo.* ] || mv ./mv_firmware/firmware/tasmota32-odroidgo.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32-core2.* ] || mv ./mv_firmware/firmware/tasmota32-core2.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32-knx.* ] || mv ./mv_firmware/firmware/tasmota32-knx.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32* ] || mv ./mv_firmware/firmware/tasmota32* ./firmware/tasmota32/languages/ + [ ! -f ./mv_firmware/firmware/* ] || mv ./mv_firmware/firmware/* ./firmware/tasmota/languages/ [ ! -f ./tools/Esptool/ESP32/*.* ] || mv ./tools/Esptool/ESP32/*.* ./firmware/tasmota32/ESP32_needed_files/ + [ ! -f ./tools/Esptool/Odroid_go/*.* ] || mv ./tools/Esptool/Odroid_go/*.* ./firmware/tasmota32/Odroid_go_needed_files/ [ ! -f ./FIRMWARE.md ] || mv -f ./FIRMWARE.md ./README.md - name: Commit files # transfer the new binaries back into the repository run: | diff --git a/.github/workflows/Tasmota_build_master.yml b/.github/workflows/Tasmota_build_master.yml index acfcad684..87e48168f 100644 --- a/.github/workflows/Tasmota_build_master.yml +++ b/.github/workflows/Tasmota_build_master.yml @@ -34,17 +34,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-minimal: @@ -57,17 +54,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-minimal - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-lite: @@ -80,17 +74,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-lite - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-knx: @@ -103,17 +94,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-knx - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-sensors: @@ -126,17 +114,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-sensors - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-display: @@ -149,17 +134,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-display - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-ir: @@ -172,17 +154,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-ir - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-ircustom: @@ -195,17 +174,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-ircustom - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-zbbridge: @@ -218,17 +194,35 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-zbbridge - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output + + + tasmota-AF: + needs: tasmota_pull + runs-on: ubuntu-latest + continue-on-error: true + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + - name: Install dependencies + run: | + pip install -U platformio + - name: Run PlatformIO + run: | + platformio run -e tasmota-AF + - uses: actions/upload-artifact@v2 + with: + name: firmware + path: ./build_output + tasmota-BG: needs: tasmota_pull @@ -240,17 +234,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-BG - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-BR: @@ -263,17 +254,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-BR - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-CN: @@ -286,17 +274,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-CN - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-CZ: @@ -309,17 +294,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-CZ - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-DE: @@ -332,17 +314,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-DE - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-ES: @@ -355,17 +334,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-ES - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-FR: @@ -378,17 +354,34 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-FR - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output + + + tasmota-FY: + needs: tasmota_pull + runs-on: ubuntu-latest + continue-on-error: true + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + - name: Install dependencies + run: | + pip install -U platformio + - name: Run PlatformIO + run: | + platformio run -e tasmota-FY + - uses: actions/upload-artifact@v2 + with: + name: firmware + path: ./build_output tasmota-GR: @@ -401,17 +394,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-GR - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-HE: @@ -424,17 +414,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-HE - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-HU: @@ -447,17 +434,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-HU - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-IT: @@ -470,17 +454,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-IT - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-KO: @@ -493,17 +474,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-KO - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-NL: @@ -516,17 +494,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-NL - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-PL: @@ -539,17 +514,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-PL - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-PT: @@ -562,17 +534,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-PT - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-RO: @@ -585,17 +554,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-RO - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-RU: @@ -608,17 +574,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-RU - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-SE: @@ -631,17 +594,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-SE - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-SK: @@ -654,17 +614,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-SK - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-TR: @@ -677,17 +634,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-TR - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-TW: @@ -700,17 +654,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-TW - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-UK: @@ -723,17 +674,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-UK - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota-VN: @@ -746,17 +694,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota-VN - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32: @@ -769,17 +714,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32 - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-minimal: @@ -792,17 +734,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-minimal - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-lite: @@ -815,17 +754,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-lite - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-webcam: @@ -838,17 +774,54 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-webcam - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output + + + tasmota32-odroidgo: + needs: tasmota_pull + runs-on: ubuntu-latest + continue-on-error: true + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + - name: Install dependencies + run: | + pip install -U platformio + - name: Run PlatformIO + run: | + platformio run -e tasmota32-odroidgo + - uses: actions/upload-artifact@v2 + with: + name: firmware + path: ./build_output + + + tasmota32-core2: + needs: tasmota_pull + runs-on: ubuntu-latest + continue-on-error: true + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + - name: Install dependencies + run: | + pip install -U platformio + - name: Run PlatformIO + run: | + platformio run -e tasmota32-core2 + - uses: actions/upload-artifact@v2 + with: + name: firmware + path: ./build_output tasmota32-knx: @@ -861,17 +834,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-knx - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-sensors: @@ -884,17 +854,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-sensors - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-display: @@ -907,17 +874,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-display - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-ir: @@ -930,17 +894,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-ir - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-ircustom: @@ -953,17 +914,34 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-ircustom - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output + + + tasmota32-AF: + needs: tasmota_pull + runs-on: ubuntu-latest + continue-on-error: true + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + - name: Install dependencies + run: | + pip install -U platformio + - name: Run PlatformIO + run: | + platformio run -e tasmota32-AF + - uses: actions/upload-artifact@v2 + with: + name: firmware + path: ./build_output tasmota32-BG: @@ -976,17 +954,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-BG - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-BR: @@ -999,17 +974,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-BR - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-CN: @@ -1022,17 +994,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-CN - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-CZ: @@ -1045,17 +1014,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-CZ - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-DE: @@ -1068,17 +1034,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-DE - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-ES: @@ -1091,17 +1054,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-ES - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-FR: @@ -1114,17 +1074,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-FR - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-GR: @@ -1137,17 +1094,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-GR - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-HE: @@ -1160,17 +1114,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-HE - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-HU: @@ -1183,17 +1134,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-HU - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-IT: @@ -1206,17 +1154,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-IT - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-KO: @@ -1229,17 +1174,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-KO - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-NL: @@ -1252,17 +1194,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-NL - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-PL: @@ -1275,17 +1214,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-PL - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-PT: @@ -1298,17 +1234,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-PT - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-RO: @@ -1321,17 +1254,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-RO - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-RU: @@ -1344,17 +1274,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-RU - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-SE: @@ -1367,17 +1294,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-SE - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-SK: @@ -1390,17 +1314,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-SK - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-TR: @@ -1413,17 +1334,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-TR - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-TW: @@ -1436,17 +1354,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-TW - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-UK: @@ -1459,17 +1374,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-UK - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output tasmota32-VN: @@ -1482,17 +1394,14 @@ jobs: uses: actions/setup-python@v1 - name: Install dependencies run: | - python -m pip install --upgrade pip pip install -U platformio - platformio upgrade --dev - platformio update - name: Run PlatformIO run: | platformio run -e tasmota32-VN - uses: actions/upload-artifact@v2 with: name: firmware - path: ./build_output/firmware + path: ./build_output Upload: @@ -1513,27 +1422,31 @@ jobs: mkdir -p ./firmware/tasmota/languages mkdir -p ./firmware/tasmota32/languages mkdir -p ./firmware/tasmota32/ESP32_needed_files/ - [ ! -f ./mv_firmware/tasmota.* ] || mv ./mv_firmware/tasmota.* ./firmware/tasmota/ - [ ! -f ./mv_firmware/tasmota-sensors.* ] || mv ./mv_firmware/tasmota-sensors.* ./firmware/tasmota/ - [ ! -f ./mv_firmware/tasmota-minimal.* ] || mv ./mv_firmware/tasmota-minimal.* ./firmware/tasmota/ - [ ! -f ./mv_firmware/tasmota-lite.* ] || mv ./mv_firmware/tasmota-lite.* ./firmware/tasmota/ - [ ! -f ./mv_firmware/tasmota-ir*.* ] || mv ./mv_firmware/tasmota-ir*.* ./firmware/tasmota/ - [ ! -f ./mv_firmware/tasmota-display.* ] || mv ./mv_firmware/tasmota-display.* ./firmware/tasmota/ - [ ! -f ./mv_firmware/tasmota-knx.* ] || mv ./mv_firmware/tasmota-knx.* ./firmware/tasmota/ - [ ! -f ./mv_firmware/tasmota-zbbridge.* ] || mv ./mv_firmware/tasmota-zbbridge.* ./firmware/tasmota/ - [ ! -f ./mv_firmware/tasmota32.* ] || mv ./mv_firmware/tasmota32.* ./firmware/tasmota32/ - [ ! -f ./mv_firmware/tasmota32-sensors.* ] || mv ./mv_firmware/tasmota32-sensors.* ./firmware/tasmota32/ - [ ! -f ./mv_firmware/tasmota32-minimal.* ] || mv ./mv_firmware/tasmota32-minimal.* ./firmware/tasmota32/ - [ ! -f ./mv_firmware/tasmota32-lite.* ] || mv ./mv_firmware/tasmota32-lite.* ./firmware/tasmota32/ - [ ! -f ./mv_firmware/tasmota32-ir*.* ] || mv ./mv_firmware/tasmota32-ir*.* ./firmware/tasmota32/ - [ ! -f ./mv_firmware/tasmota32-display.* ] || mv ./mv_firmware/tasmota32-display.* ./firmware/tasmota32/ - [ ! -f ./mv_firmware/tasmota32-web*.* ] || mv ./mv_firmware/tasmota32-web*.* ./firmware/tasmota32/ - [ ! -f ./mv_firmware/tasmota32-knx.* ] || mv ./mv_firmware/tasmota32-knx.* ./firmware/tasmota32/ - [ ! -f ./mv_firmware/tasmota32* ] || mv ./mv_firmware/tasmota32* ./firmware/tasmota32/languages/ - [ ! -f ./mv_firmware/* ] || mv ./mv_firmware/* ./firmware/tasmota/languages/ - rm ./firmware/tasmota32/*.gz - rm ./firmware/tasmota32/languages/*.gz + mkdir -p ./firmware/tasmota32/Odroid_go_needed_files/ + mkdir -p ./firmware/map + [ ! -f ./mv_firmware/map/* ] || mv ./mv_firmware/map/* ./firmware/map/ + [ ! -f ./mv_firmware/firmware/tasmota.* ] || mv ./mv_firmware/firmware/tasmota.* ./firmware/tasmota/ + [ ! -f ./mv_firmware/firmware/tasmota-sensors.* ] || mv ./mv_firmware/firmware/tasmota-sensors.* ./firmware/tasmota/ + [ ! -f ./mv_firmware/firmware/tasmota-minimal.* ] || mv ./mv_firmware/firmware/tasmota-minimal.* ./firmware/tasmota/ + [ ! -f ./mv_firmware/firmware/tasmota-lite.* ] || mv ./mv_firmware/firmware/tasmota-lite.* ./firmware/tasmota/ + [ ! -f ./mv_firmware/firmware/tasmota-ir*.* ] || mv ./mv_firmware/firmware/tasmota-ir*.* ./firmware/tasmota/ + [ ! -f ./mv_firmware/firmware/tasmota-display.* ] || mv ./mv_firmware/firmware/tasmota-display.* ./firmware/tasmota/ + [ ! -f ./mv_firmware/firmware/tasmota-knx.* ] || mv ./mv_firmware/firmware/tasmota-knx.* ./firmware/tasmota/ + [ ! -f ./mv_firmware/firmware/tasmota-zbbridge.* ] || mv ./mv_firmware/firmware/tasmota-zbbridge.* ./firmware/tasmota/ + [ ! -f ./mv_firmware/firmware/tasmota32.* ] || mv ./mv_firmware/firmware/tasmota32.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32-sensors.* ] || mv ./mv_firmware/firmware/tasmota32-sensors.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32-minimal.* ] || mv ./mv_firmware/firmware/tasmota32-minimal.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32-lite.* ] || mv ./mv_firmware/firmware/tasmota32-lite.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32-ir*.* ] || mv ./mv_firmware/firmware/tasmota32-ir*.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32-display.* ] || mv ./mv_firmware/firmware/tasmota32-display.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32-web*.* ] || mv ./mv_firmware/firmware/tasmota32-web*.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32-odroidgo.* ] || mv ./mv_firmware/firmware/tasmota32-odroidgo.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32-core2.* ] || mv ./mv_firmware/firmware/tasmota32-core2.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32-knx.* ] || mv ./mv_firmware/firmware/tasmota32-knx.* ./firmware/tasmota32/ + [ ! -f ./mv_firmware/firmware/tasmota32* ] || mv ./mv_firmware/firmware/tasmota32* ./firmware/tasmota32/languages/ + [ ! -f ./mv_firmware/firmware/* ] || mv ./mv_firmware/firmware/* ./firmware/tasmota/languages/ [ ! -f ./tools/Esptool/ESP32/*.* ] || mv ./tools/Esptool/ESP32/*.* ./firmware/tasmota32/ESP32_needed_files/ + [ ! -f ./tools/Esptool/Odroid_go/*.* ] || mv ./tools/Esptool/Odroid_go/*.* ./firmware/tasmota32/Odroid_go_needed_files/ [ ! -f ./FIRMWARE.md ] || mv -f ./RELEASENOTES.md ./README.md - name: Commit files # transfer the new binaries back into the repository run: | diff --git a/.github/workflows/stale-actions.yml b/.github/workflows/stale-actions.yml index 4afcc8b01..75decdd3c 100644 --- a/.github/workflows/stale-actions.yml +++ b/.github/workflows/stale-actions.yml @@ -2,13 +2,13 @@ name: "Mark or close stale issues and PRs" on: schedule: - - cron: "15 05 * * *" + - cron: "30 * * * *" jobs: stale: runs-on: ubuntu-latest steps: - - uses: actions/stale@v3.0.14 + - uses: actions/stale@v3.0.15 with: repo-token: ${{ secrets.GITHUB_TOKEN }} days-before-stale: 25 diff --git a/.gitignore b/.gitignore index 96c63651b..503ccf780 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,8 @@ .clang_complete .gcc-flags.json .cache +data +unpacked_fs tasmota/user_config_override.h build build_output diff --git a/.gitpod.yml b/.gitpod.yml index 228c1dbf3..14cbab647 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -1,4 +1,5 @@ tasks: + - before: platformio upgrade - command: platformio run -e tasmota image: diff --git a/API.md b/API.md index 7bb77735b..b631172ed 100644 --- a/API.md +++ b/API.md @@ -14,8 +14,8 @@ Callback Id | Bool | xdrv | xsns | xnrg | xlgt | Description ----------------------------|------|------|------|------|------|---------------------------------- FUNC_SETTINGS_OVERRIDE | | x | | | | Override start-up settings FUNC_PIN_STATE | x | 1 | 2 | | | At GPIO configuration -FUNC_MODULE_INIT | x | 1 | | | 2 | Init module specific parameters -FUNC_PRE_INIT | | 1 | | 2 | | Once GPIO have been established +FUNC_MODULE_INIT | x | 3 | 1 | | 2 | Init module specific parameters +FUNC_PRE_INIT | | 1 | 3 | 2 | | Once GPIO have been established FUNC_INIT | | 1 | 3 | 2 | | At end of initialisation FUNC_LOOP | | 1 | 2 | | | In main loop FUNC_EVERY_50_MSECOND | | 1 | 2 | | | @@ -34,7 +34,7 @@ FUNC_COMMAND_SENSOR | x | | x | | | When command Se FUNC_MQTT_SUBSCRIBE | | x | | | | At end of MQTT subscriptions FUNC_MQTT_INIT | | x | | | | Once at end of MQTT connection FUNC_MQTT_DATA | x | x | | | | Before decoding command -FUNC_SET_POWER | | x | | | | Before setting relays +FUNC_SET_POWER | | 1 | 2 | | | Before setting relays FUNC_SET_DEVICE_POWER | x | x | | | | Set relay FUNC_SHOW_SENSOR | | x | | | | When FUNC_JSON_APPEND completes FUNC_ANY_KEY | | x | | | | @@ -49,6 +49,8 @@ FUNC_WEB_ADD_MAIN_BUTTON | | 1 | 2 | | | Add a main butt FUNC_WEB_ADD_HANDLER | | 1 | 2 | | | Add a webserver handler FUNC_SET_CHANNELS | | 2 | | | 1 | FUNC_SET_SCHEME | | | | | x | +FUNC_HOTPLUG_SCAN | | | x | | | +FUNC_DEVICE_GROUP_ITEM | | x | | | | The numbers represent the sequence of execution @@ -89,12 +91,15 @@ CFG: Loaded from flash at FB, Count 1581 xdrv - FUNC_SETTINGS_OVERRIDE xdrv - FUNC_PIN_STATE xsns - FUNC_PIN_STATE +xsns - FUNC_MODULE_INIT xdrv - FUNC_MODULE_INIT xlgt - FUNC_MODULE_INIT xdrv - FUNC_PRE_INIT xnrg - FUNC_PRE_INIT +xsns - FUNC_PRE_INIT SRC: Restart xdrv - FUNC_SET_POWER +xsns - FUNC_SET_POWER xlgt - FUNC_SET_CHANNELS xdrv - FUNC_SET_DEVICE_POWER Project tasmota Wemos 2 Version 7.0.0.3(tasmota)-STAGE diff --git a/BUILDS.md b/BUILDS.md index ed11aae2c..9cf437df2 100644 --- a/BUILDS.md +++ b/BUILDS.md @@ -3,6 +3,7 @@ | Feature or Sensor | minimal | lite | tasmota | knx | sensors | ir | display | Remarks |-----------------------|---------|-------|--------|-----|---------|----|---------|-------- | MY_LANGUAGE en_GB | x | x | x | x | x | x | x | +| USE_UFILESYS | - | - | - | - | - | - | - | | USE_ARDUINO_OTA | - | - | - | - | - | - | - | | USE_DOMOTICZ | - | - | x | x | x | x | - | | USE_HOME_ASSISTANT | - | - | x | x | x | x | - | @@ -49,7 +50,7 @@ | USE_PWM_DIMMER | - | - | x | x | - | - | - | | USE_KEELOQ | - | - | - | - | - | - | - | | USE_SONOFF_D1 | - | - | x | x | - | - | - | -| USE_SHELLY_DIMMER | - | - | - | - | - | - | - | +| USE_SHELLY_DIMMER | - | - | x | - | - | - | - | | | | | | | | | | | Feature or Sensor | minimal | lite | tasmota | knx | sensors | ir | display | Remarks | USE_LIGHT | - | x | x | x | x | x | x | @@ -66,6 +67,7 @@ | USE_PZEM_AC | - | - | x | x | x | - | - | | USE_PZEM_DC | - | - | x | x | x | - | - | | USE_MCP39F501 | - | x | x | x | x | - | - | +| USE_SDM72 | - | - | - | - | x | - | - | | USE_SDM120 | - | - | - | - | x | - | - | | USE_SDM630 | - | - | - | - | x | - | - | | USE_DDS2382 | - | - | - | - | x | - | - | @@ -147,6 +149,8 @@ | USE_EZOPRS | - | - | - | - | - | - | - | | USE_EZORGB | - | - | - | - | - | - | - | | USE_EZORTD | - | - | - | - | - | - | - | +| USE_SEESAW_SOIL | - | - | - | - | - | - | - | +| USE_TOF10120 | - | - | - | - | - | - | - | | | | | | | | | | | Feature or Sensor | minimal | lite | tasmota | knx | sensors | ir | display | Remarks | USE_SPI | - | - | - | - | - | - | x | @@ -191,6 +195,7 @@ | USE_RF_SENSOR | - | - | - | - | x | - | - | AlectoV2 only | USE_HRE | - | - | - | - | x | - | - | | USE_A4988_STEPPER | - | - | - | - | - | - | - | +| USE_NEOPOOL | - | - | - | - | - | - | - | | | | | | | | | | | Feature or Sensor | minimal | lite | tasmota | knx | sensors | ir | display | Remarks | USE_DISPLAY | - | - | - | - | - | - | x | @@ -201,16 +206,23 @@ | USE_DISPLAY_ILI9341 | - | - | - | - | - | - | x | | USE_DISPLAY_EPAPER_29 | - | - | - | - | - | - | x | | USE_DISPLAY_EPAPER_42 | - | - | - | - | - | - | x | -| USE_DISPLAY_ILI9488 | - | - | - | - | - | - | - | -| USE_DISPLAY_SSD1351 | - | - | - | - | - | - | - | -| USE_DISPLAY_RA8876 | - | - | - | - | - | - | - | +| USE_DISPLAY_ILI9488 | - | - | - | - | - | - | x | +| USE_DISPLAY_SSD1351 | - | - | - | - | - | - | x | +| USE_DISPLAY_RA8876 | - | - | - | - | - | - | x | +| USE_DISPLAY_ST7789 | - | - | - | - | - | - | x | +| | | | | | | | | +| USE_FT5206 | - | - | - | - | - | - | - | +| USE_FTC532 | - | - | - | - | - | - | - | +| USE_BS814A2 | - | - | - | - | - | - | - | ## Additional Features and Sensors on ESP32 -| Feature or Sensor | minimal | lite | tasmota | knx | sensors | ir | display | webcam | Remarks -|-----------------------|---------|-------|--------|-----|---------|----|---------|--------|-------- -| USE_MI_ESP32 | - | - | - | - | - | - | - | - | -| USE_WEBCAM | - | - | - | - | - | - | - | x | -| USE_ETHERNET | - | - | - | - | - | - | - | - | -| USE_I2S_AUDIO | - | - | - | - | - | - | - | - | -| USE_TTGO_WATCH | - | - | - | - | - | - | - | - | +| Feature or Sensor | lite | tasmota | knx | sensors | ir | display | webcam | Remarks +|-----------------------|-------|--------|-----|---------|----|---------|--------|-------- +| USE_UFILESYS | x | x | x | x | x | x | x | +| USE_MI_ESP32 | - | x | - | x | - | - | - | See SetOption115 +| USE_IBEACON_ESP32 | - | - | - | - | - | - | - | +| USE_WEBCAM | - | - | - | - | - | - | x | +| USE_ETHERNET | - | - | - | - | - | - | - | +| USE_I2S_AUDIO | - | - | - | - | - | - | - | +| USE_TTGO_WATCH | - | - | - | - | - | - | - | diff --git a/CHANGELOG.md b/CHANGELOG.md index fb84e1dff..a8addfaba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,127 @@ All notable changes to this project will be documented in this file. ## [Released] +## [9.3.0] 20210218 +- Release Kenneth + +## [9.2.0.7] +### Added +- Support for Device Groups Device Map (#10898) +- Support for Eastron SDM72D-M three phase 100A Modbus energy meter (#10862) +- Support for Frysk language translations by Christiaan Heerze + +## [9.2.0.6] 20210210 +### Changed +- Removed migration support for versions before v8.1.0 (Doris) +- ESP32 Increase number of switch GPIOs from 8 to 28 +- ESP32 Increase number of interlock groups from 4 to 14 +- Increase number of button GPIOs from 4 to 8 +- Preview of Berry language for Tasmota32 + +## [9.2.0.5] 20210205 +### Changed +- ESP32 increase number of relay GPIOs from 8 to 28 + +## [9.2.0.4] 20210204 +### Added +- Function ``AddLog`` to provide logging for up to 128 (LOGSZ) characters to save stack space +- Commands ``ChannelRemap``, ``MultiPWM``, ``AlexaCTRange``, ``PowerOnFade``, ``PWMCT``, ``WhiteBlend`` and ``VirtualCT`` as synonyms for ``SetOption37, 68, 82, 91, 92, 105`` and ``106`` +- Commands ``ZbNameKey``, ``ZbDeviceTopic``, ``ZbNoPrefix``, ``ZbEndpointSuffix``, ``ZbNoAutoBind`` and ``ZbNameTopic`` as synonyms for ``SetOption83, 89, 100, 101, 110`` and ``112`` +- Commands ``ZbNoAutoBind``, ``ZbReceivedTopic`` and ``ZbOmitDevice`` as synonyms for ``SetOption116, 118`` and ``119`` +- Commands ``BuzzerActive`` and ``BuzzerPwm`` as synonyms for ``SetOption67`` and ``111`` +- Support for ESP32 ``Module 5`` Wireless Tag Eth01 (#9496) +- Support trailing silence in buzzer tune (#10694) +- Command ``L1MusicSync <0|Off>|<1|On>|<2|Toggle>, 1..10, 1..100>`` to control Sonoff L1 Music Sync mode sensitivity and speed (#10722) +- Command ``Speed2`` to control a once off fade (#10741) +- Zigbee command ``SetOption120 1`` or ``ZbEndpointTopic 1`` to add the endpoint as suffix in topic when using ``SetOption89 1`` +- Zigbee command ``ZbScan`` to do an energy scan on each radio channel + +### Changed +- Maximum chars in ``AddLog_P`` logging restored from 128 to 700 (MAX_LOGSZ) to solve broken error messages + +## [9.2.0.3] 20210122 +### Added +- Support for time proportioned (``#define USE_TIMEPROP``) and optional PID (``#define USE_PID``) relay control (#10412) +- Support rotary encoder on Shelly Dimmer (#10407) +- Command ``SetOption43 1..255`` to control Rotary step (#10407) +- Support for BS814A-2 8-button touch buttons by Peter Franck (#10447) +- Support for up to 4 I2C SEESAW_SOIL Capacitance & Temperature sensors by Peter Franck (#10481) +- ESP8266 Support for 2MB and up linker files with 1MB and up LittleFS +- ESP32 support for TLS MQTT using BearSSL (same as ESP8266) +- Support for 24/26/32/34 bit RFID Wiegand interface (D0/D1) by Sigurd Leuther (#3647) +- Compile time option ``USE_MQTT_TLS_DROP_OLD_FINGERPRINT`` to drop old (less secure) TLS fingerprint +- Command ``SetOption40 0..250`` to disable button functionality if activated for over 0.1 second re-introduced +- Support for SM2135 current selection using GPIO ``SM2135 DAT`` index (#10634) +- Support for ESP32 ``Module 7`` M5stack core2 16MB binary tasmota32-core2.bin (#10635) +- Support for Sugar Valley NeoPool Controller by Norbert Richter (#10637) +- Rule trigger string comparisons for EndsWith ``$>``, StartsWith ``$<`` and Contains ``$|`` (#10538) +- Support for TOF10120 time of flight sensor by Cyril Pawelko (#10190) + +### Breaking Changed +- ESP32 switch from default SPIFFS to default LittleFS file system loosing current (zigbee) files +- ESP8266 until now NOT SUPPORTED linker files 2MB and up. Current settings will be overwritten once LittleFS is enabled + +### Changed +- Force initial default state ``SetOption57 1`` to scan wifi network every 44 minutes for strongest signal (#10395) +- Command ``Sleep 0`` removes any sleep from wifi modem except when ESP32 BLE is active +- PubSubClient MQTT_SOCKET_TIMEOUT from 15 to 4 seconds +- Domoticz fixed 2 decimals resolution by user selectable ``TempRes``, ``HumRes`` and ``PressRes`` resolutions + +## [9.2.0.2] 20210105 +### Added +- Support for ESP32 ``Module 3`` Odroid Go 16MB binary tasmota32-odroidgo.bin (#8630) +- Command ``CTRange`` to specify the visible CT range the bulb is capable of (#10311) +- Command ``VirtualCT`` to simulate or fine tune CT bulbs with 3,4,5 channels (#10311) +- Command ``SetOption118 1`` to move ZbReceived from JSON message and into the subtopic replacing "SENSOR" default (#10353) +- Command ``SetOption119 1`` to remove the device addr from json payload, can be used with zb_topic_fname where the addr is already known from the topic (#10355) +- Command ``RuleTimer0`` to access all RuleTimers at once (#10352) +- SPI display driver SSD1331 Color oled by Jeroen Vermeulen (#10376) +- IRremoteESP8266 library from v2.7.13 to v2.7.14 +- Rotary No Pullup GPIO selection ``Rotary A/B_n`` (#10407) + +### Breaking Changed +- Replaced MFRC522 13.56MHz rfid card reader GPIO selection from ``SPI CS`` by ``RC522 CS`` +- Replaced NRF24L01 GPIO selection from ``SPI CS`` by ``NRF24 CS`` and ``SPI DC`` by ``NRF24 DC`` +- Replaced ILI9341 GPIO selection from ``SPI CS`` by ``ILI9341 CS`` and ``SPI DC`` by ``ILI9341 DC`` +- Replaced ST7789 GPIO selection from ``SPI CS`` by ``ST7789 CS`` and ``SPI DC`` by ``ST7789 DC`` +- Replaced ILI9488 GPIO selection from ``SPI CS`` by ``ILI9488_CS`` +- Replaced EPaper29 GPIO selection from ``SPI CS`` by ``EPaper29 CS`` +- Replaced EPaper42 GPIO selection from ``SPI CS`` by ``EPaper42 CS`` +- Replaced SSD1351 GPIO selection from ``SPI CS`` by ``SSD1351 CS`` +- Replaced RA8876 GPIO selection from ``SPI CS`` by ``RA8876 CS`` + +### Changed +- Maximum chars in ``AddLog_P`` logging reduced from 700 to 128 (LOGSZ) to enhance stability +- Disabled ``USE_LIGHT`` light support for ZBBridge saving 17.6kB (#10374) + +## [9.2.0.1] 20201229 +### Added +- Milliseconds to console output (#10152) +- Support for P9813 RGB Led MOSFET controller (#10104) +- Support for GPIO option selection +- Gpio ``Option_a1`` enabling PWM2 high impedance if powered off as used by Wyze bulbs (#10196) +- Support for FTC532 8-button touch controller by Peter Franck (#10222) +- Support character `#` to be replaced by `space`-character in command ``Publish`` topic (#10258) +- BSSID and Signal Strength Indicator to GUI wifi scan result (#10253) +- Support for Afrikaans language translations by Christiaan Heerze +- Support for IR inverted leds using ``#define IR_SEND_INVERTED true`` (#10301) +- Support for disabling 38kHz IR modulation using ``#define IR_SEND_USE_MODULATION false`` (#10301) +- Support for SPI display driver for ST7789 TFT by Gerhard Mutz (#9037) + +### Changed +- Logging from heap to stack freeing 700 bytes RAM + +### Fixed +- Redesign syslog and mqttlog using log buffer (#10164) +- Shutter stop issue (#10170) +- Scripter script_sub_command (#10181) +- Scripter JSON variable above 32 chars (#10193) +- Shelly Dimmer power on state (#10154, #10182) +- Wemo emulation for single devices (#10165, #10194) +- ESP32 LoadStoreError when using ``#define USER_TEMPLATE`` (#9506) +- Compile error when ``#ifdef USE_IR_RECEIVE`` is disabled regression from 9.1.0.2 +- Prometheus memory leak (#10221) + ## [9.2.0] 20201221 ### Fixed Backported - Shutter stop issue (#10170) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 34c3c2b98..8a2d4afc5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -47,13 +47,13 @@ The process is straight-forward. - Fork the Tasmota Repository [git repository](https://github.com/arendst/Tasmota). - Write/Change the code in your Fork for a new feature, bug fix, new sensor, optimization, etc. - Ensure tests work. - - Create a Pull Request against the [**dev**](https://github.com/arendst/Tasmota/tree/dev) branch of Tasmota. + - Create a Pull Request against the [**development**](https://github.com/arendst/Tasmota/tree/development) branch of Tasmota. -1. All pull requests must be done against the dev branch. +1. All pull requests must be done against the development branch. 2. Only relevant files should be touched (Also beware if your editor has auto-formatting feature enabled). 3. Only one feature/fix should be added per PR. 4. If adding a new functionality (new hardware, new library support) not related to an existing component move it to it's own modules (.ino file). -5. PRs that don't compile (fail in CI Tests) or cause coding errors will not be merged. Please fix the issue. Same goes for PRs that are raised against older commit in dev - you might need to rebase and resolve conflicts. +5. PRs that don't compile (fail in CI Tests) or cause coding errors will not be merged. Please fix the issue. Same goes for PRs that are raised against older commit in development - you might need to rebase and resolve conflicts. 6. All pull requests should undergo peer review by at least one contributor other than the creator, excepts for the owner. 7. All pull requests should consider updates to the documentation. 8. Pull requests that address an outstanding issue, particularly an issue deemed to be severe, should be given priority. diff --git a/I2CDEVICES.md b/I2CDEVICES.md index 351c6d67d..60ee9608b 100644 --- a/I2CDEVICES.md +++ b/I2CDEVICES.md @@ -75,7 +75,7 @@ Index | Define | Driver | Device | Address(es) | Description 50 | USE_VEML7700 | xsns_71 | VEML7700 | 0x10 | Ambient light intensity sensor 51 | USE_MCP9808 | xsns_72 | MCP9808 | 0x18 - 0x1F | Temperature sensor 52 | USE_HP303B | xsns_73 | HP303B | 0x76 - 0x77 | Pressure and temperature sensor - 53 | USE_MLX90640 | xdrv_84 | MLX90640 | 0x33 | IR array temperature sensor + 53 | USE_MLX90640 | xdrv_43 | MLX90640 | 0x33 | IR array temperature sensor 54 | USE_VL53L1X | xsns_77 | VL53L1X | 0x29 | Time-of-flight (ToF) distance sensor 55 | USE_EZOPH | xsns_78 | EZOPH | 0x61 - 0x70 | pH sensor 55 | USE_EZOORP | xsns_78 | EZOORP | 0x61 - 0x70 | ORP sensor @@ -89,3 +89,5 @@ Index | Define | Driver | Device | Address(es) | Description 55 | USE_EZODO | xsns_78 | EZODO | 0x61 - 0x70 | Disolved Oxygen sensor 55 | USE_EZORGB | xsns_78 | EZORGB | 0x61 - 0x70 | Color sensor 55 | USE_EZOPMP | xsns_78 | EZOPMP | 0x61 - 0x70 | Peristaltic Pump + 56 | USE_SEESAW_SOIL | xsns_81 | SEESOIL | 0x36 - 0x39 | Adafruit seesaw soil moisture sensor + 57 | USE_TOF10120 | xsns_84 | TOF10120 | 0x52 | Time-of-flight (ToF) distance sensor diff --git a/README.md b/README.md index 1d09a7a51..4b41da5cf 100644 --- a/README.md +++ b/README.md @@ -97,24 +97,18 @@ If you're looking for support on **Tasmota** there are some options available: ### Support's Community -* [Tasmota Forum](https://groups.google.com/d/forum/sonoffusers): For usage and discussions. -* [Tasmota Support Chat](https://discord.gg/Ks2Kzd4): For support, troubleshooting and general questions. You have better chances to get fast answers from members of the Tasmota Community. +* [Tasmota Discussions](https://github.com/arendst/Tasmota/discussions): For Tasmota usage questions, Feature Requests and Projects. +* [Tasmota Users Chat](https://discord.gg/Ks2Kzd4): For support, troubleshooting and general questions. You have better chances to get fast answers from members of the Tasmota Community. * [Search in Issues](https://github.com/arendst/Tasmota/issues): You might find an answer to your question by searching current or closed issues. - -### Developers' Community - -* [Bug Report](https://github.com/arendst/Tasmota/issues/new?template=Bug_report.md): For reporting Bugs of Tasmota Software. -* [Feature Request](https://github.com/arendst/Tasmota/issues/new?template=Feature_request.md): For requesting features/functions to Tasmota Software. -* [Troubleshooting](https://github.com/arendst/Tasmota/issues/new?template=Custom.md): As a last resort, you can open new *Troubleshooting* issue on GitHub if the solution could not be found using the other channels. Just remember: the more info you provide the more chances you'll have to get an accurate answer. -* [Issue a question](https://github.com/arendst/Tasmota/issues/new/choose): As a last resort, you can open a new *Question* issue on GitHub if the answer could not be found using the other channels. Just remember: the more info you provide the more chances you'll have to get an accurate answer. +* [Software Problem Report](https://github.com/arendst/Tasmota/issues/new?template=Bug_report.md): For reporting problems of Tasmota Software. ## Contribute You can contribute to Tasmota by -- providing Pull Requests (Features, Proof of Concepts, Language files or Fixes) -- testing new released features and report issues -- donating to acquire hardware for testing and implementing or out of gratitude -- contributing missing [documentation](https://tasmota.github.io/docs) for features and devices +- Providing Pull Requests (Features, Proof of Concepts, Language files or Fixes) +- Testing new released features and report issues +- Donating to acquire hardware for testing and implementing or out of gratitude +- Contributing missing [documentation](https://tasmota.github.io/docs) for features and devices [![donate](https://img.shields.io/badge/donate-PayPal-blue.svg)](https://paypal.me/tasmota) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 5b542e491..afd72bbf4 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -4,6 +4,8 @@ ## Migration Information +This version removes migration support for versions before v8.1.0 (Doris) + See [migration path](https://tasmota.github.io/docs/Upgrading#migration-path) for instructions how to migrate to a major version. Pay attention to the following version breaks due to dynamic settings updates: 1. Migrate to **Sonoff-Tasmota 3.9.x** @@ -56,71 +58,86 @@ The attached binaries can also be downloaded from http://ota.tasmota.com/tasmota [Complete list](BUILDS.md) of available feature and sensors. -## Changelog v9.2.0 Julie +## Changelog v9.3.0 Kenneth ### Added -- Command ``SetOption115 1`` to enable ESP32 MiBle -- Command ``SetOption116 1`` to disable auto-query of zigbee light devices (avoids network storms with large groups) -- Command ``SetOption117 1`` for light fading to be fixed duration instead of fixed slew rate [#10109](https://github.com/arendst/Tasmota/issues/10109) -- Command ``RfProtocol`` to control RcSwitch receive protocols by BBBits [#10063](https://github.com/arendst/Tasmota/issues/10063) -- Commands ``TuyaRGB``, ``TuyaEnum`` and ``TuyaEnumList`` [#9769](https://github.com/arendst/Tasmota/issues/9769) -- Zigbee command ``ZbInfo`` and prepare support for EEPROM -- Zigbee command ``ZbLeave`` to unpair a device -- Zigbee support for Mi Door and Contact [#9759](https://github.com/arendst/Tasmota/issues/9759) -- Zigbee alarm persistence [#9785](https://github.com/arendst/Tasmota/issues/9785) -- Zigbee persistence of device/sensor data in EEPROM (only ZBBridge) -- Zigbee better support for Tuya Protocol [#10074](https://github.com/arendst/Tasmota/issues/10074) -- Zigbee visual map of network -- TyuaMcu update 2/3 by Federico Leoni [#10004](https://github.com/arendst/Tasmota/issues/10004) -- Support for additional EZO sensors by Christopher Tremblay -- Support for AS608 optical and R503 capacitive fingerprint sensor -- Support for Shelly Dimmer 1 and 2 by James Turton [#9854](https://github.com/arendst/Tasmota/issues/9854) -- Support for common anode sevenseg displays by adding ``#define USE_DISPLAY_SEVENSEG_COMMON_ANODE`` by Ken Sanislo [#9963](https://github.com/arendst/Tasmota/issues/9963) -- Support for multiple WeMo devices by Magic73 [#9208](https://github.com/arendst/Tasmota/issues/9208) -- Support for SPI connected MFRC522 13.56MHz rfid card reader [#9916](https://github.com/arendst/Tasmota/issues/9916) -- Support ESP32 SPIFFS for internal use -- KNX read reply for Power (#9236, #9891) -- Fallback NTP server from x.pool.ntp.org if no ntpservers are configured -- Optional CCloader support for CC25xx Zigbee or CC26xx BLE by Christian Baars [#9970](https://github.com/arendst/Tasmota/issues/9970) -- Letsencrypt R3 in addition to X3 CA [#10086](https://github.com/arendst/Tasmota/issues/10086) +- Command ``CTRange`` to specify the visible CT range the bulb is capable of [#10311](https://github.com/arendst/Tasmota/issues/10311) +- Command ``L1MusicSync <0|Off>|<1|On>|<2|Toggle>, 1..10, 1..100>`` to control Sonoff L1 Music Sync mode sensitivity and speed [#10722](https://github.com/arendst/Tasmota/issues/10722) +- Command ``RuleTimer0`` to access all RuleTimers at once [#10352](https://github.com/arendst/Tasmota/issues/10352) +- Command ``Speed2`` to control a once off fade [#10741](https://github.com/arendst/Tasmota/issues/10741) +- Command ``VirtualCT`` to simulate or fine tune CT bulbs with 3,4,5 channels [#10311](https://github.com/arendst/Tasmota/issues/10311) +- Command ``SetOption40 0..250`` to disable button functionality if activated for over 0.1 second re-introduced +- Command ``SetOption43 1..255`` to control Rotary step (#10407) +- Command ``SetOption118 1`` to move ZbReceived from JSON message and into the subtopic replacing "SENSOR" default [#10353](https://github.com/arendst/Tasmota/issues/10353) +- Command ``SetOption119 1`` to remove the device addr from json payload, can be used with zb_topic_fname where the addr is already known from the topic [#10355](https://github.com/arendst/Tasmota/issues/10355) +- Zigbee command ``SetOption120 1`` or ``ZbEndpointTopic 1`` to add the zigbee endpoint as suffix in topic when using ``SetOption89 1`` +- Zigbee command ``ZbScan`` to do an energy scan on each radio channel +- Commands ``ChannelRemap``, ``MultiPWM``, ``AlexaCTRange``, ``PowerOnFade``, ``PWMCT``, ``WhiteBlend`` and ``VirtualCT`` as synonyms for ``SetOption37, 68, 82, 91, 92, 105`` and ``106`` +- Commands ``ZbNameKey``, ``ZbDeviceTopic``, ``ZbNoPrefix``, ``ZbEndpointSuffix``, ``ZbNoAutoBind`` and ``ZbNameTopic`` as synonyms for ``SetOption83, 89, 100, 101, 110`` and ``112`` +- Commands ``ZbNoAutoBind``, ``ZbReceivedTopic`` and ``ZbOmitDevice`` as synonyms for ``SetOption116, 118`` and ``119`` +- Commands ``BuzzerActive`` and ``BuzzerPwm`` as synonyms for ``SetOption67`` and ``111`` +- Milliseconds to console output [#10152](https://github.com/arendst/Tasmota/issues/10152) +- Gpio ``Option_a1`` enabling PWM2 high impedance if powered off as used by Wyze bulbs [#10196](https://github.com/arendst/Tasmota/issues/10196) +- Rotary No Pullup GPIO selection ``Rotary A/B_n`` [#10407](https://github.com/arendst/Tasmota/issues/10407) +- BSSID and Signal Strength Indicator to GUI wifi scan result [#10253](https://github.com/arendst/Tasmota/issues/10253) +- Support for P9813 RGB Led MOSFET controller [#10104](https://github.com/arendst/Tasmota/issues/10104) +- Support for GPIO option selection +- Support for FTC532 8-button touch controller by Peter Franck [#10222](https://github.com/arendst/Tasmota/issues/10222) +- Support for BS814A-2 8-button touch buttons by Peter Franck [#10447](https://github.com/arendst/Tasmota/issues/10447) +- Support for up to 4 I2C SEESAW_SOIL Capacitance & Temperature sensors by Peter Franck [#10481](https://github.com/arendst/Tasmota/issues/10481) +- Support for TOF10120 time of flight sensor by Cyril Pawelko [#10190](https://github.com/arendst/Tasmota/issues/10190) +- Support for Afrikaans language translations by Christiaan Heerze +- Support for Frysk language translations by Christiaan Heerze +- Support for IR inverted leds using ``#define IR_SEND_INVERTED true`` [#10301](https://github.com/arendst/Tasmota/issues/10301) +- Support for disabling 38kHz IR modulation using ``#define IR_SEND_USE_MODULATION false`` [#10301](https://github.com/arendst/Tasmota/issues/10301) +- Support for SPI display driver for ST7789 TFT by Gerhard Mutz [#9037](https://github.com/arendst/Tasmota/issues/9037) +- Support for time proportioned (``#define USE_TIMEPROP``) and optional PID (``#define USE_PID``) relay control [#10412](https://github.com/arendst/Tasmota/issues/10412) +- Support for 24/26/32/34 bit RFID Wiegand interface (D0/D1) by Sigurd Leuther [#3647](https://github.com/arendst/Tasmota/issues/3647) +- Support for SM2135 current selection using GPIO ``SM2135 DAT`` index [#10634](https://github.com/arendst/Tasmota/issues/10634) +- Support for Sugar Valley NeoPool Controller by Norbert Richter [#10637](https://github.com/arendst/Tasmota/issues/10637) +- Support for Device Groups Device Map [#10898](https://github.com/arendst/Tasmota/issues/10898) +- Support for Eastron SDM72D-M three phase 100A Modbus energy meter [#10862](https://github.com/arendst/Tasmota/issues/10862) +- Support for ESP32 ``Module 3`` Odroid Go 16MB binary tasmota32-odroidgo.bin [#8630](https://github.com/arendst/Tasmota/issues/8630) +- Support for ESP32 ``Module 5`` Wireless Tag Eth01 [#9496](https://github.com/arendst/Tasmota/issues/9496) +- Support for ESP32 ``Module 7`` M5stack core2 16MB binary tasmota32-core2.bin [#10635](https://github.com/arendst/Tasmota/issues/10635) +- Support rotary encoder on Shelly Dimmer [#10407](https://github.com/arendst/Tasmota/issues/10407#issuecomment-756240920) +- Support character `#` to be replaced by `space`-character in command ``Publish`` topic [#10258](https://github.com/arendst/Tasmota/issues/10258) +- Support trailing silence in buzzer tune [#10694](https://github.com/arendst/Tasmota/issues/10694) +- Rule trigger string comparisons for EndsWith ``$>``, StartsWith ``$<`` and Contains ``$|`` [#10538](https://github.com/arendst/Tasmota/issues/10538) +- SPI display driver SSD1331 Color oled by Jeroen Vermeulen [#10376](https://github.com/arendst/Tasmota/issues/10376) +- Compile time option ``USE_MQTT_TLS_DROP_OLD_FINGERPRINT`` to drop old (less secure) TLS fingerprint ### Breaking Changed -- KNX DPT9 (16-bit float) to DPT14 (32-bit float) by Adrian Scillato [#9811](https://github.com/arendst/Tasmota/issues/9811) [#9888](https://github.com/arendst/Tasmota/issues/9888) +- ESP32 switch from default SPIFFS to default LittleFS file system loosing current (zigbee) files +- Replaced MFRC522 13.56MHz rfid card reader GPIO selection from ``SPI CS`` by ``RC522 CS`` +- Replaced NRF24L01 GPIO selection from ``SPI CS`` by ``NRF24 CS`` and ``SPI DC`` by ``NRF24 DC`` +- Replaced ILI9341 GPIO selection from ``SPI CS`` by ``ILI9341 CS`` and ``SPI DC`` by ``ILI9341 DC`` +- Replaced ST7789 GPIO selection from ``SPI CS`` by ``ST7789 CS`` and ``SPI DC`` by ``ST7789 DC`` +- Replaced ILI9488 GPIO selection from ``SPI CS`` by ``ILI9488_CS`` +- Replaced EPaper29 GPIO selection from ``SPI CS`` by ``EPaper29 CS`` +- Replaced EPaper42 GPIO selection from ``SPI CS`` by ``EPaper42 CS`` +- Replaced SSD1351 GPIO selection from ``SPI CS`` by ``SSD1351 CS`` +- Replaced RA8876 GPIO selection from ``SPI CS`` by ``RA8876 CS`` ### Changed -- Core library from v2.7.4.5 to v2.7.4.9 -- IRremoteESP8266 library from v2.7.12 to v2.7.13 -- Shelly Dimmer 1 and 2 stm32 firmware from v51.4 to v51.5 -- mDNS has been disabled from all pre-compiled binaries to allow new features -- Sonoff L1 color up scaling and color margin detection [#9545](https://github.com/arendst/Tasmota/issues/9545) -- MQTT Wifi connection timeout from 5000 to 200 mSec [#9886](https://github.com/arendst/Tasmota/issues/9886) -- Force bigger Thunk Stack if 4K RSA even without EC ciphers [#10075](https://github.com/arendst/Tasmota/issues/10075) +- Removed migration support for versions before v8.1.0 (Doris) +- Command ``Sleep 0`` removes any sleep from wifi modem except when ESP32 BLE is active +- Logging from heap to stack freeing 700 bytes RAM +- Disabled ``USE_LIGHT`` light support for ZBBridge saving 17.6kB [#10374](https://github.com/arendst/Tasmota/issues/10374) +- Force initial default state ``SetOption57 1`` to scan wifi network every 44 minutes for strongest signal [#10395](https://github.com/arendst/Tasmota/issues/10395) +- PubSubClient MQTT_SOCKET_TIMEOUT from 15 to 4 seconds +- Domoticz fixed 2 decimals resolution by user selectable ``TempRes``, ``HumRes`` and ``PressRes`` resolutions +- Increase number of button GPIOs from 4 to 8 +- ESP32 Increase number of switch GPIOs from 8 to 28 +- ESP32 increase number of relay GPIOs from 8 to 28 +- ESP32 Increase number of interlock groups from 4 to 14 ### Fixed -- Command ``gpio`` using non-indexed functions regression from v9.1.0 [#9962](https://github.com/arendst/Tasmota/issues/9962) -- NTP fallback server functionality [#9739](https://github.com/arendst/Tasmota/issues/9739) -- Telegram group chatid not supported [#9831](https://github.com/arendst/Tasmota/issues/9831) -- KNX buttons, switches and sensors detection regression from v9.1.0 [#9811](https://github.com/arendst/Tasmota/issues/9811) -- KNX ESP32 UDP mulicastpackage [#9811](https://github.com/arendst/Tasmota/issues/9811) -- GUI MqttUser and MqttPassword updates when TLS is compiled in [#9825](https://github.com/arendst/Tasmota/issues/9825) -- ESP32 TasmotaClient firmware upgrade [#9218](https://github.com/arendst/Tasmota/issues/9218) -- Reset to defaults after 6 hours of DeepSleep [#9993](https://github.com/arendst/Tasmota/issues/9993) -- Backlog timing wraparound [#9995](https://github.com/arendst/Tasmota/issues/9995) -- First LED in addressable string does not fade when using scheme [#10088](https://github.com/arendst/Tasmota/issues/10088) -- Improved Opentherm error handling [#10055](https://github.com/arendst/Tasmota/issues/10055) -- Shutter motordelay stop issue [#10033](https://github.com/arendst/Tasmota/issues/10033) -- Shutter fix overflow on runtime over 100 seconds [#9800](https://github.com/arendst/Tasmota/issues/9800) -- ESP32 CC2530 heap corruption [#10121](https://github.com/arendst/Tasmota/issues/10121) -- ESP32 Analog input div10 rule trigger [#10149](https://github.com/arendst/Tasmota/issues/10149) - -### Fixed Backported +- Redesign syslog and mqttlog using log buffer [#10164](https://github.com/arendst/Tasmota/issues/10164) - Shutter stop issue [#10170](https://github.com/arendst/Tasmota/issues/10170) - Scripter script_sub_command [#10181](https://github.com/arendst/Tasmota/issues/10181) - Scripter JSON variable above 32 chars [#10193](https://github.com/arendst/Tasmota/issues/10193) -- Shelly Dimmer power on state [#10182](https://github.com/arendst/Tasmota/issues/10182) -- Wemo emulation for single devices [#10194](https://github.com/arendst/Tasmota/issues/10194) +- Shelly Dimmer power on state [#10154](https://github.com/arendst/Tasmota/issues/10154) [#10182](https://github.com/arendst/Tasmota/issues/10182) +- Wemo emulation for single devices [#10165](https://github.com/arendst/Tasmota/issues/10165) [#10194](https://github.com/arendst/Tasmota/issues/10194) - ESP32 LoadStoreError when using ``#define USER_TEMPLATE`` [#9506](https://github.com/arendst/Tasmota/issues/9506) - Compile error when ``#ifdef USE_IR_RECEIVE`` is disabled regression from 9.1.0.2 - -### Removed -- Version compatibility check -- PN532 define USE_PN532_CAUSE_EVENTS replaced by generic rule trigger `on pn532#uid=` +- Prometheus memory leak [#10221](https://github.com/arendst/Tasmota/issues/10221) diff --git a/boards/esp32s2.json b/boards/esp32s2.json new file mode 100644 index 000000000..b9142d4c8 --- /dev/null +++ b/boards/esp32s2.json @@ -0,0 +1,31 @@ +{ + "build": { + "arduino":{ + "ldscript": "esp32s2_out.ld" + }, + "core": "esp32", + "mcu": "esp32s2", + "extra_flags": "-Desp32S2_dev_module", + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "qio", + "mcu": "esp32s2", + "variant": "esp32s2" + }, + "connectivity": [ + "wifi" + ], + "frameworks": [ + "arduino" + ], + "name": "ESP32S2 Dev Module", + "upload": { + "flash_size": "4MB", + "maximum_ram_size": 327680, + "maximum_size": 4194304, + "require_upload_port": true, + "speed": 460800 + }, + "url": "https://espressif.com", + "vendor": "espressif" +} diff --git a/esp32_partition_app1572k_ffat983k.csv b/esp32_partition_app1572k_spiffs983k.csv similarity index 81% rename from esp32_partition_app1572k_ffat983k.csv rename to esp32_partition_app1572k_spiffs983k.csv index e79b164e8..12ea02fda 100644 --- a/esp32_partition_app1572k_ffat983k.csv +++ b/esp32_partition_app1572k_spiffs983k.csv @@ -3,4 +3,4 @@ nvs, data, nvs, 0x9000, 0x5000, otadata, data, ota, 0xe000, 0x2000, app0, app, ota_0, 0x10000, 0x180000, app1, app, ota_1, 0x190000, 0x180000, -ffat, data, fat, 0x310000,0x0F0000, +spiffs, data, spiffs, 0x310000,0x0F0000, diff --git a/esp32_partition_app1984k_ffat12M.csv b/esp32_partition_app1984k_spiffs12M.csv similarity index 81% rename from esp32_partition_app1984k_ffat12M.csv rename to esp32_partition_app1984k_spiffs12M.csv index 60655b2f0..3ffb831ba 100644 --- a/esp32_partition_app1984k_ffat12M.csv +++ b/esp32_partition_app1984k_spiffs12M.csv @@ -3,4 +3,4 @@ nvs, data, nvs, 0x9000, 0x5000, otadata, data, ota, 0xe000, 0x2000, app0, app, ota_0, 0x10000, 0x1F0000, app1, app, ota_1, 0x200000, 0x1F0000, -ffat, data, fat, 0x3F0000,0xC10000, +spiffs, data, spiffs, 0x3F0000,0xC10000, diff --git a/esp32_partition_app1984k_spiffs60k.csv b/esp32_partition_app1984k_spiffs60k.csv deleted file mode 100644 index 9c5f895a0..000000000 --- a/esp32_partition_app1984k_spiffs60k.csv +++ /dev/null @@ -1,8 +0,0 @@ -# ESP-IDF Partition Table -# Name, Type, SubType, Offset, Size, Flags -nvs,data,nvs,0x9000,20K, -otadata,data,ota,0xe000,8K, -app0,app,ota_0,0x10000,1984K, -app1,app,ota_1,0x200000,1984K, -spiffs,data,spiffs,0x3f0000,60K, -eeprom,data,nvs,0x3ff000,4K, diff --git a/lib/default/Ext-printf/library.properties b/lib/default/Ext-printf/library.properties new file mode 100644 index 000000000..bdb00e650 --- /dev/null +++ b/lib/default/Ext-printf/library.properties @@ -0,0 +1,7 @@ +name=Ext-printf +version=1.0 +author=Stephan Hadinger +maintainer=Stephan +sentence=Extension of snprintf() and vsnprintf() +paragraph=This library provides extended types support for snprintf (float, uint64_t) +architectures=esp8266, esp32 diff --git a/tasmota/support_static_buffer.ino b/lib/default/Ext-printf/src/SBuffer.hpp similarity index 86% rename from tasmota/support_static_buffer.ino rename to lib/default/Ext-printf/src/SBuffer.hpp index 9504ba3dd..67bbbcd48 100644 --- a/tasmota/support_static_buffer.ino +++ b/lib/default/Ext-printf/src/SBuffer.hpp @@ -1,7 +1,7 @@ /* support_buffer.ino - Static binary buffer for Zigbee on Tasmota - Copyright (C) 2020 Theo Arends and Stephan Hadinger + Copyright (C) 2021 Theo Arends and Stephan Hadinger This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -52,6 +52,20 @@ public: delete[] _buf; } + // increase the internal buffer if needed + // do nothing if the buffer is big enough + void reserve(const size_t size) { + if (size > _buf->size) { + // we need to increase the buffer size + SBuffer_impl * new_buf = (SBuffer_impl*) new char[size+4]; // add 4 bytes for size and len + new_buf->size = size; + new_buf->len = _buf->len; + memmove(&new_buf->buf, &_buf->buf, _buf->len); // copy buffer + delete[] _buf; + _buf = new_buf; + } + } + inline void setLen(const size_t len) { uint16_t old_len = _buf->len; _buf->len = (len <= _buf->size) ? len : _buf->size; @@ -118,6 +132,13 @@ public: return _buf->len; } + void replace(const SBuffer &buf2) { + uint32_t len = buf2.len(); + reserve(len); + setLen(0); // clear buffer + addBuffer(buf2); + } + size_t addBuffer(const SBuffer &buf2) { if (len() + buf2.len() <= size()) { for (uint32_t i = 0; i < buf2.len(); i++) { @@ -237,6 +258,21 @@ public: return buf2; } + // nullptr accepted + static bool equalsSBuffer(const class SBuffer * buf1, const class SBuffer * buf2) { + if (buf1 == buf2) { return true; } + if (!buf1 && (buf2->len() == 0)) { return true; } + if (!buf2 && (buf1->len() == 0)) { return true; } + if (!buf1 || !buf2) { return false; } // at least one buf is not empty + // we know that both buf1 and buf2 are non-null + if (buf1->len() != buf2->len()) { return false; } + size_t len = buf1->len(); + for (uint32_t i=0; iget8(i) != buf2->get8(i)) { return false; } + } + return true; + } + protected: static uint8_t asc2byte(char chr) { @@ -269,18 +305,3 @@ public: _buf = nullptr; } } PreAllocatedSBuffer; - -// nullptr accepted -bool equalsSBuffer(const class SBuffer * buf1, const class SBuffer * buf2) { - if (buf1 == buf2) { return true; } - if (!buf1 && (buf2->len() == 0)) { return true; } - if (!buf2 && (buf1->len() == 0)) { return true; } - if (!buf1 || !buf2) { return false; } // at least one buf is not empty - // we know that both buf1 and buf2 are non-null - if (buf1->len() != buf2->len()) { return false; } - size_t len = buf1->len(); - for (uint32_t i=0; iget8(i) != buf2->get8(i)) { return false; } - } - return true; -} \ No newline at end of file diff --git a/lib/default/Ext-printf/src/ext_printf.cpp b/lib/default/Ext-printf/src/ext_printf.cpp new file mode 100644 index 000000000..157b2b30a --- /dev/null +++ b/lib/default/Ext-printf/src/ext_printf.cpp @@ -0,0 +1,399 @@ +/* + ext_printf.ino - Extended printf for Arduino objects + + Copyright (C) 2021 Stephan Hadinger + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "ext_printf.h" +#include +#include +#include + +/*********************************************************************************************\ + * va_list extended support + * + * va_list allows to get the next argument but not to get the address of this argument in the stack. + * + * We add `va_cur_ptr(va, TYPE)` to get a pointer to the current argument. + * This will allow to modify it in place and call back printf with altered arguments +\*********************************************************************************************/ + +#if defined(__XTENSA__) // this works only for xtensa, other platforms needs va_list to be adapted + +// This code is heavily inspired by the gcc implementation of va_list +// https://github.com/gcc-mirror/gcc/blob/master/gcc/config/xtensa/xtensa.c + +// Here is the va_list structure: +// struct va_list { +// void * __va_stk; // offset 0 - pointer to arguments on the stack +// void * __va_reg; // offset 4 - pointer to arguments from registers +// uint32_t __va_ndx; // offset 8 - index in bytes of the argument (overshoot by sizeof(T)) +// } +// +// When `va_start()` is called, the first 6 arguments are passed through registers r2-r7 and +// are saved on the stack like local variables + +// The algorightm used by `va_arg()` is the following: +// /* Implement `va_arg'.  */ +// /* First align __va_ndx if necessary for this arg: +//     orig_ndx = (AP).__va_ndx; +//     if (__alignof__ (TYPE) > 4 ) +//       orig_ndx = ((orig_ndx + __alignof__ (TYPE) - 1) +// & -__alignof__ (TYPE)); */ +// /* Increment __va_ndx to point past the argument: +//     (AP).__va_ndx = orig_ndx + __va_size (TYPE); */ +// /* Check if the argument is in registers: +//     if ((AP).__va_ndx <= __MAX_ARGS_IN_REGISTERS * 4 +//         && !must_pass_in_stack (type)) +//       __array = (AP).__va_reg; */ +// /* ...otherwise, the argument is on the stack (never split between +//     registers and the stack -- change __va_ndx if necessary): +//     else +//       { +// if (orig_ndx <= __MAX_ARGS_IN_REGISTERS * 4) +//     (AP).__va_ndx = 32 + __va_size (TYPE); +// __array = (AP).__va_stk; +//       } */ +// /* Given the base array pointer (__array) and index to the subsequent +//     argument (__va_ndx), find the address: +//     __array + (AP).__va_ndx - (BYTES_BIG_ENDIAN && sizeof (TYPE) < 4 +// ? sizeof (TYPE) +// : __va_size (TYPE)) +//     The results are endian-dependent because values smaller than one word +//     are aligned differently.  */ + +// So we can simply get the argument address +#define MAX_ARGS_IN_REGISTERS 6 // ESP8266 passes 6 arguments by register, then on stack + +// #define va_cur_ptr(va,T) ( (T*) __va_cur_ptr(va,sizeof(T)) ) // we only support 4 bytes aligned arguments, so we don't need this one + +// void * __va_cur_ptr(va_list &va, size_t size) { +// size = (size + 3) & 0xFFFFFFFC; // round to upper 4 bytes boundary + +// uintptr_t * va_stk = (uintptr_t*) &va; +// uintptr_t * va_reg = 1 + (uintptr_t*) &va; +// uintptr_t * va_ndx = 2 + (uintptr_t*) &va; +// uintptr_t arr; + +// if (*va_ndx <= MAX_ARGS_IN_REGISTERS * 4) { +// arr = *va_reg; +// } else { +// arr = *va_stk; +// } +// return (void*) (arr + *va_ndx - size); +// } + +// reduced version when arguments are always 4 bytes +#define va_cur_ptr4(va,T) ( (T*) __va_cur_ptr4(va) ) +void * __va_cur_ptr4(va_list &va) { + uintptr_t * va_stk = (uintptr_t*) &va; + uintptr_t * va_reg = 1 + (uintptr_t*) &va; + uintptr_t * va_ndx = 2 + (uintptr_t*) &va; + uintptr_t arr; + + if (*va_ndx <= MAX_ARGS_IN_REGISTERS * 4) { + arr = *va_reg; + } else { + arr = *va_stk; + } + return (void*) (arr + *va_ndx - 4); +} + +// Example of logs with 8 arguments (+1 static argument) +// We see that the first 5 are from low in the stack (local variables) +// while the last 8 are upper in the stack pushed by caller +// +// Note 64 bits arguments cannot be split between registers and stack +// +// >>> Reading a_ptr=0x3FFFFD44 *a_ptr=1 +// >>> Reading a_ptr=0x3FFFFD48 *a_ptr=2 +// >>> Reading a_ptr=0x3FFFFD4C *a_ptr=3 +// >>> Reading a_ptr=0x3FFFFD50 *a_ptr=4 +// >>> Reading a_ptr=0x3FFFFD54 *a_ptr=5 +// >>> Reading a_ptr=0x3FFFFD70 *a_ptr=6 +// >>> Reading a_ptr=0x3FFFFD74 *a_ptr=7 +// >>> Reading a_ptr=0x3FFFFD78 *a_ptr=8 +#elif defined(__RISC_V__) +// #define __va_argsiz_tas(t) (((sizeof(t) + sizeof(int) - 1) / sizeof(int)) * sizeof(int)) +#define va_cur_ptr4(va,T) ( (T*) __va_cur_ptr4(va) ) +void * __va_cur_ptr4(va_list &va) { + uintptr_t * va_ptr = (uintptr_t*) &va; + void * cur_ptr = (void*) *va_ptr; + *va_ptr += 4; + return cur_ptr; +} +#else // __XTENSA__, __RISCV__ + #error "ext_printf is not suppoerted on this platform" +#endif // __XTENSA__, __RISCV__ + +/*********************************************************************************************\ + * Genral function to convert u64 to hex +\*********************************************************************************************/ +// Simple function to print a 64 bits unsigned int +/* +char * U64toHex(uint64_t value, char *str) { + // str must be at least 17 bytes long + str[16] = 0; // end of string + for (uint32_t i=0; i<16; i++) { // 16 digits + uint32_t n = value & 0x0F; + str[15 - i] = (n < 10) ? (char)n+'0' : (char)n-10+'A'; + value = value >> 4; + } + return str; +} +*/ + +char * U64toHex(uint64_t value, char *str, uint32_t zeroleads) { + // str must be at least 17 bytes long + str[16] = 0; // end of string + for (uint32_t i=0; i<16; i++) { // 16 digits + uint32_t n = value & 0x0F; + str[15 - i] = (n < 10) ? (char)n+'0' : (char)n-10+'A'; + value = value >> 4; + } + if (zeroleads < 16) { + uint32_t max_zeroes = 16 - zeroleads; + while (max_zeroes) { + if (str[0] == '0') { + memmove(str, str +1, strlen(str)); + } else { + break; + } + max_zeroes--; + } + } + return str; +} + +// see https://stackoverflow.com/questions/6357031/how-do-you-convert-a-byte-array-to-a-hexadecimal-string-in-c +// char* ToHex_P(unsigned char * in, size_t insz, char * out, size_t outsz, char inbetween = '\0'); in tasmota_globals.h +char* ToHex_P(const unsigned char * in, size_t insz, char * out, size_t outsz, char inbetween = '\0') { + // ToHex_P(in, insz, out, outz) -> "12345667" + // ToHex_P(in, insz, out, outz, ' ') -> "12 34 56 67" + // ToHex_P(in, insz, out, outz, ':') -> "12:34:56:67" + static const char * hex PROGMEM = "0123456789ABCDEF"; + int between = (inbetween) ? 3 : 2; + const unsigned char * pin = in; + char * pout = out; + for (; pin < in+insz; pout += between, pin++) { + pout[0] = pgm_read_byte(&hex[(pgm_read_byte(pin)>>4) & 0xF]); + pout[1] = pgm_read_byte(&hex[ pgm_read_byte(pin) & 0xF]); + if (inbetween) { pout[2] = inbetween; } + if (pout + 3 - out > outsz) { break; } // Better to truncate output string than overflow buffer + } + pout[(inbetween && insz) ? -1 : 0] = 0; // Discard last inbetween if any input + return out; +} + +/*********************************************************************************************\ + * snprintf extended + * +\*********************************************************************************************/ + +// get a fresh malloc allocated string based on the current pointer (can be in PROGMEM) +// It is the caller's responsibility to free the memory +char * copyStr(const char * str) { + if (str == nullptr) { return nullptr; } + char * cpy = (char*) malloc(strlen_P(str) + 1); + strcpy_P(cpy, str); + return cpy; +} + +int32_t ext_vsnprintf_P(char * buf, size_t buf_len, const char * fmt_P, va_list va) { + va_list va_cpy; + va_copy(va_cpy, va); + + // iterate on fmt to extract arguments and patch them in place + char * fmt_cpy = copyStr(fmt_P); + if (fmt_cpy == nullptr) { return 0; } + char * fmt = fmt_cpy; + + const uint32_t ALLOC_SIZE = 12; + static char * allocs[ALLOC_SIZE] = {}; // initialized to zeroes + uint32_t alloc_idx = 0; + static char hex[20]; // buffer used for 64 bits, favor RAM instead of stack to remove pressure + + for (; *fmt != 0; ++fmt) { + int32_t decimals = -2; // default to 2 decimals and remove trailing zeros + int32_t * decimals_ptr = nullptr; + if (alloc_idx >= ALLOC_SIZE) { break; } // buffer is full, don't continue parsing + if (*fmt == '%') { + fmt++; + char * fmt_start = fmt; + if (*fmt == '\0') { break; } // end of string + if (*fmt == '%') { continue; } // actual '%' char + if (*fmt == '*') { + decimals = va_arg(va, int32_t); // skip width argument as int + decimals_ptr = va_cur_ptr4(va, int32_t); // pointer to value on stack + const char ** cur_val_ptr = va_cur_ptr4(va, const char*); // pointer to value on stack + fmt++; + // Serial.printf("> decimals=%d, decimals_ptr=0x%08X\n", decimals, decimals_ptr); + } + if (*fmt < 'A') { + decimals = strtol(fmt, nullptr, 10); + } + while (*fmt < 'A') { // brutal way to munch anything that is not a letter or '-' (or anything else) + // while ((*fmt >= '0' && *fmt <= '9') || (*fmt == '.') || (*fmt == '*') || (*fmt == '-' || (*fmt == ' ' || (*fmt == '+') || (*fmt == '#')))) { + fmt++; + } + + if (*fmt == '_') { // extension + if (decimals_ptr) { + // Serial.printf(">2 decimals=%d, decimals_ptr=0x%08X\n", decimals, decimals_ptr); + *decimals_ptr = 0; // if '*' was used, make sure we replace the value with zero for snprintf() + *(fmt_start++) = '-'; // in this case replace with `%-*s` + *(fmt_start++) = '*'; + } + for (; fmt_start <= fmt; fmt_start++) { + *fmt_start = '0'; + } + // *fmt = '0'; + fmt++; + uint32_t cur_val = va_arg(va, uint32_t); // current value + const char ** cur_val_ptr = va_cur_ptr4(va, const char*); // pointer to value on stack + char * new_val_str = (char*) ""; + switch (*fmt) { + case 'H': // Hex, decimals indicates the length, default 2 + { + if (decimals < 0) { decimals = 0; } + if (decimals > 0) { + char * hex_char = (char*) malloc(decimals*2 + 2); + ToHex_P((const uint8_t *)cur_val, decimals, hex_char, decimals*2 + 2); + new_val_str = hex_char; + allocs[alloc_idx++] = new_val_str; + // Serial.printf("> hex=%s\n", hex_char); + } + } + break; + case 'B': // Pointer to SBuffer + { + const SBuffer & buf = *(const SBuffer*)cur_val; + size_t buf_len = (&buf != nullptr) ? buf.len() : 0; + if (buf_len) { + char * hex_char = (char*) malloc(buf_len*2 + 2); + ToHex_P(buf.getBuffer(), buf_len, hex_char, buf_len*2 + 2); + new_val_str = hex_char; + allocs[alloc_idx++] = new_val_str; + } + } + break; + // case 'D': + // decimals = *(int32_t*)cur_val_ptr; + // break; + + // `%_I` ouputs an IPv4 32 bits address passed as u32 into a decimal dotted format + case 'I': // Input is `uint32_t` 32 bits IP address, output is decimal dotted address + { + char * ip_str = (char*) malloc(16); + snprintf_P(ip_str, 16, PSTR("%u.%u.%u.%u"), cur_val & 0xFF, (cur_val >> 8) & 0xFF, (cur_val >> 16) & 0xFF, (cur_val >> 24) & 0xFF); + new_val_str = ip_str; + allocs[alloc_idx++] = new_val_str; + } + break; + + // `%_f` or `%*_f` outputs a float with optionan number of decimals passed as first argument if `*` is present + // positive number of decimals means an exact number of decimals, can be `0` terminate + // negative number of decimals will suppress + // Ex: + // char c[128]; + // float f = 3.141f; + // ext_vsnprintf_P(c; szeof(c), "%_f %*_f %*_f", &f, 4, 1f, -4, %f); + // --> c will be "3.14 3.1410 3.141" + // Note: float MUST be passed by address, because C alsays promoted float to double when in vararg + case 'f': // input is `float`, printed to float with 2 decimals + { + bool truncate = false; + if (decimals < 0) { + decimals = -decimals; + truncate = true; + } + float number = *(float*)cur_val; + if (isnan(number) || isinf(number)) { + new_val_str = (char*) "null"; + } else { + dtostrf(*(float*)cur_val, (decimals + 2), decimals, hex); + + if (truncate) { + uint32_t last = strlen(hex) - 1; + // remove trailing zeros + while (hex[last] == '0') { + hex[last--] = 0; // remove last char + } + // remove trailing dot + if (hex[last] == '.') { + hex[last] = 0; + } + } + new_val_str = copyStr(hex); + allocs[alloc_idx++] = new_val_str; + } + } + break; + // '%_X' outputs a 64 bits unsigned int to uppercase HEX with 16 digits + case 'X': // input is `uint64_t*`, printed as 16 hex digits (no prefix 0x) + { + if ((decimals < 0) || (decimals > 16)) { decimals = 16; } + U64toHex(*(uint64_t*)cur_val, hex, decimals); + new_val_str = copyStr(hex); + allocs[alloc_idx++] = new_val_str; + } + break; + // Trying to do String allocation alternatives, but not as interesting as I thought in the beginning + // case 's': + // { + // new_val_str = copyStr(((String*)cur_val)->c_str()); + // allocs[alloc_idx++] = new_val_str; + // } + // break; + // case 'S': + // { + // funcString_t * func_str = (funcString_t*) cur_val; + // new_val_str = copyStr((*func_str)().c_str()); + // allocs[alloc_idx++] = new_val_str; + // } + // break; + } + *cur_val_ptr = new_val_str; + *fmt = 's'; // replace `%_X` with `%0s` to display a string instead + + } else { + va_arg(va, int32_t); // munch one 32 bits argument and leave it unchanged + // we take the hypothesis here that passing 64 bits arguments is always unsupported in ESP8266 + } + } + } + // Serial.printf("> format_final=%s\n", fmt_cpy); Serial.flush(); + int32_t ret = vsnprintf_P(buf, buf_len, fmt_cpy, va_cpy); + + va_end(va_cpy); + + // disallocated all temporary strings + for (uint32_t i = 0; i < alloc_idx; i++) { + free(allocs[i]); // it is ok to call free() on nullptr so we don't test for nullptr first + allocs[i] = nullptr; + } + free(fmt_cpy); // free the local copy of the format string + return ret; +} + +int32_t ext_snprintf_P(char * buf, size_t buf_len, const char * fmt, ...) { + va_list va; + va_start(va, fmt); + + int32_t ret = ext_vsnprintf_P(buf, buf_len, fmt, va); + va_end(va); + return ret; +} diff --git a/lib/default/Ext-printf/src/ext_printf.h b/lib/default/Ext-printf/src/ext_printf.h new file mode 100644 index 000000000..82313cfc7 --- /dev/null +++ b/lib/default/Ext-printf/src/ext_printf.h @@ -0,0 +1,34 @@ +/* + ext_printf.ino - Extended printf for Arduino objects + + Copyright (C) 2021 Stephan Hadinger + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef EXT_PRINTF_H +#define EXT_PRINTF_H + +#include +#include +#include + +int32_t ext_vsnprintf_P(char * buf, size_t buf_len, const char * fmt_P, va_list va); +int32_t ext_snprintf_P(char * buf, size_t buf_len, const char * fmt, ...); + +char* ToHex_P(const unsigned char * in, size_t insz, char * out, size_t outsz, char inbetween); + +// void test_ext_snprintf_P(void); + +#endif // EXT_PRINTF_H \ No newline at end of file diff --git a/lib/default/Ext-printf/test/test_ext_printf.cpp b/lib/default/Ext-printf/test/test_ext_printf.cpp new file mode 100644 index 000000000..f8b7b2ff9 --- /dev/null +++ b/lib/default/Ext-printf/test/test_ext_printf.cpp @@ -0,0 +1,110 @@ +/* + ext_printf.ino - Extended printf for Arduino objects + + Copyright (C) 2021 Stephan Hadinger + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "ext_printf.h" +#include + +// DEBUG only + +// String test_string(void) { +// String s("This is the string"); + +// return s; +// } + +// String f_str(void) { return String("foobar"); } +// String k_str("foobar"); + +// void f1(String s) { +// Serial.printf("> %s\n", s.c_str()); +// } +// void f2(void) { +// f1(f_str()); +// } + +// void test_snprintf1(void) { +// char c[100]; +// snprintf_P(c, sizeof(c), PSTR("s1=%s, s2=%s"), k_str.c_str(), f_str().c_str()); +// } +// void test_snprintf2(void) { +// char c[100]; +// ext_snprintf_P(c, sizeof(c), PSTR("s1=%_s, s2=%_S"), &k_str, &f_str, &ResponseAppendTHD); +// } +void test_ext_snprintf_P(void) { +// test_snprintf1(); +// test_snprintf2(); +// if (0) { + // // testVarArg2("", 1, 2, 3, 4, 5, 6, 7, 8); + + char c[128]; + float fpi=-3333.1415926535f; + float f3 = 3333; + float f31 = 3333.1; + ext_snprintf_P(c, sizeof(c), "Int1 = %d, ip=%_I", 1, 0x10203040); + Serial.printf("--> out=%s\n", c); + + ext_snprintf_P(c, sizeof(c), "Float default=%_f %_f", &f3, &fpi); + Serial.printf("--> out=%s\n", c); + + ext_snprintf_P(c, sizeof(c), "Float default=%1_f, int(3)=%4_f, int(3)=%-4_f, int(3)=%-4_f, 6dec=%-8_f", &fpi, &f3, &f3, &f31, &fpi); + Serial.printf("--> out=%s\n", c); + ext_snprintf_P(c, sizeof(c), "Float default=%*_f, int(3)=%*_f, int(3)=%*_f, int(3)=%*_f, 6dec=%*_f", 1, &fpi, 4, &f3, -4, &f3, -4, &f31, -8, &fpi); + Serial.printf("--> out=%s\n", c); + uint64_t u641 = 0x1122334455667788LL; + uint64_t u642 = 0x0123456789ABCDEFLL; + uint64_t u643 = 0xFEDCBA9876543210LL; + ext_snprintf_P(c, sizeof(c), "Int64 0x%_X 0x%_X 0x%_X", &u641, &u642, &u643); + Serial.printf("--> out=%s\n", c); + + // ext_snprintf_P(c, sizeof(c), "Float default=%*_f, int(3)=%*_f, int(3)=%*_f, int(3)=%*_f, 6dec=%*_f", &fpi, &f3, &f3, &f31, &fpi); + + // String string("Foobar"); + // ext_snprintf_P(c, sizeof(c), "String 0x%08X %_s", &string, &string); + // Serial.printf("--> out=%s\n", c); + + // ext_snprintf_P(c, sizeof(c), "StringFunc 0x%08X %_S", &test_string, &test_string); + // Serial.printf("--> out=%s\n", c); + + // uint64_t u64 = 0x123456789ABCDEFLL; + // testVarArg2("", u64, 2, 3, 4, 5, 6, 7, 8); + + // // Serial.printf("+++ ld=%ld, lld=%lld\n", 1,2,3,4); + // // testVarArg("", 1, 2, 3, 4, 5, 6, 7, 8); + // } + // tprintf("%s", 12, "14"); +} + + +// void tprintf(const char* format) // base function +// { +// Serial.printf("%s\n", format); +// } + +// template +// void tprintf(const char* format, T value, Targs... Fargs) // recursive variadic function +// { +// for ( ; *format != '\0'; format++ ) { +// if ( *format == '%' ) { +// Serial.printf("%d", (uint32_t) value); +// tprintf(format+1, Fargs...); // recursive call +// return; +// } +// Serial.printf("%s", format); +// } +// } diff --git a/lib/default/PubSubClient-EspEasy-2.7.12/library.json b/lib/default/PubSubClient-EspEasy-2.7.12/library.json index 8a36a1c5e..e675ecff3 100644 --- a/lib/default/PubSubClient-EspEasy-2.7.12/library.json +++ b/lib/default/PubSubClient-EspEasy-2.7.12/library.json @@ -10,8 +10,5 @@ "exclude": "tests", "examples": "examples/*/*.ino", "frameworks": "arduino", - "platforms": [ - "atmelavr", - "espressif" - ] + "platforms": ["espressif8266", "espressif32"] } diff --git a/lib/default/PubSubClient-EspEasy-2.7.12/src/PubSubClient.h b/lib/default/PubSubClient-EspEasy-2.7.12/src/PubSubClient.h index 612029665..19b35160a 100644 --- a/lib/default/PubSubClient-EspEasy-2.7.12/src/PubSubClient.h +++ b/lib/default/PubSubClient-EspEasy-2.7.12/src/PubSubClient.h @@ -25,19 +25,20 @@ #ifndef MQTT_MAX_PACKET_SIZE //#define MQTT_MAX_PACKET_SIZE 128 //#define MQTT_MAX_PACKET_SIZE 1000 // Tasmota v5.11.1c -#define MQTT_MAX_PACKET_SIZE 1200 // Tasmota v8.1.0.8 +#define MQTT_MAX_PACKET_SIZE 1200 // Tasmota v8.1.0.8 #endif // MQTT_KEEPALIVE : keepAlive interval in Seconds // Keepalive timeout for default MQTT Broker is 10s #ifndef MQTT_KEEPALIVE //#define MQTT_KEEPALIVE 10 -#define MQTT_KEEPALIVE 30 // Tasmota v6.5.0.14 enabling AWS-iot +#define MQTT_KEEPALIVE 30 // Tasmota v6.5.0.14 enabling AWS-iot #endif // MQTT_SOCKET_TIMEOUT: socket timeout interval in Seconds #ifndef MQTT_SOCKET_TIMEOUT -#define MQTT_SOCKET_TIMEOUT 15 +//#define MQTT_SOCKET_TIMEOUT 15 +#define MQTT_SOCKET_TIMEOUT 4 // Tasmota 20210120 #endif // MQTT_MAX_TRANSFER_SIZE : limit how much data is passed to the network client diff --git a/lib/default/TasmotaSerial-3.1.0/README.md b/lib/default/TasmotaSerial-3.2.0/README.md similarity index 87% rename from lib/default/TasmotaSerial-3.1.0/README.md rename to lib/default/TasmotaSerial-3.2.0/README.md index d2196ed4c..6dbd64823 100644 --- a/lib/default/TasmotaSerial-3.1.0/README.md +++ b/lib/default/TasmotaSerial-3.2.0/README.md @@ -2,6 +2,7 @@ Implementation of software serial with hardware serial fallback library for the ESP8266 Implementation of dual UART hardware serial for the ESP32 +Implementation of single UART hardware serial for the ESP32-S2 Allows for several instances to be active at the same time. diff --git a/lib/default/TasmotaSerial-3.1.0/examples/swsertest/swsertest.ino b/lib/default/TasmotaSerial-3.2.0/examples/swsertest/swsertest.ino similarity index 100% rename from lib/default/TasmotaSerial-3.1.0/examples/swsertest/swsertest.ino rename to lib/default/TasmotaSerial-3.2.0/examples/swsertest/swsertest.ino diff --git a/lib/default/TasmotaSerial-3.1.0/keywords.txt b/lib/default/TasmotaSerial-3.2.0/keywords.txt similarity index 100% rename from lib/default/TasmotaSerial-3.1.0/keywords.txt rename to lib/default/TasmotaSerial-3.2.0/keywords.txt diff --git a/lib/default/TasmotaSerial-3.1.0/library.json b/lib/default/TasmotaSerial-3.2.0/library.json similarity index 94% rename from lib/default/TasmotaSerial-3.1.0/library.json rename to lib/default/TasmotaSerial-3.2.0/library.json index 17764a8f2..caaa9f6f7 100644 --- a/lib/default/TasmotaSerial-3.1.0/library.json +++ b/lib/default/TasmotaSerial-3.2.0/library.json @@ -1,6 +1,6 @@ { "name": "TasmotaSerial", - "version": "3.1.0", + "version": "3.2.0", "keywords": [ "serial", "io", "TasmotaSerial" ], diff --git a/lib/default/TasmotaSerial-3.1.0/library.properties b/lib/default/TasmotaSerial-3.2.0/library.properties similarity index 94% rename from lib/default/TasmotaSerial-3.1.0/library.properties rename to lib/default/TasmotaSerial-3.2.0/library.properties index 8229443e9..30cc6138c 100644 --- a/lib/default/TasmotaSerial-3.1.0/library.properties +++ b/lib/default/TasmotaSerial-3.2.0/library.properties @@ -1,5 +1,5 @@ name=TasmotaSerial -version=3.1.0 +version=3.2.0 author=Theo Arends maintainer=Theo Arends sentence=Implementation of software serial with hardware serial fallback for ESP8266 and ESP32. diff --git a/lib/default/TasmotaSerial-3.1.0/src/TasmotaSerial.cpp b/lib/default/TasmotaSerial-3.2.0/src/TasmotaSerial.cpp similarity index 91% rename from lib/default/TasmotaSerial-3.1.0/src/TasmotaSerial.cpp rename to lib/default/TasmotaSerial-3.2.0/src/TasmotaSerial.cpp index d7ac0866e..c3eff150a 100644 --- a/lib/default/TasmotaSerial-3.1.0/src/TasmotaSerial.cpp +++ b/lib/default/TasmotaSerial-3.2.0/src/TasmotaSerial.cpp @@ -1,7 +1,7 @@ /* TasmotaSerial.cpp - Implementation of software serial with hardware serial fallback for Tasmota - Copyright (C) 2020 Theo Arends + Copyright (C) 2021 Theo Arends This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -38,7 +38,11 @@ TasmotaSerial *tms_obj_list[16]; #endif // ESP8266 #ifdef ESP32 +#if CONFIG_IDF_TARGET_ESP32 // ESP32/PICO-D4 static int tasmota_serial_index = 2; // Allow UART2 and UART1 only +#elif CONFIG_IDF_TARGET_ESP32S2 // ESP32-S2 +static int tasmota_serial_index = 1; // Allow UART1 only +#endif #endif // ESP32 @@ -87,7 +91,7 @@ TasmotaSerial::TasmotaSerial(int receive_pin, int transmit_pin, int hardware_fal m_valid = true; } -TasmotaSerial::~TasmotaSerial() { +TasmotaSerial::~TasmotaSerial(void) { #ifdef ESP8266 if (!m_hardserial) { if (m_rx_pin > -1) { @@ -118,20 +122,23 @@ bool TasmotaSerial::begin(long speed, int stop_bits) { if (m_hardswap) { Serial.swap(); } + if (serial_buffer_size > 256) { + Serial.setRxBufferSize(serial_buffer_size); + } #endif // ESP8266 #ifdef ESP32 if (tasmota_serial_index > 0) { // We only support UART1 and UART2 and keep UART0 for debugging m_uart = tasmota_serial_index; tasmota_serial_index--; TSerial = new HardwareSerial(m_uart); - if (serial_buffer_size > 256) { - TSerial->setRxBufferSize(serial_buffer_size); - } if (2 == m_stop_bits) { TSerial->begin(speed, SERIAL_8N2, m_rx_pin, m_tx_pin); } else { TSerial->begin(speed, SERIAL_8N1, m_rx_pin, m_tx_pin); } + if (serial_buffer_size > 256) { + TSerial->setRxBufferSize(serial_buffer_size); + } } else { m_valid = false; } @@ -147,11 +154,11 @@ bool TasmotaSerial::begin(long speed, int stop_bits) { return m_valid; } -bool TasmotaSerial::begin() { +bool TasmotaSerial::begin(void) { return begin(TM_SERIAL_BAUDRATE); } -bool TasmotaSerial::hardwareSerial() { +bool TasmotaSerial::hardwareSerial(void) { #ifdef ESP8266 return m_hardserial; #endif // ESP8266 @@ -160,7 +167,7 @@ bool TasmotaSerial::hardwareSerial() { #endif // ESP32 } -void TasmotaSerial::flush() { +void TasmotaSerial::flush(void) { if (m_hardserial) { #ifdef ESP8266 Serial.flush(); @@ -173,7 +180,7 @@ void TasmotaSerial::flush() { } } -int TasmotaSerial::peek() { +int TasmotaSerial::peek(void) { if (m_hardserial) { #ifdef ESP8266 return Serial.peek(); @@ -187,7 +194,7 @@ int TasmotaSerial::peek() { } } -int TasmotaSerial::read() { +int TasmotaSerial::read(void) { if (m_hardserial) { #ifdef ESP8266 return Serial.read(); @@ -203,7 +210,26 @@ int TasmotaSerial::read() { } } -int TasmotaSerial::available() { +size_t TasmotaSerial::read(char* buffer, size_t size) { + if (m_hardserial) { +#ifdef ESP8266 + return Serial.read(buffer, size); +#endif // ESP8266 +#ifdef ESP32 + return TSerial->read(buffer, size); +#endif // ESP32 + } else { + if ((-1 == m_rx_pin) || (m_in_pos == m_out_pos)) { return 0; } + size_t count = 0; + for( ; size && (m_in_pos == m_out_pos) ; --size, ++count) { + *buffer++ = m_buffer[m_out_pos]; + m_out_pos = (m_out_pos +1) % serial_buffer_size; + } + return count; + } +} + +int TasmotaSerial::available(void) { if (m_hardserial) { #ifdef ESP8266 return Serial.available(); @@ -279,7 +305,7 @@ size_t TasmotaSerial::write(uint8_t b) { } } -void ICACHE_RAM_ATTR TasmotaSerial::rxRead() { +void ICACHE_RAM_ATTR TasmotaSerial::rxRead(void) { if (!m_nwmode) { int32_t loop_read = m_very_high_speed ? serial_buffer_size : 1; // Advance the starting point for the samples but compensate for the diff --git a/lib/default/TasmotaSerial-3.1.0/src/TasmotaSerial.h b/lib/default/TasmotaSerial-3.2.0/src/TasmotaSerial.h similarity index 89% rename from lib/default/TasmotaSerial-3.1.0/src/TasmotaSerial.h rename to lib/default/TasmotaSerial-3.2.0/src/TasmotaSerial.h index bc5161d65..432344321 100644 --- a/lib/default/TasmotaSerial-3.1.0/src/TasmotaSerial.h +++ b/lib/default/TasmotaSerial-3.2.0/src/TasmotaSerial.h @@ -1,7 +1,7 @@ /* TasmotaSerial.h - Implementation of software serial with hardware serial fallback for Tasmota - Copyright (C) 2020 Theo Arends + Copyright (C) 2021 Theo Arends This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -41,16 +41,17 @@ class TasmotaSerial : public Stream { virtual ~TasmotaSerial(); bool begin(long speed, int stop_bits = 1); - bool begin(); - bool hardwareSerial(); - int peek(); + bool begin(void); + bool hardwareSerial(void); + int peek(void); - virtual size_t write(uint8_t byte); - virtual int read(); - virtual int available(); - virtual void flush(); + size_t write(uint8_t byte) override; + int read(void) override; + size_t read(char* buffer, size_t size); + int available(void) override; + void flush(void) override; - void rxRead(); + void rxRead(void); uint32_t getLoopReadMetric(void) const { return m_bit_follow_metric; } diff --git a/lib/default/UdpListener/src/UdpListener.h b/lib/default/UdpListener/src/UdpListener.h index b4f5af93b..57bce0dae 100644 --- a/lib/default/UdpListener/src/UdpListener.h +++ b/lib/default/UdpListener/src/UdpListener.h @@ -1,7 +1,7 @@ /* UdpListener.h - webserver for Tasmota - Copyright (C) 2020 Theo Arends & Stephan Hadinger + Copyright (C) 2021 Theo Arends & Stephan Hadinger This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lib/default/Unishox-1.0-shadinger/src/UnishoxStrings.cpp b/lib/default/Unishox-1.0-shadinger/src/UnishoxStrings.cpp new file mode 100644 index 000000000..22b8cbcc3 --- /dev/null +++ b/lib/default/Unishox-1.0-shadinger/src/UnishoxStrings.cpp @@ -0,0 +1,36 @@ +/* + UnishoxStrings.c - support library for compressed strings in Flash + + Copyright (C) 2021 Theo Arends and Stephan Hadinger + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "UnishoxStrings.h" +#include + +extern int32_t DecompressNoAlloc(const char * compressed, size_t uncompressed_size, String & content); + +// +// If first byte is NULL, then the string is compressed +// +UnishoxStrings::UnishoxStrings(const char *k_msg) { + if (pgm_read_byte(k_msg) == 0) { + size_t len = pgm_read_byte(k_msg + 1) * 16; + DecompressNoAlloc(k_msg + 2, len, _decompressed); + _msg = _decompressed.c_str(); + } else { + _msg = k_msg; + } +} diff --git a/lib/default/Unishox-1.0-shadinger/src/UnishoxStrings.h b/lib/default/Unishox-1.0-shadinger/src/UnishoxStrings.h new file mode 100644 index 000000000..3ded62ffe --- /dev/null +++ b/lib/default/Unishox-1.0-shadinger/src/UnishoxStrings.h @@ -0,0 +1,98 @@ +/* + UnishoxStrings.c - support library for compressed strings in Flash + + Copyright (C) 2021 Theo Arends and Stephan Hadinger + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef __UNISHOX_STRINGS__ +#define __UNISHOX_STRINGS__ + +#include +#include +#include "WString.h" + + +/*******************************************************************************************/ +/* + * UnishoxStrings compressed literal strings + * + * To be typically used for web UI to have multiple strings like JS, CSS, HTML + * compressed in a single list of small strings. This is where Unishox shines. + * + * Strings before compression are separated with NULL chars, which makes them ready to use + * once you know the offset in the global array. + * + * The list of string is marked by an empty stings, i.e. two consecutive NULL chars + * + * To distinguish from uncompressed templates, and to indicate the global size + * the compressed array is prefixed with NULL and the uncompressed size * 16 bytes. + * + * Compressed format: + * - Byte 00 : \00 - if non-null, then it is not compressed + * - Byte 01 : - uncompressed size is * 16 bytes (always rounded up) + * - Byte [] : compressed data (does not contain NULL) + * - Byte n : \00 - final NULL + * +/*******************************************************************************************/ + + +/*******************************************************************************************/ +/* + * This class is initialzed with either a PMEM uncompressed list of strings + * or a PMEM unishox-compressed list of strings; in this case RAM is allocated + * to hold the uncompressed data, until the class gets out of scope. + * + * To encode, use https://tasmota.hadinger.fr/util + * and use the "Compress strings template with unishox" + * past the C code for the strings, and copy/paste the result + * (don't foget to rename the variable). + * + * Input: + * Each string must be terminated with an explicit NULL char "\0". The list is hence + * terminated with a double-NULL. + * + * Each string is then indexed as its byte offset in the whole template. + * The offsets are computed at the same time as the compressed version. + * You need to use the online compressor even if you don't use the comrpessed version. + * + * Indexes are marked as C++ comments starting with "//=" + * + * Example input: + * con + * // start of strings + * //=STRING_1 + * "This is string 1" + * "\0" + * //=STRING_2 + * "This is string 2" + * "continued here" + * "\0" + * ; + * +/*******************************************************************************************/ + +class UnishoxStrings { +public: + UnishoxStrings(const char *k_msg); + + inline const char * operator[](uint16_t i) const { return _msg + i; } + + const char * _msg = nullptr; + String _decompressed; +}; + + +#endif // __UNISHOX_STRINGS__ \ No newline at end of file diff --git a/lib/default/jsmn-shadinger-1.0/src/JsonGenerator.cpp b/lib/default/jsmn-shadinger-1.0/src/JsonGenerator.cpp index 0bdd77768..b823c58d9 100644 --- a/lib/default/jsmn-shadinger-1.0/src/JsonGenerator.cpp +++ b/lib/default/jsmn-shadinger-1.0/src/JsonGenerator.cpp @@ -1,7 +1,7 @@ /* JsonGenerator.cpp - lightweight JSON parser - Copyright (C) 2020 Stephan Hadinger + Copyright (C) 2021 Stephan Hadinger This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lib/default/jsmn-shadinger-1.0/src/JsonGenerator.h b/lib/default/jsmn-shadinger-1.0/src/JsonGenerator.h index 589c60167..1d6c0f969 100644 --- a/lib/default/jsmn-shadinger-1.0/src/JsonGenerator.h +++ b/lib/default/jsmn-shadinger-1.0/src/JsonGenerator.h @@ -1,7 +1,7 @@ /* JsonGenerator.h - lightweight JSON generator - Copyright (C) 2020 Stephan Hadinger + Copyright (C) 2021 Stephan Hadinger This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -32,7 +32,7 @@ extern String EscapeJSONString(const char *str); class JsonGeneratorArray { public: - JsonGeneratorArray(): val("[]") {} // start with empty array + JsonGeneratorArray(): val(F("[]")) {} // start with empty array void add(uint32_t uval32); void add(int32_t uval32); @@ -53,7 +53,7 @@ protected: class JsonGeneratorObject { public: - JsonGeneratorObject(): val("{}") {} // start with empty object + JsonGeneratorObject(): val(F("{}")) {} // start with empty object void add(const char* key, uint32_t uval32); void add(const char* key, int32_t uval32); diff --git a/lib/default/jsmn-shadinger-1.0/src/JsonParser.cpp b/lib/default/jsmn-shadinger-1.0/src/JsonParser.cpp index 050505d07..73703d6ed 100644 --- a/lib/default/jsmn-shadinger-1.0/src/JsonParser.cpp +++ b/lib/default/jsmn-shadinger-1.0/src/JsonParser.cpp @@ -1,7 +1,7 @@ /* JsonParser.cpp - lightweight JSON parser - Copyright (C) 2020 Stephan Hadinger + Copyright (C) 2021 Stephan Hadinger This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lib/default/jsmn-shadinger-1.0/src/JsonParser.h b/lib/default/jsmn-shadinger-1.0/src/JsonParser.h index 85d401407..a31f28c91 100644 --- a/lib/default/jsmn-shadinger-1.0/src/JsonParser.h +++ b/lib/default/jsmn-shadinger-1.0/src/JsonParser.h @@ -1,7 +1,7 @@ /* JsonParser.h - lightweight JSON parser - Copyright (C) 2020 Stephan Hadinger + Copyright (C) 2021 Stephan Hadinger This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -228,7 +228,7 @@ public: // destructor ~JsonParser(); - + // set the current buffer for attribute access (i.e. set the global) void setCurrent(void) { k_current_json_buffer = _json; } diff --git a/lib/lib_audio/ESP8266Audio/src/AudioOutputI2S.cpp b/lib/lib_audio/ESP8266Audio/src/AudioOutputI2S.cpp index f7e194ea7..c028df105 100644 --- a/lib/lib_audio/ESP8266Audio/src/AudioOutputI2S.cpp +++ b/lib/lib_audio/ESP8266Audio/src/AudioOutputI2S.cpp @@ -1,7 +1,7 @@ /* AudioOutputI2S Base class for I2S interface port - + Copyright (C) 2017 Earle F. Philhower, III This program is free software: you can redistribute it and/or modify @@ -48,11 +48,13 @@ AudioOutputI2S::AudioOutputI2S(int port, int output_mode, int dma_buf_count, int } i2s_mode_t mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_TX); +#if CONFIG_IDF_TARGET_ESP32 // ESP32/PICO-D4 if (output_mode == INTERNAL_DAC) { mode = (i2s_mode_t)(mode | I2S_MODE_DAC_BUILT_IN); } else if (output_mode == INTERNAL_PDM) { mode = (i2s_mode_t)(mode | I2S_MODE_PDM); } +#endif i2s_comm_format_t comm_fmt = (i2s_comm_format_t)(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB); if (output_mode == INTERNAL_DAC) { @@ -81,7 +83,7 @@ AudioOutputI2S::AudioOutputI2S(int port, int output_mode, int dma_buf_count, int SetPinout(26, 25, 22); } i2s_zero_dma_buffer((i2s_port_t)portNo); - } + } #else (void) dma_buf_count; (void) use_apll; @@ -138,7 +140,7 @@ bool AudioOutputI2S::SetRate(int hz) // TODO - have a list of allowable rates from constructor, check them this->hertz = hz; #ifdef ESP32 - i2s_set_sample_rates((i2s_port_t)portNo, AdjustI2SRate(hz)); + i2s_set_sample_rates((i2s_port_t)portNo, AdjustI2SRate(hz)); #else i2s_set_rate(AdjustI2SRate(hz)); #endif @@ -192,7 +194,11 @@ bool AudioOutputI2S::ConsumeSample(int16_t sample[2]) } else { s32 = ((Amplify(ms[RIGHTCHANNEL]))<<16) | (Amplify(ms[LEFTCHANNEL]) & 0xffff); } - return i2s_write_bytes((i2s_port_t)portNo, (const char*)&s32, sizeof(uint32_t), 0); +// Deprecated. Use i2s_write +// return i2s_write_bytes((i2s_port_t)portNo, (const char*)&s32, sizeof(uint32_t), 0); + size_t bytes_written; + i2s_write((i2s_port_t)portNo, (const char*)&s32, sizeof(uint32_t), &bytes_written, 0); + return bytes_written; #else uint32_t s32 = ((Amplify(ms[RIGHTCHANNEL]))<<16) | (Amplify(ms[LEFTCHANNEL]) & 0xffff); return i2s_write_sample_nb(s32); // If we can't store it, return false. OTW true @@ -219,5 +225,3 @@ bool AudioOutputI2S::stop() #endif return true; } - - diff --git a/lib/lib_audio/ESP8266Audio/src/AudioOutputI2SNoDAC.cpp b/lib/lib_audio/ESP8266Audio/src/AudioOutputI2SNoDAC.cpp index cb36e13e6..4f7b21ff7 100644 --- a/lib/lib_audio/ESP8266Audio/src/AudioOutputI2SNoDAC.cpp +++ b/lib/lib_audio/ESP8266Audio/src/AudioOutputI2SNoDAC.cpp @@ -1,7 +1,7 @@ /* AudioOutputI2SNoDAC Audio player using SW delta-sigma to generate "analog" on I2S data - + Copyright (C) 2017 Earle F. Philhower, III This program is free software: you can redistribute it and/or modify @@ -66,7 +66,7 @@ void AudioOutputI2SNoDAC::DeltaSigma(int16_t sample[2], uint32_t dsBuff[8]) for (int j = 0; j < oversample32; j++) { uint32_t bits = 0; // The bits we convert the sample into, MSB to go on the wire first - + for (int i = 32; i > 0; i--) { bits = bits << 1; if (cumErr < 0) { @@ -95,9 +95,14 @@ bool AudioOutputI2SNoDAC::ConsumeSample(int16_t sample[2]) // Either send complete pulse stream or nothing #ifdef ESP32 - if (!i2s_write_bytes((i2s_port_t)portNo, (const char *)dsBuff, sizeof(uint32_t) * (oversample/32), 0)) + +// Deprecated. Use i2s_write +// if (!i2s_write_bytes((i2s_port_t)portNo, (const char *)dsBuff, sizeof(uint32_t) * (oversample/32), 0)) + size_t bytes_written; + i2s_write((i2s_port_t)portNo, (const char *)dsBuff, sizeof(uint32_t) * (oversample/32), &bytes_written, 0); + if (!bytes_written) return false; -#else +#else if (!i2s_write_sample_nb(dsBuff[0])) return false; // No room at the inn // At this point we've sent in first of possibly 8 32-bits, need to send // remaining ones even if they block. diff --git a/lib/lib_audio/ESP8266SAM/src/ReciterTabs.h b/lib/lib_audio/ESP8266SAM/src/ReciterTabs.h index 373a94bdc..c89636e4d 100644 --- a/lib/lib_audio/ESP8266SAM/src/ReciterTabs.h +++ b/lib/lib_audio/ESP8266SAM/src/ReciterTabs.h @@ -2,7 +2,7 @@ #define RECITERTABS_H #include -#include "debug.h" +#include "samdebug.h" #if sam_debug #define PROGMEM #endif diff --git a/lib/lib_audio/ESP8266SAM/src/sam.c b/lib/lib_audio/ESP8266SAM/src/sam.c index 2939628c9..5dba52fda 100644 --- a/lib/lib_audio/ESP8266SAM/src/sam.c +++ b/lib/lib_audio/ESP8266SAM/src/sam.c @@ -2,7 +2,7 @@ #include // strlen() //#include #include // define NULL -#include "debug.h" +#include "samdebug.h" #include "sam.h" #include "render.h" #include "SamTabs.h" diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRNeoclimaAc__coll__graph.map b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRNeoclimaAc__coll__graph.map deleted file mode 100644 index 57358d833..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRNeoclimaAc__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRNeoclimaAc__coll__graph.md5 b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRNeoclimaAc__coll__graph.md5 deleted file mode 100644 index fe697a810..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRNeoclimaAc__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -1e6ee18f808b645d10f6652b3a78aca2 \ No newline at end of file diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRNeoclimaAc__coll__graph.png b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRNeoclimaAc__coll__graph.png deleted file mode 100644 index 9515ee73a..000000000 Binary files a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRNeoclimaAc__coll__graph.png and /dev/null differ diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSamsungAc__coll__graph.map b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSamsungAc__coll__graph.map deleted file mode 100644 index 7b65cd5e6..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSamsungAc__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSamsungAc__coll__graph.md5 b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSamsungAc__coll__graph.md5 deleted file mode 100644 index c11ced0ba..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSamsungAc__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -383f10b4ef1888fea2358fde261598f6 \ No newline at end of file diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSamsungAc__coll__graph.png b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSamsungAc__coll__graph.png deleted file mode 100644 index 9ce17f8b0..000000000 Binary files a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSamsungAc__coll__graph.png and /dev/null differ diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSanyoAc__coll__graph.map b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSanyoAc__coll__graph.map deleted file mode 100644 index c97e33523..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSanyoAc__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSanyoAc__coll__graph.md5 b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSanyoAc__coll__graph.md5 deleted file mode 100644 index e2e3cbfec..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSanyoAc__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -f6001a30fa104f98434d740081ebee62 \ No newline at end of file diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSanyoAc__coll__graph.png b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSanyoAc__coll__graph.png deleted file mode 100644 index 8e567d014..000000000 Binary files a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSanyoAc__coll__graph.png and /dev/null differ diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSharpAc__coll__graph.map b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSharpAc__coll__graph.map deleted file mode 100644 index bd52394a1..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSharpAc__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSharpAc__coll__graph.md5 b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSharpAc__coll__graph.md5 deleted file mode 100644 index 4e92a3fe3..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSharpAc__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a87b7a535dbb4358d51525a2278a117d \ No newline at end of file diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSharpAc__coll__graph.png b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSharpAc__coll__graph.png deleted file mode 100644 index 397be3abb..000000000 Binary files a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/classIRSharpAc__coll__graph.png and /dev/null differ diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_10.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_10.js deleted file mode 100644 index 950b62099..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_10.js +++ /dev/null @@ -1,27 +0,0 @@ -var searchData= -[ - ['pad_3157',['pad',['../unionDaikin2Protocol.html#ac6b425dc516537ae3178583ff26e0948',1,'Daikin2Protocol::pad()'],['../unionDaikin128Protocol.html#aeef026f1ecb9696a7bf01b17de88951e',1,'Daikin128Protocol::pad()'],['../unionHitachi1Protocol.html#a17a8788deccc8c3648b91be5de4e1964',1,'Hitachi1Protocol::pad()'],['../unionMitsubishi136Protocol.html#a66638db2b4d4c1d969d0c6809b991ed0',1,'Mitsubishi136Protocol::pad()']]], - ['pad0_3158',['pad0',['../unionDaikin216Protocol.html#ac7e3625c88ded6bf5e9e744b78af3877',1,'Daikin216Protocol::pad0()'],['../unionDaikin160Protocol.html#a422b94d3ddc17dafac919a04b6779e0e',1,'Daikin160Protocol::pad0()'],['../unionDaikin176Protocol.html#a1c883c0473df6419fa79d9e7ec044400',1,'Daikin176Protocol::pad0()'],['../unionDaikin152Protocol.html#accd26b9ae5a2b4689b1d44715cdedae5',1,'Daikin152Protocol::pad0()'],['../unionHitachiProtocol.html#a9141747df7882925a8442ae0f261e1cc',1,'HitachiProtocol::pad0()'],['../unionHitachi424Protocol.html#aca5baed417c2c06be4e912c596b5cacf',1,'Hitachi424Protocol::pad0()'],['../unionKelvinatorProtocol.html#aa67bf941395c4a614f8cc70ce29bffcf',1,'KelvinatorProtocol::pad0()'],['../unionMitsubishi144Protocol.html#a7771c9cd00799d3bed0ee73d3a3172bd',1,'Mitsubishi144Protocol::pad0()'],['../unionMitsubishi112Protocol.html#a07a1682430a0a2c63614d09ad0a7a5a0',1,'Mitsubishi112Protocol::pad0()']]], - ['pad1_3159',['pad1',['../unionDaikin216Protocol.html#a3953e06ed7903c50cdfa7fa4dad77c93',1,'Daikin216Protocol::pad1()'],['../unionDaikin160Protocol.html#a55ae3e21ecc536fdeb8f773beaedf1bf',1,'Daikin160Protocol::pad1()'],['../unionDaikin176Protocol.html#a336e5ffedd9eda2778f8e1652cd3f349',1,'Daikin176Protocol::pad1()'],['../unionDaikin152Protocol.html#a4c24a70b48139610acb457eb915e76bf',1,'Daikin152Protocol::pad1()'],['../unionHitachiProtocol.html#a28391ab1e1994d254d9abf057c2b87ba',1,'HitachiProtocol::pad1()'],['../unionHitachi424Protocol.html#abb196383de210b25ec3d56b7f02ca9c3',1,'Hitachi424Protocol::pad1()'],['../unionKelvinatorProtocol.html#a9feee780a54bfb86968f137080d3d68e',1,'KelvinatorProtocol::pad1()'],['../unionMitsubishi144Protocol.html#ad256f8e7f36c654002807b7fbb5038dd',1,'Mitsubishi144Protocol::pad1()'],['../unionMitsubishi112Protocol.html#af5c30781b3183c3530b4e401952a5666',1,'Mitsubishi112Protocol::pad1()']]], - ['pad2_3160',['pad2',['../unionDaikin216Protocol.html#a2ad46cbab590d8ce0fcf43004a77a759',1,'Daikin216Protocol::pad2()'],['../unionDaikin160Protocol.html#a9465c279ea0be201cf8417fe3ede965d',1,'Daikin160Protocol::pad2()'],['../unionDaikin176Protocol.html#aae23dc257ea77a204fd2b6b22c9fd91b',1,'Daikin176Protocol::pad2()'],['../unionDaikin152Protocol.html#ab66afe90c383d6a24224327a88a10acc',1,'Daikin152Protocol::pad2()'],['../unionHitachi424Protocol.html#ab8325b434d355655f432d1d400a651ee',1,'Hitachi424Protocol::pad2()']]], - ['pad3_3161',['pad3',['../unionDaikin216Protocol.html#aeef7d4b689a7dccc73c201d1b5d96a2f',1,'Daikin216Protocol::pad3()'],['../unionDaikin176Protocol.html#a9959937c9a6bffc149060886f1ebb9b3',1,'Daikin176Protocol::pad3()']]], - ['padding_3162',['padding',['../unionmagiquest.html#a28ca4be56c78ef762f87171506dc6e93',1,'magiquest']]], - ['panasonic_3163',['panasonic',['../classIRac.html#af873db2b9735127eb6f079861daed67a',1,'IRac::panasonic()'],['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadaf87c99938d26a1f77d4f082c070d4660',1,'PANASONIC(): IRremoteESP8266.h']]], - ['panasonic_5fac_3164',['PANASONIC_AC',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada02178d0c70511011d5f381291bb7e491',1,'IRremoteESP8266.h']]], - ['panasonic_5fac32_3165',['PANASONIC_AC32',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada790ec65ea3e5d3ef9dc19614521c889e',1,'IRremoteESP8266.h']]], - ['panasonic_5fac_5fremote_5fmodel_5ft_3166',['panasonic_ac_remote_model_t',['../IRsend_8h.html#a1b797a5e5176ac0eef49810bf7f40e6f',1,'IRsend.h']]], - ['periodoffset_3167',['periodOffset',['../classIRsend.html#a1b5180cbf4f88f19fca3f677e1e91b96',1,'IRsend']]], - ['pioneer_3168',['PIONEER',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadadf49fef8f6e9740c92af2e25384f7846',1,'IRremoteESP8266.h']]], - ['power_3169',['power',['../structstdAc_1_1state__t.html#ab85d37cc99bbbc4915331369c4ea622e',1,'stdAc::state_t::power()'],['../unionAmcorProtocol.html#ab6d6b470c8e3c80ee37eb31a048919db',1,'AmcorProtocol::Power()'],['../unionArgoProtocol.html#a72c5dbd39ccbac31d5cfc39beaa87d92',1,'ArgoProtocol::Power()'],['../unionCarrierProtocol.html#a9f039bf33bbe868118f14c28d6731718',1,'CarrierProtocol::Power()'],['../unionCoronaProtocol.html#a7da68dc07f9ef4ab0545e9156f9408c4',1,'CoronaProtocol::Power()'],['../unionDaikinESPProtocol.html#a8a5b839b9908359b382a105068eaf840',1,'DaikinESPProtocol::Power()'],['../unionDaikin2Protocol.html#a31d4d361af1f3c7f6eb4021a520f4572',1,'Daikin2Protocol::Power()'],['../unionDaikin216Protocol.html#ade14eb9841ea4bc09157b145145bfda8',1,'Daikin216Protocol::Power()'],['../unionDaikin160Protocol.html#a520571b287c0db8a941fc1f9e030ef0c',1,'Daikin160Protocol::Power()'],['../unionDaikin176Protocol.html#a80fd9f79014f0fe3f2fa91ee6a3e7bc2',1,'Daikin176Protocol::Power()'],['../unionDaikin128Protocol.html#aba3cecc50eee1143e2f6eadd6d2026b4',1,'Daikin128Protocol::Power()'],['../unionDaikin152Protocol.html#a5cdf563830a35ee28d239d912bd5c95c',1,'Daikin152Protocol::Power()'],['../unionDaikin64Protocol.html#a4290051abed062bb5993db071a28ef61',1,'Daikin64Protocol::Power()'],['../unionDelonghiProtocol.html#a5dccd7aa1927571e12d4244e1c179578',1,'DelonghiProtocol::Power()'],['../unionElectraProtocol.html#a907a426aa30a50667d5e4f4615d71518',1,'ElectraProtocol::Power()'],['../unionGoodweatherProtocol.html#ac3a2cf92410edd8ad11550f6aa051bac',1,'GoodweatherProtocol::Power()'],['../unionGreeProtocol.html#ab04d1d5bdaf8fb0b7129e210de14a772',1,'GreeProtocol::Power()'],['../unionHaierYRW02Protocol.html#ae87a93806911792662391a671607a760',1,'HaierYRW02Protocol::Power()'],['../unionHitachiProtocol.html#abec059afed0891f40f50b1024f211ee1',1,'HitachiProtocol::Power()'],['../unionHitachi424Protocol.html#a03af2b7a7c333c9069c4a689631cbc84',1,'Hitachi424Protocol::Power()'],['../unionHitachi1Protocol.html#a67b84f1d4c3720692e8de833b3910b88',1,'Hitachi1Protocol::Power()'],['../unionKelvinatorProtocol.html#a4bc98c7ae62273e8d8d60d71fdb44750',1,'KelvinatorProtocol::Power()'],['../unionLGProtocol.html#a5748d31340964b885933fbb6ee7fd235',1,'LGProtocol::Power()'],['../unionMideaProtocol.html#a6b534bb5845c3c184ee43b87995cff32',1,'MideaProtocol::Power()'],['../unionMitsubishi144Protocol.html#af99f269ce1b905c47b9417c41189c94b',1,'Mitsubishi144Protocol::Power()'],['../unionMitsubishi136Protocol.html#aa5df3d147cbd1c2dd3f17028c0ff36dc',1,'Mitsubishi136Protocol::Power()'],['../unionMitsubishi112Protocol.html#ad4c47f745c6ff6a349457ccc66f4e091',1,'Mitsubishi112Protocol::Power()'],['../unionMitsubishi152Protocol.html#abb8ac556d7ead5d1083af940130a9805',1,'Mitsubishi152Protocol::Power()'],['../unionMitsubishi88Protocol.html#a48eb181bcb178491d0cd399d69487f2b',1,'Mitsubishi88Protocol::Power()'],['../unionVoltasProtocol.html#a554e4bce95426a096f090cc6890f46f2',1,'VoltasProtocol::Power()']]], - ['power2_3170',['Power2',['../unionDaikin2Protocol.html#ad38268911be9104ab7fcaf0d35dd4c6f',1,'Daikin2Protocol']]], - ['powerbutton_3171',['PowerButton',['../unionCoronaProtocol.html#abceccc1306d3a78be6177758f3056a5a',1,'CoronaProtocol']]], - ['powerflag_3172',['powerFlag',['../classIRCoolixAC.html#a5984ff64ff14df92291618a647da08f9',1,'IRCoolixAC::powerFlag()'],['../classIRTranscoldAc.html#a07e96c352827f011a1a2440f35d78d14',1,'IRTranscoldAc::powerFlag()']]], - ['powerful_3173',['Powerful',['../unionDaikinESPProtocol.html#a16b091d1faf200607bd37ff48ddfb940',1,'DaikinESPProtocol::Powerful()'],['../unionDaikin2Protocol.html#ac7b3b9d7f424ccc78749d944b59c7372',1,'Daikin2Protocol::Powerful()'],['../unionDaikin216Protocol.html#a2cb72f5fea3b5298b8de45060c476a17',1,'Daikin216Protocol::Powerful()'],['../unionDaikin152Protocol.html#aa4cdbef46c721491cb854b36d6de89a3',1,'Daikin152Protocol::Powerful()']]], - ['powertoggle_3174',['PowerToggle',['../unionAirwellProtocol.html#a9a3893a0ec7811202697adeb60d89775',1,'AirwellProtocol::PowerToggle()'],['../unionHitachi1Protocol.html#adf8067b7e2d7ea3afb6ffae08a9cf609',1,'Hitachi1Protocol::PowerToggle()']]], - ['prefix_3175',['Prefix',['../unionHaierProtocol.html#a6c15a8e22231dae23ffa8bef78420054',1,'HaierProtocol::Prefix()'],['../unionHaierYRW02Protocol.html#af55185fad3229f2011b5917412ad8c1b',1,'HaierYRW02Protocol::Prefix()']]], - ['prev_5fmode_3176',['prev_mode',['../classIRToshibaAC.html#ac251884741fb8ad8280b55e99c23211e',1,'IRToshibaAC']]], - ['pronto_3177',['PRONTO',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada5b68c32f80c4afa6e61039843b2d1f97',1,'IRremoteESP8266.h']]], - ['protocol_3178',['protocol',['../structstdAc_1_1state__t.html#af59897778be0e571f77dd11337352c27',1,'stdAc::state_t']]], - ['pt_2dbr_2eh_3179',['pt-BR.h',['../pt-BR_8h.html',1,'']]], - ['purify_3180',['Purify',['../unionDaikin2Protocol.html#ad3c5427e7d4d0182bb86f61fa2c2484a',1,'Daikin2Protocol']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_15.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_15.js deleted file mode 100644 index 6fe8da185..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_15.js +++ /dev/null @@ -1,14 +0,0 @@ -var searchData= -[ - ['uint64tostring_3530',['uint64ToString',['../IRutils_8cpp.html#a9f6ddef74b41ef6f8d2805fcfc396420',1,'uint64ToString(uint64_t input, uint8_t base): IRutils.cpp'],['../IRutils_8h.html#a781650451d38303e80da677539f574ee',1,'uint64ToString(uint64_t input, uint8_t base=10): IRutils.cpp']]], - ['uint8tobcd_3531',['uint8ToBcd',['../namespaceirutils.html#a534704a52b75acd46f687cc0a2b91bf1',1,'irutils']]], - ['unknown_3532',['unknown',['../unionHaierProtocol.html#aabc2a684c5936858544c02ec8a68afb9',1,'HaierProtocol::unknown()'],['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada6ce26a62afab55d7606ad4e92428b30c',1,'UNKNOWN(): IRremoteESP8266.h']]], - ['unknown1_3533',['unknown1',['../unionGreeProtocol.html#ae973c1c723b7162959374e1fd8ecab61',1,'GreeProtocol']]], - ['unknown2_3534',['unknown2',['../unionGreeProtocol.html#aa102f7d68c26f5b8644b13113a5b05f4',1,'GreeProtocol']]], - ['unused_3535',['UNUSED',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadaa09b651ef326a9d8efcee5cc5b720ab4',1,'IRremoteESP8266.h']]], - ['updateandsavestate_3536',['updateAndSaveState',['../classIRCoolixAC.html#a2681a6affc5fb542584b1ef241bc38af',1,'IRCoolixAC']]], - ['updatesavedstate_3537',['updateSavedState',['../classIRTranscoldAc.html#a64eedf758c2564865add8c86f10e24ec',1,'IRTranscoldAc']]], - ['use_5ftime_5fstate_3538',['use_time_state',['../classIRVestelAc.html#af1b622c50a4952fb3edaf483e1bf9328',1,'IRVestelAc']]], - ['used_3539',['used',['../structmatch__result__t.html#a26cea305aa83ed65b88ac0b6ed6de54a',1,'match_result_t']]], - ['usefahrenheit_3540',['UseFahrenheit',['../unionGreeProtocol.html#a47c79761efe40c00e6bb01b7712b272c',1,'GreeProtocol::UseFahrenheit()'],['../unionMideaProtocol.html#a1b1258107620bb83fd6356815242e19b',1,'MideaProtocol::useFahrenheit()']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_17.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_17.js deleted file mode 100644 index 8ece9a378..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_17.js +++ /dev/null @@ -1,12 +0,0 @@ -var searchData= -[ - ['wall_3553',['Wall',['../unionDaikin128Protocol.html#aed2c5bc365820f2c0a5f27dd68fa8a05',1,'Daikin128Protocol']]], - ['wand_5fid_3554',['wand_id',['../unionmagiquest.html#a1b159cd47635d548e1d4198cd6d41e93',1,'magiquest']]], - ['weeklytimer_3555',['WeeklyTimer',['../unionDaikinESPProtocol.html#a25e632da82856caebd233699fda8d796',1,'DaikinESPProtocol']]], - ['whirlpool_3556',['whirlpool',['../classIRac.html#ae5f7a03589f614c03c5ad8629100b05a',1,'IRac']]], - ['whirlpool_5fac_3557',['WHIRLPOOL_AC',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada9faf927323d110269541b356f079b85a',1,'IRremoteESP8266.h']]], - ['whirlpool_5fac_5fremote_5fmodel_5ft_3558',['whirlpool_ac_remote_model_t',['../IRsend_8h.html#ab4e3ebf2fdf3c6a46da89a3e6ebcd2e2',1,'IRsend.h']]], - ['whynter_3559',['WHYNTER',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada458cdd7fa2b29dc8617c694696580c0c',1,'IRremoteESP8266.h']]], - ['widevane_3560',['WideVane',['../unionMitsubishi144Protocol.html#ad0c48e95ca7e0658edf7c2ac2b541c3c',1,'Mitsubishi144Protocol']]], - ['wifi_3561',['Wifi',['../unionVoltasProtocol.html#aae1406825a156f159c5ad4b28d20364c',1,'VoltasProtocol::Wifi()'],['../unionGreeProtocol.html#a6cf8e0a6c54a5d2b6f14074c6f3dcc92',1,'GreeProtocol::WiFi()']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_1a.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_1a.js deleted file mode 100644 index 890376dfd..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_1a.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['zepeal_3566',['ZEPEAL',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada1622e3d0835b4d47add716811c7bf797',1,'IRremoteESP8266.h']]], - ['zh_2dcn_2eh_3567',['zh-CN.h',['../zh-CN_8h.html',1,'']]], - ['zonefollow1_3568',['ZoneFollow1',['../unionCoolixProtocol.html#a5f19a21823bbdb6d5deceb03db0d3d5b',1,'CoolixProtocol']]], - ['zonefollow2_3569',['ZoneFollow2',['../unionCoolixProtocol.html#ade33ba99bcfcf9d7dac334e56e9bb167',1,'CoolixProtocol']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_1b.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_1b.js deleted file mode 100644 index 39c6c2711..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_1b.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['_7eirrecv_3570',['~IRrecv',['../classIRrecv.html#a87d4cca5e350177cb0922842dda1eb5b',1,'IRrecv']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_4.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_4.js deleted file mode 100644 index 88834a703..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_4.js +++ /dev/null @@ -1,135 +0,0 @@ -var searchData= -[ - ['d_184',['D',['../unionMitsubishi152Protocol.html#ac493830f3bf09e178aa09b24368746c9',1,'Mitsubishi152Protocol']]], - ['daikin_185',['daikin',['../classIRac.html#afb6d77bbeb5b2465437cef4f58b83e0e',1,'IRac::daikin()'],['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadad8dc0597fd237d7098246334f3b5f37e',1,'DAIKIN(): IRremoteESP8266.h']]], - ['daikin128_186',['daikin128',['../classIRac.html#a8fe7c254e1bcb32b6b6fdc1f91693a50',1,'IRac::daikin128()'],['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada4b26fb376f6375dd6d1d4be186438f88',1,'DAIKIN128(): IRremoteESP8266.h']]], - ['daikin128protocol_187',['Daikin128Protocol',['../unionDaikin128Protocol.html',1,'']]], - ['daikin152_188',['daikin152',['../classIRac.html#a6dff8e608e3e9fecffe71c3fd1ebe74e',1,'IRac::daikin152()'],['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadad3f5f7ca39aee5fdab671a1b0d647ae4',1,'DAIKIN152(): IRremoteESP8266.h']]], - ['daikin152protocol_189',['Daikin152Protocol',['../unionDaikin152Protocol.html',1,'']]], - ['daikin160_190',['daikin160',['../classIRac.html#a3b34f44d713efa52f30d43405cde831c',1,'IRac::daikin160()'],['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada4db6a848df3aed4289801e1b2bbbf6aa',1,'DAIKIN160(): IRremoteESP8266.h']]], - ['daikin160protocol_191',['Daikin160Protocol',['../unionDaikin160Protocol.html',1,'']]], - ['daikin176_192',['daikin176',['../classIRac.html#aaae173fd58a7b53c3f4d2edbf7c4afe7',1,'IRac::daikin176()'],['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada57f78a3b04d904f19d10bac13483deab',1,'DAIKIN176(): IRremoteESP8266.h']]], - ['daikin176protocol_193',['Daikin176Protocol',['../unionDaikin176Protocol.html',1,'']]], - ['daikin2_194',['daikin2',['../classIRac.html#a89eddc0e1b3c41c608208d2752dc954c',1,'IRac::daikin2()'],['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadab37b344f84d575ec78a92ca55e153586',1,'DAIKIN2(): IRremoteESP8266.h']]], - ['daikin216_195',['daikin216',['../classIRac.html#a101ac8b9e9564e557ef1a1f61ff111d9',1,'IRac::daikin216()'],['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadaa833fa3a20c3cbb7e6206dac4da30ffb',1,'DAIKIN216(): IRremoteESP8266.h']]], - ['daikin216protocol_196',['Daikin216Protocol',['../unionDaikin216Protocol.html',1,'']]], - ['daikin2protocol_197',['Daikin2Protocol',['../unionDaikin2Protocol.html',1,'']]], - ['daikin64_198',['daikin64',['../classIRac.html#a074db6fc0cff2878d80a397020e1b249',1,'IRac::daikin64()'],['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada70581853ce4883b747d22fdfd74409c4',1,'DAIKIN64(): IRremoteESP8266.h']]], - ['daikin64protocol_199',['Daikin64Protocol',['../unionDaikin64Protocol.html',1,'']]], - ['daikinespprotocol_200',['DaikinESPProtocol',['../unionDaikinESPProtocol.html',1,'']]], - ['data_201',['data',['../structmatch__result__t.html#ae88be61a6d1ffa7c3525aa958f4c0d25',1,'match_result_t']]], - ['data0_202',['Data0',['../structCoronaSection.html#a975b14d8bc30807013714158ef7474ea',1,'CoronaSection']]], - ['data0inv_203',['Data0Inv',['../structCoronaSection.html#ab05024b8314929dcd8ccdda9b497be8c',1,'CoronaSection']]], - ['data1_204',['Data1',['../structCoronaSection.html#a59d97a1bc0a1be50b6f96c4d70673425',1,'CoronaSection']]], - ['data1inv_205',['Data1Inv',['../structCoronaSection.html#ada247bbfb60f24cd9e9a612c9621cbb4',1,'CoronaSection']]], - ['de_2dch_2eh_206',['de-CH.h',['../de-CH_8h.html',1,'']]], - ['de_2dde_2eh_207',['de-DE.h',['../de-DE_8h.html',1,'']]], - ['decode_208',['decode',['../classIRrecv.html#aeaa5c07a8b46f8fbb982f996cc1f9f4b',1,'IRrecv']]], - ['decode_5fresults_209',['decode_results',['../classdecode__results.html',1,'']]], - ['decode_5ftype_210',['decode_type',['../classdecode__results.html#a9c0e9f161b9c90dc10b7561d4c0b50fa',1,'decode_results']]], - ['decode_5ftype_5ft_211',['decode_type_t',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fad',1,'IRremoteESP8266.h']]], - ['decodeairwell_212',['decodeAirwell',['../classIRrecv.html#acf4635d5ee146a82498cb0c269b6af41',1,'IRrecv']]], - ['decodeaiwarct501_213',['decodeAiwaRCT501',['../classIRrecv.html#aa4d678376a4c0f8ea953474a6f5ef9d2',1,'IRrecv']]], - ['decodeamcor_214',['decodeAmcor',['../classIRrecv.html#a8d81fcfb47e36925975d313027689a44',1,'IRrecv']]], - ['decodeargo_215',['decodeArgo',['../classIRrecv.html#a94f12dc000a6e7b75ea8680fd48fc487',1,'IRrecv']]], - ['decodecarrierac_216',['decodeCarrierAC',['../classIRrecv.html#acf3d1c37038120a5c0996d92577ce74a',1,'IRrecv']]], - ['decodecarrierac40_217',['decodeCarrierAC40',['../classIRrecv.html#a4bdb35ec34f49401a6b9becd15b8a3b5',1,'IRrecv']]], - ['decodecarrierac64_218',['decodeCarrierAC64',['../classIRrecv.html#a79d03c31da48a385ab47cc8f342ef9b3',1,'IRrecv']]], - ['decodecoolix_219',['decodeCOOLIX',['../classIRrecv.html#a964af7e72e2133688f0596c718cb98ca',1,'IRrecv']]], - ['decodecoronaac_220',['decodeCoronaAc',['../classIRrecv.html#a981cba14551c93af57f9c1c0e1775d12',1,'IRrecv']]], - ['decodedaikin_221',['decodeDaikin',['../classIRrecv.html#a141f0de9f4cae8daeb025aff3904ecaa',1,'IRrecv']]], - ['decodedaikin128_222',['decodeDaikin128',['../classIRrecv.html#ac7188577c874d9f8f19304a3ec775415',1,'IRrecv']]], - ['decodedaikin152_223',['decodeDaikin152',['../classIRrecv.html#ab20a6586b4e56cc428012ec96f5ccc2c',1,'IRrecv']]], - ['decodedaikin160_224',['decodeDaikin160',['../classIRrecv.html#af0b9822defe6b29099079d664d9dc413',1,'IRrecv']]], - ['decodedaikin176_225',['decodeDaikin176',['../classIRrecv.html#aa142d1340201b6fdc5b462f46fe21ee0',1,'IRrecv']]], - ['decodedaikin2_226',['decodeDaikin2',['../classIRrecv.html#a4c4799a0d45ea5562159c46939617d80',1,'IRrecv']]], - ['decodedaikin216_227',['decodeDaikin216',['../classIRrecv.html#a7f860686a5c58aa8f4d1842cfb15b2f9',1,'IRrecv']]], - ['decodedaikin64_228',['decodeDaikin64',['../classIRrecv.html#a030701f081a9c6eab0c07b75433b524c',1,'IRrecv']]], - ['decodedelonghiac_229',['decodeDelonghiAc',['../classIRrecv.html#a8c91cc83770d243e942387cc16e9ca6f',1,'IRrecv']]], - ['decodedenon_230',['decodeDenon',['../classIRrecv.html#a0b1bd1c817cb43bc3755126191b7f4a2',1,'IRrecv']]], - ['decodedish_231',['decodeDISH',['../classIRrecv.html#a851776d9178aeb706d9a1abd3f254e31',1,'IRrecv']]], - ['decodedoshisha_232',['decodeDoshisha',['../classIRrecv.html#a675c45e6b32aaeca3de734ccf2f0c819',1,'IRrecv']]], - ['decodeelectraac_233',['decodeElectraAC',['../classIRrecv.html#ad3a7be8afc36451c8e28e27f3c3e9aaa',1,'IRrecv']]], - ['decodeelitescreens_234',['decodeElitescreens',['../classIRrecv.html#ac830ece2c2c200b8c13fcd66828e2846',1,'IRrecv']]], - ['decodeepson_235',['decodeEpson',['../classIRrecv.html#aaadef8415f273ba25f4086fecd681d2e',1,'IRrecv']]], - ['decodefujitsuac_236',['decodeFujitsuAC',['../classIRrecv.html#aa3778bdf994bf9c99ac48ef95434a826',1,'IRrecv']]], - ['decodegicable_237',['decodeGICable',['../classIRrecv.html#afade8dac9b1d023e5e0946e6b2c08aea',1,'IRrecv']]], - ['decodegoodweather_238',['decodeGoodweather',['../classIRrecv.html#a64650ce7dbaf5fc860a6a253d906e9de',1,'IRrecv']]], - ['decodegree_239',['decodeGree',['../classIRrecv.html#a2e756342d7524a13d53d6c656700638c',1,'IRrecv']]], - ['decodehaierac_240',['decodeHaierAC',['../classIRrecv.html#ad97403174f05197a7fa9a4a0107e3111',1,'IRrecv']]], - ['decodehaieracyrw02_241',['decodeHaierACYRW02',['../classIRrecv.html#a281fb9d972fee75db49209c42f649822',1,'IRrecv']]], - ['decodehash_242',['decodeHash',['../classIRrecv.html#a7c15fbfa7936ca474712a1953911fd06',1,'IRrecv']]], - ['decodehitachiac_243',['decodeHitachiAC',['../classIRrecv.html#aa42facfffc0e304005272b6ddd4583c8',1,'IRrecv']]], - ['decodehitachiac1_244',['decodeHitachiAC1',['../classIRrecv.html#a122e0dcbf14c90ec2d77399acce21459',1,'IRrecv']]], - ['decodehitachiac3_245',['decodeHitachiAc3',['../classIRrecv.html#a113bc834eff00f55d5545ce3fa1ab203',1,'IRrecv']]], - ['decodehitachiac424_246',['decodeHitachiAc424',['../classIRrecv.html#a01c3dda56d6d916076fa1affa2213129',1,'IRrecv']]], - ['decodeinax_247',['decodeInax',['../classIRrecv.html#a94545c6a8da027b9cb0e23ecba4c29d8',1,'IRrecv']]], - ['decodejvc_248',['decodeJVC',['../classIRrecv.html#a25ab71efc223a418e9630d8421f44bc9',1,'IRrecv']]], - ['decodekelvinator_249',['decodeKelvinator',['../classIRrecv.html#a0ac82f20b48b2d71ee07eb392578b226',1,'IRrecv']]], - ['decodelasertag_250',['decodeLasertag',['../classIRrecv.html#ae4af614a45ea65cb3304ef5bd7965122',1,'IRrecv']]], - ['decodelegopf_251',['decodeLegoPf',['../classIRrecv.html#aea75ad0ba1d8fec33de16501940f2553',1,'IRrecv']]], - ['decodelg_252',['decodeLG',['../classIRrecv.html#afe70015c36b1477a5de0c193163e13a7',1,'IRrecv']]], - ['decodelutron_253',['decodeLutron',['../classIRrecv.html#a6093c4404a9a9d415c5bfeab5ec53be5',1,'IRrecv']]], - ['decodemagiquest_254',['decodeMagiQuest',['../classIRrecv.html#a6f3bfcc6767484151dee758bcf94fb0b',1,'IRrecv']]], - ['decodemetz_255',['decodeMetz',['../classIRrecv.html#ac39aa52eec10d1c92b6e9713a22252b6',1,'IRrecv']]], - ['decodemidea_256',['decodeMidea',['../classIRrecv.html#a255b15601f7439a09ab5e77ad78816fb',1,'IRrecv']]], - ['decodemidea24_257',['decodeMidea24',['../classIRrecv.html#a62a04019308b29ae2aea4b3a83ba9155',1,'IRrecv']]], - ['decodemirage_258',['decodeMirage',['../classIRrecv.html#aa88813f830a6ff6bfd6e7bde6728a3d5',1,'IRrecv']]], - ['decodemitsubishi_259',['decodeMitsubishi',['../classIRrecv.html#a6efe3be80f0ebef3ff94ed0e56c5c52a',1,'IRrecv']]], - ['decodemitsubishi112_260',['decodeMitsubishi112',['../classIRrecv.html#ae0690ff3cb5a5cdcdb6a514bb7bf0cdd',1,'IRrecv']]], - ['decodemitsubishi136_261',['decodeMitsubishi136',['../classIRrecv.html#a87b3ee57dbdf762a0e305ddd43eec629',1,'IRrecv']]], - ['decodemitsubishi2_262',['decodeMitsubishi2',['../classIRrecv.html#a9514197850491a5b8c30ae9ffc89d895',1,'IRrecv']]], - ['decodemitsubishiac_263',['decodeMitsubishiAC',['../classIRrecv.html#a942c5f41df5cbff32a8b7703673cb621',1,'IRrecv']]], - ['decodemitsubishiheavy_264',['decodeMitsubishiHeavy',['../classIRrecv.html#aef9cedf79793806df4cc5376710781bc',1,'IRrecv']]], - ['decodemultibrackets_265',['decodeMultibrackets',['../classIRrecv.html#af61afacc9865232643164ba824e665ab',1,'IRrecv']]], - ['decodemwm_266',['decodeMWM',['../classIRrecv.html#a27518b5d792cdf3ab333b324f409f328',1,'IRrecv']]], - ['decodenec_267',['decodeNEC',['../classIRrecv.html#a52b844f80df7f64edf9ce9cc189ac5b9',1,'IRrecv']]], - ['decodeneoclima_268',['decodeNeoclima',['../classIRrecv.html#a4729ee949e533448b481ae33bbbf1adf',1,'IRrecv']]], - ['decodenikai_269',['decodeNikai',['../classIRrecv.html#abbcbf5fc07d7e37d7724acc37bb5f592',1,'IRrecv']]], - ['decodepanasonic_270',['decodePanasonic',['../classIRrecv.html#aa8dd5f24d28576c6db03cc463bd0a865',1,'IRrecv']]], - ['decodepanasonicac_271',['decodePanasonicAC',['../classIRrecv.html#a0f78e180ed731e8fb16d1c85aa721c95',1,'IRrecv']]], - ['decodepanasonicac32_272',['decodePanasonicAC32',['../classIRrecv.html#a89ce20e483b1297cae05ab1ae96d24ec',1,'IRrecv']]], - ['decodepioneer_273',['decodePioneer',['../classIRrecv.html#a78a9487cbe8a562392a07a4090b3091e',1,'IRrecv']]], - ['decoderc5_274',['decodeRC5',['../classIRrecv.html#adab9dffbeceee514520fababd0e721bd',1,'IRrecv']]], - ['decoderc6_275',['decodeRC6',['../classIRrecv.html#a67316499ef37db82e3b3ecaac25c5980',1,'IRrecv']]], - ['decodercmm_276',['decodeRCMM',['../classIRrecv.html#a0e7bf769cb5bebf174e852e4b0b08cf3',1,'IRrecv']]], - ['decodesamsung_277',['decodeSAMSUNG',['../classIRrecv.html#a18b6cf177364faf11b9a076dd2025eec',1,'IRrecv']]], - ['decodesamsung36_278',['decodeSamsung36',['../classIRrecv.html#a290a9e6a0b12ef1fe02a92a456c8ad57',1,'IRrecv']]], - ['decodesamsungac_279',['decodeSamsungAC',['../classIRrecv.html#ae779c76ebd0f3cd1fc13abaa55f80d67',1,'IRrecv']]], - ['decodesanyoac_280',['decodeSanyoAc',['../classIRrecv.html#ab6c02d8b8079d7f344e141e6a4e7e225',1,'IRrecv']]], - ['decodesanyolc7461_281',['decodeSanyoLC7461',['../classIRrecv.html#a01a165bf2e7d16dbbb916d1eae740bc5',1,'IRrecv']]], - ['decodesharp_282',['decodeSharp',['../classIRrecv.html#a3390d63ba21a835d7c74c261532a22a7',1,'IRrecv']]], - ['decodesharpac_283',['decodeSharpAc',['../classIRrecv.html#a8a9b920079f783e236f8a938e20b9743',1,'IRrecv']]], - ['decodesony_284',['decodeSony',['../classIRrecv.html#ab03227955cf7d1d00c1620c55d7f9f18',1,'IRrecv']]], - ['decodesymphony_285',['decodeSymphony',['../classIRrecv.html#a61cdf4d891654521afbc6ca9fb415745',1,'IRrecv']]], - ['decodetechnibelac_286',['decodeTechnibelAc',['../classIRrecv.html#a2f022741309ad814bf11aec440a838d0',1,'IRrecv']]], - ['decodeteco_287',['decodeTeco',['../classIRrecv.html#a950711d7df8dfe4cda86f53650cd9f56',1,'IRrecv']]], - ['decodetoshibaac_288',['decodeToshibaAC',['../classIRrecv.html#aae6ab687ae319ae50a52238916bcfb1a',1,'IRrecv']]], - ['decodetostate_289',['decodeToState',['../namespaceIRAcUtils.html#ac5eb498bf12cb6cba023c9c1e9726949',1,'IRAcUtils']]], - ['decodetranscold_290',['decodeTranscold',['../classIRrecv.html#a16c44538d7e01d9b118d983de39d18e3',1,'IRrecv']]], - ['decodetrotec_291',['decodeTrotec',['../classIRrecv.html#ae2920c488173f3fa37f5325438157ced',1,'IRrecv']]], - ['decodevestelac_292',['decodeVestelAc',['../classIRrecv.html#a5d48b3c91434c18c7726cca504d75b73',1,'IRrecv']]], - ['decodevoltas_293',['decodeVoltas',['../classIRrecv.html#a43539320036ba1c17e9875e4dc9fd055',1,'IRrecv']]], - ['decodewhirlpoolac_294',['decodeWhirlpoolAC',['../classIRrecv.html#a0d1eec83cf092f5621cb34b3e94777c4',1,'IRrecv']]], - ['decodewhynter_295',['decodeWhynter',['../classIRrecv.html#a66289f6a462557ad26e6c0a64f36cf02',1,'IRrecv']]], - ['decodezepeal_296',['decodeZepeal',['../classIRrecv.html#a72afd857c8b2e0192021a40afc96c2d8',1,'IRrecv']]], - ['defaultbits_297',['defaultBits',['../classIRsend.html#a70a2256bee8ad9b8ea8571dd4f26596f',1,'IRsend']]], - ['defaults_2eh_298',['defaults.h',['../defaults_8h.html',1,'']]], - ['degrees_299',['degrees',['../structstdAc_1_1state__t.html#a3d1ff0ff2e0035db4ee8ead5c53b2dbd',1,'stdAc::state_t']]], - ['delonghi_5fac_300',['DELONGHI_AC',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada149190c9dec98e9c3f4a2bd530b154a3',1,'IRremoteESP8266.h']]], - ['delonghiac_301',['delonghiac',['../classIRac.html#af290b0b08cff5121bb88c62051ed1074',1,'IRac']]], - ['delonghiprotocol_302',['DelonghiProtocol',['../unionDelonghiProtocol.html',1,'']]], - ['denon_303',['DENON',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada2bda37b76abb290d1675c3e027e3c2e1',1,'IRremoteESP8266.h']]], - ['deprecated_20list_304',['Deprecated List',['../deprecated.html',1,'']]], - ['dg11j13a_305',['DG11J13A',['../IRsend_8h.html#ab4e3ebf2fdf3c6a46da89a3e6ebcd2e2a868d69f0605cf9151b0163a3481e2fb9',1,'IRsend.h']]], - ['dg11j191_306',['DG11J191',['../IRsend_8h.html#ab4e3ebf2fdf3c6a46da89a3e6ebcd2e2adaecfc16f36975f231db2507a8a36c0c',1,'IRsend.h']]], - ['disableirin_307',['disableIRIn',['../classIRrecv.html#a9f4a719e756ad78c7dd47186f8bef087',1,'IRrecv']]], - ['disableofftimer_308',['disableOffTimer',['../classIRDaikinESP.html#a1e4e05ad0799002d0ab25db92dcaac06',1,'IRDaikinESP::disableOffTimer()'],['../classIRDaikin2.html#a8cbdbc0de31b14f974cd8cd87f3ca54a',1,'IRDaikin2::disableOffTimer()']]], - ['disableontimer_309',['disableOnTimer',['../classIRDaikinESP.html#a0733e4a15d76baac23493926ef1765b1',1,'IRDaikinESP::disableOnTimer()'],['../classIRDaikin2.html#a170a1e9ddb7873dc1392184a85387cc3',1,'IRDaikin2::disableOnTimer()']]], - ['disablesensor_310',['disableSensor',['../unionMideaProtocol.html#a20cc2079eae404c980cc75101b4a3116',1,'MideaProtocol']]], - ['disablesleeptimer_311',['disableSleepTimer',['../classIRDaikin2.html#a152532ef9d905e26930ae145a9623877',1,'IRDaikin2']]], - ['dish_312',['DISH',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadac27c6ac38ba872593af8e46ac2fdc85a',1,'IRremoteESP8266.h']]], - ['displaytemp_313',['DisplayTemp',['../unionGreeProtocol.html#ad0756a64f9c90c9dd12ca6cd71c78bb2',1,'GreeProtocol']]], - ['doshisha_314',['DOSHISHA',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadab4566b260773b60c85450f40fa5b4341',1,'IRremoteESP8266.h']]], - ['doxygen_5findex_2emd_315',['doxygen_index.md',['../doxygen__index_8md.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_5.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_5.js deleted file mode 100644 index e05b1dd67..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_5.js +++ /dev/null @@ -1,39 +0,0 @@ -var searchData= -[ - ['econo_316',['Econo',['../unionCoronaProtocol.html#a1076afecc4292c370fed27ce380a1ed5',1,'CoronaProtocol::Econo()'],['../unionDaikinESPProtocol.html#a29138c4ff722520ca23863568a96bf53',1,'DaikinESPProtocol::Econo()'],['../unionDaikin2Protocol.html#aa715d01b8972f98a41829ed976932ef7',1,'Daikin2Protocol::Econo()'],['../unionDaikin128Protocol.html#a8920f30a9d4bb0132762d80c8297d5f2',1,'Daikin128Protocol::Econo()'],['../unionDaikin152Protocol.html#ad9c7903f82a89b94e0c9dfe8b7298658',1,'Daikin152Protocol::Econo()'],['../unionVoltasProtocol.html#a4f44e3e3a68988d25173b2aab1c32e53',1,'VoltasProtocol::Econo()'],['../structstdAc_1_1state__t.html#a580c826c6d9671715adfe8445531b957',1,'stdAc::state_t::econo()']]], - ['elapsed_317',['elapsed',['../classIRtimer.html#ad655e585f053580d49d8de7d52cd62a1',1,'IRtimer::elapsed()'],['../classTimerMs.html#ad4aa759c58727393f69863b3461dfc09',1,'TimerMs::elapsed()']]], - ['electra_318',['electra',['../classIRac.html#abb847bd5e09feb293432b8a8cf0dd9de',1,'IRac']]], - ['electra_5fac_319',['ELECTRA_AC',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada05f193ef4ead3e54624bd92dc3203fac',1,'IRremoteESP8266.h']]], - ['electraprotocol_320',['ElectraProtocol',['../unionElectraProtocol.html',1,'']]], - ['elitescreens_321',['ELITESCREENS',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadafebe19d5453be4c99de8c031508b7cb1',1,'IRremoteESP8266.h']]], - ['en_2dau_2eh_322',['en-AU.h',['../en-AU_8h.html',1,'']]], - ['en_2die_2eh_323',['en-IE.h',['../en-IE_8h.html',1,'']]], - ['en_2duk_2eh_324',['en-UK.h',['../en-UK_8h.html',1,'']]], - ['en_2dus_2eh_325',['en-US.h',['../en-US_8h.html',1,'']]], - ['enableirin_326',['enableIRIn',['../classIRrecv.html#a52c05ec6d8f3dbfb75f21f3b4fe7be3d',1,'IRrecv']]], - ['enableirout_327',['enableIROut',['../classIRsend.html#ab3b6d36c9b5d26c400526717d433ed2d',1,'IRsend']]], - ['enableofftimer_328',['enableOffTimer',['../classIRDaikinESP.html#a8a5686066bfc86f1d7cc454e793d3357',1,'IRDaikinESP::enableOffTimer()'],['../classIRDaikin2.html#afc7ba7d7de2976e010a72778091d633a',1,'IRDaikin2::enableOffTimer()'],['../classIRWhirlpoolAc.html#abb1c3685d90d81b44e72050cd0e042f6',1,'IRWhirlpoolAc::enableOffTimer()']]], - ['enableontimer_329',['enableOnTimer',['../classIRDaikinESP.html#aac4d0f5f60c9f4c41d3bb1e0f24bc4bc',1,'IRDaikinESP::enableOnTimer()'],['../classIRDaikin2.html#a91ec5f7c67cb87102a5eb030e0763b50',1,'IRDaikin2::enableOnTimer()'],['../classIRWhirlpoolAc.html#aa3edd58882cf4fc65172e490c9e0bb2e',1,'IRWhirlpoolAc::enableOnTimer()']]], - ['enablesleeptimer_330',['enableSleepTimer',['../classIRDaikin2.html#a9c86782a98a54818ae92419eec5a060b',1,'IRDaikin2']]], - ['enabletimer_331',['enableTimer',['../classIRWhirlpoolAc.html#ad07804318721bc5dd60f7322e02c9696',1,'IRWhirlpoolAc']]], - ['encodedoshisha_332',['encodeDoshisha',['../classIRsend.html#a0522a2256e8358df715065530be6317d',1,'IRsend']]], - ['encodejvc_333',['encodeJVC',['../classIRsend.html#a6303b991c0545443e7ccf63ba89dbf18',1,'IRsend']]], - ['encodelg_334',['encodeLG',['../classIRsend.html#a109b67a68e7a33900cb5c5017ed4578b',1,'IRsend']]], - ['encodemagiquest_335',['encodeMagiQuest',['../classIRsend.html#a4ee40126279dbde8bb02888115577563',1,'IRsend']]], - ['encodemetz_336',['encodeMetz',['../classIRsend.html#a99c88ec9f8426003738a9a1682595b9a',1,'IRsend']]], - ['encodenec_337',['encodeNEC',['../classIRsend.html#ab2e1ce918e4e06b955c3d2a089ce189c',1,'IRsend']]], - ['encodepanasonic_338',['encodePanasonic',['../classIRsend.html#a8340497ae75f00c844e53dfc73700d9c',1,'IRsend']]], - ['encodepioneer_339',['encodePioneer',['../classIRsend.html#ae0686829eba31587b71034a1c0495971',1,'IRsend']]], - ['encoderc5_340',['encodeRC5',['../classIRsend.html#a88457fd4cc01d6e8097e04c022ede74a',1,'IRsend']]], - ['encoderc5x_341',['encodeRC5X',['../classIRsend.html#ae760ef1be11f25f7a61237f96a8871d9',1,'IRsend']]], - ['encoderc6_342',['encodeRC6',['../classIRsend.html#ac0e341462426ea146b944502a6d3fde0',1,'IRsend']]], - ['encodesamsung_343',['encodeSAMSUNG',['../classIRsend.html#a4ab0579bd854306b2667de19207e4ffb',1,'IRsend']]], - ['encodesanyolc7461_344',['encodeSanyoLC7461',['../classIRsend.html#a864bef0dc48f6af4b59057362906cf5d',1,'IRsend']]], - ['encodesharp_345',['encodeSharp',['../classIRsend.html#a8f4c7a36380ba31155eba5ff8f5f631e',1,'IRsend']]], - ['encodesony_346',['encodeSony',['../classIRsend.html#aa0aea2cb04f0a7ee9056f15fecfc08c3',1,'IRsend']]], - ['encodetime_347',['encodeTime',['../classIRPanasonicAc.html#a0eee4ad6105d35ee6c34c4666174b04b',1,'IRPanasonicAc']]], - ['epson_348',['EPSON',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadaaf677fd380c38297264a10732631927c',1,'IRremoteESP8266.h']]], - ['es_2des_2eh_349',['es-ES.h',['../es-ES_8h.html',1,'']]], - ['eye_350',['Eye',['../unionDaikin2Protocol.html#aa8351138b8db3b8be5f40d1515802381',1,'Daikin2Protocol']]], - ['eyeauto_351',['EyeAuto',['../unionDaikin2Protocol.html#a22f2288452065069018bef94d2505ab7',1,'Daikin2Protocol']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_8.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_8.js deleted file mode 100644 index dab71db95..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_8.js +++ /dev/null @@ -1,34 +0,0 @@ -var searchData= -[ - ['haier_495',['haier',['../classIRac.html#ae0a29a4cb8c7a4707a7725c576822a58',1,'IRac']]], - ['haier_5fac_496',['HAIER_AC',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada1f232bcdf330ec2e353196941b9f1628',1,'IRremoteESP8266.h']]], - ['haier_5fac_5fyrw02_497',['HAIER_AC_YRW02',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadaacda5821835865551f6df46c76282fa4',1,'IRremoteESP8266.h']]], - ['haierprotocol_498',['HaierProtocol',['../unionHaierProtocol.html',1,'']]], - ['haieryrw02protocol_499',['HaierYRW02Protocol',['../unionHaierYRW02Protocol.html',1,'']]], - ['haieryrwo2_500',['haierYrwo2',['../classIRac.html#a7bc779a162dd9a1b4c925febec443353',1,'IRac']]], - ['handlespecialstate_501',['handleSpecialState',['../classIRCoolixAC.html#af78090c6d8b45b4202a80f1223640390',1,'IRCoolixAC::handleSpecialState()'],['../classIRTranscoldAc.html#a01a3e3f8f92b8fb3b6d023e595f3ce17',1,'IRTranscoldAc::handleSpecialState()']]], - ['handletoggles_502',['handleToggles',['../classIRac.html#a36833999dce4ad608a5a0f084988cfd1',1,'IRac']]], - ['hasacstate_503',['hasACState',['../IRutils_8cpp.html#a6efd4986db60709d3501606ec7ab5382',1,'hasACState(const decode_type_t protocol): IRutils.cpp'],['../IRutils_8h.html#a6efd4986db60709d3501606ec7ab5382',1,'hasACState(const decode_type_t protocol): IRutils.cpp']]], - ['hasinvertedstates_504',['hasInvertedStates',['../classIRHitachiAc3.html#ac06b36245c85480d97c1a9f49cfaa005',1,'IRHitachiAc3']]], - ['hasstatechanged_505',['hasStateChanged',['../classIRac.html#a35258c35a2d2b19886292b22b2aa053a',1,'IRac']]], - ['header_506',['Header',['../unionMideaProtocol.html#a892508b7b4cade91dd2e315b678f5f1b',1,'MideaProtocol']]], - ['header0_507',['Header0',['../structCoronaSection.html#a3b3c0a1a42da65bb4b481e59b42f26a6',1,'CoronaSection']]], - ['header1_508',['Header1',['../structCoronaSection.html#a3d6d6c1e31f82a76cd88f81bcdb83a3a',1,'CoronaSection']]], - ['health_509',['Health',['../unionHaierProtocol.html#a4cf70c633e33066e3fc0f98bb2ad3820',1,'HaierProtocol::Health()'],['../unionHaierYRW02Protocol.html#a7fa39803fd72a788736bb8f00acfa76f',1,'HaierYRW02Protocol::Health()']]], - ['heat_5fmode_510',['heat_mode',['../classIRArgoAC.html#a255762f71502b9ffeb0686759991ec53',1,'IRArgoAC']]], - ['hitachi_511',['hitachi',['../classIRac.html#acd0f2fcf03aabf947a19a195000add3c',1,'IRac']]], - ['hitachi1_512',['hitachi1',['../classIRac.html#ac8807d62f6ae87af72d44b50bed3f17b',1,'IRac']]], - ['hitachi1protocol_513',['Hitachi1Protocol',['../unionHitachi1Protocol.html',1,'']]], - ['hitachi344_514',['hitachi344',['../classIRac.html#a0bc34635a1a349816344916a82585460',1,'IRac']]], - ['hitachi424_515',['hitachi424',['../classIRac.html#aec6de0752ddd3a3e7c6824cb1b692508',1,'IRac']]], - ['hitachi424protocol_516',['Hitachi424Protocol',['../unionHitachi424Protocol.html',1,'']]], - ['hitachi_5fac_517',['HITACHI_AC',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada9020fb54ac69d8aec0185f7e80c962ca',1,'IRremoteESP8266.h']]], - ['hitachi_5fac1_518',['HITACHI_AC1',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada7d9a74161d95e62bece3c0e48900cb35',1,'IRremoteESP8266.h']]], - ['hitachi_5fac1_5fremote_5fmodel_5ft_519',['hitachi_ac1_remote_model_t',['../IRsend_8h.html#acd0c6107b5a6cab2080b18a8de14ea49',1,'IRsend.h']]], - ['hitachi_5fac2_520',['HITACHI_AC2',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadab5a44068d519506efa8a3113aa44c9c0',1,'IRremoteESP8266.h']]], - ['hitachi_5fac3_521',['HITACHI_AC3',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadac3487c47b14da6af922f5b27992b30f3',1,'IRremoteESP8266.h']]], - ['hitachi_5fac344_522',['HITACHI_AC344',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada1e147eb39adc40e4181940cc2357f070',1,'IRremoteESP8266.h']]], - ['hitachi_5fac424_523',['HITACHI_AC424',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada85af068f8964d4359512265d8cc27a31',1,'IRremoteESP8266.h']]], - ['hitachiprotocol_524',['HitachiProtocol',['../unionHitachiProtocol.html',1,'']]], - ['htmlescape_525',['htmlEscape',['../namespaceirutils.html#a6e55c6fdcc82e1ef8bd5f73df83609a7',1,'irutils']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_9.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_9.js deleted file mode 100644 index 10845f7b2..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_9.js +++ /dev/null @@ -1,198 +0,0 @@ -var searchData= -[ - ['i18n_2eh_526',['i18n.h',['../i18n_8h.html',1,'']]], - ['ifeel_527',['iFeel',['../unionArgoProtocol.html#a9d51b32b8e2b2ff08339be238a775097',1,'ArgoProtocol::iFeel()'],['../unionGreeProtocol.html#a592364307a4b11064888bda76c403142',1,'GreeProtocol::IFeel()']]], - ['inax_528',['INAX',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadafc566aab3afb8face6d8965ca4d0eab7',1,'IRremoteESP8266.h']]], - ['irremoteesp8266_20library_20api_20documentation_529',['IRremoteESP8266 Library API Documentation',['../index.html',1,'']]], - ['initstate_530',['initState',['../classIRac.html#af1c4ae70e61298c0be8d350d67e7c342',1,'IRac::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)'],['../classIRac.html#a165b7fdb9b3a02b1fb5ff2c2c3747958',1,'IRac::initState(stdAc::state_t *state)']]], - ['invertbits_531',['invertBits',['../IRutils_8cpp.html#a1a85904f25c8ec77fb554d238c59cfdb',1,'invertBits(const uint64_t data, const uint16_t nbits): IRutils.cpp'],['../IRutils_8h.html#a1a85904f25c8ec77fb554d238c59cfdb',1,'invertBits(const uint64_t data, const uint16_t nbits): IRutils.cpp']]], - ['invertbytepairs_532',['invertBytePairs',['../namespaceirutils.html#ad818a474349546c84824451a5468f4fe',1,'irutils']]], - ['ionfilter_533',['IonFilter',['../unionKelvinatorProtocol.html#ad7c762e410c8cba234614563cdc9d384',1,'KelvinatorProtocol']]], - ['ir_5fairwell_2ecpp_534',['ir_Airwell.cpp',['../ir__Airwell_8cpp.html',1,'']]], - ['ir_5fairwell_2eh_535',['ir_Airwell.h',['../ir__Airwell_8h.html',1,'']]], - ['ir_5faiwa_2ecpp_536',['ir_Aiwa.cpp',['../ir__Aiwa_8cpp.html',1,'']]], - ['ir_5famcor_2ecpp_537',['ir_Amcor.cpp',['../ir__Amcor_8cpp.html',1,'']]], - ['ir_5famcor_2eh_538',['ir_Amcor.h',['../ir__Amcor_8h.html',1,'']]], - ['ir_5fargo_2ecpp_539',['ir_Argo.cpp',['../ir__Argo_8cpp.html',1,'']]], - ['ir_5fargo_2eh_540',['ir_Argo.h',['../ir__Argo_8h.html',1,'']]], - ['ir_5fcarrier_2ecpp_541',['ir_Carrier.cpp',['../ir__Carrier_8cpp.html',1,'']]], - ['ir_5fcarrier_2eh_542',['ir_Carrier.h',['../ir__Carrier_8h.html',1,'']]], - ['ir_5fcoolix_2ecpp_543',['ir_Coolix.cpp',['../ir__Coolix_8cpp.html',1,'']]], - ['ir_5fcoolix_2eh_544',['ir_Coolix.h',['../ir__Coolix_8h.html',1,'']]], - ['ir_5fcorona_2ecpp_545',['ir_Corona.cpp',['../ir__Corona_8cpp.html',1,'']]], - ['ir_5fcorona_2eh_546',['ir_Corona.h',['../ir__Corona_8h.html',1,'']]], - ['ir_5fdaikin_2ecpp_547',['ir_Daikin.cpp',['../ir__Daikin_8cpp.html',1,'']]], - ['ir_5fdaikin_2eh_548',['ir_Daikin.h',['../ir__Daikin_8h.html',1,'']]], - ['ir_5fdelonghi_2ecpp_549',['ir_Delonghi.cpp',['../ir__Delonghi_8cpp.html',1,'']]], - ['ir_5fdelonghi_2eh_550',['ir_Delonghi.h',['../ir__Delonghi_8h.html',1,'']]], - ['ir_5fdenon_2ecpp_551',['ir_Denon.cpp',['../ir__Denon_8cpp.html',1,'']]], - ['ir_5fdish_2ecpp_552',['ir_Dish.cpp',['../ir__Dish_8cpp.html',1,'']]], - ['ir_5fdoshisha_2ecpp_553',['ir_Doshisha.cpp',['../ir__Doshisha_8cpp.html',1,'']]], - ['ir_5felectra_2ecpp_554',['ir_Electra.cpp',['../ir__Electra_8cpp.html',1,'']]], - ['ir_5felectra_2eh_555',['ir_Electra.h',['../ir__Electra_8h.html',1,'']]], - ['ir_5felitescreens_2ecpp_556',['ir_EliteScreens.cpp',['../ir__EliteScreens_8cpp.html',1,'']]], - ['ir_5fepson_2ecpp_557',['ir_Epson.cpp',['../ir__Epson_8cpp.html',1,'']]], - ['ir_5ffujitsu_2ecpp_558',['ir_Fujitsu.cpp',['../ir__Fujitsu_8cpp.html',1,'']]], - ['ir_5ffujitsu_2eh_559',['ir_Fujitsu.h',['../ir__Fujitsu_8h.html',1,'']]], - ['ir_5fgicable_2ecpp_560',['ir_GICable.cpp',['../ir__GICable_8cpp.html',1,'']]], - ['ir_5fglobalcache_2ecpp_561',['ir_GlobalCache.cpp',['../ir__GlobalCache_8cpp.html',1,'']]], - ['ir_5fgoodweather_2ecpp_562',['ir_Goodweather.cpp',['../ir__Goodweather_8cpp.html',1,'']]], - ['ir_5fgoodweather_2eh_563',['ir_Goodweather.h',['../ir__Goodweather_8h.html',1,'']]], - ['ir_5fgree_2ecpp_564',['ir_Gree.cpp',['../ir__Gree_8cpp.html',1,'']]], - ['ir_5fgree_2eh_565',['ir_Gree.h',['../ir__Gree_8h.html',1,'']]], - ['ir_5fhaier_2ecpp_566',['ir_Haier.cpp',['../ir__Haier_8cpp.html',1,'']]], - ['ir_5fhaier_2eh_567',['ir_Haier.h',['../ir__Haier_8h.html',1,'']]], - ['ir_5fhitachi_2ecpp_568',['ir_Hitachi.cpp',['../ir__Hitachi_8cpp.html',1,'']]], - ['ir_5fhitachi_2eh_569',['ir_Hitachi.h',['../ir__Hitachi_8h.html',1,'']]], - ['ir_5finax_2ecpp_570',['ir_Inax.cpp',['../ir__Inax_8cpp.html',1,'']]], - ['ir_5fjvc_2ecpp_571',['ir_JVC.cpp',['../ir__JVC_8cpp.html',1,'']]], - ['ir_5fkelvinator_2ecpp_572',['ir_Kelvinator.cpp',['../ir__Kelvinator_8cpp.html',1,'']]], - ['ir_5fkelvinator_2eh_573',['ir_Kelvinator.h',['../ir__Kelvinator_8h.html',1,'']]], - ['ir_5flasertag_2ecpp_574',['ir_Lasertag.cpp',['../ir__Lasertag_8cpp.html',1,'']]], - ['ir_5flego_2ecpp_575',['ir_Lego.cpp',['../ir__Lego_8cpp.html',1,'']]], - ['ir_5flg_2ecpp_576',['ir_LG.cpp',['../ir__LG_8cpp.html',1,'']]], - ['ir_5flg_2eh_577',['ir_LG.h',['../ir__LG_8h.html',1,'']]], - ['ir_5flutron_2ecpp_578',['ir_Lutron.cpp',['../ir__Lutron_8cpp.html',1,'']]], - ['ir_5fmagiquest_2ecpp_579',['ir_Magiquest.cpp',['../ir__Magiquest_8cpp.html',1,'']]], - ['ir_5fmagiquest_2eh_580',['ir_Magiquest.h',['../ir__Magiquest_8h.html',1,'']]], - ['ir_5fmetz_2ecpp_581',['ir_Metz.cpp',['../ir__Metz_8cpp.html',1,'']]], - ['ir_5fmidea_2ecpp_582',['ir_Midea.cpp',['../ir__Midea_8cpp.html',1,'']]], - ['ir_5fmidea_2eh_583',['ir_Midea.h',['../ir__Midea_8h.html',1,'']]], - ['ir_5fmirage_2ecpp_584',['ir_Mirage.cpp',['../ir__Mirage_8cpp.html',1,'']]], - ['ir_5fmitsubishi_2ecpp_585',['ir_Mitsubishi.cpp',['../ir__Mitsubishi_8cpp.html',1,'']]], - ['ir_5fmitsubishi_2eh_586',['ir_Mitsubishi.h',['../ir__Mitsubishi_8h.html',1,'']]], - ['ir_5fmitsubishiheavy_2ecpp_587',['ir_MitsubishiHeavy.cpp',['../ir__MitsubishiHeavy_8cpp.html',1,'']]], - ['ir_5fmitsubishiheavy_2eh_588',['ir_MitsubishiHeavy.h',['../ir__MitsubishiHeavy_8h.html',1,'']]], - ['ir_5fmultibrackets_2ecpp_589',['ir_Multibrackets.cpp',['../ir__Multibrackets_8cpp.html',1,'']]], - ['ir_5fmwm_2ecpp_590',['ir_MWM.cpp',['../ir__MWM_8cpp.html',1,'']]], - ['ir_5fnec_2ecpp_591',['ir_NEC.cpp',['../ir__NEC_8cpp.html',1,'']]], - ['ir_5fnec_2eh_592',['ir_NEC.h',['../ir__NEC_8h.html',1,'']]], - ['ir_5fneoclima_2ecpp_593',['ir_Neoclima.cpp',['../ir__Neoclima_8cpp.html',1,'']]], - ['ir_5fneoclima_2eh_594',['ir_Neoclima.h',['../ir__Neoclima_8h.html',1,'']]], - ['ir_5fnikai_2ecpp_595',['ir_Nikai.cpp',['../ir__Nikai_8cpp.html',1,'']]], - ['ir_5fpanasonic_2ecpp_596',['ir_Panasonic.cpp',['../ir__Panasonic_8cpp.html',1,'']]], - ['ir_5fpanasonic_2eh_597',['ir_Panasonic.h',['../ir__Panasonic_8h.html',1,'']]], - ['ir_5fpioneer_2ecpp_598',['ir_Pioneer.cpp',['../ir__Pioneer_8cpp.html',1,'']]], - ['ir_5fpronto_2ecpp_599',['ir_Pronto.cpp',['../ir__Pronto_8cpp.html',1,'']]], - ['ir_5frc5_5frc6_2ecpp_600',['ir_RC5_RC6.cpp',['../ir__RC5__RC6_8cpp.html',1,'']]], - ['ir_5frcmm_2ecpp_601',['ir_RCMM.cpp',['../ir__RCMM_8cpp.html',1,'']]], - ['ir_5fsamsung_2ecpp_602',['ir_Samsung.cpp',['../ir__Samsung_8cpp.html',1,'']]], - ['ir_5fsamsung_2eh_603',['ir_Samsung.h',['../ir__Samsung_8h.html',1,'']]], - ['ir_5fsanyo_2ecpp_604',['ir_Sanyo.cpp',['../ir__Sanyo_8cpp.html',1,'']]], - ['ir_5fsanyo_2eh_605',['ir_Sanyo.h',['../ir__Sanyo_8h.html',1,'']]], - ['ir_5fsharp_2ecpp_606',['ir_Sharp.cpp',['../ir__Sharp_8cpp.html',1,'']]], - ['ir_5fsharp_2eh_607',['ir_Sharp.h',['../ir__Sharp_8h.html',1,'']]], - ['ir_5fsherwood_2ecpp_608',['ir_Sherwood.cpp',['../ir__Sherwood_8cpp.html',1,'']]], - ['ir_5fsony_2ecpp_609',['ir_Sony.cpp',['../ir__Sony_8cpp.html',1,'']]], - ['ir_5fsymphony_2ecpp_610',['ir_Symphony.cpp',['../ir__Symphony_8cpp.html',1,'']]], - ['ir_5ftcl_2ecpp_611',['ir_Tcl.cpp',['../ir__Tcl_8cpp.html',1,'']]], - ['ir_5ftcl_2eh_612',['ir_Tcl.h',['../ir__Tcl_8h.html',1,'']]], - ['ir_5ftechnibel_2ecpp_613',['ir_Technibel.cpp',['../ir__Technibel_8cpp.html',1,'']]], - ['ir_5ftechnibel_2eh_614',['ir_Technibel.h',['../ir__Technibel_8h.html',1,'']]], - ['ir_5fteco_2ecpp_615',['ir_Teco.cpp',['../ir__Teco_8cpp.html',1,'']]], - ['ir_5fteco_2eh_616',['ir_Teco.h',['../ir__Teco_8h.html',1,'']]], - ['ir_5ftoshiba_2ecpp_617',['ir_Toshiba.cpp',['../ir__Toshiba_8cpp.html',1,'']]], - ['ir_5ftoshiba_2eh_618',['ir_Toshiba.h',['../ir__Toshiba_8h.html',1,'']]], - ['ir_5ftranscold_2ecpp_619',['ir_Transcold.cpp',['../ir__Transcold_8cpp.html',1,'']]], - ['ir_5ftranscold_2eh_620',['ir_Transcold.h',['../ir__Transcold_8h.html',1,'']]], - ['ir_5ftrotec_2ecpp_621',['ir_Trotec.cpp',['../ir__Trotec_8cpp.html',1,'']]], - ['ir_5ftrotec_2eh_622',['ir_Trotec.h',['../ir__Trotec_8h.html',1,'']]], - ['ir_5fvestel_2ecpp_623',['ir_Vestel.cpp',['../ir__Vestel_8cpp.html',1,'']]], - ['ir_5fvestel_2eh_624',['ir_Vestel.h',['../ir__Vestel_8h.html',1,'']]], - ['ir_5fvoltas_2ecpp_625',['ir_Voltas.cpp',['../ir__Voltas_8cpp.html',1,'']]], - ['ir_5fvoltas_2eh_626',['ir_Voltas.h',['../ir__Voltas_8h.html',1,'']]], - ['ir_5fwhirlpool_2ecpp_627',['ir_Whirlpool.cpp',['../ir__Whirlpool_8cpp.html',1,'']]], - ['ir_5fwhirlpool_2eh_628',['ir_Whirlpool.h',['../ir__Whirlpool_8h.html',1,'']]], - ['ir_5fwhynter_2ecpp_629',['ir_Whynter.cpp',['../ir__Whynter_8cpp.html',1,'']]], - ['ir_5fzepeal_2ecpp_630',['ir_Zepeal.cpp',['../ir__Zepeal_8cpp.html',1,'']]], - ['irac_631',['IRac',['../classIRac.html',1,'IRac'],['../classIRac.html#abb0864e277d4f6c68a92c2729112a40d',1,'IRac::IRac()']]], - ['irac_2ecpp_632',['IRac.cpp',['../IRac_8cpp.html',1,'']]], - ['irac_2eh_633',['IRac.h',['../IRac_8h.html',1,'']]], - ['iracutils_634',['IRAcUtils',['../namespaceIRAcUtils.html',1,'']]], - ['irairwellac_635',['IRAirwellAc',['../classIRAirwellAc.html',1,'IRAirwellAc'],['../classIRAirwellAc.html#a38cfe20bff4522034b16d64df64750e8',1,'IRAirwellAc::IRAirwellAc()']]], - ['iramcorac_636',['IRAmcorAc',['../classIRAmcorAc.html',1,'IRAmcorAc'],['../classIRAmcorAc.html#a92db59a33c861dcd3b2960e9711f97c4',1,'IRAmcorAc::IRAmcorAc()']]], - ['irargoac_637',['IRArgoAC',['../classIRArgoAC.html',1,'IRArgoAC'],['../classIRArgoAC.html#ad6c2250738397441b8f956d1477b7d70',1,'IRArgoAC::IRArgoAC()']]], - ['ircarrierac64_638',['IRCarrierAc64',['../classIRCarrierAc64.html',1,'IRCarrierAc64'],['../classIRCarrierAc64.html#ac225c0f24a0e385a145375ff447ab79b',1,'IRCarrierAc64::IRCarrierAc64()']]], - ['ircoolixac_639',['IRCoolixAC',['../classIRCoolixAC.html',1,'IRCoolixAC'],['../classIRCoolixAC.html#a043ad3b74e964e39b111e1fcf9e55f42',1,'IRCoolixAC::IRCoolixAC()']]], - ['ircoronaac_640',['IRCoronaAc',['../classIRCoronaAc.html',1,'IRCoronaAc'],['../classIRCoronaAc.html#aa96f1ffce21cdec5b3901ebbb1c63fbb',1,'IRCoronaAc::IRCoronaAc()']]], - ['irdaikin128_641',['IRDaikin128',['../classIRDaikin128.html',1,'IRDaikin128'],['../classIRDaikin128.html#aa669739541daf1a2b39ce1cd0424c43b',1,'IRDaikin128::IRDaikin128()']]], - ['irdaikin152_642',['IRDaikin152',['../classIRDaikin152.html',1,'IRDaikin152'],['../classIRDaikin152.html#a68dce79bab5890d9aea325a45ef8e4a3',1,'IRDaikin152::IRDaikin152()']]], - ['irdaikin160_643',['IRDaikin160',['../classIRDaikin160.html',1,'IRDaikin160'],['../classIRDaikin160.html#a76fb744b041c38abb730bce0538a497a',1,'IRDaikin160::IRDaikin160()']]], - ['irdaikin176_644',['IRDaikin176',['../classIRDaikin176.html',1,'IRDaikin176'],['../classIRDaikin176.html#accfe7c3f34351844d12059455f65f312',1,'IRDaikin176::IRDaikin176()']]], - ['irdaikin2_645',['IRDaikin2',['../classIRDaikin2.html',1,'IRDaikin2'],['../classIRDaikin2.html#a3ffe908313f162b92e92307578592fca',1,'IRDaikin2::IRDaikin2()']]], - ['irdaikin216_646',['IRDaikin216',['../classIRDaikin216.html',1,'IRDaikin216'],['../classIRDaikin216.html#ad802bde79e5ee2d16e3b09fbc8bbe8df',1,'IRDaikin216::IRDaikin216()']]], - ['irdaikin64_647',['IRDaikin64',['../classIRDaikin64.html',1,'IRDaikin64'],['../classIRDaikin64.html#a88855df33ce903884b21d2ef4771e94f',1,'IRDaikin64::IRDaikin64()']]], - ['irdaikinesp_648',['IRDaikinESP',['../classIRDaikinESP.html',1,'IRDaikinESP'],['../classIRDaikinESP.html#a2652cb45e07e8a4329c16cded9f6ad9a',1,'IRDaikinESP::IRDaikinESP()']]], - ['irdelonghiac_649',['IRDelonghiAc',['../classIRDelonghiAc.html',1,'IRDelonghiAc'],['../classIRDelonghiAc.html#aa6f8661cf6baa369a0a5b9d775c392e0',1,'IRDelonghiAc::IRDelonghiAc()']]], - ['irelectraac_650',['IRElectraAc',['../classIRElectraAc.html',1,'IRElectraAc'],['../classIRElectraAc.html#a2f56ad22943c3d261b1d2ef88d86e300',1,'IRElectraAc::IRElectraAc()']]], - ['irfujitsuac_651',['IRFujitsuAC',['../classIRFujitsuAC.html',1,'IRFujitsuAC'],['../classIRFujitsuAC.html#acdb70f239884507f540b872ba25747ce',1,'IRFujitsuAC::IRFujitsuAC()']]], - ['irgoodweatherac_652',['IRGoodweatherAc',['../classIRGoodweatherAc.html',1,'IRGoodweatherAc'],['../classIRGoodweatherAc.html#a681feff1a58125cde97b2d7ed0ba775e',1,'IRGoodweatherAc::IRGoodweatherAc()']]], - ['irgreeac_653',['IRGreeAC',['../classIRGreeAC.html',1,'IRGreeAC'],['../classIRGreeAC.html#abf7ead6ebee4bc776f83fb55f6fe6b63',1,'IRGreeAC::IRGreeAC()']]], - ['irhaierac_654',['IRHaierAC',['../classIRHaierAC.html',1,'IRHaierAC'],['../classIRHaierAC.html#a0b78060cbd150cd886a409adc2dea49c',1,'IRHaierAC::IRHaierAC()']]], - ['irhaieracyrw02_655',['IRHaierACYRW02',['../classIRHaierACYRW02.html',1,'IRHaierACYRW02'],['../classIRHaierACYRW02.html#afd9354c36df33434840bbc5f38d4e7ed',1,'IRHaierACYRW02::IRHaierACYRW02()']]], - ['irhitachiac_656',['IRHitachiAc',['../classIRHitachiAc.html',1,'IRHitachiAc'],['../classIRHitachiAc.html#a4c43e95e0cc28339e7162d7090ae16bf',1,'IRHitachiAc::IRHitachiAc()']]], - ['irhitachiac1_657',['IRHitachiAc1',['../classIRHitachiAc1.html',1,'IRHitachiAc1'],['../classIRHitachiAc1.html#ac00cfd9a60e08d34f292878de47f622f',1,'IRHitachiAc1::IRHitachiAc1()']]], - ['irhitachiac3_658',['IRHitachiAc3',['../classIRHitachiAc3.html',1,'IRHitachiAc3'],['../classIRHitachiAc3.html#adef0e7ad217f078ce418e3aa82b9cb86',1,'IRHitachiAc3::IRHitachiAc3()']]], - ['irhitachiac344_659',['IRHitachiAc344',['../classIRHitachiAc344.html',1,'IRHitachiAc344'],['../classIRHitachiAc424.html#a3c885313a79bf8c02bc5eb9f7d80088b',1,'IRHitachiAc424::IRHitachiAc344()'],['../classIRHitachiAc344.html#afbff8a1dd2777880d2d1713d07e1d419',1,'IRHitachiAc344::IRHitachiAc344()']]], - ['irhitachiac424_660',['IRHitachiAc424',['../classIRHitachiAc424.html',1,'IRHitachiAc424'],['../classIRHitachiAc424.html#add708c10a56d20621ef65a0ddcc2aac1',1,'IRHitachiAc424::IRHitachiAc424()']]], - ['irkelvinatorac_661',['IRKelvinatorAC',['../classIRKelvinatorAC.html',1,'IRKelvinatorAC'],['../classIRKelvinatorAC.html#a111dd384b1898a4fb880a19b6d1b1635',1,'IRKelvinatorAC::IRKelvinatorAC()']]], - ['irlgac_662',['IRLgAc',['../classIRLgAc.html',1,'IRLgAc'],['../classIRLgAc.html#a290636496526a9ed2057532649709375',1,'IRLgAc::IRLgAc()']]], - ['irmideaac_663',['IRMideaAC',['../classIRMideaAC.html',1,'IRMideaAC'],['../classIRMideaAC.html#a1ef2f532a1e6c6bfe89617d3fd0d9082',1,'IRMideaAC::IRMideaAC()']]], - ['irmitsubishi112_664',['IRMitsubishi112',['../classIRMitsubishi112.html',1,'IRMitsubishi112'],['../classIRMitsubishi112.html#adea6f3b7b7619b0bf6da4a94cec9d712',1,'IRMitsubishi112::IRMitsubishi112()']]], - ['irmitsubishi136_665',['IRMitsubishi136',['../classIRMitsubishi136.html',1,'IRMitsubishi136'],['../classIRMitsubishi136.html#ad92926b993869d0695f11ddb999b2090',1,'IRMitsubishi136::IRMitsubishi136()']]], - ['irmitsubishiac_666',['IRMitsubishiAC',['../classIRMitsubishiAC.html',1,'IRMitsubishiAC'],['../classIRMitsubishiAC.html#a83fabfd9ebed5cef8dd2a18a85fdf4e6',1,'IRMitsubishiAC::IRMitsubishiAC()']]], - ['irmitsubishiheavy152ac_667',['IRMitsubishiHeavy152Ac',['../classIRMitsubishiHeavy152Ac.html',1,'IRMitsubishiHeavy152Ac'],['../classIRMitsubishiHeavy152Ac.html#a704e9f96c2d0a07f9ba16a400d9c97aa',1,'IRMitsubishiHeavy152Ac::IRMitsubishiHeavy152Ac()']]], - ['irmitsubishiheavy88ac_668',['IRMitsubishiHeavy88Ac',['../classIRMitsubishiHeavy88Ac.html',1,'IRMitsubishiHeavy88Ac'],['../classIRMitsubishiHeavy88Ac.html#aceabecf4a615e807a4636ff5990d77d7',1,'IRMitsubishiHeavy88Ac::IRMitsubishiHeavy88Ac()']]], - ['irneoclimaac_669',['IRNeoclimaAc',['../classIRNeoclimaAc.html',1,'IRNeoclimaAc'],['../classIRNeoclimaAc.html#a99ed2962176e5f12f8387fab977c6395',1,'IRNeoclimaAc::IRNeoclimaAc()']]], - ['irpanasonicac_670',['IRPanasonicAc',['../classIRPanasonicAc.html',1,'IRPanasonicAc'],['../classIRPanasonicAc.html#ae8b0f4518ee1a913d47a7101b0a11185',1,'IRPanasonicAc::IRPanasonicAc()']]], - ['irparams_671',['irparams',['../IRrecv_8cpp.html#a5620be27a7445f25d43dbe3432ed6fd1',1,'IRrecv.cpp']]], - ['irparams_5fsave_672',['irparams_save',['../classIRrecv.html#a6fdac84ce51ce119972bf121ccc95aab',1,'IRrecv::irparams_save()'],['../IRrecv_8cpp.html#a96e84ae171529ee954c53e2e938dd998',1,'irparams_save(): IRrecv.cpp']]], - ['irparams_5ft_673',['irparams_t',['../structirparams__t.html',1,'']]], - ['irpin_674',['IRpin',['../classIRsend.html#ae4a6ea1e72f4861167002d6e7bf17b7c',1,'IRsend']]], - ['irrecv_675',['IRrecv',['../classIRrecv.html',1,'IRrecv'],['../classIRrecv.html#a8fe4d26ef1f863db1db9994fed5fc209',1,'IRrecv::IRrecv(const uint16_t recvpin, const uint16_t bufsize=kRawBuf, const uint8_t timeout=kTimeoutMs, const bool save_buffer=false, const uint8_t timer_num=kDefaultESP32Timer)'],['../classIRrecv.html#a3bb1bcc1c1a3184294dd35c8f6f758b1',1,'IRrecv::IRrecv(const uint16_t recvpin, const uint16_t bufsize=kRawBuf, const uint8_t timeout=kTimeoutMs, const bool save_buffer=false)']]], - ['irrecv_2ecpp_676',['IRrecv.cpp',['../IRrecv_8cpp.html',1,'']]], - ['irrecv_2eh_677',['IRrecv.h',['../IRrecv_8h.html',1,'']]], - ['irremote_5fmux_678',['irremote_mux',['../IRrecv_8cpp.html#ad2612f65707186ef7df0179d3636b4ea',1,'IRrecv.cpp']]], - ['irremoteesp8266_2eh_679',['IRremoteESP8266.h',['../IRremoteESP8266_8h.html',1,'']]], - ['irsamsungac_680',['IRSamsungAc',['../classIRSamsungAc.html',1,'IRSamsungAc'],['../classIRSamsungAc.html#a0db771b80d7d7a63b5ecb4b25efee609',1,'IRSamsungAc::IRSamsungAc()']]], - ['irsanyoac_681',['IRSanyoAc',['../classIRSanyoAc.html',1,'IRSanyoAc'],['../classIRSanyoAc.html#ab7b9a1f1685993b95807f7e48624e4e2',1,'IRSanyoAc::IRSanyoAc()']]], - ['irsend_682',['IRsend',['../classIRsend.html',1,'IRsend'],['../classIRsend.html#a792780b7de996c90c86dd7b700eaf271',1,'IRsend::IRsend()']]], - ['irsend_2ecpp_683',['IRsend.cpp',['../IRsend_8cpp.html',1,'']]], - ['irsend_2eh_684',['IRsend.h',['../IRsend_8h.html',1,'']]], - ['irsharpac_685',['IRSharpAc',['../classIRSharpAc.html',1,'IRSharpAc'],['../classIRSharpAc.html#a30b5f8f634a41c943b4e1453d12bc980',1,'IRSharpAc::IRSharpAc()']]], - ['irtcl112ac_686',['IRTcl112Ac',['../classIRTcl112Ac.html',1,'IRTcl112Ac'],['../classIRTcl112Ac.html#a061bdfdf4444cb5e06fa90824985c1ec',1,'IRTcl112Ac::IRTcl112Ac()']]], - ['irtechnibelac_687',['IRTechnibelAc',['../classIRTechnibelAc.html',1,'IRTechnibelAc'],['../classIRTechnibelAc.html#a799407de348870d5765acf163ab92a75',1,'IRTechnibelAc::IRTechnibelAc()']]], - ['irtecoac_688',['IRTecoAc',['../classIRTecoAc.html',1,'IRTecoAc'],['../classIRTecoAc.html#a56e3f31a080bfd565570bf3b165e71d4',1,'IRTecoAc::IRTecoAc()']]], - ['irtext_2ecpp_689',['IRtext.cpp',['../IRtext_8cpp.html',1,'']]], - ['irtext_2eh_690',['IRtext.h',['../IRtext_8h.html',1,'']]], - ['irtimer_691',['IRtimer',['../classIRtimer.html',1,'IRtimer'],['../classIRtimer.html#a09d64d689137ef8ca68973bb9e550e76',1,'IRtimer::IRtimer()']]], - ['irtimer_2ecpp_692',['IRtimer.cpp',['../IRtimer_8cpp.html',1,'']]], - ['irtimer_2eh_693',['IRtimer.h',['../IRtimer_8h.html',1,'']]], - ['irtoshibaac_694',['IRToshibaAC',['../classIRToshibaAC.html',1,'IRToshibaAC'],['../classIRToshibaAC.html#abf2b3db316f7d6acb20c4f7ea2476ec2',1,'IRToshibaAC::IRToshibaAC()']]], - ['irtranscoldac_695',['IRTranscoldAc',['../classIRTranscoldAc.html',1,'IRTranscoldAc'],['../classIRTranscoldAc.html#a155278b9e5803aacf69a1ae20ed5b652',1,'IRTranscoldAc::IRTranscoldAc()']]], - ['irtrotecesp_696',['IRTrotecESP',['../classIRTrotecESP.html',1,'IRTrotecESP'],['../classIRTrotecESP.html#a1b56b6e55bf133ccab6a482090408ee5',1,'IRTrotecESP::IRTrotecESP()']]], - ['irutils_697',['irutils',['../namespaceirutils.html',1,'']]], - ['irutils_2ecpp_698',['IRutils.cpp',['../IRutils_8cpp.html',1,'']]], - ['irutils_2eh_699',['IRutils.h',['../IRutils_8h.html',1,'']]], - ['irvestelac_700',['IRVestelAc',['../classIRVestelAc.html',1,'IRVestelAc'],['../classIRVestelAc.html#af1583ef81331edf112a0d04771c2cbec',1,'IRVestelAc::IRVestelAc()']]], - ['irvoltas_701',['IRVoltas',['../classIRVoltas.html',1,'IRVoltas'],['../classIRVoltas.html#a4bfb0c5b16507d330abea2a9147f8332',1,'IRVoltas::IRVoltas()']]], - ['irwhirlpoolac_702',['IRWhirlpoolAc',['../classIRWhirlpoolAc.html',1,'IRWhirlpoolAc'],['../classIRWhirlpoolAc.html#a89bc9d440a5f7d04a602d7bc73904bc2',1,'IRWhirlpoolAc::IRWhirlpoolAc()']]], - ['iseconotoggle_703',['isEconoToggle',['../classIRMideaAC.html#a227aeed678af6da49b510cb67b02991e',1,'IRMideaAC']]], - ['islighttoggle_704',['isLightToggle',['../classIRMideaAC.html#ac0f321a8a38bd2cecf453c6aff9020e6',1,'IRMideaAC']]], - ['isofftimeractive_705',['isOffTimerActive',['../classIRVestelAc.html#aa756171e82ed1b43593b81aa3a63b812',1,'IRVestelAc']]], - ['isofftimerenabled_706',['isOffTimerEnabled',['../classIRMideaAC.html#a10aa3386a15b46c62083baaca3bcf699',1,'IRMideaAC::isOffTimerEnabled()'],['../classIRPanasonicAc.html#ac8e218b4886d66889734b01232767c8a',1,'IRPanasonicAc::isOffTimerEnabled()'],['../classIRWhirlpoolAc.html#a1bc1366524cf3c7fb426e908a166801f',1,'IRWhirlpoolAc::isOffTimerEnabled()']]], - ['isontimeractive_707',['isOnTimerActive',['../classIRVestelAc.html#a67f0e970af50fcf6e01e4cac85c5862a',1,'IRVestelAc']]], - ['isontimerenabled_708',['isOnTimerEnabled',['../classIRMideaAC.html#a61f53e462caa1bc8329a6ebadbe47f93',1,'IRMideaAC::isOnTimerEnabled()'],['../classIRPanasonicAc.html#a04cbf8f5063a3892020d383c77abc57c',1,'IRPanasonicAc::isOnTimerEnabled()'],['../classIRWhirlpoolAc.html#aff1b8c2d063b376725a5a77745f6be3a',1,'IRWhirlpoolAc::isOnTimerEnabled()']]], - ['ispowerspecial_709',['isPowerSpecial',['../classIRSharpAc.html#a57072f2458897ffb9184769aca10b944',1,'IRSharpAc']]], - ['isprotocolsupported_710',['isProtocolSupported',['../classIRac.html#ad9c2fc9d07db70704f78a2d5f7be5b1c',1,'IRac']]], - ['isspecialstate_711',['isSpecialState',['../classIRCoolixAC.html#aa9bfc6c78fca87962c9335d60f625322',1,'IRCoolixAC::isSpecialState()'],['../classIRTranscoldAc.html#aed8c20db75d4070e66445fb2b092e2de',1,'IRTranscoldAc::isSpecialState()']]], - ['isswingvstep_712',['isSwingVStep',['../classIRMideaAC.html#a360aa29e0f6817709644f6b36abce754',1,'IRMideaAC']]], - ['isswingvtoggle_713',['isSwingVToggle',['../classIRMideaAC.html#a5277fa1d077650be0edcf284db50d38b',1,'IRMideaAC']]], - ['istimecommand_714',['isTimeCommand',['../classIRVestelAc.html#ae811a07c1a8d82e7068c39b9ca73aaf1',1,'IRVestelAc']]], - ['istimeractive_715',['isTimerActive',['../classIRVestelAc.html#a160b73df8e1eda984f9bfbff3df7fa63',1,'IRVestelAc']]], - ['istimerenabled_716',['isTimerEnabled',['../classIRWhirlpoolAc.html#a5a713ffed99ab3450257d83e2d6e15ee',1,'IRWhirlpoolAc']]], - ['isturbotoggle_717',['isTurboToggle',['../classIRMideaAC.html#ae40e95fbee35ecc00ebff23c0b64e56d',1,'IRMideaAC']]], - ['isvalidlgac_718',['isValidLgAc',['../classIRLgAc.html#ad35d47f590ee4bd51bfdf9d911bce242',1,'IRLgAc']]], - ['it_2dit_2eh_719',['it-IT.h',['../it-IT_8h.html',1,'']]], - ['internationalisation_20_28i18n_29_20_26_20locale_20files_720',['Internationalisation (I18N) & Locale Files',['../md_src_locale_README.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_c.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_c.js deleted file mode 100644 index d12e8f94b..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_c.js +++ /dev/null @@ -1,19 +0,0 @@ -var searchData= -[ - ['label_3057',['Label',['../structCoronaSection.html#abc6d0caa713c73244c4bf2f602074d48',1,'CoronaSection']]], - ['lasertag_3058',['LASERTAG',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada92eadf4fa6dd16da5b79a2fcbf729894',1,'IRremoteESP8266.h']]], - ['ledflag_3059',['ledFlag',['../classIRCoolixAC.html#a03ba5e0a6cb47a7bb054155c2111a69c',1,'IRCoolixAC']]], - ['ledoff_3060',['ledOff',['../classIRsend.html#ae71cc5aa99f894785fb4f7abc05841b2',1,'IRsend']]], - ['ledon_3061',['ledOn',['../classIRsend.html#a13d804171fa7c14aff4def38c6ffb6c8',1,'IRsend']]], - ['legopf_3062',['LEGOPF',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada9a31bf5555b17ea7b115a5c2550fc1de',1,'IRremoteESP8266.h']]], - ['lg_3063',['lg',['../classIRac.html#afad31ecf9eae573882d53dd6629485fb',1,'IRac::lg()'],['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadadf6c249ac7d923229f9e623eff9a61f4',1,'LG(): IRremoteESP8266.h']]], - ['lg2_3064',['LG2',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada8402547ec0b99b9b0efe97dec65badf9',1,'IRremoteESP8266.h']]], - ['lg_5fac_5fremote_5fmodel_5ft_3065',['lg_ac_remote_model_t',['../IRsend_8h.html#a50c54713e16502d280723334879dc83b',1,'IRsend.h']]], - ['lgprotocol_3066',['LGProtocol',['../unionLGProtocol.html',1,'']]], - ['light_3067',['light',['../structstdAc_1_1state__t.html#a51c3a5c4703ea49b420d70aeb18b6b9b',1,'stdAc::state_t::light()'],['../unionDaikin2Protocol.html#adaf55ec9e1b9ba278c7391d9d797f3ba',1,'Daikin2Protocol::Light()'],['../unionGoodweatherProtocol.html#a845565af7661af0c05290a7ce039f8e2',1,'GoodweatherProtocol::Light()'],['../unionGreeProtocol.html#a72092768725667d3bce381a6e2900c66',1,'GreeProtocol::Light()'],['../unionKelvinatorProtocol.html#a38f5b978fd63fda659f0e0b5f682440e',1,'KelvinatorProtocol::Light()'],['../unionVoltasProtocol.html#a811a0de66771c693831740440aac460c',1,'VoltasProtocol::Light()']]], - ['lighttoggle_3068',['LightToggle',['../unionElectraProtocol.html#aa2a5998cafd139e5ce7626edc4782c56',1,'ElectraProtocol']]], - ['llword_3069',['llword',['../unionmagiquest.html#ad57fbc75ab289c3e93b94be0b2187d65',1,'magiquest']]], - ['lowlevelsanitycheck_3070',['lowLevelSanityCheck',['../namespaceirutils.html#af67b75834051c4aced358b274c1c55a8',1,'irutils']]], - ['lutron_3071',['LUTRON',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada76cc459b9e26d82ed82cf120272fd8cb',1,'IRremoteESP8266.h']]], - ['lword_3072',['lword',['../unionmagiquest.html#ac87102145311831a232002b52fe2d02c',1,'magiquest']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_d.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_d.js deleted file mode 100644 index 9ec0eb864..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/all_d.js +++ /dev/null @@ -1,50 +0,0 @@ -var searchData= -[ - ['magiquest_3073',['magiquest',['../unionmagiquest.html',1,'magiquest'],['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada3be750ce1687bc1a92fee05b0c511100',1,'MAGIQUEST(): IRremoteESP8266.h']]], - ['magnitude_3074',['magnitude',['../unionmagiquest.html#a8f687419a00322a04aab223dec093d6e',1,'magiquest']]], - ['mark_3075',['mark',['../classIRsend.html#a7399389d40bfe24bc062ffca88fc3780',1,'IRsend']]], - ['markassent_3076',['markAsSent',['../classIRac.html#ad0e45b13f477e29823b8c138704536c4',1,'IRac']]], - ['match_3077',['match',['../classIRrecv.html#a8bc218dae714ab189a3da4fff269cdaa',1,'IRrecv']]], - ['match_5fresult_5ft_3078',['match_result_t',['../structmatch__result__t.html',1,'']]], - ['matchatleast_3079',['matchAtLeast',['../classIRrecv.html#ae7bfd4ff689c7563c65c4e6e8c58187a',1,'IRrecv']]], - ['matchbytes_3080',['matchBytes',['../classIRrecv.html#adc2c9bc4c4e5741cfac7468126bf8ca6',1,'IRrecv']]], - ['matchdata_3081',['matchData',['../classIRrecv.html#a5361439cb69b1069553544e486502d2e',1,'IRrecv']]], - ['matchgeneric_3082',['matchGeneric',['../classIRrecv.html#ab783f52acc2ff4052313d6947563e4fd',1,'IRrecv::matchGeneric(volatile uint16_t *data_ptr, uint64_t *result_ptr, const uint16_t remaining, const uint16_t nbits, const uint16_t hdrmark, const uint32_t hdrspace, const uint16_t onemark, const uint32_t onespace, const uint16_t zeromark, const uint32_t zerospace, const uint16_t footermark, const uint32_t footerspace, const bool atleast=false, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess, const bool MSBfirst=true)'],['../classIRrecv.html#a4448c1658383962d735353352987c9aa',1,'IRrecv::matchGeneric(volatile uint16_t *data_ptr, uint8_t *result_ptr, const uint16_t remaining, const uint16_t nbits, const uint16_t hdrmark, const uint32_t hdrspace, const uint16_t onemark, const uint32_t onespace, const uint16_t zeromark, const uint32_t zerospace, const uint16_t footermark, const uint32_t footerspace, const bool atleast=false, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess, const bool MSBfirst=true)']]], - ['matchgenericconstbittime_3083',['matchGenericConstBitTime',['../classIRrecv.html#a4582d75ef1d11aee35fce86c38dcccf0',1,'IRrecv']]], - ['matchmanchester_3084',['matchManchester',['../classIRrecv.html#ade70777ad0e047e11b99b03d8f5e3728',1,'IRrecv']]], - ['matchmanchesterdata_3085',['matchManchesterData',['../classIRrecv.html#ab44403411a217eb8ea75271575f8ab83',1,'IRrecv']]], - ['matchmark_3086',['matchMark',['../classIRrecv.html#ae78ef12b8194db5d3cb5a2605d29830d',1,'IRrecv']]], - ['matchspace_3087',['matchSpace',['../classIRrecv.html#a9fd363e8b2edee2ed3c473349ecc58fc',1,'IRrecv']]], - ['max_3088',['Max',['../unionAmcorProtocol.html#a9e0ea99322601af4b09784da2cf21d7e',1,'AmcorProtocol::Max()'],['../unionArgoProtocol.html#ac3edf881406da0b9a253a7536ba3e810',1,'ArgoProtocol::Max()']]], - ['metz_3089',['METZ',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadaa77ca3ee98846eee35bd2995bf2ae25b',1,'IRremoteESP8266.h']]], - ['midea_3090',['midea',['../classIRac.html#a11765b1d08c0c02f5e08254bd870dae6',1,'IRac::midea()'],['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada1571f3cf72caf1cf23481802b450382a',1,'MIDEA(): IRremoteESP8266.h']]], - ['midea24_3091',['MIDEA24',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada59b5ac5c1d354e50932dc0208d9b0b43',1,'IRremoteESP8266.h']]], - ['mideaprotocol_3092',['MideaProtocol',['../unionMideaProtocol.html',1,'']]], - ['minrepeats_3093',['minRepeats',['../classIRsend.html#ae02772f34180163861b7e4eb3520db2a',1,'IRsend']]], - ['minstostring_3094',['minsToString',['../namespaceirutils.html#aebab40a2c69624adc1a5a8a6db72952f',1,'irutils']]], - ['mirage_3095',['MIRAGE',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada9ab6dd14fa5c7d0d32c60d414c7df36a',1,'IRremoteESP8266.h']]], - ['mitsubishi_3096',['mitsubishi',['../classIRac.html#aaa60bcac75dc5dda40c78f8c227b19a3',1,'IRac::mitsubishi()'],['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadab98915357fe1cb91de0536136be20d07',1,'MITSUBISHI(): IRremoteESP8266.h']]], - ['mitsubishi112_3097',['mitsubishi112',['../classIRac.html#a2438b6e4403d5952adb299083e038e10',1,'IRac::mitsubishi112()'],['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadab8e5875a5959b72ca7ff17bccff97c4d',1,'MITSUBISHI112(): IRremoteESP8266.h']]], - ['mitsubishi112protocol_3098',['Mitsubishi112Protocol',['../unionMitsubishi112Protocol.html',1,'']]], - ['mitsubishi136_3099',['mitsubishi136',['../classIRac.html#aa3033eb835cf3cd313ee2c2f38357e8e',1,'IRac::mitsubishi136()'],['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada3c73724a654627a04cc96e280b9630fe',1,'MITSUBISHI136(): IRremoteESP8266.h']]], - ['mitsubishi136protocol_3100',['Mitsubishi136Protocol',['../unionMitsubishi136Protocol.html',1,'']]], - ['mitsubishi144protocol_3101',['Mitsubishi144Protocol',['../unionMitsubishi144Protocol.html',1,'']]], - ['mitsubishi152protocol_3102',['Mitsubishi152Protocol',['../unionMitsubishi152Protocol.html',1,'']]], - ['mitsubishi2_3103',['MITSUBISHI2',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada66368850d567cbeb3b2c2233cae34cd0',1,'IRremoteESP8266.h']]], - ['mitsubishi88protocol_3104',['Mitsubishi88Protocol',['../unionMitsubishi88Protocol.html',1,'']]], - ['mitsubishi_5fac_3105',['MITSUBISHI_AC',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada45198cb83bbf76b320eaa91d09c44b38',1,'IRremoteESP8266.h']]], - ['mitsubishi_5fheavy_5f152_3106',['MITSUBISHI_HEAVY_152',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada15c8d1d51d5f9e42fd03638cbdfb7cbf',1,'IRremoteESP8266.h']]], - ['mitsubishi_5fheavy_5f88_3107',['MITSUBISHI_HEAVY_88',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadad303f6c0494d33354cb7c11af258f663',1,'IRremoteESP8266.h']]], - ['mitsubishiheavy152_3108',['mitsubishiHeavy152',['../classIRac.html#a635b89320d878c1e3f270d7146cb9b00',1,'IRac']]], - ['mitsubishiheavy88_3109',['mitsubishiHeavy88',['../classIRac.html#af6c9084c5e902f98a03ad0eaf3b9448e',1,'IRac']]], - ['mode_3110',['mode',['../structstdAc_1_1state__t.html#ae5e4b17fac2ea36300f796670337d7a7',1,'stdAc::state_t::mode()'],['../unionAirwellProtocol.html#a4a12b674ee9dcdbca592a1c5f3deb43e',1,'AirwellProtocol::Mode()'],['../unionAmcorProtocol.html#a5eca17db0b0ac0a2a46d72eaa4b098f8',1,'AmcorProtocol::Mode()'],['../unionArgoProtocol.html#afac4337c33e8a2b8e12b84890121e00c',1,'ArgoProtocol::Mode()'],['../unionCarrierProtocol.html#a5fed7d2b743b55fb9a95293f026a9c24',1,'CarrierProtocol::Mode()'],['../unionCoolixProtocol.html#a5f2ec6733ba352bd48657adbf4f30985',1,'CoolixProtocol::Mode()'],['../unionCoronaProtocol.html#aad77fd87c02ef022da013116123d3531',1,'CoronaProtocol::Mode()'],['../unionDaikinESPProtocol.html#aefdc3a04bf204c67e206fef9ed3f5437',1,'DaikinESPProtocol::Mode()'],['../unionDaikin2Protocol.html#acfbbd30de1109b5a9785a6b94ec90af0',1,'Daikin2Protocol::Mode()'],['../unionDaikin216Protocol.html#aebf6b168e83ebfac591e388406a30357',1,'Daikin216Protocol::Mode()'],['../unionDaikin160Protocol.html#a7a543fcb3ba65efbb38656d38eed1141',1,'Daikin160Protocol::Mode()'],['../unionDaikin176Protocol.html#a0293203bc447806c08ea522d6eb91495',1,'Daikin176Protocol::Mode()'],['../unionDaikin128Protocol.html#a14769c0405d7bcf2c45671c4c8c915ff',1,'Daikin128Protocol::Mode()'],['../unionDaikin152Protocol.html#af73fd18c8bd261cb38a36f9c8342b4bc',1,'Daikin152Protocol::Mode()'],['../unionDaikin64Protocol.html#a34934dd4432c5e99cdc2a17b6af803b9',1,'Daikin64Protocol::Mode()'],['../unionDelonghiProtocol.html#a41b3aa93923059ec0bc099a592318ff0',1,'DelonghiProtocol::Mode()'],['../unionElectraProtocol.html#a27e64c16e4cefeac55cd12165554e0b0',1,'ElectraProtocol::Mode()'],['../unionGoodweatherProtocol.html#a28863cfa136ed7014d8ca982d38a4539',1,'GoodweatherProtocol::Mode()'],['../unionGreeProtocol.html#aacd25e508a37e0012295a87e712987ce',1,'GreeProtocol::Mode()'],['../unionHaierProtocol.html#aab10d402084329d472e08385cc9645ec',1,'HaierProtocol::Mode()'],['../unionHaierYRW02Protocol.html#a8b9060ce2e0b1e9192191e6ae68277dd',1,'HaierYRW02Protocol::Mode()'],['../unionHitachiProtocol.html#a33a6af1c7bb33cd97361f2602c215ab2',1,'HitachiProtocol::Mode()'],['../unionHitachi424Protocol.html#a6ddbf518e843e9021bbd0463911b4844',1,'Hitachi424Protocol::Mode()'],['../unionHitachi1Protocol.html#a0434892d9ad4acaa36ef10810fb4b8fe',1,'Hitachi1Protocol::Mode()'],['../unionKelvinatorProtocol.html#abd6a849c39d0e7e231a1cf42d32f52e7',1,'KelvinatorProtocol::Mode()'],['../unionLGProtocol.html#adea2990a6e13a31ecb6f8c70c0702543',1,'LGProtocol::Mode()'],['../unionMideaProtocol.html#aa0255e9e1351d594b2e2c8c6f9698e1a',1,'MideaProtocol::Mode()'],['../unionMitsubishi144Protocol.html#aa387b388f300a2098fe9c965e86b9d95',1,'Mitsubishi144Protocol::Mode()'],['../unionMitsubishi136Protocol.html#a4af660641dfa4412b4993f82eb241765',1,'Mitsubishi136Protocol::Mode()'],['../unionMitsubishi112Protocol.html#ae3ff03a52146e8dff59f0755b7d59333',1,'Mitsubishi112Protocol::Mode()'],['../unionMitsubishi152Protocol.html#a36477f5724467a75f32f2d25fee4db73',1,'Mitsubishi152Protocol::Mode()'],['../unionMitsubishi88Protocol.html#a947e25b4cfbb171aeb42d3a60404d751',1,'Mitsubishi88Protocol::Mode()'],['../unionVoltasProtocol.html#ad991a7ccaf9caa0b9f7880f4138f1dab',1,'VoltasProtocol::Mode()']]], - ['modebutton_3111',['ModeButton',['../unionDaikin176Protocol.html#af48f77b741bcfa7717497077c50ee240',1,'Daikin176Protocol']]], - ['model_3112',['model',['../structstdAc_1_1state__t.html#aa1a57a63b2ea80c1f9c4a1bcf16a4c62',1,'stdAc::state_t::model()'],['../unionHitachi1Protocol.html#aad97f1edb72b8786423089f1dad70681',1,'Hitachi1Protocol::Model()']]], - ['modela_3113',['ModelA',['../unionGreeProtocol.html#a66fdedd8318541269f0ab9ae3b832813',1,'GreeProtocol']]], - ['modeltostr_3114',['modelToStr',['../namespaceirutils.html#ae89b70ce66617a8707c1951eadbc6fbd',1,'irutils']]], - ['modulation_3115',['modulation',['../classIRsend.html#a11e26c03c87e2bed756eb7f318570bd8',1,'IRsend']]], - ['mold_3116',['Mold',['../unionDaikinESPProtocol.html#a61c7eeeb3589f775897d79a130dd1be8',1,'DaikinESPProtocol::Mold()'],['../unionDaikin2Protocol.html#a18207f0f0913ade09f16ba2e98a5dbf1',1,'Daikin2Protocol::Mold()']]], - ['mstostring_3117',['msToString',['../namespaceirutils.html#a9c59c8dd886c283fdb8adc9082c6890a',1,'irutils']]], - ['multibrackets_3118',['MULTIBRACKETS',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fadaaebb72f3ad9ff2a706d8041763de6e49',1,'IRremoteESP8266.h']]], - ['mwm_3119',['MWM',['../IRremoteESP8266_8h.html#ad5b287a488a8c1b7b8661f029ab56fada8a6938c955212e1fb81fb511437cbe56',1,'IRremoteESP8266.h']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_0.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_0.js deleted file mode 100644 index 515f8254d..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_0.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['airwellprotocol_3571',['AirwellProtocol',['../unionAirwellProtocol.html',1,'']]], - ['amcorprotocol_3572',['AmcorProtocol',['../unionAmcorProtocol.html',1,'']]], - ['argoprotocol_3573',['ArgoProtocol',['../unionArgoProtocol.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_1.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_1.js deleted file mode 100644 index e10210a0c..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_1.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['carrierprotocol_3574',['CarrierProtocol',['../unionCarrierProtocol.html',1,'']]], - ['coolixprotocol_3575',['CoolixProtocol',['../unionCoolixProtocol.html',1,'']]], - ['coronaprotocol_3576',['CoronaProtocol',['../unionCoronaProtocol.html',1,'']]], - ['coronasection_3577',['CoronaSection',['../structCoronaSection.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_2.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_2.js deleted file mode 100644 index f35ad270c..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_2.js +++ /dev/null @@ -1,13 +0,0 @@ -var searchData= -[ - ['daikin128protocol_3578',['Daikin128Protocol',['../unionDaikin128Protocol.html',1,'']]], - ['daikin152protocol_3579',['Daikin152Protocol',['../unionDaikin152Protocol.html',1,'']]], - ['daikin160protocol_3580',['Daikin160Protocol',['../unionDaikin160Protocol.html',1,'']]], - ['daikin176protocol_3581',['Daikin176Protocol',['../unionDaikin176Protocol.html',1,'']]], - ['daikin216protocol_3582',['Daikin216Protocol',['../unionDaikin216Protocol.html',1,'']]], - ['daikin2protocol_3583',['Daikin2Protocol',['../unionDaikin2Protocol.html',1,'']]], - ['daikin64protocol_3584',['Daikin64Protocol',['../unionDaikin64Protocol.html',1,'']]], - ['daikinespprotocol_3585',['DaikinESPProtocol',['../unionDaikinESPProtocol.html',1,'']]], - ['decode_5fresults_3586',['decode_results',['../classdecode__results.html',1,'']]], - ['delonghiprotocol_3587',['DelonghiProtocol',['../unionDelonghiProtocol.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_3.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_3.js deleted file mode 100644 index 746974330..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['electraprotocol_3588',['ElectraProtocol',['../unionElectraProtocol.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_4.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_4.js deleted file mode 100644 index a4542c0b2..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_4.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['goodweatherprotocol_3589',['GoodweatherProtocol',['../unionGoodweatherProtocol.html',1,'']]], - ['greeprotocol_3590',['GreeProtocol',['../unionGreeProtocol.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_5.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_5.js deleted file mode 100644 index ed151da0c..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_5.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['haierprotocol_3591',['HaierProtocol',['../unionHaierProtocol.html',1,'']]], - ['haieryrw02protocol_3592',['HaierYRW02Protocol',['../unionHaierYRW02Protocol.html',1,'']]], - ['hitachi1protocol_3593',['Hitachi1Protocol',['../unionHitachi1Protocol.html',1,'']]], - ['hitachi424protocol_3594',['Hitachi424Protocol',['../unionHitachi424Protocol.html',1,'']]], - ['hitachiprotocol_3595',['HitachiProtocol',['../unionHitachiProtocol.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_6.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_6.js deleted file mode 100644 index 479791371..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_6.js +++ /dev/null @@ -1,56 +0,0 @@ -var searchData= -[ - ['irac_3596',['IRac',['../classIRac.html',1,'']]], - ['irairwellac_3597',['IRAirwellAc',['../classIRAirwellAc.html',1,'']]], - ['iramcorac_3598',['IRAmcorAc',['../classIRAmcorAc.html',1,'']]], - ['irargoac_3599',['IRArgoAC',['../classIRArgoAC.html',1,'']]], - ['ircarrierac64_3600',['IRCarrierAc64',['../classIRCarrierAc64.html',1,'']]], - ['ircoolixac_3601',['IRCoolixAC',['../classIRCoolixAC.html',1,'']]], - ['ircoronaac_3602',['IRCoronaAc',['../classIRCoronaAc.html',1,'']]], - ['irdaikin128_3603',['IRDaikin128',['../classIRDaikin128.html',1,'']]], - ['irdaikin152_3604',['IRDaikin152',['../classIRDaikin152.html',1,'']]], - ['irdaikin160_3605',['IRDaikin160',['../classIRDaikin160.html',1,'']]], - ['irdaikin176_3606',['IRDaikin176',['../classIRDaikin176.html',1,'']]], - ['irdaikin2_3607',['IRDaikin2',['../classIRDaikin2.html',1,'']]], - ['irdaikin216_3608',['IRDaikin216',['../classIRDaikin216.html',1,'']]], - ['irdaikin64_3609',['IRDaikin64',['../classIRDaikin64.html',1,'']]], - ['irdaikinesp_3610',['IRDaikinESP',['../classIRDaikinESP.html',1,'']]], - ['irdelonghiac_3611',['IRDelonghiAc',['../classIRDelonghiAc.html',1,'']]], - ['irelectraac_3612',['IRElectraAc',['../classIRElectraAc.html',1,'']]], - ['irfujitsuac_3613',['IRFujitsuAC',['../classIRFujitsuAC.html',1,'']]], - ['irgoodweatherac_3614',['IRGoodweatherAc',['../classIRGoodweatherAc.html',1,'']]], - ['irgreeac_3615',['IRGreeAC',['../classIRGreeAC.html',1,'']]], - ['irhaierac_3616',['IRHaierAC',['../classIRHaierAC.html',1,'']]], - ['irhaieracyrw02_3617',['IRHaierACYRW02',['../classIRHaierACYRW02.html',1,'']]], - ['irhitachiac_3618',['IRHitachiAc',['../classIRHitachiAc.html',1,'']]], - ['irhitachiac1_3619',['IRHitachiAc1',['../classIRHitachiAc1.html',1,'']]], - ['irhitachiac3_3620',['IRHitachiAc3',['../classIRHitachiAc3.html',1,'']]], - ['irhitachiac344_3621',['IRHitachiAc344',['../classIRHitachiAc344.html',1,'']]], - ['irhitachiac424_3622',['IRHitachiAc424',['../classIRHitachiAc424.html',1,'']]], - ['irkelvinatorac_3623',['IRKelvinatorAC',['../classIRKelvinatorAC.html',1,'']]], - ['irlgac_3624',['IRLgAc',['../classIRLgAc.html',1,'']]], - ['irmideaac_3625',['IRMideaAC',['../classIRMideaAC.html',1,'']]], - ['irmitsubishi112_3626',['IRMitsubishi112',['../classIRMitsubishi112.html',1,'']]], - ['irmitsubishi136_3627',['IRMitsubishi136',['../classIRMitsubishi136.html',1,'']]], - ['irmitsubishiac_3628',['IRMitsubishiAC',['../classIRMitsubishiAC.html',1,'']]], - ['irmitsubishiheavy152ac_3629',['IRMitsubishiHeavy152Ac',['../classIRMitsubishiHeavy152Ac.html',1,'']]], - ['irmitsubishiheavy88ac_3630',['IRMitsubishiHeavy88Ac',['../classIRMitsubishiHeavy88Ac.html',1,'']]], - ['irneoclimaac_3631',['IRNeoclimaAc',['../classIRNeoclimaAc.html',1,'']]], - ['irpanasonicac_3632',['IRPanasonicAc',['../classIRPanasonicAc.html',1,'']]], - ['irparams_5ft_3633',['irparams_t',['../structirparams__t.html',1,'']]], - ['irrecv_3634',['IRrecv',['../classIRrecv.html',1,'']]], - ['irsamsungac_3635',['IRSamsungAc',['../classIRSamsungAc.html',1,'']]], - ['irsanyoac_3636',['IRSanyoAc',['../classIRSanyoAc.html',1,'']]], - ['irsend_3637',['IRsend',['../classIRsend.html',1,'']]], - ['irsharpac_3638',['IRSharpAc',['../classIRSharpAc.html',1,'']]], - ['irtcl112ac_3639',['IRTcl112Ac',['../classIRTcl112Ac.html',1,'']]], - ['irtechnibelac_3640',['IRTechnibelAc',['../classIRTechnibelAc.html',1,'']]], - ['irtecoac_3641',['IRTecoAc',['../classIRTecoAc.html',1,'']]], - ['irtimer_3642',['IRtimer',['../classIRtimer.html',1,'']]], - ['irtoshibaac_3643',['IRToshibaAC',['../classIRToshibaAC.html',1,'']]], - ['irtranscoldac_3644',['IRTranscoldAc',['../classIRTranscoldAc.html',1,'']]], - ['irtrotecesp_3645',['IRTrotecESP',['../classIRTrotecESP.html',1,'']]], - ['irvestelac_3646',['IRVestelAc',['../classIRVestelAc.html',1,'']]], - ['irvoltas_3647',['IRVoltas',['../classIRVoltas.html',1,'']]], - ['irwhirlpoolac_3648',['IRWhirlpoolAc',['../classIRWhirlpoolAc.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_7.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_7.js deleted file mode 100644 index 76be70116..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_7.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['kelvinatorprotocol_3649',['KelvinatorProtocol',['../unionKelvinatorProtocol.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_8.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_8.js deleted file mode 100644 index 5548f05a1..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_8.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['lgprotocol_3650',['LGProtocol',['../unionLGProtocol.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_9.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_9.js deleted file mode 100644 index fd068e3d0..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_9.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['magiquest_3651',['magiquest',['../unionmagiquest.html',1,'']]], - ['match_5fresult_5ft_3652',['match_result_t',['../structmatch__result__t.html',1,'']]], - ['mideaprotocol_3653',['MideaProtocol',['../unionMideaProtocol.html',1,'']]], - ['mitsubishi112protocol_3654',['Mitsubishi112Protocol',['../unionMitsubishi112Protocol.html',1,'']]], - ['mitsubishi136protocol_3655',['Mitsubishi136Protocol',['../unionMitsubishi136Protocol.html',1,'']]], - ['mitsubishi144protocol_3656',['Mitsubishi144Protocol',['../unionMitsubishi144Protocol.html',1,'']]], - ['mitsubishi152protocol_3657',['Mitsubishi152Protocol',['../unionMitsubishi152Protocol.html',1,'']]], - ['mitsubishi88protocol_3658',['Mitsubishi88Protocol',['../unionMitsubishi88Protocol.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_a.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_a.js deleted file mode 100644 index 746adb1df..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_a.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['state_5ft_3659',['state_t',['../structstdAc_1_1state__t.html',1,'stdAc']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_b.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_b.js deleted file mode 100644 index 7df08243a..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_b.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['timerms_3660',['TimerMs',['../classTimerMs.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_c.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_c.js deleted file mode 100644 index f0b2bfda9..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/classes_c.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['voltasprotocol_3661',['VoltasProtocol',['../unionVoltasProtocol.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/enums_5.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/enums_5.js deleted file mode 100644 index 1319a1901..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/enums_5.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['opmode_5ft_7071',['opmode_t',['../namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f',1,'stdAc']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/enums_7.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/enums_7.js deleted file mode 100644 index 1b19dc857..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/enums_7.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['sharp_5fac_5fremote_5fmodel_5ft_7073',['sharp_ac_remote_model_t',['../IRsend_8h.html#a258e4af12642d613587149fa734e45e7',1,'IRsend.h']]], - ['swingh_5ft_7074',['swingh_t',['../namespacestdAc.html#aae50ee315fa9c9ec1a4078da40d6b147',1,'stdAc']]], - ['swingv_5ft_7075',['swingv_t',['../namespacestdAc.html#ac07f224c7bb47cac55dd01f24770ef43',1,'stdAc']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_0.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_0.js deleted file mode 100644 index 94429f1ab..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_0.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['de_2dch_2eh_3665',['de-CH.h',['../de-CH_8h.html',1,'']]], - ['de_2dde_2eh_3666',['de-DE.h',['../de-DE_8h.html',1,'']]], - ['defaults_2eh_3667',['defaults.h',['../defaults_8h.html',1,'']]], - ['doxygen_5findex_2emd_3668',['doxygen_index.md',['../doxygen__index_8md.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_1.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_1.js deleted file mode 100644 index 479d01342..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_1.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['en_2dau_2eh_3669',['en-AU.h',['../en-AU_8h.html',1,'']]], - ['en_2die_2eh_3670',['en-IE.h',['../en-IE_8h.html',1,'']]], - ['en_2duk_2eh_3671',['en-UK.h',['../en-UK_8h.html',1,'']]], - ['en_2dus_2eh_3672',['en-US.h',['../en-US_8h.html',1,'']]], - ['es_2des_2eh_3673',['es-ES.h',['../es-ES_8h.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_2.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_2.js deleted file mode 100644 index f623c7529..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['fr_2dfr_2eh_3674',['fr-FR.h',['../fr-FR_8h.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_3.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_3.js deleted file mode 100644 index 48c0677b2..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_3.js +++ /dev/null @@ -1,115 +0,0 @@ -var searchData= -[ - ['i18n_2eh_3675',['i18n.h',['../i18n_8h.html',1,'']]], - ['ir_5fairwell_2ecpp_3676',['ir_Airwell.cpp',['../ir__Airwell_8cpp.html',1,'']]], - ['ir_5fairwell_2eh_3677',['ir_Airwell.h',['../ir__Airwell_8h.html',1,'']]], - ['ir_5faiwa_2ecpp_3678',['ir_Aiwa.cpp',['../ir__Aiwa_8cpp.html',1,'']]], - ['ir_5famcor_2ecpp_3679',['ir_Amcor.cpp',['../ir__Amcor_8cpp.html',1,'']]], - ['ir_5famcor_2eh_3680',['ir_Amcor.h',['../ir__Amcor_8h.html',1,'']]], - ['ir_5fargo_2ecpp_3681',['ir_Argo.cpp',['../ir__Argo_8cpp.html',1,'']]], - ['ir_5fargo_2eh_3682',['ir_Argo.h',['../ir__Argo_8h.html',1,'']]], - ['ir_5fcarrier_2ecpp_3683',['ir_Carrier.cpp',['../ir__Carrier_8cpp.html',1,'']]], - ['ir_5fcarrier_2eh_3684',['ir_Carrier.h',['../ir__Carrier_8h.html',1,'']]], - ['ir_5fcoolix_2ecpp_3685',['ir_Coolix.cpp',['../ir__Coolix_8cpp.html',1,'']]], - ['ir_5fcoolix_2eh_3686',['ir_Coolix.h',['../ir__Coolix_8h.html',1,'']]], - ['ir_5fcorona_2ecpp_3687',['ir_Corona.cpp',['../ir__Corona_8cpp.html',1,'']]], - ['ir_5fcorona_2eh_3688',['ir_Corona.h',['../ir__Corona_8h.html',1,'']]], - ['ir_5fdaikin_2ecpp_3689',['ir_Daikin.cpp',['../ir__Daikin_8cpp.html',1,'']]], - ['ir_5fdaikin_2eh_3690',['ir_Daikin.h',['../ir__Daikin_8h.html',1,'']]], - ['ir_5fdelonghi_2ecpp_3691',['ir_Delonghi.cpp',['../ir__Delonghi_8cpp.html',1,'']]], - ['ir_5fdelonghi_2eh_3692',['ir_Delonghi.h',['../ir__Delonghi_8h.html',1,'']]], - ['ir_5fdenon_2ecpp_3693',['ir_Denon.cpp',['../ir__Denon_8cpp.html',1,'']]], - ['ir_5fdish_2ecpp_3694',['ir_Dish.cpp',['../ir__Dish_8cpp.html',1,'']]], - ['ir_5fdoshisha_2ecpp_3695',['ir_Doshisha.cpp',['../ir__Doshisha_8cpp.html',1,'']]], - ['ir_5felectra_2ecpp_3696',['ir_Electra.cpp',['../ir__Electra_8cpp.html',1,'']]], - ['ir_5felectra_2eh_3697',['ir_Electra.h',['../ir__Electra_8h.html',1,'']]], - ['ir_5felitescreens_2ecpp_3698',['ir_EliteScreens.cpp',['../ir__EliteScreens_8cpp.html',1,'']]], - ['ir_5fepson_2ecpp_3699',['ir_Epson.cpp',['../ir__Epson_8cpp.html',1,'']]], - ['ir_5ffujitsu_2ecpp_3700',['ir_Fujitsu.cpp',['../ir__Fujitsu_8cpp.html',1,'']]], - ['ir_5ffujitsu_2eh_3701',['ir_Fujitsu.h',['../ir__Fujitsu_8h.html',1,'']]], - ['ir_5fgicable_2ecpp_3702',['ir_GICable.cpp',['../ir__GICable_8cpp.html',1,'']]], - ['ir_5fglobalcache_2ecpp_3703',['ir_GlobalCache.cpp',['../ir__GlobalCache_8cpp.html',1,'']]], - ['ir_5fgoodweather_2ecpp_3704',['ir_Goodweather.cpp',['../ir__Goodweather_8cpp.html',1,'']]], - ['ir_5fgoodweather_2eh_3705',['ir_Goodweather.h',['../ir__Goodweather_8h.html',1,'']]], - ['ir_5fgree_2ecpp_3706',['ir_Gree.cpp',['../ir__Gree_8cpp.html',1,'']]], - ['ir_5fgree_2eh_3707',['ir_Gree.h',['../ir__Gree_8h.html',1,'']]], - ['ir_5fhaier_2ecpp_3708',['ir_Haier.cpp',['../ir__Haier_8cpp.html',1,'']]], - ['ir_5fhaier_2eh_3709',['ir_Haier.h',['../ir__Haier_8h.html',1,'']]], - ['ir_5fhitachi_2ecpp_3710',['ir_Hitachi.cpp',['../ir__Hitachi_8cpp.html',1,'']]], - ['ir_5fhitachi_2eh_3711',['ir_Hitachi.h',['../ir__Hitachi_8h.html',1,'']]], - ['ir_5finax_2ecpp_3712',['ir_Inax.cpp',['../ir__Inax_8cpp.html',1,'']]], - ['ir_5fjvc_2ecpp_3713',['ir_JVC.cpp',['../ir__JVC_8cpp.html',1,'']]], - ['ir_5fkelvinator_2ecpp_3714',['ir_Kelvinator.cpp',['../ir__Kelvinator_8cpp.html',1,'']]], - ['ir_5fkelvinator_2eh_3715',['ir_Kelvinator.h',['../ir__Kelvinator_8h.html',1,'']]], - ['ir_5flasertag_2ecpp_3716',['ir_Lasertag.cpp',['../ir__Lasertag_8cpp.html',1,'']]], - ['ir_5flego_2ecpp_3717',['ir_Lego.cpp',['../ir__Lego_8cpp.html',1,'']]], - ['ir_5flg_2ecpp_3718',['ir_LG.cpp',['../ir__LG_8cpp.html',1,'']]], - ['ir_5flg_2eh_3719',['ir_LG.h',['../ir__LG_8h.html',1,'']]], - ['ir_5flutron_2ecpp_3720',['ir_Lutron.cpp',['../ir__Lutron_8cpp.html',1,'']]], - ['ir_5fmagiquest_2ecpp_3721',['ir_Magiquest.cpp',['../ir__Magiquest_8cpp.html',1,'']]], - ['ir_5fmagiquest_2eh_3722',['ir_Magiquest.h',['../ir__Magiquest_8h.html',1,'']]], - ['ir_5fmetz_2ecpp_3723',['ir_Metz.cpp',['../ir__Metz_8cpp.html',1,'']]], - ['ir_5fmidea_2ecpp_3724',['ir_Midea.cpp',['../ir__Midea_8cpp.html',1,'']]], - ['ir_5fmidea_2eh_3725',['ir_Midea.h',['../ir__Midea_8h.html',1,'']]], - ['ir_5fmirage_2ecpp_3726',['ir_Mirage.cpp',['../ir__Mirage_8cpp.html',1,'']]], - ['ir_5fmitsubishi_2ecpp_3727',['ir_Mitsubishi.cpp',['../ir__Mitsubishi_8cpp.html',1,'']]], - ['ir_5fmitsubishi_2eh_3728',['ir_Mitsubishi.h',['../ir__Mitsubishi_8h.html',1,'']]], - ['ir_5fmitsubishiheavy_2ecpp_3729',['ir_MitsubishiHeavy.cpp',['../ir__MitsubishiHeavy_8cpp.html',1,'']]], - ['ir_5fmitsubishiheavy_2eh_3730',['ir_MitsubishiHeavy.h',['../ir__MitsubishiHeavy_8h.html',1,'']]], - ['ir_5fmultibrackets_2ecpp_3731',['ir_Multibrackets.cpp',['../ir__Multibrackets_8cpp.html',1,'']]], - ['ir_5fmwm_2ecpp_3732',['ir_MWM.cpp',['../ir__MWM_8cpp.html',1,'']]], - ['ir_5fnec_2ecpp_3733',['ir_NEC.cpp',['../ir__NEC_8cpp.html',1,'']]], - ['ir_5fnec_2eh_3734',['ir_NEC.h',['../ir__NEC_8h.html',1,'']]], - ['ir_5fneoclima_2ecpp_3735',['ir_Neoclima.cpp',['../ir__Neoclima_8cpp.html',1,'']]], - ['ir_5fneoclima_2eh_3736',['ir_Neoclima.h',['../ir__Neoclima_8h.html',1,'']]], - ['ir_5fnikai_2ecpp_3737',['ir_Nikai.cpp',['../ir__Nikai_8cpp.html',1,'']]], - ['ir_5fpanasonic_2ecpp_3738',['ir_Panasonic.cpp',['../ir__Panasonic_8cpp.html',1,'']]], - ['ir_5fpanasonic_2eh_3739',['ir_Panasonic.h',['../ir__Panasonic_8h.html',1,'']]], - ['ir_5fpioneer_2ecpp_3740',['ir_Pioneer.cpp',['../ir__Pioneer_8cpp.html',1,'']]], - ['ir_5fpronto_2ecpp_3741',['ir_Pronto.cpp',['../ir__Pronto_8cpp.html',1,'']]], - ['ir_5frc5_5frc6_2ecpp_3742',['ir_RC5_RC6.cpp',['../ir__RC5__RC6_8cpp.html',1,'']]], - ['ir_5frcmm_2ecpp_3743',['ir_RCMM.cpp',['../ir__RCMM_8cpp.html',1,'']]], - ['ir_5fsamsung_2ecpp_3744',['ir_Samsung.cpp',['../ir__Samsung_8cpp.html',1,'']]], - ['ir_5fsamsung_2eh_3745',['ir_Samsung.h',['../ir__Samsung_8h.html',1,'']]], - ['ir_5fsanyo_2ecpp_3746',['ir_Sanyo.cpp',['../ir__Sanyo_8cpp.html',1,'']]], - ['ir_5fsanyo_2eh_3747',['ir_Sanyo.h',['../ir__Sanyo_8h.html',1,'']]], - ['ir_5fsharp_2ecpp_3748',['ir_Sharp.cpp',['../ir__Sharp_8cpp.html',1,'']]], - ['ir_5fsharp_2eh_3749',['ir_Sharp.h',['../ir__Sharp_8h.html',1,'']]], - ['ir_5fsherwood_2ecpp_3750',['ir_Sherwood.cpp',['../ir__Sherwood_8cpp.html',1,'']]], - ['ir_5fsony_2ecpp_3751',['ir_Sony.cpp',['../ir__Sony_8cpp.html',1,'']]], - ['ir_5fsymphony_2ecpp_3752',['ir_Symphony.cpp',['../ir__Symphony_8cpp.html',1,'']]], - ['ir_5ftcl_2ecpp_3753',['ir_Tcl.cpp',['../ir__Tcl_8cpp.html',1,'']]], - ['ir_5ftcl_2eh_3754',['ir_Tcl.h',['../ir__Tcl_8h.html',1,'']]], - ['ir_5ftechnibel_2ecpp_3755',['ir_Technibel.cpp',['../ir__Technibel_8cpp.html',1,'']]], - ['ir_5ftechnibel_2eh_3756',['ir_Technibel.h',['../ir__Technibel_8h.html',1,'']]], - ['ir_5fteco_2ecpp_3757',['ir_Teco.cpp',['../ir__Teco_8cpp.html',1,'']]], - ['ir_5fteco_2eh_3758',['ir_Teco.h',['../ir__Teco_8h.html',1,'']]], - ['ir_5ftoshiba_2ecpp_3759',['ir_Toshiba.cpp',['../ir__Toshiba_8cpp.html',1,'']]], - ['ir_5ftoshiba_2eh_3760',['ir_Toshiba.h',['../ir__Toshiba_8h.html',1,'']]], - ['ir_5ftranscold_2ecpp_3761',['ir_Transcold.cpp',['../ir__Transcold_8cpp.html',1,'']]], - ['ir_5ftranscold_2eh_3762',['ir_Transcold.h',['../ir__Transcold_8h.html',1,'']]], - ['ir_5ftrotec_2ecpp_3763',['ir_Trotec.cpp',['../ir__Trotec_8cpp.html',1,'']]], - ['ir_5ftrotec_2eh_3764',['ir_Trotec.h',['../ir__Trotec_8h.html',1,'']]], - ['ir_5fvestel_2ecpp_3765',['ir_Vestel.cpp',['../ir__Vestel_8cpp.html',1,'']]], - ['ir_5fvestel_2eh_3766',['ir_Vestel.h',['../ir__Vestel_8h.html',1,'']]], - ['ir_5fvoltas_2ecpp_3767',['ir_Voltas.cpp',['../ir__Voltas_8cpp.html',1,'']]], - ['ir_5fvoltas_2eh_3768',['ir_Voltas.h',['../ir__Voltas_8h.html',1,'']]], - ['ir_5fwhirlpool_2ecpp_3769',['ir_Whirlpool.cpp',['../ir__Whirlpool_8cpp.html',1,'']]], - ['ir_5fwhirlpool_2eh_3770',['ir_Whirlpool.h',['../ir__Whirlpool_8h.html',1,'']]], - ['ir_5fwhynter_2ecpp_3771',['ir_Whynter.cpp',['../ir__Whynter_8cpp.html',1,'']]], - ['ir_5fzepeal_2ecpp_3772',['ir_Zepeal.cpp',['../ir__Zepeal_8cpp.html',1,'']]], - ['irac_2ecpp_3773',['IRac.cpp',['../IRac_8cpp.html',1,'']]], - ['irac_2eh_3774',['IRac.h',['../IRac_8h.html',1,'']]], - ['irrecv_2ecpp_3775',['IRrecv.cpp',['../IRrecv_8cpp.html',1,'']]], - ['irrecv_2eh_3776',['IRrecv.h',['../IRrecv_8h.html',1,'']]], - ['irremoteesp8266_2eh_3777',['IRremoteESP8266.h',['../IRremoteESP8266_8h.html',1,'']]], - ['irsend_2ecpp_3778',['IRsend.cpp',['../IRsend_8cpp.html',1,'']]], - ['irsend_2eh_3779',['IRsend.h',['../IRsend_8h.html',1,'']]], - ['irtext_2ecpp_3780',['IRtext.cpp',['../IRtext_8cpp.html',1,'']]], - ['irtext_2eh_3781',['IRtext.h',['../IRtext_8h.html',1,'']]], - ['irtimer_2ecpp_3782',['IRtimer.cpp',['../IRtimer_8cpp.html',1,'']]], - ['irtimer_2eh_3783',['IRtimer.h',['../IRtimer_8h.html',1,'']]], - ['irutils_2ecpp_3784',['IRutils.cpp',['../IRutils_8cpp.html',1,'']]], - ['irutils_2eh_3785',['IRutils.h',['../IRutils_8h.html',1,'']]], - ['it_2dit_2eh_3786',['it-IT.h',['../it-IT_8h.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_4.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_4.js deleted file mode 100644 index 995c98d51..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['pt_2dbr_2eh_3787',['pt-BR.h',['../pt-BR_8h.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_5.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_5.js deleted file mode 100644 index e01bac1c7..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_5.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['readme_2emd_3788',['README.md',['../README_8md.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_6.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_6.js deleted file mode 100644 index 6f4b9c00c..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/files_6.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['zh_2dcn_2eh_3789',['zh-CN.h',['../zh-CN_8h.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_0.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_0.js deleted file mode 100644 index 59a8dd09f..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_0.js +++ /dev/null @@ -1,21 +0,0 @@ -var searchData= -[ - ['_5fbackupstate_3790',['_backupState',['../classIRToshibaAC.html#a108c23cb859a64228166e5385295a1e5',1,'IRToshibaAC']]], - ['_5fcancelofftimer_3791',['_cancelOffTimer',['../classIRCarrierAc64.html#a4a0fdf34836b1c954b27c9b242324679',1,'IRCarrierAc64']]], - ['_5fcancelontimer_3792',['_cancelOnTimer',['../classIRCarrierAc64.html#a43e7be5a1a6fe2dbfe245e99d2205779',1,'IRCarrierAc64']]], - ['_5fdelaymicroseconds_3793',['_delayMicroseconds',['../classIRsend.html#a61ceb32aa53f538b93377b10e58b45c9',1,'IRsend']]], - ['_5fgeteconotoggle_3794',['_getEconoToggle',['../classIRSharpAc.html#aa34bac2a54091508fc059c46c98cc255',1,'IRSharpAc']]], - ['_5fgettemp_3795',['_getTemp',['../classIRSanyoAc.html#a958a4d66a2e17dccefaedad45787355e',1,'IRSanyoAc']]], - ['_5fgettime_3796',['_getTime',['../classIRPanasonicAc.html#ab0a592b759daf90be548ac69ae99f40f',1,'IRPanasonicAc']]], - ['_5fgettimer_3797',['_getTimer',['../classIRCoronaAc.html#a352fedb1c80549d2b580e538d8ba7901',1,'IRCoronaAc::_getTimer()'],['../classIRVestelAc.html#ad3f095d248ad3c84a777ed9f2d3b001e',1,'IRVestelAc::_getTimer()']]], - ['_5fmatchgeneric_3798',['_matchGeneric',['../classIRrecv.html#af0b300fe6fdff58324525e8208be3024',1,'IRrecv']]], - ['_5frestorestate_3799',['_restoreState',['../classIRToshibaAC.html#a23fb190770159f8f1e9bf64df22e8a26',1,'IRToshibaAC']]], - ['_5fsendsony_3800',['_sendSony',['../classIRsend.html#a21352b4499f976872a74bae36ea10338',1,'IRsend']]], - ['_5fseteconotoggle_3801',['_setEconoToggle',['../classIRSharpAc.html#a959d422c7e5a5204909b299a5fbb2a69',1,'IRSharpAc']]], - ['_5fsetmode_3802',['_setMode',['../classIRWhirlpoolAc.html#a60fd8da35d6e0137711e114a5307d664',1,'IRWhirlpoolAc']]], - ['_5fsettemp_3803',['_setTemp',['../classIRLgAc.html#a39aca9861608211c8e74c89a7ccc97cd',1,'IRLgAc::_setTemp()'],['../classIRSanyoAc.html#a4c8c0606f6bb82b0c55b179c9f4a7bda',1,'IRSanyoAc::_setTemp()'],['../classIRWhirlpoolAc.html#abb221e09077efd96304f84e8ca130458',1,'IRWhirlpoolAc::_setTemp()']]], - ['_5fsettime_3804',['_setTime',['../classIRPanasonicAc.html#a51e306dd7a3e4d580ed5396fcd166141',1,'IRPanasonicAc']]], - ['_5fsettimer_3805',['_setTimer',['../classIRCoronaAc.html#a0ea9319987de7cb7f3dcb9fbefb60a2c',1,'IRCoronaAc::_setTimer()'],['../classIRVestelAc.html#a726178a16458c84d031aec07355d0dd2',1,'IRVestelAc::_setTimer()']]], - ['_5ftostring_3806',['_toString',['../classIRHitachiAc424.html#af8ff90fe9beb31d8f44310a9e646a230',1,'IRHitachiAc424']]], - ['_5fvalidtolerance_3807',['_validTolerance',['../classIRrecv.html#a0b4221970de0d027b5ae99648fa1c003',1,'IRrecv']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_1.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_1.js deleted file mode 100644 index 8758fd33e..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_1.js +++ /dev/null @@ -1,15 +0,0 @@ -var searchData= -[ - ['add_3808',['add',['../classIRtimer.html#aa8e3ff975ae5468b4727790c828fa032',1,'IRtimer::add()'],['../classTimerMs.html#a77bfc23a029a9172c3dbac03f746b0cb',1,'TimerMs::add()']]], - ['addbooltostring_3809',['addBoolToString',['../namespaceirutils.html#a12ba9cf1830a886649a80c3cc5fdce2b',1,'irutils']]], - ['adddaytostring_3810',['addDayToString',['../namespaceirutils.html#a6ead1d10578c64627f8a24b5d8a7444f',1,'irutils']]], - ['addfantostring_3811',['addFanToString',['../namespaceirutils.html#ae023bbabc452173d348c14eac7d86ab4',1,'irutils']]], - ['addinttostring_3812',['addIntToString',['../namespaceirutils.html#a772e623c4b60208200e02afbaec66651',1,'irutils']]], - ['addlabeledstring_3813',['addLabeledString',['../namespaceirutils.html#ac98793392d1e65c1b8d6895eb9d9b75b',1,'irutils']]], - ['addmodeltostring_3814',['addModelToString',['../namespaceirutils.html#a06e5a5c2b6f6649035dfa5eb19801367',1,'irutils']]], - ['addmodetostring_3815',['addModeToString',['../namespaceirutils.html#a8b74ae0258e98aa0eaebc6f3efe1481e',1,'irutils']]], - ['addtemptostring_3816',['addTempToString',['../namespaceirutils.html#a0cef0634f4db979a93b7dc19cc2b4a85',1,'irutils']]], - ['airwell_3817',['airwell',['../classIRac.html#a26cd62e09250d87b652d35406ebfb159',1,'IRac']]], - ['amcor_3818',['amcor',['../classIRac.html#a4bad16621b232572e14fe4a53f678131',1,'IRac']]], - ['argo_3819',['argo',['../classIRac.html#aa06ee1314529dbf96f4e6f3c28ea6821',1,'IRac']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_15.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_15.js deleted file mode 100644 index 74b3c0d8f..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_15.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['whirlpool_4493',['whirlpool',['../classIRac.html#ae5f7a03589f614c03c5ad8629100b05a',1,'IRac']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_17.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_17.js deleted file mode 100644 index 062fe13d9..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_17.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['_7eirrecv_4495',['~IRrecv',['../classIRrecv.html#a87d4cca5e350177cb0922842dda1eb5b',1,'IRrecv']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_4.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_4.js deleted file mode 100644 index 1032f5fb4..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_4.js +++ /dev/null @@ -1,103 +0,0 @@ -var searchData= -[ - ['daikin_3858',['daikin',['../classIRac.html#afb6d77bbeb5b2465437cef4f58b83e0e',1,'IRac']]], - ['daikin128_3859',['daikin128',['../classIRac.html#a8fe7c254e1bcb32b6b6fdc1f91693a50',1,'IRac']]], - ['daikin152_3860',['daikin152',['../classIRac.html#a6dff8e608e3e9fecffe71c3fd1ebe74e',1,'IRac']]], - ['daikin160_3861',['daikin160',['../classIRac.html#a3b34f44d713efa52f30d43405cde831c',1,'IRac']]], - ['daikin176_3862',['daikin176',['../classIRac.html#aaae173fd58a7b53c3f4d2edbf7c4afe7',1,'IRac']]], - ['daikin2_3863',['daikin2',['../classIRac.html#a89eddc0e1b3c41c608208d2752dc954c',1,'IRac']]], - ['daikin216_3864',['daikin216',['../classIRac.html#a101ac8b9e9564e557ef1a1f61ff111d9',1,'IRac']]], - ['daikin64_3865',['daikin64',['../classIRac.html#a074db6fc0cff2878d80a397020e1b249',1,'IRac']]], - ['decode_3866',['decode',['../classIRrecv.html#aeaa5c07a8b46f8fbb982f996cc1f9f4b',1,'IRrecv']]], - ['decodeairwell_3867',['decodeAirwell',['../classIRrecv.html#acf4635d5ee146a82498cb0c269b6af41',1,'IRrecv']]], - ['decodeaiwarct501_3868',['decodeAiwaRCT501',['../classIRrecv.html#aa4d678376a4c0f8ea953474a6f5ef9d2',1,'IRrecv']]], - ['decodeamcor_3869',['decodeAmcor',['../classIRrecv.html#a8d81fcfb47e36925975d313027689a44',1,'IRrecv']]], - ['decodeargo_3870',['decodeArgo',['../classIRrecv.html#a94f12dc000a6e7b75ea8680fd48fc487',1,'IRrecv']]], - ['decodecarrierac_3871',['decodeCarrierAC',['../classIRrecv.html#acf3d1c37038120a5c0996d92577ce74a',1,'IRrecv']]], - ['decodecarrierac40_3872',['decodeCarrierAC40',['../classIRrecv.html#a4bdb35ec34f49401a6b9becd15b8a3b5',1,'IRrecv']]], - ['decodecarrierac64_3873',['decodeCarrierAC64',['../classIRrecv.html#a79d03c31da48a385ab47cc8f342ef9b3',1,'IRrecv']]], - ['decodecoolix_3874',['decodeCOOLIX',['../classIRrecv.html#a964af7e72e2133688f0596c718cb98ca',1,'IRrecv']]], - ['decodecoronaac_3875',['decodeCoronaAc',['../classIRrecv.html#a981cba14551c93af57f9c1c0e1775d12',1,'IRrecv']]], - ['decodedaikin_3876',['decodeDaikin',['../classIRrecv.html#a141f0de9f4cae8daeb025aff3904ecaa',1,'IRrecv']]], - ['decodedaikin128_3877',['decodeDaikin128',['../classIRrecv.html#ac7188577c874d9f8f19304a3ec775415',1,'IRrecv']]], - ['decodedaikin152_3878',['decodeDaikin152',['../classIRrecv.html#ab20a6586b4e56cc428012ec96f5ccc2c',1,'IRrecv']]], - ['decodedaikin160_3879',['decodeDaikin160',['../classIRrecv.html#af0b9822defe6b29099079d664d9dc413',1,'IRrecv']]], - ['decodedaikin176_3880',['decodeDaikin176',['../classIRrecv.html#aa142d1340201b6fdc5b462f46fe21ee0',1,'IRrecv']]], - ['decodedaikin2_3881',['decodeDaikin2',['../classIRrecv.html#a4c4799a0d45ea5562159c46939617d80',1,'IRrecv']]], - ['decodedaikin216_3882',['decodeDaikin216',['../classIRrecv.html#a7f860686a5c58aa8f4d1842cfb15b2f9',1,'IRrecv']]], - ['decodedaikin64_3883',['decodeDaikin64',['../classIRrecv.html#a030701f081a9c6eab0c07b75433b524c',1,'IRrecv']]], - ['decodedelonghiac_3884',['decodeDelonghiAc',['../classIRrecv.html#a8c91cc83770d243e942387cc16e9ca6f',1,'IRrecv']]], - ['decodedenon_3885',['decodeDenon',['../classIRrecv.html#a0b1bd1c817cb43bc3755126191b7f4a2',1,'IRrecv']]], - ['decodedish_3886',['decodeDISH',['../classIRrecv.html#a851776d9178aeb706d9a1abd3f254e31',1,'IRrecv']]], - ['decodedoshisha_3887',['decodeDoshisha',['../classIRrecv.html#a675c45e6b32aaeca3de734ccf2f0c819',1,'IRrecv']]], - ['decodeelectraac_3888',['decodeElectraAC',['../classIRrecv.html#ad3a7be8afc36451c8e28e27f3c3e9aaa',1,'IRrecv']]], - ['decodeelitescreens_3889',['decodeElitescreens',['../classIRrecv.html#ac830ece2c2c200b8c13fcd66828e2846',1,'IRrecv']]], - ['decodeepson_3890',['decodeEpson',['../classIRrecv.html#aaadef8415f273ba25f4086fecd681d2e',1,'IRrecv']]], - ['decodefujitsuac_3891',['decodeFujitsuAC',['../classIRrecv.html#aa3778bdf994bf9c99ac48ef95434a826',1,'IRrecv']]], - ['decodegicable_3892',['decodeGICable',['../classIRrecv.html#afade8dac9b1d023e5e0946e6b2c08aea',1,'IRrecv']]], - ['decodegoodweather_3893',['decodeGoodweather',['../classIRrecv.html#a64650ce7dbaf5fc860a6a253d906e9de',1,'IRrecv']]], - ['decodegree_3894',['decodeGree',['../classIRrecv.html#a2e756342d7524a13d53d6c656700638c',1,'IRrecv']]], - ['decodehaierac_3895',['decodeHaierAC',['../classIRrecv.html#ad97403174f05197a7fa9a4a0107e3111',1,'IRrecv']]], - ['decodehaieracyrw02_3896',['decodeHaierACYRW02',['../classIRrecv.html#a281fb9d972fee75db49209c42f649822',1,'IRrecv']]], - ['decodehash_3897',['decodeHash',['../classIRrecv.html#a7c15fbfa7936ca474712a1953911fd06',1,'IRrecv']]], - ['decodehitachiac_3898',['decodeHitachiAC',['../classIRrecv.html#aa42facfffc0e304005272b6ddd4583c8',1,'IRrecv']]], - ['decodehitachiac1_3899',['decodeHitachiAC1',['../classIRrecv.html#a122e0dcbf14c90ec2d77399acce21459',1,'IRrecv']]], - ['decodehitachiac3_3900',['decodeHitachiAc3',['../classIRrecv.html#a113bc834eff00f55d5545ce3fa1ab203',1,'IRrecv']]], - ['decodehitachiac424_3901',['decodeHitachiAc424',['../classIRrecv.html#a01c3dda56d6d916076fa1affa2213129',1,'IRrecv']]], - ['decodeinax_3902',['decodeInax',['../classIRrecv.html#a94545c6a8da027b9cb0e23ecba4c29d8',1,'IRrecv']]], - ['decodejvc_3903',['decodeJVC',['../classIRrecv.html#a25ab71efc223a418e9630d8421f44bc9',1,'IRrecv']]], - ['decodekelvinator_3904',['decodeKelvinator',['../classIRrecv.html#a0ac82f20b48b2d71ee07eb392578b226',1,'IRrecv']]], - ['decodelasertag_3905',['decodeLasertag',['../classIRrecv.html#ae4af614a45ea65cb3304ef5bd7965122',1,'IRrecv']]], - ['decodelegopf_3906',['decodeLegoPf',['../classIRrecv.html#aea75ad0ba1d8fec33de16501940f2553',1,'IRrecv']]], - ['decodelg_3907',['decodeLG',['../classIRrecv.html#afe70015c36b1477a5de0c193163e13a7',1,'IRrecv']]], - ['decodelutron_3908',['decodeLutron',['../classIRrecv.html#a6093c4404a9a9d415c5bfeab5ec53be5',1,'IRrecv']]], - ['decodemagiquest_3909',['decodeMagiQuest',['../classIRrecv.html#a6f3bfcc6767484151dee758bcf94fb0b',1,'IRrecv']]], - ['decodemetz_3910',['decodeMetz',['../classIRrecv.html#ac39aa52eec10d1c92b6e9713a22252b6',1,'IRrecv']]], - ['decodemidea_3911',['decodeMidea',['../classIRrecv.html#a255b15601f7439a09ab5e77ad78816fb',1,'IRrecv']]], - ['decodemidea24_3912',['decodeMidea24',['../classIRrecv.html#a62a04019308b29ae2aea4b3a83ba9155',1,'IRrecv']]], - ['decodemirage_3913',['decodeMirage',['../classIRrecv.html#aa88813f830a6ff6bfd6e7bde6728a3d5',1,'IRrecv']]], - ['decodemitsubishi_3914',['decodeMitsubishi',['../classIRrecv.html#a6efe3be80f0ebef3ff94ed0e56c5c52a',1,'IRrecv']]], - ['decodemitsubishi112_3915',['decodeMitsubishi112',['../classIRrecv.html#ae0690ff3cb5a5cdcdb6a514bb7bf0cdd',1,'IRrecv']]], - ['decodemitsubishi136_3916',['decodeMitsubishi136',['../classIRrecv.html#a87b3ee57dbdf762a0e305ddd43eec629',1,'IRrecv']]], - ['decodemitsubishi2_3917',['decodeMitsubishi2',['../classIRrecv.html#a9514197850491a5b8c30ae9ffc89d895',1,'IRrecv']]], - ['decodemitsubishiac_3918',['decodeMitsubishiAC',['../classIRrecv.html#a942c5f41df5cbff32a8b7703673cb621',1,'IRrecv']]], - ['decodemitsubishiheavy_3919',['decodeMitsubishiHeavy',['../classIRrecv.html#aef9cedf79793806df4cc5376710781bc',1,'IRrecv']]], - ['decodemultibrackets_3920',['decodeMultibrackets',['../classIRrecv.html#af61afacc9865232643164ba824e665ab',1,'IRrecv']]], - ['decodemwm_3921',['decodeMWM',['../classIRrecv.html#a27518b5d792cdf3ab333b324f409f328',1,'IRrecv']]], - ['decodenec_3922',['decodeNEC',['../classIRrecv.html#a52b844f80df7f64edf9ce9cc189ac5b9',1,'IRrecv']]], - ['decodeneoclima_3923',['decodeNeoclima',['../classIRrecv.html#a4729ee949e533448b481ae33bbbf1adf',1,'IRrecv']]], - ['decodenikai_3924',['decodeNikai',['../classIRrecv.html#abbcbf5fc07d7e37d7724acc37bb5f592',1,'IRrecv']]], - ['decodepanasonic_3925',['decodePanasonic',['../classIRrecv.html#aa8dd5f24d28576c6db03cc463bd0a865',1,'IRrecv']]], - ['decodepanasonicac_3926',['decodePanasonicAC',['../classIRrecv.html#a0f78e180ed731e8fb16d1c85aa721c95',1,'IRrecv']]], - ['decodepanasonicac32_3927',['decodePanasonicAC32',['../classIRrecv.html#a89ce20e483b1297cae05ab1ae96d24ec',1,'IRrecv']]], - ['decodepioneer_3928',['decodePioneer',['../classIRrecv.html#a78a9487cbe8a562392a07a4090b3091e',1,'IRrecv']]], - ['decoderc5_3929',['decodeRC5',['../classIRrecv.html#adab9dffbeceee514520fababd0e721bd',1,'IRrecv']]], - ['decoderc6_3930',['decodeRC6',['../classIRrecv.html#a67316499ef37db82e3b3ecaac25c5980',1,'IRrecv']]], - ['decodercmm_3931',['decodeRCMM',['../classIRrecv.html#a0e7bf769cb5bebf174e852e4b0b08cf3',1,'IRrecv']]], - ['decodesamsung_3932',['decodeSAMSUNG',['../classIRrecv.html#a18b6cf177364faf11b9a076dd2025eec',1,'IRrecv']]], - ['decodesamsung36_3933',['decodeSamsung36',['../classIRrecv.html#a290a9e6a0b12ef1fe02a92a456c8ad57',1,'IRrecv']]], - ['decodesamsungac_3934',['decodeSamsungAC',['../classIRrecv.html#ae779c76ebd0f3cd1fc13abaa55f80d67',1,'IRrecv']]], - ['decodesanyoac_3935',['decodeSanyoAc',['../classIRrecv.html#ab6c02d8b8079d7f344e141e6a4e7e225',1,'IRrecv']]], - ['decodesanyolc7461_3936',['decodeSanyoLC7461',['../classIRrecv.html#a01a165bf2e7d16dbbb916d1eae740bc5',1,'IRrecv']]], - ['decodesharp_3937',['decodeSharp',['../classIRrecv.html#a3390d63ba21a835d7c74c261532a22a7',1,'IRrecv']]], - ['decodesharpac_3938',['decodeSharpAc',['../classIRrecv.html#a8a9b920079f783e236f8a938e20b9743',1,'IRrecv']]], - ['decodesony_3939',['decodeSony',['../classIRrecv.html#ab03227955cf7d1d00c1620c55d7f9f18',1,'IRrecv']]], - ['decodesymphony_3940',['decodeSymphony',['../classIRrecv.html#a61cdf4d891654521afbc6ca9fb415745',1,'IRrecv']]], - ['decodetechnibelac_3941',['decodeTechnibelAc',['../classIRrecv.html#a2f022741309ad814bf11aec440a838d0',1,'IRrecv']]], - ['decodeteco_3942',['decodeTeco',['../classIRrecv.html#a950711d7df8dfe4cda86f53650cd9f56',1,'IRrecv']]], - ['decodetoshibaac_3943',['decodeToshibaAC',['../classIRrecv.html#aae6ab687ae319ae50a52238916bcfb1a',1,'IRrecv']]], - ['decodetostate_3944',['decodeToState',['../namespaceIRAcUtils.html#ac5eb498bf12cb6cba023c9c1e9726949',1,'IRAcUtils']]], - ['decodetranscold_3945',['decodeTranscold',['../classIRrecv.html#a16c44538d7e01d9b118d983de39d18e3',1,'IRrecv']]], - ['decodetrotec_3946',['decodeTrotec',['../classIRrecv.html#ae2920c488173f3fa37f5325438157ced',1,'IRrecv']]], - ['decodevestelac_3947',['decodeVestelAc',['../classIRrecv.html#a5d48b3c91434c18c7726cca504d75b73',1,'IRrecv']]], - ['decodevoltas_3948',['decodeVoltas',['../classIRrecv.html#a43539320036ba1c17e9875e4dc9fd055',1,'IRrecv']]], - ['decodewhirlpoolac_3949',['decodeWhirlpoolAC',['../classIRrecv.html#a0d1eec83cf092f5621cb34b3e94777c4',1,'IRrecv']]], - ['decodewhynter_3950',['decodeWhynter',['../classIRrecv.html#a66289f6a462557ad26e6c0a64f36cf02',1,'IRrecv']]], - ['decodezepeal_3951',['decodeZepeal',['../classIRrecv.html#a72afd857c8b2e0192021a40afc96c2d8',1,'IRrecv']]], - ['defaultbits_3952',['defaultBits',['../classIRsend.html#a70a2256bee8ad9b8ea8571dd4f26596f',1,'IRsend']]], - ['delonghiac_3953',['delonghiac',['../classIRac.html#af290b0b08cff5121bb88c62051ed1074',1,'IRac']]], - ['disableirin_3954',['disableIRIn',['../classIRrecv.html#a9f4a719e756ad78c7dd47186f8bef087',1,'IRrecv']]], - ['disableofftimer_3955',['disableOffTimer',['../classIRDaikinESP.html#a1e4e05ad0799002d0ab25db92dcaac06',1,'IRDaikinESP::disableOffTimer()'],['../classIRDaikin2.html#a8cbdbc0de31b14f974cd8cd87f3ca54a',1,'IRDaikin2::disableOffTimer()']]], - ['disableontimer_3956',['disableOnTimer',['../classIRDaikinESP.html#a0733e4a15d76baac23493926ef1765b1',1,'IRDaikinESP::disableOnTimer()'],['../classIRDaikin2.html#a170a1e9ddb7873dc1392184a85387cc3',1,'IRDaikin2::disableOnTimer()']]], - ['disablesleeptimer_3957',['disableSleepTimer',['../classIRDaikin2.html#a152532ef9d905e26930ae145a9623877',1,'IRDaikin2']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_a.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_a.js deleted file mode 100644 index 7a7530be1..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_a.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['kelvinator_4189',['kelvinator',['../classIRac.html#a6e4d8061841a7271205f81bd8e7d6171',1,'IRac']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_b.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_b.js deleted file mode 100644 index d4c3baf4a..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_b.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['ledoff_4190',['ledOff',['../classIRsend.html#ae71cc5aa99f894785fb4f7abc05841b2',1,'IRsend']]], - ['ledon_4191',['ledOn',['../classIRsend.html#a13d804171fa7c14aff4def38c6ffb6c8',1,'IRsend']]], - ['lg_4192',['lg',['../classIRac.html#afad31ecf9eae573882d53dd6629485fb',1,'IRac']]], - ['lowlevelsanitycheck_4193',['lowLevelSanityCheck',['../namespaceirutils.html#af67b75834051c4aced358b274c1c55a8',1,'irutils']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_d.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_d.js deleted file mode 100644 index 6ecb991af..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_d.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['neoclima_4216',['neoclima',['../classIRac.html#a777da4b0552ee3b64d656c4592687f47',1,'IRac']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_f.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_f.js deleted file mode 100644 index 1660a9fe2..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/functions_f.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['panasonic_4220',['panasonic',['../classIRac.html#af873db2b9735127eb6f079861daed67a',1,'IRac']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/namespaces_0.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/namespaces_0.js deleted file mode 100644 index cb31bbd5f..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/namespaces_0.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['iracutils_3662',['IRAcUtils',['../namespaceIRAcUtils.html',1,'']]], - ['irutils_3663',['irutils',['../namespaceirutils.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/namespaces_1.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/namespaces_1.js deleted file mode 100644 index 4588a89e4..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/namespaces_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['stdac_3664',['stdAc',['../namespacestdAc.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/pages_0.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/pages_0.js deleted file mode 100644 index 66e35f8e9..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/pages_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['deprecated_20list_7225',['Deprecated List',['../deprecated.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/pages_1.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/pages_1.js deleted file mode 100644 index a57396ae7..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/pages_1.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['irremoteesp8266_20library_20api_20documentation_7226',['IRremoteESP8266 Library API Documentation',['../index.html',1,'']]], - ['internationalisation_20_28i18n_29_20_26_20locale_20files_7227',['Internationalisation (I18N) & Locale Files',['../md_src_locale_README.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/pages_2.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/pages_2.js deleted file mode 100644 index 772564d44..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/pages_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['todo_20list_7228',['Todo List',['../todo.html',1,'']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_1.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_1.js deleted file mode 100644 index 1b7afe779..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_1.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['address_4565',['address',['../classdecode__results.html#a2858c3a5e28eccca95d44aaa87b70e9e',1,'decode_results']]], - ['airflow_4566',['AirFlow',['../unionGoodweatherProtocol.html#a7b876552a27a7a9bf84b1009f7b12f7a',1,'GoodweatherProtocol']]], - ['altmode_4567',['AltMode',['../unionDaikin176Protocol.html#a05511938e152951723792dc08b33d0dd',1,'Daikin176Protocol']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_11.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_11.js deleted file mode 100644 index f2969f5c6..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_11.js +++ /dev/null @@ -1,38 +0,0 @@ -var searchData= -[ - ['saved_5fstate_6997',['saved_state',['../classIRTranscoldAc.html#a3f5f493caff4eaff466b050fd6f5c9e1',1,'IRTranscoldAc']]], - ['savedfan_6998',['savedFan',['../classIRCoolixAC.html#a5645cc98a1b1c509729544c09dc77fbf',1,'IRCoolixAC']]], - ['scrap_6999',['scrap',['../unionmagiquest.html#afd0bcf9a87f0fa2db87b68b211952a73',1,'magiquest']]], - ['sections_7000',['sections',['../unionCoronaProtocol.html#ae7cdfa7315fae2be9aa64f57b10b325a',1,'CoronaProtocol']]], - ['sensor_7001',['Sensor',['../unionDaikinESPProtocol.html#a9cdca7efde034c19bc1bd3da5c204ec9',1,'DaikinESPProtocol::Sensor()'],['../unionDaikin152Protocol.html#a4bbb04adc012732ba03820a2f8632a2a',1,'Daikin152Protocol::Sensor()']]], - ['sensortemp_7002',['SensorTemp',['../unionCoolixProtocol.html#a3213a8e821e4f8dc89240b1aa429ab9d',1,'CoolixProtocol::SensorTemp()'],['../unionMideaProtocol.html#a2ce21157e61749f4d1c3b14fd0b6cfe8',1,'MideaProtocol::SensorTemp()']]], - ['sig_7003',['Sig',['../unionMitsubishi152Protocol.html#a3e212768123e252ab4c17cec54084ddc',1,'Mitsubishi152Protocol::Sig()'],['../unionMitsubishi88Protocol.html#a7334ae1a2beac4e7db68817d715780f8',1,'Mitsubishi88Protocol::Sig()']]], - ['sign_7004',['Sign',['../unionLGProtocol.html#a0ce79a58c9afe05d8f88a246f1e4e38c',1,'LGProtocol']]], - ['silent_7005',['Silent',['../unionMitsubishi152Protocol.html#af3a374268ed6de973571de1104a1e3b6',1,'Mitsubishi152Protocol']]], - ['sleep_7006',['sleep',['../structstdAc_1_1state__t.html#a94fa6098d7422292a1c6943973cd106a',1,'stdAc::state_t::sleep()'],['../unionCarrierProtocol.html#a957ac027dec4e1942d88ac8f7bcbc767',1,'CarrierProtocol::Sleep()'],['../unionDaikin128Protocol.html#a6d8c864358deaac3e8af9e3c7160acdb',1,'Daikin128Protocol::Sleep()'],['../unionDaikin64Protocol.html#ad97e50c0e3dee468254d84f0ffeab71a',1,'Daikin64Protocol::Sleep()'],['../unionDelonghiProtocol.html#a8ae7e6b8982693fc0cff79dcc5352cc5',1,'DelonghiProtocol::Sleep()'],['../unionGoodweatherProtocol.html#ab5b363c97de0b9ea362335914202aa5d',1,'GoodweatherProtocol::Sleep()'],['../unionGreeProtocol.html#a1ea579a0c99eb1dc8fd72867519ab258',1,'GreeProtocol::Sleep()'],['../unionHaierProtocol.html#a88942d48d868ff5697040d5a89f93099',1,'HaierProtocol::Sleep()'],['../unionHaierYRW02Protocol.html#a0b0ad77222892e9fccf122fcee95d87d',1,'HaierYRW02Protocol::Sleep()'],['../unionHitachi1Protocol.html#a6f7f771174da0e309c817d1e1b8dad04',1,'Hitachi1Protocol::Sleep()'],['../unionMideaProtocol.html#aeea5e2520e4cd1773c1eddc8a84af2d3',1,'MideaProtocol::Sleep()'],['../unionVoltasProtocol.html#a1a47a7e57717d28e610e97b40e86b1ca',1,'VoltasProtocol::Sleep()']]], - ['sleepflag_7007',['sleepFlag',['../classIRCoolixAC.html#a26560e04d1f77830e40e5570845b9e06',1,'IRCoolixAC']]], - ['sleeptimer_7008',['SleepTimer',['../unionDaikin2Protocol.html#a08f4a54ef2100e9afc8d360d6f1f809b',1,'Daikin2Protocol']]], - ['start_7009',['start',['../classIRtimer.html#aaa087b8688ff8150e0fc1ec6d5c4a52a',1,'IRtimer::start()'],['../classTimerMs.html#a15ad2e08a5931397391d48f040722f65',1,'TimerMs::start()']]], - ['startclock_7010',['StartClock',['../unionMitsubishi144Protocol.html#a2b3fcf0371639b6c73c152c671ae3b66',1,'Mitsubishi144Protocol']]], - ['state_7011',['state',['../classdecode__results.html#aaeb4b1b2e950bdd181582c385b2f4305',1,'decode_results']]], - ['stopclock_7012',['StopClock',['../unionMitsubishi144Protocol.html#a827da42e7df246a6849223430412e051',1,'Mitsubishi144Protocol']]], - ['success_7013',['success',['../structmatch__result__t.html#a13fe18ae6cf89364df443a64295b2f90',1,'match_result_t']]], - ['sum_7014',['Sum',['../unionAmcorProtocol.html#a108cf161abbbdd7ae4178f70066e8ae6',1,'AmcorProtocol::Sum()'],['../unionArgoProtocol.html#ab0ec3039d81a3a2a6c8b44f5c64d2fae',1,'ArgoProtocol::Sum()'],['../unionCarrierProtocol.html#acbbf207e7a0e79d74713e6f8598c16c2',1,'CarrierProtocol::Sum()'],['../unionDaikin152Protocol.html#ab9d2826560480612000ff57967c949ce',1,'Daikin152Protocol::Sum()'],['../unionDaikin64Protocol.html#add19fb01e106fe9dd759a33870378b64',1,'Daikin64Protocol::Sum()'],['../unionDelonghiProtocol.html#a9f7a2ecd94db83a8673e8929b373a036',1,'DelonghiProtocol::Sum()'],['../unionElectraProtocol.html#a06f949386cbc460b017f5a2da4a2c557',1,'ElectraProtocol::Sum()'],['../unionGreeProtocol.html#a7502111538873c23d70129b77a26019e',1,'GreeProtocol::Sum()'],['../unionHaierProtocol.html#a5842a170e3cdd0ad823cf244c7b8dd51',1,'HaierProtocol::Sum()'],['../unionHaierYRW02Protocol.html#a656449e6901b3333ca0efe4a2e662fc7',1,'HaierYRW02Protocol::Sum()'],['../unionHitachiProtocol.html#a7917d5fe64dc17c4240286d113edffbf',1,'HitachiProtocol::Sum()'],['../unionHitachi1Protocol.html#af8695d17dd292292c1a395fca1052d0d',1,'Hitachi1Protocol::Sum()'],['../unionLGProtocol.html#a8f527a8f4b6235ca01bb96ed9cce8fcd',1,'LGProtocol::Sum()'],['../unionMideaProtocol.html#a3d4afe5411a769c48e8bfaa3a9e8e84c',1,'MideaProtocol::Sum()'],['../unionMitsubishi144Protocol.html#a50ccc136c9cb813e62731c0e91e1bb18',1,'Mitsubishi144Protocol::Sum()'],['../unionMitsubishi112Protocol.html#a167d9e324351844304624224ebd6c54e',1,'Mitsubishi112Protocol::Sum()']]], - ['sum1_7015',['Sum1',['../unionDaikinESPProtocol.html#a149da481f13ce5a29ce31a3dce8e8cb0',1,'DaikinESPProtocol::Sum1()'],['../unionDaikin2Protocol.html#ab38b622ad6d915d30d696b31664a94f4',1,'Daikin2Protocol::Sum1()'],['../unionDaikin216Protocol.html#af5a0be12a198c7398a3b85aea0ca321f',1,'Daikin216Protocol::Sum1()'],['../unionDaikin160Protocol.html#ade9652651eb01aab9777c9a6244d41a1',1,'Daikin160Protocol::Sum1()'],['../unionDaikin176Protocol.html#a2acfd274cfe47a17603ff382c2948695',1,'Daikin176Protocol::Sum1()'],['../unionDaikin128Protocol.html#a72cbe31d6a6efa72c3be3a5f97a33d9a',1,'Daikin128Protocol::Sum1()'],['../unionKelvinatorProtocol.html#a11960442c40eb23519d44c3daa354d4f',1,'KelvinatorProtocol::Sum1()']]], - ['sum2_7016',['Sum2',['../unionDaikinESPProtocol.html#a23ab8932c3c7fc9ffb79a4540458f1e8',1,'DaikinESPProtocol::Sum2()'],['../unionDaikin2Protocol.html#a8c6c9f26a55cf656e4dd7043e3c8e9cb',1,'Daikin2Protocol::Sum2()'],['../unionDaikin216Protocol.html#a190893ad04cf10e16f2c15dc025bb683',1,'Daikin216Protocol::Sum2()'],['../unionDaikin160Protocol.html#a0c0c7e34389309a1b780f2518d0528bd',1,'Daikin160Protocol::Sum2()'],['../unionDaikin176Protocol.html#ae797bea46028cd4a19c42746ba4f3d65',1,'Daikin176Protocol::Sum2()'],['../unionDaikin128Protocol.html#a19162e554dbd868382130d39e4fbf221',1,'Daikin128Protocol::Sum2()'],['../unionKelvinatorProtocol.html#aade6e576f735c6ef84c11062175f0013',1,'KelvinatorProtocol::Sum2()']]], - ['sum3_7017',['Sum3',['../unionDaikinESPProtocol.html#a94351ee2b8b5090cb0934f21ebcd195c',1,'DaikinESPProtocol']]], - ['swing_7018',['Swing',['../unionGoodweatherProtocol.html#a0a9be72f6b174f5bc4f4082f3afd93b1',1,'GoodweatherProtocol::Swing()'],['../unionGreeProtocol.html#a6ee1b2c7459fcd5ed839a7730a2c5931',1,'GreeProtocol::Swing()'],['../unionHaierProtocol.html#afc7ba334ae13911868d90c2fe37813b9',1,'HaierProtocol::Swing()'],['../unionHaierYRW02Protocol.html#a671ff83501bd3e6f6e5c2b08bb6d26d1',1,'HaierYRW02Protocol::Swing()']]], - ['swingauto_7019',['SwingAuto',['../unionGreeProtocol.html#a866257731360d655ffa24ba3fbdfa3cc',1,'GreeProtocol']]], - ['swingflag_7020',['swingFlag',['../classIRCoolixAC.html#a6d61903a90cebef56b931bebbfa5cba3',1,'IRCoolixAC::swingFlag()'],['../classIRTranscoldAc.html#acaaa6c7fc022b3a259692bfd61258f49',1,'IRTranscoldAc::swingFlag()']]], - ['swingh_7021',['swingh',['../structstdAc_1_1state__t.html#a761bb702891ed1fa35906929a4c8a3f8',1,'stdAc::state_t::swingh()'],['../unionDaikinESPProtocol.html#af3dacc4757d42c204532551565d05013',1,'DaikinESPProtocol::SwingH()'],['../unionDaikin2Protocol.html#a2763869384806cdbb8b9eeec419fddb5',1,'Daikin2Protocol::SwingH()'],['../unionDaikin216Protocol.html#a3e024277a27b1bb20d66c8a01a5d4abf',1,'Daikin216Protocol::SwingH()'],['../unionDaikin176Protocol.html#a1c66607da26b68ab359def3884112bbc',1,'Daikin176Protocol::SwingH()'],['../unionElectraProtocol.html#ac265663bdb90f785a5c3a3d452101a03',1,'ElectraProtocol::SwingH()'],['../unionHitachiProtocol.html#adc2e2a72df76b96392db614103476ad1',1,'HitachiProtocol::SwingH()'],['../unionHitachi424Protocol.html#aca9d734f4809828027727ba0ec5fb56f',1,'Hitachi424Protocol::SwingH()'],['../unionHitachi1Protocol.html#a8d623507f6042e6a2a7b38711d972b1d',1,'Hitachi1Protocol::SwingH()'],['../unionKelvinatorProtocol.html#aa00bcaec92896c766d0c59edfd19fa0c',1,'KelvinatorProtocol::SwingH()'],['../unionMitsubishi112Protocol.html#a06f3c53c43e8e12a171570bcbc44b722',1,'Mitsubishi112Protocol::SwingH()'],['../unionMitsubishi152Protocol.html#a6ff8b8c4309663ca8abffc6d5022e13a',1,'Mitsubishi152Protocol::SwingH()'],['../unionVoltasProtocol.html#a55094a8796bf95e81eb7dd9a91d7a127',1,'VoltasProtocol::SwingH()']]], - ['swingh1_7022',['SwingH1',['../unionMitsubishi88Protocol.html#a25360a714725166199b45ee26ddbe6d7',1,'Mitsubishi88Protocol']]], - ['swingh2_7023',['SwingH2',['../unionMitsubishi88Protocol.html#ad175a3bea6aa442e1de553be6f352b32',1,'Mitsubishi88Protocol']]], - ['swinghchange_7024',['SwingHChange',['../unionVoltasProtocol.html#a32c53808a0f8b6574025f2b3c721ae47',1,'VoltasProtocol']]], - ['swinghflag_7025',['swingHFlag',['../classIRTranscoldAc.html#a15da6840a234b2ff739a86d19f15c58d',1,'IRTranscoldAc']]], - ['swingtoggle_7026',['SwingToggle',['../unionHitachi1Protocol.html#a479a73b38e4f079d7d0e221bb6814a45',1,'Hitachi1Protocol']]], - ['swingv_7027',['swingv',['../structstdAc_1_1state__t.html#a35477d368350d8981ad8b7b09505857e',1,'stdAc::state_t::swingv()'],['../unionCarrierProtocol.html#a9d08c75d7f8357139cd3d844cf29ca22',1,'CarrierProtocol::SwingV()'],['../unionDaikinESPProtocol.html#abaa6622e63357ff194ec473d763e6347',1,'DaikinESPProtocol::SwingV()'],['../unionDaikin2Protocol.html#ad54bd084ae49600bc02d5de9d557b24f',1,'Daikin2Protocol::SwingV()'],['../unionDaikin216Protocol.html#a09abba3b50a33d8d549a0554099b639b',1,'Daikin216Protocol::SwingV()'],['../unionDaikin160Protocol.html#af3ecc8b83528477acdfc2a10352f09e3',1,'Daikin160Protocol::SwingV()'],['../unionDaikin128Protocol.html#a9c0f7c9d691a97ce316ef5b76fb1cafd',1,'Daikin128Protocol::SwingV()'],['../unionDaikin152Protocol.html#a72a99dc5a7497285a7f1e2a0cac7dab8',1,'Daikin152Protocol::SwingV()'],['../unionDaikin64Protocol.html#a5c14fc6cba6aa76a75452808717ee507',1,'Daikin64Protocol::SwingV()'],['../unionElectraProtocol.html#a1f04f248d66f0890548f3cfe4e269beb',1,'ElectraProtocol::SwingV()'],['../unionHitachiProtocol.html#a31530689da10bfae60d005039c6ab596',1,'HitachiProtocol::SwingV()'],['../unionHitachi424Protocol.html#afa4ca85beef441434700d09a09fb60c7',1,'Hitachi424Protocol::SwingV()'],['../unionHitachi1Protocol.html#a73473181cf6a1fce2ea4874ba29552be',1,'Hitachi1Protocol::SwingV()'],['../unionKelvinatorProtocol.html#abd01a8f9d88b44f59484955107d9b7bb',1,'KelvinatorProtocol::SwingV()'],['../unionMitsubishi136Protocol.html#a24b4d22d88ac7630c1fcdccd964d013b',1,'Mitsubishi136Protocol::SwingV()'],['../unionMitsubishi112Protocol.html#a4de8c60641ea95f8f2b875d13f87f594',1,'Mitsubishi112Protocol::SwingV()'],['../unionMitsubishi152Protocol.html#a3ae158a863e0ade1d64cc62a9cc7a374',1,'Mitsubishi152Protocol::SwingV()'],['../unionVoltasProtocol.html#ac2a240ab6b19af0e472c3134331a6e68',1,'VoltasProtocol::SwingV()']]], - ['swingv5_7028',['SwingV5',['../unionMitsubishi88Protocol.html#aaa1b4fc42a673c7437373d85b2e22c26',1,'Mitsubishi88Protocol']]], - ['swingv7_7029',['SwingV7',['../unionMitsubishi88Protocol.html#aa56bc52d2d6ec0d2f76aea923e084856',1,'Mitsubishi88Protocol']]], - ['swingvflag_7030',['swingVFlag',['../classIRTranscoldAc.html#ae2aa4d5a19dd9056606ca20d03c893df',1,'IRTranscoldAc']]], - ['swingvtoggle_7031',['SwingVToggle',['../unionCoronaProtocol.html#a3b21dc7f46b2153be56daeca1b0b40e8',1,'CoronaProtocol']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_13.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_13.js deleted file mode 100644 index 6343e632b..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_13.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['unknown_7045',['unknown',['../unionHaierProtocol.html#aabc2a684c5936858544c02ec8a68afb9',1,'HaierProtocol']]], - ['unknown1_7046',['unknown1',['../unionGreeProtocol.html#ae973c1c723b7162959374e1fd8ecab61',1,'GreeProtocol']]], - ['unknown2_7047',['unknown2',['../unionGreeProtocol.html#aa102f7d68c26f5b8644b13113a5b05f4',1,'GreeProtocol']]], - ['use_5ftime_5fstate_7048',['use_time_state',['../classIRVestelAc.html#af1b622c50a4952fb3edaf483e1bf9328',1,'IRVestelAc']]], - ['used_7049',['used',['../structmatch__result__t.html#a26cea305aa83ed65b88ac0b6ed6de54a',1,'match_result_t']]], - ['usefahrenheit_7050',['UseFahrenheit',['../unionGreeProtocol.html#a47c79761efe40c00e6bb01b7712b272c',1,'GreeProtocol::UseFahrenheit()'],['../unionMideaProtocol.html#a1b1258107620bb83fd6356815242e19b',1,'MideaProtocol::useFahrenheit()']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_14.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_14.js deleted file mode 100644 index 840aabdd2..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_14.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['value_7051',['value',['../classdecode__results.html#a033502b7a6b4b0412e5a2062e33c5f47',1,'decode_results']]], - ['vane_7052',['Vane',['../unionMitsubishi144Protocol.html#af4cb685d4c5f87f6ff61d1305ccd6967',1,'Mitsubishi144Protocol']]], - ['vanebit_7053',['VaneBit',['../unionMitsubishi144Protocol.html#aaefd53cd1441b57b90dc3d21488bbdd3',1,'Mitsubishi144Protocol']]], - ['vent_7054',['Vent',['../unionAmcorProtocol.html#a289bcba64f01cd2c847845f41978d400',1,'AmcorProtocol']]], - ['ventswing_7055',['VentSwing',['../unionKelvinatorProtocol.html#af7cd4e8ebfaa36812d09105c54f868f2',1,'KelvinatorProtocol']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_15.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_15.js deleted file mode 100644 index fe1ef4a42..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_15.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['wall_7056',['Wall',['../unionDaikin128Protocol.html#aed2c5bc365820f2c0a5f27dd68fa8a05',1,'Daikin128Protocol']]], - ['wand_5fid_7057',['wand_id',['../unionmagiquest.html#a1b159cd47635d548e1d4198cd6d41e93',1,'magiquest']]], - ['weeklytimer_7058',['WeeklyTimer',['../unionDaikinESPProtocol.html#a25e632da82856caebd233699fda8d796',1,'DaikinESPProtocol']]], - ['widevane_7059',['WideVane',['../unionMitsubishi144Protocol.html#ad0c48e95ca7e0658edf7c2ac2b541c3c',1,'Mitsubishi144Protocol']]], - ['wifi_7060',['Wifi',['../unionVoltasProtocol.html#aae1406825a156f159c5ad4b28d20364c',1,'VoltasProtocol::Wifi()'],['../unionGreeProtocol.html#a6cf8e0a6c54a5d2b6f14074c6f3dcc92',1,'GreeProtocol::WiFi()']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_2.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_2.js deleted file mode 100644 index d2269de64..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_2.js +++ /dev/null @@ -1,12 +0,0 @@ -var searchData= -[ - ['backup_4568',['backup',['../classIRToshibaAC.html#adc8d8c6918cd110f524f6bedf6f2bb6e',1,'IRToshibaAC']]], - ['basicfan_4569',['BasicFan',['../unionKelvinatorProtocol.html#a9237eb894fd7d6807169d18655bb3261',1,'KelvinatorProtocol']]], - ['beep_4570',['beep',['../structstdAc_1_1state__t.html#a468ce4cf8b68467964b1f1840257663d',1,'stdAc::state_t::beep()'],['../unionDaikin2Protocol.html#ae464d693bde12c9a0085cf268010d158',1,'Daikin2Protocol::Beep()']]], - ['beepdisable_4571',['BeepDisable',['../unionMideaProtocol.html#a2a1d3b51765737427adb5dddcda84d60',1,'MideaProtocol']]], - ['bits_4572',['bits',['../classdecode__results.html#aa5ba2fd53bdb36bdc120d8eabd9f36d7',1,'decode_results']]], - ['boost_4573',['Boost',['../unionDelonghiProtocol.html#ad3347e0739d5c00f3fb5cba7c9f53bcd',1,'DelonghiProtocol']]], - ['bufsize_4574',['bufsize',['../structirparams__t.html#a2b34d697b85ee6a0ce08344c941e50ec',1,'irparams_t']]], - ['button_4575',['Button',['../unionHaierYRW02Protocol.html#ab5b13626ecf6214cc1be52d47909915d',1,'HaierYRW02Protocol::Button()'],['../unionHitachi424Protocol.html#aaadfa5a2e789fb1159ce795f833b83e5',1,'Hitachi424Protocol::Button()']]], - ['byte_4576',['byte',['../unionmagiquest.html#af1a9c9a147a1610fe5f0e77ca3e09e44',1,'magiquest']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_4.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_4.js deleted file mode 100644 index a1965b0c6..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_4.js +++ /dev/null @@ -1,13 +0,0 @@ -var searchData= -[ - ['d_4593',['D',['../unionMitsubishi152Protocol.html#ac493830f3bf09e178aa09b24368746c9',1,'Mitsubishi152Protocol']]], - ['data_4594',['data',['../structmatch__result__t.html#ae88be61a6d1ffa7c3525aa958f4c0d25',1,'match_result_t']]], - ['data0_4595',['Data0',['../structCoronaSection.html#a975b14d8bc30807013714158ef7474ea',1,'CoronaSection']]], - ['data0inv_4596',['Data0Inv',['../structCoronaSection.html#ab05024b8314929dcd8ccdda9b497be8c',1,'CoronaSection']]], - ['data1_4597',['Data1',['../structCoronaSection.html#a59d97a1bc0a1be50b6f96c4d70673425',1,'CoronaSection']]], - ['data1inv_4598',['Data1Inv',['../structCoronaSection.html#ada247bbfb60f24cd9e9a612c9621cbb4',1,'CoronaSection']]], - ['decode_5ftype_4599',['decode_type',['../classdecode__results.html#a9c0e9f161b9c90dc10b7561d4c0b50fa',1,'decode_results']]], - ['degrees_4600',['degrees',['../structstdAc_1_1state__t.html#a3d1ff0ff2e0035db4ee8ead5c53b2dbd',1,'stdAc::state_t']]], - ['disablesensor_4601',['disableSensor',['../unionMideaProtocol.html#a20cc2079eae404c980cc75101b4a3116',1,'MideaProtocol']]], - ['displaytemp_4602',['DisplayTemp',['../unionGreeProtocol.html#ad0756a64f9c90c9dd12ca6cd71c78bb2',1,'GreeProtocol']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_5.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_5.js deleted file mode 100644 index ab3607cbd..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_5.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['econo_4603',['Econo',['../unionCoronaProtocol.html#a1076afecc4292c370fed27ce380a1ed5',1,'CoronaProtocol::Econo()'],['../unionDaikinESPProtocol.html#a29138c4ff722520ca23863568a96bf53',1,'DaikinESPProtocol::Econo()'],['../unionDaikin2Protocol.html#aa715d01b8972f98a41829ed976932ef7',1,'Daikin2Protocol::Econo()'],['../unionDaikin128Protocol.html#a8920f30a9d4bb0132762d80c8297d5f2',1,'Daikin128Protocol::Econo()'],['../unionDaikin152Protocol.html#ad9c7903f82a89b94e0c9dfe8b7298658',1,'Daikin152Protocol::Econo()'],['../unionVoltasProtocol.html#a4f44e3e3a68988d25173b2aab1c32e53',1,'VoltasProtocol::Econo()'],['../structstdAc_1_1state__t.html#a580c826c6d9671715adfe8445531b957',1,'stdAc::state_t::econo()']]], - ['eye_4604',['Eye',['../unionDaikin2Protocol.html#aa8351138b8db3b8be5f40d1515802381',1,'Daikin2Protocol']]], - ['eyeauto_4605',['EyeAuto',['../unionDaikin2Protocol.html#a22f2288452065069018bef94d2505ab7',1,'Daikin2Protocol']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_7.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_7.js deleted file mode 100644 index 248d9ebd8..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_7.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['header_4615',['Header',['../unionMideaProtocol.html#a892508b7b4cade91dd2e315b678f5f1b',1,'MideaProtocol']]], - ['header0_4616',['Header0',['../structCoronaSection.html#a3b3c0a1a42da65bb4b481e59b42f26a6',1,'CoronaSection']]], - ['header1_4617',['Header1',['../structCoronaSection.html#a3d6d6c1e31f82a76cd88f81bcdb83a3a',1,'CoronaSection']]], - ['health_4618',['Health',['../unionHaierProtocol.html#a4cf70c633e33066e3fc0f98bb2ad3820',1,'HaierProtocol::Health()'],['../unionHaierYRW02Protocol.html#a7fa39803fd72a788736bb8f00acfa76f',1,'HaierYRW02Protocol::Health()']]], - ['heat_5fmode_4619',['heat_mode',['../classIRArgoAC.html#a255762f71502b9ffeb0686759991ec53',1,'IRArgoAC']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_8.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_8.js deleted file mode 100644 index 0d02c5a96..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_8.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['ifeel_4620',['iFeel',['../unionArgoProtocol.html#a9d51b32b8e2b2ff08339be238a775097',1,'ArgoProtocol::iFeel()'],['../unionGreeProtocol.html#a592364307a4b11064888bda76c403142',1,'GreeProtocol::IFeel()']]], - ['ionfilter_4621',['IonFilter',['../unionKelvinatorProtocol.html#ad7c762e410c8cba234614563cdc9d384',1,'KelvinatorProtocol']]], - ['irparams_4622',['irparams',['../IRrecv_8cpp.html#a5620be27a7445f25d43dbe3432ed6fd1',1,'IRrecv.cpp']]], - ['irparams_5fsave_4623',['irparams_save',['../classIRrecv.html#a6fdac84ce51ce119972bf121ccc95aab',1,'IRrecv::irparams_save()'],['../IRrecv_8cpp.html#a96e84ae171529ee954c53e2e938dd998',1,'irparams_save(): IRrecv.cpp']]], - ['irpin_4624',['IRpin',['../classIRsend.html#ae4a6ea1e72f4861167002d6e7bf17b7c',1,'IRsend']]], - ['irremote_5fmux_4625',['irremote_mux',['../IRrecv_8cpp.html#ad2612f65707186ef7df0179d3636b4ea',1,'IRrecv.cpp']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_a.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_a.js deleted file mode 100644 index 5d385527e..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_a.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['label_6926',['Label',['../structCoronaSection.html#abc6d0caa713c73244c4bf2f602074d48',1,'CoronaSection']]], - ['ledflag_6927',['ledFlag',['../classIRCoolixAC.html#a03ba5e0a6cb47a7bb054155c2111a69c',1,'IRCoolixAC']]], - ['light_6928',['light',['../structstdAc_1_1state__t.html#a51c3a5c4703ea49b420d70aeb18b6b9b',1,'stdAc::state_t::light()'],['../unionDaikin2Protocol.html#adaf55ec9e1b9ba278c7391d9d797f3ba',1,'Daikin2Protocol::Light()'],['../unionGoodweatherProtocol.html#a845565af7661af0c05290a7ce039f8e2',1,'GoodweatherProtocol::Light()'],['../unionGreeProtocol.html#a72092768725667d3bce381a6e2900c66',1,'GreeProtocol::Light()'],['../unionKelvinatorProtocol.html#a38f5b978fd63fda659f0e0b5f682440e',1,'KelvinatorProtocol::Light()'],['../unionVoltasProtocol.html#a811a0de66771c693831740440aac460c',1,'VoltasProtocol::Light()']]], - ['lighttoggle_6929',['LightToggle',['../unionElectraProtocol.html#aa2a5998cafd139e5ce7626edc4782c56',1,'ElectraProtocol']]], - ['llword_6930',['llword',['../unionmagiquest.html#ad57fbc75ab289c3e93b94be0b2187d65',1,'magiquest']]], - ['lword_6931',['lword',['../unionmagiquest.html#ac87102145311831a232002b52fe2d02c',1,'magiquest']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_b.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_b.js deleted file mode 100644 index 056f5bc82..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_b.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['magnitude_6932',['magnitude',['../unionmagiquest.html#a8f687419a00322a04aab223dec093d6e',1,'magiquest']]], - ['max_6933',['Max',['../unionAmcorProtocol.html#a9e0ea99322601af4b09784da2cf21d7e',1,'AmcorProtocol::Max()'],['../unionArgoProtocol.html#ac3edf881406da0b9a253a7536ba3e810',1,'ArgoProtocol::Max()']]], - ['mode_6934',['mode',['../structstdAc_1_1state__t.html#ae5e4b17fac2ea36300f796670337d7a7',1,'stdAc::state_t::mode()'],['../unionAirwellProtocol.html#a4a12b674ee9dcdbca592a1c5f3deb43e',1,'AirwellProtocol::Mode()'],['../unionAmcorProtocol.html#a5eca17db0b0ac0a2a46d72eaa4b098f8',1,'AmcorProtocol::Mode()'],['../unionArgoProtocol.html#afac4337c33e8a2b8e12b84890121e00c',1,'ArgoProtocol::Mode()'],['../unionCarrierProtocol.html#a5fed7d2b743b55fb9a95293f026a9c24',1,'CarrierProtocol::Mode()'],['../unionCoolixProtocol.html#a5f2ec6733ba352bd48657adbf4f30985',1,'CoolixProtocol::Mode()'],['../unionCoronaProtocol.html#aad77fd87c02ef022da013116123d3531',1,'CoronaProtocol::Mode()'],['../unionDaikinESPProtocol.html#aefdc3a04bf204c67e206fef9ed3f5437',1,'DaikinESPProtocol::Mode()'],['../unionDaikin2Protocol.html#acfbbd30de1109b5a9785a6b94ec90af0',1,'Daikin2Protocol::Mode()'],['../unionDaikin216Protocol.html#aebf6b168e83ebfac591e388406a30357',1,'Daikin216Protocol::Mode()'],['../unionDaikin160Protocol.html#a7a543fcb3ba65efbb38656d38eed1141',1,'Daikin160Protocol::Mode()'],['../unionDaikin176Protocol.html#a0293203bc447806c08ea522d6eb91495',1,'Daikin176Protocol::Mode()'],['../unionDaikin128Protocol.html#a14769c0405d7bcf2c45671c4c8c915ff',1,'Daikin128Protocol::Mode()'],['../unionDaikin152Protocol.html#af73fd18c8bd261cb38a36f9c8342b4bc',1,'Daikin152Protocol::Mode()'],['../unionDaikin64Protocol.html#a34934dd4432c5e99cdc2a17b6af803b9',1,'Daikin64Protocol::Mode()'],['../unionDelonghiProtocol.html#a41b3aa93923059ec0bc099a592318ff0',1,'DelonghiProtocol::Mode()'],['../unionElectraProtocol.html#a27e64c16e4cefeac55cd12165554e0b0',1,'ElectraProtocol::Mode()'],['../unionGoodweatherProtocol.html#a28863cfa136ed7014d8ca982d38a4539',1,'GoodweatherProtocol::Mode()'],['../unionGreeProtocol.html#aacd25e508a37e0012295a87e712987ce',1,'GreeProtocol::Mode()'],['../unionHaierProtocol.html#aab10d402084329d472e08385cc9645ec',1,'HaierProtocol::Mode()'],['../unionHaierYRW02Protocol.html#a8b9060ce2e0b1e9192191e6ae68277dd',1,'HaierYRW02Protocol::Mode()'],['../unionHitachiProtocol.html#a33a6af1c7bb33cd97361f2602c215ab2',1,'HitachiProtocol::Mode()'],['../unionHitachi424Protocol.html#a6ddbf518e843e9021bbd0463911b4844',1,'Hitachi424Protocol::Mode()'],['../unionHitachi1Protocol.html#a0434892d9ad4acaa36ef10810fb4b8fe',1,'Hitachi1Protocol::Mode()'],['../unionKelvinatorProtocol.html#abd6a849c39d0e7e231a1cf42d32f52e7',1,'KelvinatorProtocol::Mode()'],['../unionLGProtocol.html#adea2990a6e13a31ecb6f8c70c0702543',1,'LGProtocol::Mode()'],['../unionMideaProtocol.html#aa0255e9e1351d594b2e2c8c6f9698e1a',1,'MideaProtocol::Mode()'],['../unionMitsubishi144Protocol.html#aa387b388f300a2098fe9c965e86b9d95',1,'Mitsubishi144Protocol::Mode()'],['../unionMitsubishi136Protocol.html#a4af660641dfa4412b4993f82eb241765',1,'Mitsubishi136Protocol::Mode()'],['../unionMitsubishi112Protocol.html#ae3ff03a52146e8dff59f0755b7d59333',1,'Mitsubishi112Protocol::Mode()'],['../unionMitsubishi152Protocol.html#a36477f5724467a75f32f2d25fee4db73',1,'Mitsubishi152Protocol::Mode()'],['../unionMitsubishi88Protocol.html#a947e25b4cfbb171aeb42d3a60404d751',1,'Mitsubishi88Protocol::Mode()'],['../unionVoltasProtocol.html#ad991a7ccaf9caa0b9f7880f4138f1dab',1,'VoltasProtocol::Mode()']]], - ['modebutton_6935',['ModeButton',['../unionDaikin176Protocol.html#af48f77b741bcfa7717497077c50ee240',1,'Daikin176Protocol']]], - ['model_6936',['model',['../structstdAc_1_1state__t.html#aa1a57a63b2ea80c1f9c4a1bcf16a4c62',1,'stdAc::state_t::model()'],['../unionHitachi1Protocol.html#aad97f1edb72b8786423089f1dad70681',1,'Hitachi1Protocol::Model()']]], - ['modela_6937',['ModelA',['../unionGreeProtocol.html#a66fdedd8318541269f0ab9ae3b832813',1,'GreeProtocol']]], - ['modulation_6938',['modulation',['../classIRsend.html#a11e26c03c87e2bed756eb7f318570bd8',1,'IRsend']]], - ['mold_6939',['Mold',['../unionDaikinESPProtocol.html#a61c7eeeb3589f775897d79a130dd1be8',1,'DaikinESPProtocol::Mold()'],['../unionDaikin2Protocol.html#a18207f0f0913ade09f16ba2e98a5dbf1',1,'Daikin2Protocol::Mold()']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_e.js b/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_e.js deleted file mode 100644 index 54ab6de39..000000000 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/search/variables_e.js +++ /dev/null @@ -1,20 +0,0 @@ -var searchData= -[ - ['pad_6969',['pad',['../unionDaikin2Protocol.html#ac6b425dc516537ae3178583ff26e0948',1,'Daikin2Protocol::pad()'],['../unionDaikin128Protocol.html#aeef026f1ecb9696a7bf01b17de88951e',1,'Daikin128Protocol::pad()'],['../unionHitachi1Protocol.html#a17a8788deccc8c3648b91be5de4e1964',1,'Hitachi1Protocol::pad()'],['../unionMitsubishi136Protocol.html#a66638db2b4d4c1d969d0c6809b991ed0',1,'Mitsubishi136Protocol::pad()']]], - ['pad0_6970',['pad0',['../unionDaikin216Protocol.html#ac7e3625c88ded6bf5e9e744b78af3877',1,'Daikin216Protocol::pad0()'],['../unionDaikin160Protocol.html#a422b94d3ddc17dafac919a04b6779e0e',1,'Daikin160Protocol::pad0()'],['../unionDaikin176Protocol.html#a1c883c0473df6419fa79d9e7ec044400',1,'Daikin176Protocol::pad0()'],['../unionDaikin152Protocol.html#accd26b9ae5a2b4689b1d44715cdedae5',1,'Daikin152Protocol::pad0()'],['../unionHitachiProtocol.html#a9141747df7882925a8442ae0f261e1cc',1,'HitachiProtocol::pad0()'],['../unionHitachi424Protocol.html#aca5baed417c2c06be4e912c596b5cacf',1,'Hitachi424Protocol::pad0()'],['../unionKelvinatorProtocol.html#aa67bf941395c4a614f8cc70ce29bffcf',1,'KelvinatorProtocol::pad0()'],['../unionMitsubishi144Protocol.html#a7771c9cd00799d3bed0ee73d3a3172bd',1,'Mitsubishi144Protocol::pad0()'],['../unionMitsubishi112Protocol.html#a07a1682430a0a2c63614d09ad0a7a5a0',1,'Mitsubishi112Protocol::pad0()']]], - ['pad1_6971',['pad1',['../unionDaikin216Protocol.html#a3953e06ed7903c50cdfa7fa4dad77c93',1,'Daikin216Protocol::pad1()'],['../unionDaikin160Protocol.html#a55ae3e21ecc536fdeb8f773beaedf1bf',1,'Daikin160Protocol::pad1()'],['../unionDaikin176Protocol.html#a336e5ffedd9eda2778f8e1652cd3f349',1,'Daikin176Protocol::pad1()'],['../unionDaikin152Protocol.html#a4c24a70b48139610acb457eb915e76bf',1,'Daikin152Protocol::pad1()'],['../unionHitachiProtocol.html#a28391ab1e1994d254d9abf057c2b87ba',1,'HitachiProtocol::pad1()'],['../unionHitachi424Protocol.html#abb196383de210b25ec3d56b7f02ca9c3',1,'Hitachi424Protocol::pad1()'],['../unionKelvinatorProtocol.html#a9feee780a54bfb86968f137080d3d68e',1,'KelvinatorProtocol::pad1()'],['../unionMitsubishi144Protocol.html#ad256f8e7f36c654002807b7fbb5038dd',1,'Mitsubishi144Protocol::pad1()'],['../unionMitsubishi112Protocol.html#af5c30781b3183c3530b4e401952a5666',1,'Mitsubishi112Protocol::pad1()']]], - ['pad2_6972',['pad2',['../unionDaikin216Protocol.html#a2ad46cbab590d8ce0fcf43004a77a759',1,'Daikin216Protocol::pad2()'],['../unionDaikin160Protocol.html#a9465c279ea0be201cf8417fe3ede965d',1,'Daikin160Protocol::pad2()'],['../unionDaikin176Protocol.html#aae23dc257ea77a204fd2b6b22c9fd91b',1,'Daikin176Protocol::pad2()'],['../unionDaikin152Protocol.html#ab66afe90c383d6a24224327a88a10acc',1,'Daikin152Protocol::pad2()'],['../unionHitachi424Protocol.html#ab8325b434d355655f432d1d400a651ee',1,'Hitachi424Protocol::pad2()']]], - ['pad3_6973',['pad3',['../unionDaikin216Protocol.html#aeef7d4b689a7dccc73c201d1b5d96a2f',1,'Daikin216Protocol::pad3()'],['../unionDaikin176Protocol.html#a9959937c9a6bffc149060886f1ebb9b3',1,'Daikin176Protocol::pad3()']]], - ['padding_6974',['padding',['../unionmagiquest.html#a28ca4be56c78ef762f87171506dc6e93',1,'magiquest']]], - ['periodoffset_6975',['periodOffset',['../classIRsend.html#a1b5180cbf4f88f19fca3f677e1e91b96',1,'IRsend']]], - ['power_6976',['power',['../structstdAc_1_1state__t.html#ab85d37cc99bbbc4915331369c4ea622e',1,'stdAc::state_t::power()'],['../unionAmcorProtocol.html#ab6d6b470c8e3c80ee37eb31a048919db',1,'AmcorProtocol::Power()'],['../unionArgoProtocol.html#a72c5dbd39ccbac31d5cfc39beaa87d92',1,'ArgoProtocol::Power()'],['../unionCarrierProtocol.html#a9f039bf33bbe868118f14c28d6731718',1,'CarrierProtocol::Power()'],['../unionCoronaProtocol.html#a7da68dc07f9ef4ab0545e9156f9408c4',1,'CoronaProtocol::Power()'],['../unionDaikinESPProtocol.html#a8a5b839b9908359b382a105068eaf840',1,'DaikinESPProtocol::Power()'],['../unionDaikin2Protocol.html#a31d4d361af1f3c7f6eb4021a520f4572',1,'Daikin2Protocol::Power()'],['../unionDaikin216Protocol.html#ade14eb9841ea4bc09157b145145bfda8',1,'Daikin216Protocol::Power()'],['../unionDaikin160Protocol.html#a520571b287c0db8a941fc1f9e030ef0c',1,'Daikin160Protocol::Power()'],['../unionDaikin176Protocol.html#a80fd9f79014f0fe3f2fa91ee6a3e7bc2',1,'Daikin176Protocol::Power()'],['../unionDaikin128Protocol.html#aba3cecc50eee1143e2f6eadd6d2026b4',1,'Daikin128Protocol::Power()'],['../unionDaikin152Protocol.html#a5cdf563830a35ee28d239d912bd5c95c',1,'Daikin152Protocol::Power()'],['../unionDaikin64Protocol.html#a4290051abed062bb5993db071a28ef61',1,'Daikin64Protocol::Power()'],['../unionDelonghiProtocol.html#a5dccd7aa1927571e12d4244e1c179578',1,'DelonghiProtocol::Power()'],['../unionElectraProtocol.html#a907a426aa30a50667d5e4f4615d71518',1,'ElectraProtocol::Power()'],['../unionGoodweatherProtocol.html#ac3a2cf92410edd8ad11550f6aa051bac',1,'GoodweatherProtocol::Power()'],['../unionGreeProtocol.html#ab04d1d5bdaf8fb0b7129e210de14a772',1,'GreeProtocol::Power()'],['../unionHaierYRW02Protocol.html#ae87a93806911792662391a671607a760',1,'HaierYRW02Protocol::Power()'],['../unionHitachiProtocol.html#abec059afed0891f40f50b1024f211ee1',1,'HitachiProtocol::Power()'],['../unionHitachi424Protocol.html#a03af2b7a7c333c9069c4a689631cbc84',1,'Hitachi424Protocol::Power()'],['../unionHitachi1Protocol.html#a67b84f1d4c3720692e8de833b3910b88',1,'Hitachi1Protocol::Power()'],['../unionKelvinatorProtocol.html#a4bc98c7ae62273e8d8d60d71fdb44750',1,'KelvinatorProtocol::Power()'],['../unionLGProtocol.html#a5748d31340964b885933fbb6ee7fd235',1,'LGProtocol::Power()'],['../unionMideaProtocol.html#a6b534bb5845c3c184ee43b87995cff32',1,'MideaProtocol::Power()'],['../unionMitsubishi144Protocol.html#af99f269ce1b905c47b9417c41189c94b',1,'Mitsubishi144Protocol::Power()'],['../unionMitsubishi136Protocol.html#aa5df3d147cbd1c2dd3f17028c0ff36dc',1,'Mitsubishi136Protocol::Power()'],['../unionMitsubishi112Protocol.html#ad4c47f745c6ff6a349457ccc66f4e091',1,'Mitsubishi112Protocol::Power()'],['../unionMitsubishi152Protocol.html#abb8ac556d7ead5d1083af940130a9805',1,'Mitsubishi152Protocol::Power()'],['../unionMitsubishi88Protocol.html#a48eb181bcb178491d0cd399d69487f2b',1,'Mitsubishi88Protocol::Power()'],['../unionVoltasProtocol.html#a554e4bce95426a096f090cc6890f46f2',1,'VoltasProtocol::Power()']]], - ['power2_6977',['Power2',['../unionDaikin2Protocol.html#ad38268911be9104ab7fcaf0d35dd4c6f',1,'Daikin2Protocol']]], - ['powerbutton_6978',['PowerButton',['../unionCoronaProtocol.html#abceccc1306d3a78be6177758f3056a5a',1,'CoronaProtocol']]], - ['powerflag_6979',['powerFlag',['../classIRCoolixAC.html#a5984ff64ff14df92291618a647da08f9',1,'IRCoolixAC::powerFlag()'],['../classIRTranscoldAc.html#a07e96c352827f011a1a2440f35d78d14',1,'IRTranscoldAc::powerFlag()']]], - ['powerful_6980',['Powerful',['../unionDaikinESPProtocol.html#a16b091d1faf200607bd37ff48ddfb940',1,'DaikinESPProtocol::Powerful()'],['../unionDaikin2Protocol.html#ac7b3b9d7f424ccc78749d944b59c7372',1,'Daikin2Protocol::Powerful()'],['../unionDaikin216Protocol.html#a2cb72f5fea3b5298b8de45060c476a17',1,'Daikin216Protocol::Powerful()'],['../unionDaikin152Protocol.html#aa4cdbef46c721491cb854b36d6de89a3',1,'Daikin152Protocol::Powerful()']]], - ['powertoggle_6981',['PowerToggle',['../unionAirwellProtocol.html#a9a3893a0ec7811202697adeb60d89775',1,'AirwellProtocol::PowerToggle()'],['../unionHitachi1Protocol.html#adf8067b7e2d7ea3afb6ffae08a9cf609',1,'Hitachi1Protocol::PowerToggle()']]], - ['prefix_6982',['Prefix',['../unionHaierProtocol.html#a6c15a8e22231dae23ffa8bef78420054',1,'HaierProtocol::Prefix()'],['../unionHaierYRW02Protocol.html#af55185fad3229f2011b5917412ad8c1b',1,'HaierYRW02Protocol::Prefix()']]], - ['prev_5fmode_6983',['prev_mode',['../classIRToshibaAC.html#ac251884741fb8ad8280b55e99c23211e',1,'IRToshibaAC']]], - ['protocol_6984',['protocol',['../structstdAc_1_1state__t.html#af59897778be0e571f77dd11337352c27',1,'stdAc::state_t']]], - ['purify_6985',['Purify',['../unionDaikin2Protocol.html#ad3c5427e7d4d0182bb86f61fa2c2484a',1,'Daikin2Protocol']]] -]; diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/.github/CONTRIBUTING.md b/lib/lib_basic/IRremoteESP8266-2.7.14/.github/CONTRIBUTING.md similarity index 100% rename from lib/lib_basic/IRremoteESP8266-2.7.13/.github/CONTRIBUTING.md rename to lib/lib_basic/IRremoteESP8266-2.7.14/.github/CONTRIBUTING.md diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/.github/Contributors.md b/lib/lib_basic/IRremoteESP8266-2.7.14/.github/Contributors.md similarity index 100% rename from lib/lib_basic/IRremoteESP8266-2.7.13/.github/Contributors.md rename to lib/lib_basic/IRremoteESP8266-2.7.14/.github/Contributors.md diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/.github/issue_template.md b/lib/lib_basic/IRremoteESP8266-2.7.14/.github/issue_template.md similarity index 100% rename from lib/lib_basic/IRremoteESP8266-2.7.13/.github/issue_template.md rename to lib/lib_basic/IRremoteESP8266-2.7.14/.github/issue_template.md diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/.gitignore b/lib/lib_basic/IRremoteESP8266-2.7.14/.gitignore similarity index 100% rename from lib/lib_basic/IRremoteESP8266-2.7.13/.gitignore rename to lib/lib_basic/IRremoteESP8266-2.7.14/.gitignore diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/.gitmodules b/lib/lib_basic/IRremoteESP8266-2.7.14/.gitmodules similarity index 100% rename from lib/lib_basic/IRremoteESP8266-2.7.13/.gitmodules rename to lib/lib_basic/IRremoteESP8266-2.7.14/.gitmodules diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/.style.yapf b/lib/lib_basic/IRremoteESP8266-2.7.14/.style.yapf similarity index 100% rename from lib/lib_basic/IRremoteESP8266-2.7.13/.style.yapf rename to lib/lib_basic/IRremoteESP8266-2.7.14/.style.yapf diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/.travis.yml b/lib/lib_basic/IRremoteESP8266-2.7.14/.travis.yml similarity index 100% rename from lib/lib_basic/IRremoteESP8266-2.7.13/.travis.yml rename to lib/lib_basic/IRremoteESP8266-2.7.14/.travis.yml diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/CPPLINT.cfg b/lib/lib_basic/IRremoteESP8266-2.7.14/CPPLINT.cfg similarity index 100% rename from lib/lib_basic/IRremoteESP8266-2.7.13/CPPLINT.cfg rename to lib/lib_basic/IRremoteESP8266-2.7.14/CPPLINT.cfg diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/Doxyfile b/lib/lib_basic/IRremoteESP8266-2.7.14/Doxyfile similarity index 100% rename from lib/lib_basic/IRremoteESP8266-2.7.13/Doxyfile rename to lib/lib_basic/IRremoteESP8266-2.7.14/Doxyfile diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/LICENSE.txt b/lib/lib_basic/IRremoteESP8266-2.7.14/LICENSE.txt similarity index 100% rename from lib/lib_basic/IRremoteESP8266-2.7.13/LICENSE.txt rename to lib/lib_basic/IRremoteESP8266-2.7.14/LICENSE.txt diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/README.md b/lib/lib_basic/IRremoteESP8266-2.7.14/README.md similarity index 98% rename from lib/lib_basic/IRremoteESP8266-2.7.13/README.md rename to lib/lib_basic/IRremoteESP8266-2.7.14/README.md index fd7fe7e57..ab7f2b338 100644 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/README.md +++ b/lib/lib_basic/IRremoteESP8266-2.7.14/README.md @@ -9,8 +9,8 @@ This library enables you to **send _and_ receive** infra-red signals on an [ESP8266](https://github.com/esp8266/Arduino) or an [ESP32](https://github.com/espressif/arduino-esp32) using the [Arduino framework](https://www.arduino.cc/) using common 940nm IR LEDs and common IR receiver modules. e.g. TSOP{17,22,24,36,38,44,48}* demodulators etc. -## v2.7.13 Now Available -Version 2.7.13 of the library is now [available](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). You can view the [Release Notes](ReleaseNotes.md) for all the significant changes. +## v2.7.14 Now Available +Version 2.7.14 of the library is now [available](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). You can view the [Release Notes](ReleaseNotes.md) for all the significant changes. #### Upgrading from pre-v2.0 Usage of the library has been slightly changed in v2.0. You will need to change your usage to work with v2.0 and beyond. You can read more about the changes required on our [Upgrade to v2.0](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Upgrading-to-v2.0) page. diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/README_de.md b/lib/lib_basic/IRremoteESP8266-2.7.14/README_de.md similarity index 98% rename from lib/lib_basic/IRremoteESP8266-2.7.13/README_de.md rename to lib/lib_basic/IRremoteESP8266-2.7.14/README_de.md index 54eaa811e..39c4ef489 100644 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/README_de.md +++ b/lib/lib_basic/IRremoteESP8266-2.7.14/README_de.md @@ -9,8 +9,8 @@ Diese Programmbibliothek ermöglicht das **Senden _und_ Empfangen** von Infrarotsignalen mit [ESP8266](https://github.com/esp8266/Arduino)- und [ESP32](https://github.com/espressif/arduino-esp32)-Mikrocontrollern mithilfe des [Arduino-Frameworks](https://www.arduino.cc/) und handelsüblichen 940nm Infrarot-LEDs undIR-Empfängermodulen, wie zum Beispiel TSOP{17,22,24,36,38,44,48}*-Demodulatoren. -## v2.7.13 jetzt verfügbar -Version 2.7.13 der Bibliothek ist nun [verfügbar](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). Die [Versionshinweise](ReleaseNotes.md) enthalten alle wichtigen Neuerungen. +## v2.7.14 jetzt verfügbar +Version 2.7.14 der Bibliothek ist nun [verfügbar](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). Die [Versionshinweise](ReleaseNotes.md) enthalten alle wichtigen Neuerungen. #### Hinweis für Nutzer von Versionen vor v2.0 Die Benutzung der Bibliothek hat sich mit Version 2.0 leicht geändert. Einige Anpassungen im aufrufenden Code werden nötig sein, um mit Version ab 2.0 korrekt zu funktionieren. Mehr zu den Anpassungen finden sich auf unserer [Upgrade to v2.0](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Upgrading-to-v2.0)-Seite. diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/README_fr.md b/lib/lib_basic/IRremoteESP8266-2.7.14/README_fr.md similarity index 98% rename from lib/lib_basic/IRremoteESP8266-2.7.13/README_fr.md rename to lib/lib_basic/IRremoteESP8266-2.7.14/README_fr.md index 71ae73b74..91e2a76f0 100644 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/README_fr.md +++ b/lib/lib_basic/IRremoteESP8266-2.7.14/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.13 disponible -Version 2.7.13 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.14 disponible +Version 2.7.14 de la libraire est maintenant [disponible](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). Vous pouvez voir le [Release Notes](ReleaseNotes.md) pour tous les changements importants. #### mise à jour depuis pre-v2.0 L'utilisation de la librairie à un peu changer depuis la version in v2.0. Si vous voulez l'utiliser vous devrez changer votre utilisation aussi. Vous pouvez vous renseigner sur les précondition d'utilisation ici : [Upgrade to v2.0](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Upgrading-to-v2.0) page. diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/ReleaseNotes.md b/lib/lib_basic/IRremoteESP8266-2.7.14/ReleaseNotes.md similarity index 97% rename from lib/lib_basic/IRremoteESP8266-2.7.13/ReleaseNotes.md rename to lib/lib_basic/IRremoteESP8266-2.7.14/ReleaseNotes.md index 4256e0abc..5478be920 100644 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/ReleaseNotes.md +++ b/lib/lib_basic/IRremoteESP8266-2.7.14/ReleaseNotes.md @@ -1,5 +1,30 @@ # Release Notes +## _v2.7.14 (20210103)_ + +**[Bug Fixes]** +- SanyoAc: Fix Sensor Location error (#1359) +- IRMQTTServer: Compiler error under PlatformIO on Windows. (#1353 #1354) +- Workaround for ESP32 hw timer library calls not in IRAM. (#1350 #1351) + +**[Features]** +- PANASONIC_AC32: Add limited detailed support. (#1364 #1366) +- Move global vars in IRrecv into a namespace. (#1350 #1352) +- Fujitsu: Handle toggles of Econo & Turbo when `IRac` interface is used. (#1334 #1345) + +**[Misc]** +- Elitescreens: Update supported brands/models (#1375) +- refactor ir_Sharp (#1374) +- refactor ir_Sanyo (#1359) +- Gree: List Amana as supported. (#1361 #1363) +- Lasertag: Increase matching tolerance. (#1360 #1362) +- refactor ir_Samsung (#1358) +- refactor ir_Neoclima (#1349) +- Update issue templates (#1348 #1355) +- Midea: Update supported devices & add notes for an odd Pioneer System. (#1342 #1344) +- Kelvinator: Update supported models. (#1335 #1346) + + ## _v2.7.13 (20201125)_ **[Bug Fixes]** diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/SupportedProtocols.md b/lib/lib_basic/IRremoteESP8266-2.7.14/SupportedProtocols.md similarity index 96% rename from lib/lib_basic/IRremoteESP8266-2.7.13/SupportedProtocols.md rename to lib/lib_basic/IRremoteESP8266-2.7.14/SupportedProtocols.md index 94d9ddbf2..7fe0409ff 100644 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/SupportedProtocols.md +++ b/lib/lib_basic/IRremoteESP8266-2.7.14/SupportedProtocols.md @@ -1,6 +1,6 @@ + Last generated: Sun 03 Jan 2021 09:04:41 +0000 ---> # IR Protocols supported by this library | Protocol | Brand | Model | A/C Model | Detailed A/C Support | @@ -25,12 +25,14 @@ | [Electra](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.cpp) | **[AUX](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.h)** | KFR-35GW/BpNFW=3 A/C
YKR-T/011 remote | | Yes | | [Electra](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.cpp) | **[Electra](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.h)** | Classic INV 17 / AXW12DCS A/C
YKR-M/003E remote | | Yes | | [EliteScreens](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_EliteScreens.cpp) | **Elite Screens** | CineTension2 / CineTension3 series
Home2 / Home3 series
Spectrum series
VMAX Plus4 series
VMAX2 / VMAX2 Plus series
ZSP-IR-B / ZSP-IR-W remote | | - | +| [EliteScreens](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_EliteScreens.cpp) | **Lumene Screens** | Embassy | | - | | [Epson](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Epson.cpp) | **Epson** | EN-TW9100W Projector | | - | | [Fujitsu](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Fujitsu.cpp) | **[Fujitsu](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Fujitsu.h)** | AGTV14LAC A/C (ARRAH2E)
AR-DB1 remote (ARDB1)
AR-DL10 remote (ARDB1)
AR-RAC1E remote (ARRAH2E)
AR-RAE1E remote (ARRAH2E)
AR-RAH2E remote (ARRAH2E)
AR-REB1E remote (ARREB1E)
AR-RY4 remote (ARRY4)
AST9RSGCW A/C (ARDB1)
ASTB09LBC A/C (ARRY4)
ASU30C1 A/C (ARDB1)
ASYG30LFCA A/C (ARRAH2E)
ASYG7LMCA A/C (ARREB1E) | ARDB1
ARJW2
ARRAH2E
ARREB1E
ARRY4 | Yes | | [Fujitsu](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Fujitsu.cpp) | **[Fujitsu General](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Fujitsu.h)** | AOHG09LLC A/C (ARRAH2E)
AR-JW2 remote (ARJW2)
AR-RCE1E remote (ARRAH2E)
ASHG09LLCA A/C (ARRAH2E) | ARDB1
ARJW2
ARRAH2E
ARREB1E
ARRY4 | Yes | | [GICable](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_GICable.cpp) | **G.I. Cable** | XRC-200 remote | | - | | [GlobalCache](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_GlobalCache.cpp) | **Global Cache** | Control Tower IR DB | | - | | [Goodweather](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Goodweather.cpp) | **[Goodweather](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Goodweather.h)** | ZH/JT-03 remote | | Yes | +| [Gree](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.cpp) | **[Amana](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.h)** | PBC093G00CC A/C
YX1FF remote | YAW1F
YBOFB | Yes | | [Gree](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.cpp) | **[EKOKAI](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.h)** | A/C | YAW1F
YBOFB | Yes | | [Gree](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.cpp) | **[Gree](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.h)** | YAA1FBF remote
YB1F2F remote | YAW1F
YBOFB | Yes | | [Gree](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.cpp) | **[Green](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Gree.h)** | YBOFB remote
YBOFB2 remote | YAW1F
YBOFB | Yes | @@ -42,7 +44,7 @@ | [JVC](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_JVC.cpp) | **JVC** | PTU94023B remote | | - | | [Kelvinator](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Kelvinator.cpp) | **[Green](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Kelvinator.h)** | YAPOF3 remote | | Yes | | [Kelvinator](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Kelvinator.cpp) | **[Kelvinator](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Kelvinator.h)** | KSV26CRC A/C
KSV26HRC A/C
KSV35CRC A/C
KSV35HRC A/C
KSV53HRC A/C
KSV62HRC A/C
KSV70CRC A/C
KSV70HRC A/C
KSV80HRC A/C
YALIF Remote | | Yes | -| [Kelvinator](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Kelvinator.cpp) | **[Sharp](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Kelvinator.h)** | YB1FA remote | | Yes | +| [Kelvinator](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Kelvinator.cpp) | **[Sharp](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Kelvinator.h)** | A5VEY A/C
YB1FA remote | | Yes | | [LG](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_LG.cpp) | **[General Electric](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_LG.h)** | 6711AR2853M A/C Remote
AG1BH09AW101 Split A/C | | Yes | | [LG](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_LG.cpp) | **[LG](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_LG.h)** | 6711A20083V remote (LG)
AKB74395308 remote (LG2)
AKB75215403 remote (LG2)
S4-W12JA3AA A/C (LG2) | | Yes | | [Lasertag](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Lasertag.cpp) | **Lasertag** | Phaser emitters | | - | @@ -57,7 +59,7 @@ | [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) | **[MrCool](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Midea.h)** | RG57A6/BGEFU1 remote (MIDEA) | | 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 | +| [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)** | RG66B6(B)/BGEFU1 remote (MIDEA)
RUBO18GMFILCAD A/C (18K BTU) (MIDEA)
RYBO12GMFILCAD A/C (12K BTU) (MIDEA)
UB018GMFILCFHD A/C (12K BTU) (MIDEA)
WS012GMFI22HLD A/C (12K BTU) (MIDEA)
WS018GMFI22HLD A/C (12K BTU) (MIDEA) | | Yes | | [Mirage](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mirage.cpp) | **Mirage** | VLU series A/C | | - | | [Mitsubishi](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mitsubishi.cpp) | **[Mitsubishi](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mitsubishi.h)** | HC3000 Projector (MITSUBISHI2)
KM14A 0179213 remote
MS-GK24VA A/C
TV (MITSUBISHI) | | Yes | | [Mitsubishi](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mitsubishi.cpp) | **[Mitsubishi Electric](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mitsubishi.h)** | 001CP T7WE10714 remote (MITSUBISHI136)
KPOA remote (MITSUBISHI112)
MSH-A24WV A/C (MITSUBISHI112)
MUH-A24WV A/C (MITSUBISHI112)
PEAD-RP71JAA Ducted A/C (MITSUBISHI136) | | Yes | diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/README.md b/lib/lib_basic/IRremoteESP8266-2.7.14/docs/README.md similarity index 100% rename from lib/lib_basic/IRremoteESP8266-2.7.13/docs/README.md rename to lib/lib_basic/IRremoteESP8266-2.7.14/docs/README.md diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/README_de.md b/lib/lib_basic/IRremoteESP8266-2.7.14/docs/README_de.md similarity index 100% rename from lib/lib_basic/IRremoteESP8266-2.7.13/docs/README_de.md rename to lib/lib_basic/IRremoteESP8266-2.7.14/docs/README_de.md diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/README_fr.md b/lib/lib_basic/IRremoteESP8266-2.7.14/docs/README_fr.md similarity index 100% rename from lib/lib_basic/IRremoteESP8266-2.7.13/docs/README_fr.md rename to lib/lib_basic/IRremoteESP8266-2.7.14/docs/README_fr.md diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/_config.yml b/lib/lib_basic/IRremoteESP8266-2.7.14/docs/_config.yml similarity index 100% rename from lib/lib_basic/IRremoteESP8266-2.7.13/docs/_config.yml rename to lib/lib_basic/IRremoteESP8266-2.7.14/docs/_config.yml diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/IRac_8cpp.html b/lib/lib_basic/IRremoteESP8266-2.7.14/docs/doxygen/html/IRac_8cpp.html similarity index 100% rename from lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/IRac_8cpp.html rename to lib/lib_basic/IRremoteESP8266-2.7.14/docs/doxygen/html/IRac_8cpp.html diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/IRac_8h.html b/lib/lib_basic/IRremoteESP8266-2.7.14/docs/doxygen/html/IRac_8h.html similarity index 100% rename from lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/IRac_8h.html rename to lib/lib_basic/IRremoteESP8266-2.7.14/docs/doxygen/html/IRac_8h.html diff --git a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/IRac_8h_source.html b/lib/lib_basic/IRremoteESP8266-2.7.14/docs/doxygen/html/IRac_8h_source.html similarity index 94% rename from lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/IRac_8h_source.html rename to lib/lib_basic/IRremoteESP8266-2.7.14/docs/doxygen/html/IRac_8h_source.html index bb7c6a469..051b58a17 100644 --- a/lib/lib_basic/IRremoteESP8266-2.7.13/docs/doxygen/html/IRac_8h_source.html +++ b/lib/lib_basic/IRremoteESP8266-2.7.14/docs/doxygen/html/IRac_8h_source.html @@ -424,215 +424,221 @@ $(function() {
354  const bool quiet, const bool turbo, const bool filter,
355  const int16_t clock = -1);
356 #endif // SEND_PANASONIC_AC
-
357 #if SEND_SAMSUNG_AC
-
358  void samsung(IRSamsungAc *ac,
-
359  const bool on, const stdAc::opmode_t mode, const float degrees,
-
360  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
361  const bool quiet, const bool turbo, const bool light,
-
362  const bool filter, const bool clean,
-
363  const bool beep, const bool prevpower = true,
-
364  const bool forcepower = true);
-
365 #endif // SEND_SAMSUNG_AC
-
366 #if SEND_SANYO_AC
-
367  void sanyo(IRSanyoAc *ac,
-
368  const bool on, const stdAc::opmode_t mode, const float degrees,
-
369  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
370  const bool beep, const int16_t sleep = -1);
-
371 #endif // SEND_SANYO_AC
-
372 #if SEND_SHARP_AC
-
373  void sharp(IRSharpAc *ac, const sharp_ac_remote_model_t model,
-
374  const bool on, const bool prev_power, const stdAc::opmode_t mode,
-
375  const float degrees, const stdAc::fanspeed_t fan,
-
376  const stdAc::swingv_t swingv, const bool turbo, const bool light,
-
377  const bool filter, const bool clean);
-
378 #endif // SEND_SHARP_AC
-
379 #if SEND_TCL112AC
-
380  void tcl112(IRTcl112Ac *ac,
-
381  const bool on, const stdAc::opmode_t mode, const float degrees,
-
382  const stdAc::fanspeed_t fan,
-
383  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
384  const bool turbo, const bool light, const bool econo,
-
385  const bool filter);
-
386 #endif // SEND_TCL112AC
-
387 #if SEND_TECHNIBEL_AC
-
388  void technibel(IRTechnibelAc *ac,
-
389  const bool on, const stdAc::opmode_t mode, const bool celsius,
-
390  const float degrees, const stdAc::fanspeed_t fan,
-
391  const stdAc::swingv_t swingv, const int16_t sleep = -1);
-
392 #endif // SEND_TECHNIBEL_AC
-
393 #if SEND_TECO
-
394  void teco(IRTecoAc *ac,
-
395  const bool on, const stdAc::opmode_t mode, const float degrees,
-
396  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
397  const bool light, const int16_t sleep = -1);
-
398 #endif // SEND_TECO
-
399 #if SEND_TOSHIBA_AC
-
400  void toshiba(IRToshibaAC *ac,
-
401  const bool on, const stdAc::opmode_t mode, const float degrees,
-
402  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
403  const bool turbo, const bool econo);
-
404 #endif // SEND_TOSHIBA_AC
-
405 #if SEND_TROTEC
-
406  void trotec(IRTrotecESP *ac,
-
407  const bool on, const stdAc::opmode_t mode, const float degrees,
-
408  const stdAc::fanspeed_t fan, const int16_t sleep = -1);
-
409 #endif // SEND_TROTEC
-
410 #if SEND_VESTEL_AC
-
411  void vestel(IRVestelAc *ac,
-
412  const bool on, const stdAc::opmode_t mode, const float degrees,
-
413  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
414  const bool turbo, const bool filter,
-
415  const int16_t sleep = -1, const int16_t clock = -1,
-
416  const bool sendNormal = true);
-
417 #endif // SEND_VESTEL_AC
-
418 #if SEND_VOLTAS
-
419  void voltas(IRVoltas *ac, const voltas_ac_remote_model_t model,
-
420  const bool on, const stdAc::opmode_t mode,
-
421  const float degrees, const stdAc::fanspeed_t fan,
-
422  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
423  const bool turbo, const bool econo, const bool light,
-
424  const int16_t sleep = -1);
-
425 #endif // SEND_VOLTAS
-
426 #if SEND_WHIRLPOOL_AC
- -
428  const bool on, const stdAc::opmode_t mode, const float degrees,
-
429  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
430  const bool turbo, const bool light,
-
431  const int16_t sleep = -1, const int16_t clock = -1);
-
432 #endif // SEND_WHIRLPOOL_AC
-
433 #if SEND_TRANSCOLD
-
434  void transcold(IRTranscoldAc *ac,
-
435  const bool on, const stdAc::opmode_t mode, const float degrees,
-
436  const stdAc::fanspeed_t fan,
-
437  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh);
-
438 #endif // SEND_TRANSCOLD
-
439 static stdAc::state_t cleanState(const stdAc::state_t state);
-
440 static stdAc::state_t handleToggles(const stdAc::state_t desired,
-
441  const stdAc::state_t *prev = NULL);
-
442 }; // IRac class
-
443 
-
445 namespace IRAcUtils {
-
446  String resultAcToString(const decode_results * const results);
-
447  bool decodeToState(const decode_results *decode, stdAc::state_t *result,
-
448  const stdAc::state_t *prev = NULL);
-
449 } // namespace IRAcUtils
-
450 #endif // IRAC_H_
+
357 #if SEND_PANASONIC_AC32
+
358  void panasonic32(IRPanasonicAc32 *ac,
+
359  const bool on, const stdAc::opmode_t mode,
+
360  const float degrees, const stdAc::fanspeed_t fan,
+
361  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh);
+
362 #endif // SEND_PANASONIC_AC32
+
363 #if SEND_SAMSUNG_AC
+
364  void samsung(IRSamsungAc *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 quiet, const bool turbo, const bool light,
+
368  const bool filter, const bool clean,
+
369  const bool beep, const bool prevpower = true,
+
370  const bool forcepower = true);
+
371 #endif // SEND_SAMSUNG_AC
+
372 #if SEND_SANYO_AC
+
373  void sanyo(IRSanyoAc *ac,
+
374  const bool on, const stdAc::opmode_t mode, const float degrees,
+
375  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
376  const bool beep, const int16_t sleep = -1);
+
377 #endif // SEND_SANYO_AC
+
378 #if SEND_SHARP_AC
+
379  void sharp(IRSharpAc *ac, const sharp_ac_remote_model_t model,
+
380  const bool on, const bool prev_power, const stdAc::opmode_t mode,
+
381  const float degrees, const stdAc::fanspeed_t fan,
+
382  const stdAc::swingv_t swingv, const bool turbo, const bool light,
+
383  const bool filter, const bool clean);
+
384 #endif // SEND_SHARP_AC
+
385 #if SEND_TCL112AC
+
386  void tcl112(IRTcl112Ac *ac,
+
387  const bool on, const stdAc::opmode_t mode, const float degrees,
+
388  const stdAc::fanspeed_t fan,
+
389  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
390  const bool turbo, const bool light, const bool econo,
+
391  const bool filter);
+
392 #endif // SEND_TCL112AC
+
393 #if SEND_TECHNIBEL_AC
+
394  void technibel(IRTechnibelAc *ac,
+
395  const bool on, const stdAc::opmode_t mode, const bool celsius,
+
396  const float degrees, const stdAc::fanspeed_t fan,
+
397  const stdAc::swingv_t swingv, const int16_t sleep = -1);
+
398 #endif // SEND_TECHNIBEL_AC
+
399 #if SEND_TECO
+
400  void teco(IRTecoAc *ac,
+
401  const bool on, const stdAc::opmode_t mode, const float degrees,
+
402  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
403  const bool light, const int16_t sleep = -1);
+
404 #endif // SEND_TECO
+
405 #if SEND_TOSHIBA_AC
+
406  void toshiba(IRToshibaAC *ac,
+
407  const bool on, const stdAc::opmode_t mode, const float degrees,
+
408  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
409  const bool turbo, const bool econo);
+
410 #endif // SEND_TOSHIBA_AC
+
411 #if SEND_TROTEC
+
412  void trotec(IRTrotecESP *ac,
+
413  const bool on, const stdAc::opmode_t mode, const float degrees,
+
414  const stdAc::fanspeed_t fan, const int16_t sleep = -1);
+
415 #endif // SEND_TROTEC
+
416 #if SEND_VESTEL_AC
+
417  void vestel(IRVestelAc *ac,
+
418  const bool on, const stdAc::opmode_t mode, const float degrees,
+
419  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
420  const bool turbo, const bool filter,
+
421  const int16_t sleep = -1, const int16_t clock = -1,
+
422  const bool sendNormal = true);
+
423 #endif // SEND_VESTEL_AC
+
424 #if SEND_VOLTAS
+
425  void voltas(IRVoltas *ac, const voltas_ac_remote_model_t model,
+
426  const bool on, const stdAc::opmode_t mode,
+
427  const float degrees, const stdAc::fanspeed_t fan,
+
428  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
429  const bool turbo, const bool econo, const bool light,
+
430  const int16_t sleep = -1);
+
431 #endif // SEND_VOLTAS
+
432 #if SEND_WHIRLPOOL_AC
+ +
434  const bool on, const stdAc::opmode_t mode, const float degrees,
+
435  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
436  const bool turbo, const bool light,
+
437  const int16_t sleep = -1, const int16_t clock = -1);
+
438 #endif // SEND_WHIRLPOOL_AC
+
439 #if SEND_TRANSCOLD
+
440  void transcold(IRTranscoldAc *ac,
+
441  const bool on, const stdAc::opmode_t mode, const float degrees,
+
442  const stdAc::fanspeed_t fan,
+
443  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh);
+
444 #endif // SEND_TRANSCOLD
+
445 static stdAc::state_t cleanState(const stdAc::state_t state);
+
446 static stdAc::state_t handleToggles(const stdAc::state_t desired,
+
447  const stdAc::state_t *prev = NULL);
+
448 }; // IRac class
+
449 
+
451 namespace IRAcUtils {
+
452  String resultAcToString(const decode_results * const results);
+
453  bool decodeToState(const decode_results *decode, stdAc::state_t *result,
+
454  const stdAc::state_t *prev = NULL);
+
455 } // namespace IRAcUtils
+
456 #endif // IRAC_H_
Class for handling detailed Panasonic A/C messages.
Definition: ir_Panasonic.h:100
-
void airwell(IRAirwellAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send an Airwell A/C message with the supplied settings.
Definition: IRac.cpp:299
+
void airwell(IRAirwellAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send an Airwell A/C message with the supplied settings.
Definition: IRac.cpp:302
Support for Kelvinator A/C protocols.
-
Class for handling detailed Samsung A/C messages.
Definition: ir_Samsung.h:97
-
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:1070
+
Class for handling detailed Samsung A/C messages.
Definition: ir_Samsung.h:130
+
void hitachi(IRHitachiAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Hitachi A/C message with the supplied settings.
Definition: IRac.cpp:1073
Class for handling detailed Toshiba A/C messages.
Definition: ir_Toshiba.h:100
decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition: IRremoteESP8266.h:771
stdAc::state_t getStatePrev(void)
Get the previous internal A/C climate state that should have already been sent to the device....
Definition: IRac.cpp:133
stdAc::state_t getState(void)
Get the current internal A/C climate state.
Definition: IRac.cpp:128
Class for handling detailed Mitsubishi Heavy 152-bit A/C messages.
Definition: ir_MitsubishiHeavy.h:184
-
static stdAc::swingh_t strToSwingH(const char *str, const stdAc::swingh_t def=stdAc::swingh_t::kOff)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2791
-
void sharp(IRSharpAc *ac, const sharp_ac_remote_model_t model, const bool on, const bool prev_power, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const bool filter, const bool clean)
Send a Sharp A/C message with the supplied settings.
Definition: IRac.cpp:1688
-
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:1146
+
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:2842
+
void sharp(IRSharpAc *ac, const sharp_ac_remote_model_t model, const bool on, const bool prev_power, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const bool filter, const bool clean)
Send a Sharp A/C message with the supplied settings.
Definition: IRac.cpp:1725
+
void hitachi344(IRHitachiAc344 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Hitachi 344-bit A/C message with the supplied settings.
Definition: IRac.cpp:1149
Support for Electra A/C protocols.
-
void markAsSent(void)
Update the previous state to the current one.
Definition: IRac.cpp:2654
+
void markAsSent(void)
Update the previous state to the current one.
Definition: IRac.cpp:2705
swingv_t
Common A/C settings for Vertical Swing.
Definition: IRsend.h:70
Airwell "Manchester code" based protocol. Some other Airwell products use the COOLIX protocol.
-
void daikin2(IRDaikin2 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool light, const bool econo, const bool filter, const bool clean, const bool beep, const int16_t sleep=-1, const int16_t clock=-1)
Send a Daikin2 A/C message with the supplied settings.
Definition: IRac.cpp:688
+
void daikin2(IRDaikin2 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool light, const bool econo, const bool filter, const bool clean, const bool beep, const int16_t sleep=-1, const int16_t clock=-1)
Send a Daikin2 A/C message with the supplied settings.
Definition: IRac.cpp:691
Support for Trotec protocols.
-
void sanyo(IRSanyoAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool beep, const int16_t sleep=-1)
Send a Toshiba A/C message with the supplied settings.
Definition: IRac.cpp:1644
+
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:1681
Class for handling detailed Daikin 280-bit A/C messages.
Definition: ir_Daikin.h:651
-
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:1252
+
void lg(IRLgAc *ac, const lg_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send a LG A/C message with the supplied settings.
Definition: IRac.cpp:1255
Class for handling detailed Delonghi A/C messages.
Definition: ir_Delonghi.h:73
Class for handling detailed Corona A/C messages.
Definition: ir_Corona.h:107
-
void kelvinator(IRKelvinatorAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool light, const bool filter, const bool clean)
Send a Kelvinator A/C message with the supplied settings.
Definition: IRac.cpp:1218
+
void kelvinator(IRKelvinatorAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool light, const bool filter, const bool clean)
Send a Kelvinator A/C message with the supplied settings.
Definition: IRac.cpp:1221
Class for handling detailed Daikin 312-bit A/C messages.
Definition: ir_Daikin.h:733
Support for Neoclima protocols. Analysis by crankyoldgit & AndreyShpilevoy.
Class for handling detailed Daikin 128-bit A/C messages.
Definition: ir_Daikin.h:994
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
Support for Sharp protocols.
-
static String fanspeedToString(const stdAc::fanspeed_t speed)
Convert the supplied fan speed enum into the appropriate String.
Definition: IRac.cpp:2941
+
static String fanspeedToString(const stdAc::fanspeed_t speed)
Convert the supplied fan speed enum into the appropriate String.
Definition: IRac.cpp:2992
whirlpool_ac_remote_model_t
Whirlpool A/C model numbers.
Definition: IRsend.h:164
Carrier A/C.
-
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:1999
+
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:2036
Results returned from the decoder.
Definition: IRrecv.h:92
-
void daikin64(IRDaikin64 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const int16_t sleep=-1, const int16_t clock=-1)
Send a Daikin 64-bit A/C message with the supplied settings.
Definition: IRac.cpp:757
-
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:1958
-
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:1741
-
void transcold(IRTranscoldAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Transcold A/C message with the supplied settings.
Definition: IRac.cpp:2036
-
bool sendAc(void)
Send an A/C message based soley on our internal state.
Definition: IRac.cpp:2660
-
static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b)
Compare two AirCon states.
Definition: IRac.cpp:2671
+
void daikin64(IRDaikin64 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const int16_t sleep=-1, const int16_t clock=-1)
Send a Daikin 64-bit A/C message with the supplied settings.
Definition: IRac.cpp:760
+
void voltas(IRVoltas *ac, const voltas_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool light, const int16_t sleep=-1)
Send a Voltas A/C message with the supplied settings.
Definition: IRac.cpp:1995
+
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:1778
+
void transcold(IRTranscoldAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Transcold A/C message with the supplied settings.
Definition: IRac.cpp:2073
+
bool sendAc(void)
Send an A/C message based soley on our internal state.
Definition: IRac.cpp:2711
+
static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b)
Compare two AirCon states.
Definition: IRac.cpp:2722
Support for Midea protocols. Midea added by crankyoldgit & bwze.
Support for Daikin A/C protocols.
gree_ac_remote_model_t
Gree A/C model numbers.
Definition: IRsend.h:129
Class for handling detailed Daikin 64-bit A/C messages.
Definition: ir_Daikin.h:1124
Support for Coolix A/C protocols.
-
void vestel(IRVestelAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool filter, const int16_t sleep=-1, const int16_t clock=-1, const bool sendNormal=true)
Send a Vestel A/C message with the supplied settings.
Definition: IRac.cpp:1916
+
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:1953
Class for handling detailed Hitachi 53-byte/424-bit A/C messages.
Definition: ir_Hitachi.h:371
-
void daikin(IRDaikinESP *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool clean)
Send a Daikin A/C message with the supplied settings.
Definition: IRac.cpp:524
+
void daikin(IRDaikinESP *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool clean)
Send a Daikin A/C message with the supplied settings.
Definition: IRac.cpp:527
IRac(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: IRac.cpp:54
Class for handling detailed Daikin 216-bit A/C messages.
Definition: ir_Daikin.h:829
Class for handling detailed Voltas A/C messages.
Definition: ir_Voltas.h:90
hitachi_ac1_remote_model_t
HITACHI_AC1 A/C model numbers.
Definition: IRsend.h:135
-
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:1603
-
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:564
+
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:1640
+
void daikin128(IRDaikin128 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const bool light, const bool econo, const int16_t sleep=-1, const int16_t clock=-1)
Send a Daikin 128-bit A/C message with the supplied settings.
Definition: IRac.cpp:567
Class for handling detailed Hitachi 224-bit A/C messages.
Definition: ir_Hitachi.h:246
const int8_t kGpioUnused
A placeholder for not using an actual GPIO.
Definition: IRac.h:45
-
Common functions for use with all A/Cs supported by the IRac class.
Definition: IRac.cpp:3010
-
Class for handling detailed Sanyo A/C messages.
Definition: ir_Sanyo.h:98
-
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:1001
+
Common functions for use with all A/Cs supported by the IRac class.
Definition: IRac.cpp:3061
+
Class for handling detailed Sanyo A/C messages.
Definition: ir_Sanyo.h:106
+
void haier(IRHaierAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool filter, const int16_t sleep=-1, const int16_t clock=-1)
Send a Haier A/C message with the supplied settings.
Definition: IRac.cpp:1004
Class for handling detailed Whirlpool A/C messages.
Definition: ir_Whirlpool.h:91
Class for handling detailed Hitachi 344-bit A/C messages.
Definition: ir_Hitachi.h:459
-
static String boolToString(const bool value)
Convert the supplied boolean into the appropriate String.
Definition: IRac.cpp:2912
+
static String boolToString(const bool value)
Convert the supplied boolean into the appropriate String.
Definition: IRac.cpp:2963
stdAc::state_t next
The state we want the device to be in after we send.
Definition: IRac.h:97
std::string String
Definition: IRremoteESP8266.h:1178
Class for handling detailed Mitsubishi 144-bit A/C messages.
Definition: ir_Mitsubishi.h:221
-
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:1879
-
static int16_t strToModel(const char *str, const int16_t def=-1)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2831
+
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:1916
+
static int16_t strToModel(const char *str, const int16_t def=-1)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2882
Class for handling detailed Amcor A/C messages.
Definition: ir_Amcor.h:90
Class for handling detailed Mitsubishi 122-bit A/C messages.
Definition: ir_Mitsubishi.h:339
Class for handling detailed TCL A/C messages.
Definition: ir_Tcl.h:63
-
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:656
+
void daikin176(IRDaikin176 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingh_t swingh)
Send a Daikin 176-bit A/C message with the supplied settings.
Definition: IRac.cpp:659
Class for handling detailed Electra A/C messages.
Definition: ir_Electra.h:98
Support for TCL protocols.
-
bool hasStateChanged(void)
Check if the internal state has changed from what was previously sent.
Definition: IRac.cpp:2683
-
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:1038
-
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:727
+
bool hasStateChanged(void)
Check if the internal state has changed from what was previously sent.
Definition: IRac.cpp:2734
+
void haierYrwo2(IRHaierACYRW02 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool filter, const int16_t sleep=-1)
Send a Haier YRWO2 A/C message with the supplied settings.
Definition: IRac.cpp:1041
+
void daikin216(IRDaikin216 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo)
Send a Daikin 216-bit A/C message with the supplied settings.
Definition: IRac.cpp:730
Support for Transcold A/C protocols.
Support for Hitachi A/C protocols.
Support for Panasonic protocols.
-
static stdAc::state_t handleToggles(const stdAc::state_t desired, const stdAc::state_t *prev=NULL)
Create a new state base on desired & previous states but handle any state changes for options that ne...
Definition: IRac.cpp:2085
+
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:2122
Class for handling detailed Mitsubishi 136-bit A/C messages.
Definition: ir_Mitsubishi.h:285
panasonic_ac_remote_model_t
Panasonic A/C model numbers.
Definition: IRsend.h:141
swingh_t
Common A/C settings for Horizontal Swing.
Definition: IRsend.h:83
-
void mitsubishi112(IRMitsubishi112 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet)
Send a Mitsubishi 112-bit A/C message with the supplied settings.
Definition: IRac.cpp:1362
-
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:3369
+
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:1365
+
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:3430
Class for handling detailed Hitachi 104-bit A/C messages.
Definition: ir_Hitachi.h:303
-
void hitachi424(IRHitachiAc424 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv)
Send a Hitachi 424-bit A/C message with the supplied settings.
Definition: IRac.cpp:1180
+
void hitachi424(IRHitachiAc424 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv)
Send a Hitachi 424-bit A/C message with the supplied settings.
Definition: IRac.cpp:1183
Support for Samsung protocols. Samsung originally added from https://github.com/shirriff/Arduino-IRre...
-
String resultAcToString(const decode_results *const result)
Display the human readable state of an A/C message if we can.
Definition: IRac.cpp:3016
-
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:601
+
String resultAcToString(const decode_results *const result)
Display the human readable state of an A/C message if we can.
Definition: IRac.cpp:3067
+
void daikin152(IRDaikin152 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const bool econo)
Send a Daikin 152-bit A/C message with the supplied settings.
Definition: IRac.cpp:604
fujitsu_ac_remote_model_t
Fujitsu A/C model numbers.
Definition: IRsend.h:120
Support for Gree A/C protocols.
Class for handling detailed Carrier 64 bit A/C messages.
Definition: ir_Carrier.h:84
-
Class for handling detailed Midea A/C messages.
Definition: ir_Midea.h:138
-
Class for handling detailed Kelvinator A/C messages.
Definition: ir_Kelvinator.h:120
+
Class for handling detailed Midea A/C messages.
Definition: ir_Midea.h:151
+
Class for handling detailed Kelvinator A/C messages.
Definition: ir_Kelvinator.h:121
bool _inverted
IR LED is lit when GPIO is LOW (true) or HIGH (false)?
Definition: IRac.h:103
Class for handling detailed Fujitsu A/C messages.
Definition: ir_Fujitsu.h:113
Support for Mitsubishi Heavy Industry protocols. Code to emulate Mitsubishi Heavy Industries A/C IR r...
Class for handling detailed Coolix A/C messages.
Definition: ir_Coolix.h:112
-
void midea(IRMideaAC *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool econo, const bool light, const int16_t sleep=-1)
Send a Midea A/C message with the supplied settings.
Definition: IRac.cpp:1289
-
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:1559
-
static String swingvToString(const stdAc::swingv_t swingv)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:2963
+
void midea(IRMideaAC *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool econo, const bool light, const int16_t sleep=-1)
Send a Midea A/C message with the supplied settings.
Definition: IRac.cpp:1292
+
void panasonic(IRPanasonicAc *ac, const panasonic_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool filter, const int16_t clock=-1)
Send a Panasonic A/C message with the supplied settings.
Definition: IRac.cpp:1562
+
static String swingvToString(const stdAc::swingv_t swingv)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3014
Support for Mitsubishi protocols. Mitsubishi (TV) decoding added from https://github....
A universal/common/generic interface for controling supported A/Cs.
Definition: IRac.h:49
Support for Teco protocols.
-
void gree(IRGreeAC *ac, const gree_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const bool clean, const int16_t sleep=-1)
Send a Gree A/C message with the supplied settings.
Definition: IRac.cpp:963
+
void gree(IRGreeAC *ac, const gree_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const bool clean, const int16_t sleep=-1)
Send a Gree A/C message with the supplied settings.
Definition: IRac.cpp:966
Delonghi A/C.
-
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:814
-
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:2072
+
void electra(IRElectraAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool lighttoggle, const bool clean)
Send an Electra A/C message with the supplied settings.
Definition: IRac.cpp:817
+
static stdAc::state_t cleanState(const stdAc::state_t state)
Create a new state base on the provided state that has been suitably fixed.
Definition: IRac.cpp:2109
Support for Argo Ulisse 13 DCI Mobile Split ACs.
-
void mitsubishi(IRMitsubishiAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const int16_t clock=-1)
Send a Mitsubishi A/C message with the supplied settings.
Definition: IRac.cpp:1327
-
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:327
+
void mitsubishi(IRMitsubishiAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const int16_t clock=-1)
Send a Mitsubishi A/C message with the supplied settings.
Definition: IRac.cpp:1330
+
void amcor(IRAmcorAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send an Amcor A/C message with the supplied settings.
Definition: IRac.cpp:330
Class for handling detailed Technibel A/C messages.
Definition: ir_Technibel.h:108
Class for handling detailed Airwell A/C messages.
Definition: ir_Airwell.h:60
Support for Voltas A/C protocol.
@@ -640,63 +646,65 @@ $(function() {
Class for handling detailed LG A/C messages.
Definition: ir_LG.h:67
Support for Fujitsu A/C protocols. Fujitsu A/C support added by Jonny Graham.
Class for handling detailed Haier A/C messages.
Definition: ir_Haier.h:244
-
void neoclima(IRNeoclimaAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool light, const bool filter, const int16_t sleep=-1)
Send a Neoclima A/C message with the supplied settings.
Definition: IRac.cpp:1518
+
void neoclima(IRNeoclimaAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool light, const bool filter, const int16_t sleep=-1)
Send a Neoclima A/C message with the supplied settings.
Definition: IRac.cpp:1521
Class for handling detailed Daikin 160-bit A/C messages.
Definition: ir_Daikin.h:885
-
static String opmodeToString(const stdAc::opmode_t mode)
Convert the supplied operation mode into the appropriate String.
Definition: IRac.cpp:2919
-
Class for handling detailed Sharp A/C messages.
Definition: ir_Sharp.h:113
-
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:1843
+
static String opmodeToString(const stdAc::opmode_t mode)
Convert the supplied operation mode into the appropriate String.
Definition: IRac.cpp:2970
+
Class for handling detailed Sharp A/C messages.
Definition: ir_Sharp.h:131
+
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:1880
Support for Goodweather compatible HVAC protocols.
-
void argo(IRArgoAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const int16_t sleep=-1)
Send an Argo A/C message with the supplied settings.
Definition: IRac.cpp:359
+
void argo(IRArgoAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const int16_t sleep=-1)
Send an Argo A/C message with the supplied settings.
Definition: IRac.cpp:362
lg_ac_remote_model_t
LG A/C model numbers.
Definition: IRsend.h:170
-
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:1398
+
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:1401
bool _modulation
Is frequency modulation to be used?
Definition: IRac.h:104
-
void teco(IRTecoAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool light, const int16_t sleep=-1)
Send a Teco A/C message with the supplied settings.
Definition: IRac.cpp:1810
-
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:2689
+
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:1847
+
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:2740
Support for Sanyo protocols. Sanyo LC7461 support originally by marcosamarinho Sanyo SA 8650B origina...
-
void hitachi1(IRHitachiAc1 *ac, const hitachi_ac1_remote_model_t model, const bool on, const bool power_toggle, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool swing_toggle, const int16_t sleep=-1)
Send a Hitachi1 A/C message with the supplied settings.
Definition: IRac.cpp:1107
+
void hitachi1(IRHitachiAc1 *ac, const hitachi_ac1_remote_model_t model, const bool on, const bool power_toggle, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool swing_toggle, const int16_t sleep=-1)
Send a Hitachi1 A/C message with the supplied settings.
Definition: IRac.cpp:1110
Class for handling detailed Transcold A/C messages.
Definition: ir_Transcold.h:111
+
void panasonic32(IRPanasonicAc32 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Panasonic A/C message with the supplied settings.
Definition: IRac.cpp:1598
Support for Whirlpool protocols. Decoding help from: @redmusicxd, @josh929800, @raducostea.
-
static bool strToBool(const char *str, const bool def=false)
Convert the supplied str into the appropriate boolean value.
Definition: IRac.cpp:2894
-
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:1433
-
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:2750
+
static bool strToBool(const char *str, const bool def=false)
Convert the supplied str into the appropriate boolean value.
Definition: IRac.cpp:2945
+
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:1436
+
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:2801
Class for handling detailed Vestel A/C messages.
Definition: ir_Vestel.h:116
+
Class for handling detailed Panasonic 32bit A/C messages.
Definition: ir_Panasonic.h:219
Class for handling detailed Trotec A/C messages.
Definition: ir_Trotec.h:76
Class for handling detailed Teco A/C messages.
Definition: ir_Teco.h:107
-
static String swinghToString(const stdAc::swingh_t swingh)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:2987
-
void fujitsu(IRFujitsuAC *ac, const fujitsu_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool filter, const bool clean, const int16_t sleep=-1)
Send a Fujitsu A/C message with the supplied settings.
Definition: IRac.cpp:857
+
static String swinghToString(const stdAc::swingh_t swingh)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3038
+
void fujitsu(IRFujitsuAC *ac, const fujitsu_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool filter, const bool clean, const int16_t sleep=-1)
Send a Fujitsu A/C message with the supplied settings.
Definition: IRac.cpp:860
Support for Technibel protocol.
-
void delonghiac(IRDelonghiAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const bool turbo, const int16_t sleep=-1)
Send a Delonghi A/C message with the supplied settings.
Definition: IRac.cpp:787
+
void delonghiac(IRDelonghiAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const bool turbo, const int16_t sleep=-1)
Send a Delonghi A/C message with the supplied settings.
Definition: IRac.cpp:790
stdAc::state_t _prev
The state we expect the device to currently be in.
Definition: IRac.h:105
Class for handling detailed Haier ACYRW02 A/C messages.
Definition: ir_Haier.h:314
-
void daikin160(IRDaikin160 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv)
Send a Daikin 160-bit A/C message with the supplied settings.
Definition: IRac.cpp:634
-
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:489
+
void daikin160(IRDaikin160 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv)
Send a Daikin 160-bit A/C message with the supplied settings.
Definition: IRac.cpp:637
+
void corona(IRCoronaAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool econo)
Send a Corona A/C message with the supplied settings.
Definition: IRac.cpp:492
static void initState(stdAc::state_t *state, const decode_type_t vendor, const int16_t model, const bool power, const stdAc::opmode_t mode, const float degrees, const bool celsius, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool light, const bool filter, const bool clean, const bool beep, const int16_t sleep, const int16_t clock)
Initialise the given state with the supplied settings.
Definition: IRac.cpp:85
-
void mitsubishiHeavy152(IRMitsubishiHeavy152Ac *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool filter, const bool clean, const int16_t sleep=-1)
Send a Mitsubishi Heavy 152-bit A/C message with the supplied settings.
Definition: IRac.cpp:1474
+
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:1477
Support for Haier A/C protocols. The specifics of reverse engineering the protocols details:
Class for handling detailed Mitsubishi Heavy 88-bit A/C messages.
Definition: ir_MitsubishiHeavy.h:271
-
Class for handling detailed Gree A/C messages.
Definition: ir_Gree.h:131
-
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:428
-
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:2719
+
Class for handling detailed Gree A/C messages.
Definition: ir_Gree.h:133
+
void coolix(IRCoolixAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool light, const bool clean, const int16_t sleep=-1)
Send a Coolix A/C message with the supplied settings.
Definition: IRac.cpp:431
+
static stdAc::fanspeed_t strToFanspeed(const char *str, const stdAc::fanspeed_t def=stdAc::fanspeed_t::kAuto)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2770
Support for Toshiba protocols.
-
void goodweather(IRGoodweatherAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const int16_t sleep=-1)
Send a Goodweather A/C message with the supplied settings.
Definition: IRac.cpp:921
+
void goodweather(IRGoodweatherAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const int16_t sleep=-1)
Send a Goodweather A/C message with the supplied settings.
Definition: IRac.cpp:924
Structure to hold a common A/C state.
Definition: IRsend.h:97
Class for handling detailed Goodweather A/C messages.
Definition: ir_Goodweather.h:100
Support for Vestel protocols. Vestel added by Erdem U. Altinyurt.
Class for handling detailed Argo A/C messages.
Definition: ir_Argo.h:127
-
Class for handling detailed Neoclima A/C messages.
Definition: ir_Neoclima.h:94
+
Class for handling detailed Neoclima A/C messages.
Definition: ir_Neoclima.h:120
static bool isProtocolSupported(const decode_type_t protocol)
Is the given protocol supported by the IRac class?
Definition: IRac.cpp:138
Class for handling detailed Daikin 176-bit A/C messages.
Definition: ir_Daikin.h:937
Amcor A/C protocol.
uint16_t _pin
The GPIO to use to transmit messages from.
Definition: IRac.h:102
-
void technibel(IRTechnibelAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const int16_t sleep=-1)
Send a Technibel A/C message with the supplied settings.
Definition: IRac.cpp:1777
+
void technibel(IRTechnibelAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const int16_t sleep=-1)
Send a Technibel A/C message with the supplied settings.
Definition: IRac.cpp:1814
voltas_ac_remote_model_t
Voltas A/C model numbers.
Definition: IRsend.h:158
sharp_ac_remote_model_t
Sharp A/C model numbers.
Definition: IRsend.h:152
Support for LG protocols.
-
void carrier64(IRCarrierAc64 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const int16_t sleep=-1)
Send a Carrier 64-bit A/C message with the supplied settings.
Definition: IRac.cpp:391
+
void carrier64(IRCarrierAc64 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const int16_t sleep=-1)
Send a Carrier 64-bit A/C message with the supplied settings.
Definition: IRac.cpp:394
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46