Merge branch 'development' into pre-release-9.2.0

This commit is contained in:
Theo Arends 2020-12-06 16:36:18 +01:00
commit 556156f73f
2077 changed files with 80567 additions and 49697 deletions

View File

@ -5,9 +5,9 @@
## Checklist:
- [ ] The pull request is done against the latest dev branch
- [ ] Only relevant files were touched
- [ ] Only one feature/fix was added per PR.
- [ ] The code change is tested and works on Tasmota core ESP8266 V.2.7.4.5
- [ ] The code change is tested and works on core ESP32 V.1.12.2
- [ ] 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.7
- [ ] The code change is tested and works on Tasmota core ESP32 V.1.0.4.2
- [ ] 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**_

40
.github/stale.yml vendored
View File

@ -1,40 +0,0 @@
# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 25
# Number of days of inactivity before a stale Issue or Pull Request is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 5
# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
exemptLabels:
- pinned
- security
- enhancement
- bug
# Set to true to ignore issues in a project (defaults to false)
exemptProjects: false
# Set to true to ignore issues in a milestone (defaults to false)
exemptMilestones: false
# Label to use when marking as stale
staleLabel: stale
# Comment to post when marking as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when removing the stale label.
# unmarkComment: >
# Your comment here.
# Comment to post when closing a stale Issue or Pull Request.
closeComment: >
This issue will be auto-closed because there hasn't been any activity for a few months. Feel free to open a new one if you still experience this problem.
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 30
# Limit to only `issues` or `pulls`
#only: issues

23
.github/workflows/stale-actions.yml vendored Normal file
View File

@ -0,0 +1,23 @@
name: "Mark or close stale issues and PRs"
on:
schedule:
- cron: "15 05 * * *"
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v3.0.14
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 25
days-before-close: 5
stale-issue-message: "This issue has been automatically marked as stale because it hasn't any activity in last few weeks. It will be closed if no further activity occurs. Thank you for your contributions."
stale-pr-message: "This PR has been automatically marked as stale because it hasn't any activity in last few weeks. It will be closed if no further activity occurs. Thank you for your contributions."
close-issue-message: "This issue was automatically closed because of being stale. Feel free to open a new one if you still experience this problem."
close-pr-message: "This PR was automatically closed because of being stale."
stale-pr-label: "stale"
stale-issue-label: "stale"
exempt-issue-labels: "bug,enhancement,pinned,security"
exempt-pr-labels: "bug,enhancement,pinned,security"

View File

@ -28,7 +28,8 @@
| USE_EXPRESSION | - | - | - | - | - | - | - |
| SUPPORT_IF_STATEMENT | - | - | - | - | - | - | - |
| USE_HOTPLUG | - | - | - | - | - | - | - |
| USE_PROMETHEUS | - | - | - | - | - | - | - | Enables the `/metrics` endpoint
| USE_PROMETHEUS | - | - | - | - | - | - | - |
| USE_PING | - | - | - | - | - | - | - |
| | | | | | | | |
| Feature or Sensor | minimal | lite | tasmota | knx | sensors | ir | display | Remarks
| ROTARY_V1 | - | - | x | - | x | - | - |
@ -48,6 +49,7 @@
| USE_PWM_DIMMER | - | - | x | x | - | - | - |
| USE_KEELOQ | - | - | - | - | - | - | - |
| USE_SONOFF_D1 | - | - | x | x | - | - | - |
| USE_SHELLY_DIMMER | - | - | - | - | - | - | - |
| | | | | | | | |
| Feature or Sensor | minimal | lite | tasmota | knx | sensors | ir | display | Remarks
| USE_LIGHT | - | x | x | x | x | x | x |
@ -141,12 +143,14 @@
| USE_EZOO2 | - | - | - | - | - | - | - |
| USE_EZOORP | - | - | - | - | - | - | - |
| USE_EZOPH | - | - | - | - | - | - | - |
| USE_EZOPMP | - | - | - | - | - | - | - |
| USE_EZOPRS | - | - | - | - | - | - | - |
| USE_EZORGB | - | - | - | - | - | - | - |
| USE_EZORTD | - | - | - | - | - | - | - |
| | | | | | | | |
| Feature or Sensor | minimal | lite | tasmota | knx | sensors | ir | display | Remarks
| USE_SPI | - | - | - | - | - | - | x |
| USE_RC522 | - | - | - | - | - | - | - |
| USE_MHZ19 | - | - | - | - | x | - | - |
| USE_SENSEAIR | - | - | - | - | x | - | - |
| USE_PMS5003 | - | - | - | - | x | - | - |
@ -164,6 +168,7 @@
| USE_TASMOTA_CLIENT | - | - | - | - | - | - | - |
| USE_OPENTHERM | - | - | - | - | - | - | - |
| USE_MIEL_HVAC | - | - | - | - | - | - | - |
| USE_AS608 | - | - | - | - | - | - | - |
| USE_TCP_BRIDGE | - | - | - | - | - | - | - | zbbridge
| | | | | | | | |
| USE_NRF24 | - | - | - | - | - | - | - |

View File

@ -9,6 +9,73 @@ All notable changes to this project will be documented in this file.
## [Unreleased] - Development
## [9.1.0.2]
### Added
- KNX read reply for Power (#9236, #9891)
- Zigbee persistence of device/sensor data in EEPROM (only ZBBridge)
- Support for common anode sevenseg displays by adding ``#define USE_DISPLAY_SEVENSEG_COMMON_ANODE`` by Ken Sanislo (#9963)
- Support for multiple WeMo devices by Magic73 (#9208)
- Fallback NTP server from x.pool.ntp.org if no ntpservers are configured
- TyuaMcu update 2/3 by Federico Leoni (#10004)
- Optional CCloader support for CC25xx Zigbee or CC26xx BLE by Christian Baars (#9970)
- Command ``RfProtocol`` to control RcSwitch receive protocols by BBBits (#10063)
- Support for SPI connected MFRC522 13.56MHz rfid card reader (#9916)
### Breaking Changed
- KNX DPT9 (16-bit float) to DPT14 (32-bit float) by Adrian Scillato (#9811, #9888)
### Changed
- Shelly Dimmer fw upgrade using WebGUI Firmware Upgrade and file from folder `tools/fw_shd_stm32/`
- MQTT Wifi connection timeout from 5000 to 200 mSec (#9886)
- Platformio compiler option `-free -fipa-pta` enabled (#9875)
- IRremoteESP8266 library from v2.7.12 to v2.7.13
- Shelly Dimmer 1 and 2 stm32 firmware from v51.4 to v51.5
### Fixed
- KNX ESP32 UDP mulicastpackage (#9811)
- Command ``gpio`` using non-indexed functions regression from v9.1.0 (#9962)
- ESP32 TasmotaClient firmware upgrade (#9218)
- Reset to defaults after 6 hours of DeepSleep (#9993)
- Backlog timing wraparound (#9995)
### Removed
- PN532 define USE_PN532_CAUSE_EVENTS replaced by generic rule trigger `on pn532#uid=`
## [9.1.0.1] - 20201116
### Added
- Zigbee support for Mi Door and Contact (#9759)
- Zigbee alarm persistence (#9785)
- Support for EZO PMP sensors by Christopher Tremblay (#9760)
- Commands ``TuyaRGB``, ``TuyaEnum`` and ``TuyaEnumList`` (#9769)
- Zigbee command ``ZbInfo`` and prepare support for EEPROM
- Support for AS608 optical and R503 capacitive fingerprint sensor
- Command ``SetOption115 1`` to enable ESP32 MiBle
- Zigbee command ``ZbLeave`` to unpair a device
- Command ``SetOption116 1`` to disable auto-query of zigbee light devices (avoids network storms with large groups)
- Support for Shelly Dimmer 1 and 2 by James Turton (#9854)
- IRremoteESP8266 library from v2.7.11 to v2.7.12
### Changed
- Core library from v2.7.4.5 to v2.7.4.7
- Platformio compiler option `no target align` enabled (#9749)
- Consolidate `AddLog_P` into `AddLog_P2` and rename to `AddLog_P`
- Sonoff L1 color up scaling and color margin detection (#9545)
### Fixed
- NTP fallback server functionality (#9739)
- Telegram group chatid not supported (#9831)
- KNX buttons, switches and sensors detection regression from v9.1.0 (#9811)
- GUI MqttUser and MqttPassword updates when TLS is compiled in (#9825)
### Removed
- Version compatibility check
## [Released]
### 9.1.0 20201105
- Release Imogen
## [9.0.0.3] - 20201105
### Added
- TLS in binary tasmota-zbbridge (#9635)

View File

@ -88,3 +88,4 @@ Index | Define | Driver | Device | Address(es) | Description
55 | USE_EZOFLO | xsns_78 | EZOFLO | 0x61 - 0x70 | Flow meter sensor
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

View File

@ -68,17 +68,16 @@ See [wiki migration path](https://tasmota.github.io/docs/Upgrading#migration-pat
1. Migrate to **Sonoff-Tasmota 3.9.x**
2. Migrate to **Sonoff-Tasmota 4.x**
3. Migrate to **Sonoff-Tasmota 5.14**
4. Migrate to **Sonoff-Tasmota 6.7.1**
5. Migrate to **Tasmota 7.2.0**
4. Migrate to **Sonoff-Tasmota 6.7.1** (http://ota.tasmota.com/tasmota/release-6.7.1/)
5. Migrate to **Tasmota 7.2.0** (http://ota.tasmota.com/tasmota/release-7.2.0/)
--- Major change in parameter storage layout ---
6. Migrate to **Tasmota 8.1**
7. Migrate to **Tasmota 8.5.1**
6. Migrate to **Tasmota 8.5.1** (http://ota.tasmota.com/tasmota/release-8.5.1/)
--- Major change in internal GPIO function representation ---
8. Migrate to **Tasmota 9.1**
7. Migrate to **Tasmota 9.1** (http://ota.tasmota.com/tasmota/release-9.1.0/)
While fallback or downgrading is common practice it was never supported due to Settings additions or changes in newer releases. Starting with version **v9.0.0.1** the internal GPIO function representation has changed in such a way that fallback is only possible to the latest GPIO configuration before installing **v9.0.0.1**.

View File

@ -9,23 +9,22 @@ See [migration path](https://tasmota.github.io/docs/Upgrading#migration-path) fo
1. Migrate to **Sonoff-Tasmota 3.9.x**
2. Migrate to **Sonoff-Tasmota 4.x**
3. Migrate to **Sonoff-Tasmota 5.14**
4. Migrate to **Sonoff-Tasmota 6.7.1**
5. Migrate to **Tasmota 7.2.0**
4. Migrate to **Sonoff-Tasmota 6.7.1** (http://ota.tasmota.com/tasmota/release-6.7.1/)
5. Migrate to **Tasmota 7.2.0** (http://ota.tasmota.com/tasmota/release-7.2.0/)
--- Major change in parameter storage layout ---
6. Migrate to **Tasmota 8.1**
7. Migrate to **Tasmota 8.5.1**
6. Migrate to **Tasmota 8.5.1** (http://ota.tasmota.com/tasmota/release-8.5.1/)
--- Major change in internal GPIO function representation ---
8. Migrate to **Tasmota 9.1**
7. Migrate to **Tasmota 9.1** (http://ota.tasmota.com/tasmota/release-9.1.0/)
While fallback or downgrading is common practice it was never supported due to Settings additions or changes in newer releases. Starting with release **v9.1.0 Imogen** the internal GPIO function representation has changed in such a way that fallback is only possible to the latest GPIO configuration before installing **v9.1.0**.
## Supported Core versions
This release will be supported from ESP8266/Arduino library Core version **2.7.4.5** due to reported security and stability issues on previous Core version. This will also support gzipped binaries.
This release will be supported from ESP8266/Arduino library Core version **2.7.4.7** due to reported security and stability issues on previous Core version. This will also support gzipped binaries.
Support of Core versions before 2.7.1 has been removed.
@ -39,7 +38,7 @@ For initial configuration this release supports Webserver based **WifiManager**
## Provided Binary Downloads
The following binary downloads have been compiled with ESP8266/Arduino library core version **2.7.4.5**.
The following binary downloads have been compiled with ESP8266/Arduino library core version **2.7.4.7**.
- **tasmota.bin** = The Tasmota version with most drivers. **RECOMMENDED RELEASE BINARY**
- **tasmota-BG.bin** to **tasmota-TW.bin** = The Tasmota version in different languages.
@ -57,81 +56,50 @@ The attached binaries can also be downloaded from http://ota.tasmota.com/tasmota
[Complete list](BUILDS.md) of available feature and sensors.
## Changelog v9.1.0 Imogen
## Changelog v9.2.0 Julie
### Added
- Command ``DimmerStep 1..50`` to change default dimmer up and down step of 10% by James Turton (#9733)
- Command ``Gpios 255`` to show all possible GPIO configurations
- Command ``NoDelay`` for immediate backlog command execution by Erik Montnemery (#9544)
- Command ``ShutterChange`` to increment change position (#9594)
- Command ``SwitchMode 15`` sending only MQTT message on switch change (#9593)
- Command ``SetOption113 1`` to set dimmer low on rotary dial after power off
- Command ``SetOption114 1`` to detach Switches from Relays and enable MQTT action state for all the SwitchModes
- Command ``SwitchText`` to change JSON switch names by barbudor (#9691)
- Zigbee command ``ZbData`` for better support of device specific data
- Zigbee command ``ZbOccupancy`` to configure the time-out for PIR
- Optional support for Mitsubishi Electric HVAC by David Gwynne (#9237)
- Optional support for Orno WE517-Modbus energy meter by Maxime Vincent (#9353)
- SDM630 three phase ImportActive Energy display when ``#define SDM630_IMPORT`` is enabled by Janusz Kostorz (#9124)
- Optional support for inverted NeoPixelBus data line by enabling ``#define USE_WS2812_INVERTED`` (#8988)
- Support for PWM dimmer color/trigger on tap, SO88 led, DGR WITH_LOCAL flag, multi-press and ledmask by Paul Diem (#9474, #9584)
- Support for stateful ACs using ``StateMode`` in tasmota-ir.bin by Arik Yavilevich (#9472)
- Support for analog buttons indexed within standard button range
- Support for Vietnamese language translations by Tâm.NT
- Support for timers in case of no-sunset permanent day by cybermaus (#9543)
- Support for EZO sensors by Christopher Tremblay
- Support for fixed output Hi or Lo GPIO selection
- Support for Hass discovery of TuyaMcu and Sonoff Ifan by Federico Leoni (#9727)
- TLS in binary tasmota-zbbridge (#9620)
- Zigbee reduce battery drain (#9642)
- ESP32 support for Wireless-Tag WT32-ETH01 (#9496)
- ESP32 MI32 Beacon support, RSSI at TELEPERIOD, refactoring by Christian Baars (#9609)
- HM10 Beacon support and refactoring by Christian Baars (#9702)
- Initial support for iBeacons (Sensor52) on ESP32 using internal BLE by rvbglas (#9732)
- 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 ``RfProtocol`` to control RcSwitch receive protocols by BBBits (#10063)
- Commands ``TuyaRGB``, ``TuyaEnum`` and ``TuyaEnumList`` (#9769)
- Zigbee command ``ZbInfo`` and prepare support for EEPROM
- Zigbee command ``ZbLeave`` to unpair a device
- Zigbee support for Mi Door and Contact (#9759)
- Zigbee alarm persistence (#9785)
- Zigbee persistence of device/sensor data in EEPROM (only ZBBridge)
- TyuaMcu update 2/3 by Federico Leoni (#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)
- Support for common anode sevenseg displays by adding ``#define USE_DISPLAY_SEVENSEG_COMMON_ANODE`` by Ken Sanislo (#9963)
- Support for multiple WeMo devices by Magic73 (#9208)
- Support for SPI connected MFRC522 13.56MHz rfid card reader (#9916)
- 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)
### Breaking Changed
- Redesigned ESP8266 GPIO internal representation in line with ESP32 changing ``Template`` layout too
- TLS fingerprint ``#define MQTT_FINGERPRINT`` from string to hexnumbers (#9570)
- Command ``Status`` output for disabled status types now returns {"Command":"Error"}
- MAX31865 driver to support up to 6 thermocouples selected by ``MX31865 CS`` instead of ``SSPI CS`` (#9103)
- When ``SetOption73 1`` JSON result from `{"ACTION":"SINGLE"}` to `{"Button1":{"Action":"SINGLE"}}`
- KNX DPT9 (16-bit float) to DPT14 (32-bit float) by Adrian Scillato (#9811, #9888)
### Changed
- Command ``Gpio17`` replaces command ``Adc``
- Command ``Gpios`` replaces command ``Adcs``
- New IR Raw compact format (#9444)
- A4988 optional microstep pin selection
- Pulsetime to allow use for all relays with 8 interleaved so ``Pulsetime1`` is valid for Relay1, Relay9, Relay17 etc. (#9279)
- Management of serial baudrate (#9554)
- Rotary driver adjusted accordingly if Mi Desk Lamp module is selected (#9399)
- Tasmota Arduino Core v2.7.4.5 allowing webpassword over 47 characters (#9687)
- Webserver code optimizations (#9580, #9590)
- PlatformIO library structure redesigned for compilation speed by Jason2866
- Zigbee flash storage refactor adding commands ``ZbProbe``, ``ZbStatus2`` and ``ZbRestore`` (#9641)
- Default otaurl in my_user_config.h to http://ota.tasmota.com/tasmota/release/tasmota.bin.gz
- IRremoteESP8266 library from v2.7.10 to v2.7.11
- NeoPixelBus library from v2.5.0.09 to v2.6.0
- Core library from v2.7.4.5 to v2.7.4.7
- IRremoteESP8266 library from v2.7.12 to v2.7.13
- Shelly Dimmer 1 and 2 stm32 firmware from v51.4 to v51.5
- Platformio compiler option `no target align` enabled (#9749)
- Sonoff L1 color up scaling and color margin detection (#9545)
- MQTT Wifi connection timeout from 5000 to 200 mSec (#9886)
### Fixed
- Light wakeup Exception 0 (divide by zero) when ``WakeupDuration`` is not initialised (#9466)
- Exception 28 due to device group buffer overflow (#9459)
- Arilux RF remote detection regression from v8.3.0
- Ledlink blink when no network connected regression from v8.3.1.4 (#9292)
- TuyaMcu energy display regression from v8.5.0.1 (#9547)
- Thermostat sensor status corruption regression from v8.5.0.1 (#9449)
- Telegram message decoding error regression from v8.5.0.1
- Rule handling of Var or Mem using text regression from v8.5.0.1 (#9540)
- Rule handling of JSON ``null`` regression from v8.5.0.1 (#9685)
- Rule Break not working as expected when ONCE is enabled (#9245)
- Rule expressions using mems corrupts character pool (#9301)
- Shutter timing problem due to buffer overflow in calibration matrix (#9458)
- Correct Energy period display shortly after midnight by gominoa (#9536)
- Tuyamcu dimmers MQTT topic (#9606)
- Scripter memory alignment (#9608)
- Zigbee battery percentage (#9607)
- HassAnyKey anomaly (#9601)
- Command ``gpio`` using non-indexed functions regression from v9.1.0 (#9962)
- NTP fallback server functionality (#9739)
- Telegram group chatid not supported (#9831)
- KNX buttons, switches and sensors detection regression from v9.1.0 (#9811)
- KNX ESP32 UDP mulicastpackage (#9811)
- GUI MqttUser and MqttPassword updates when TLS is compiled in (#9825)
- ESP32 TasmotaClient firmware upgrade (#9218)
- Reset to defaults after 6 hours of DeepSleep (#9993)
- Backlog timing wraparound (#9995)
### Removed
- Support for direct upgrade from Tasmota versions before v7.0
- Support for downgrade to versions before 9.0 keeping current GPIO configuration
- Auto config update for all Friendlynames and Switchtopic from Tasmota versions before v8.0
- Auto output selection of decimal or hexadecimal data based on user input. Now only based on ``SetOption17``
- Version compatibility check
- PN532 define USE_PN532_CAUSE_EVENTS replaced by generic rule trigger `on pn532#uid=`

1816
TEMPLATES-PRE9.md Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,171 +0,0 @@
# ESP8266 platform
# ------------------------------
# For more info:
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification
name=ESP8266 Boards (2.7.1)
version=2.7.1
# These will be removed by the packager script when doing a JSON release
runtime.tools.signing={runtime.platform.path}/tools/signing.py
runtime.tools.elf2bin={runtime.platform.path}/tools/elf2bin.py
runtime.tools.sizes={runtime.platform.path}/tools/sizes.py
runtime.tools.makecorever={runtime.platform.path}/tools/makecorever.py
runtime.tools.eboot={runtime.platform.path}/bootloaders/eboot/eboot.elf
compiler.warning_flags=-w
compiler.warning_flags.none=-w
compiler.warning_flags.default=
compiler.warning_flags.more=-Wall
compiler.warning_flags.all=-Wall -Wextra
build.lwip_lib=-llwip_gcc
build.lwip_include=lwip/include
build.lwip_flags=-DLWIP_OPEN_SRC
build.vtable_flags=-DVTABLES_IN_FLASH
build.sslflags=
build.exception_flags=-fno-exceptions
build.stdcpp_lib=-lstdc++
build.stdcpp_level=-std=gnu++11
# build.float=-u _printf_float -u _scanf_float
build.float=
build.led=
# default SDK for all boards
# (generic board overrides this variable)
build.sdk=NONOSDK22x_190703
#build.sdk=NONOSDK22x_191024
#build.sdk=NONOSDK22x_191105
compiler.path={runtime.tools.xtensa-lx106-elf-gcc.path}/bin/
compiler.sdk.path={runtime.platform.path}/tools/sdk
compiler.libc.path={runtime.platform.path}/tools/sdk/libc/xtensa-lx106-elf
compiler.cpreprocessor.flags=-D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I{compiler.sdk.path}/include" "-I{compiler.sdk.path}/{build.lwip_include}" "-I{compiler.libc.path}/include" "-I{build.path}/core"
compiler.c.cmd=xtensa-lx106-elf-gcc
compiler.c.flags=-c {compiler.warning_flags} -Os -g -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -std=gnu99 -ffunction-sections -fdata-sections {build.exception_flags} {build.sslflags}
compiler.S.cmd=xtensa-lx106-elf-gcc
compiler.S.flags=-c -g -x assembler-with-cpp -MMD -mlongcalls
compiler.c.elf.flags=-g {compiler.warning_flags} -Os -nostdlib -Wl,--no-check-sections -u app_entry {build.float} -Wl,-static "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/lib/{build.sdk}" "-L{compiler.sdk.path}/ld" "-L{compiler.libc.path}/lib" "-T{build.flash_ld}" -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read
compiler.c.elf.cmd=xtensa-lx106-elf-gcc
compiler.c.elf.libs=-lhal -lphy -lpp -lnet80211 {build.lwip_lib} -lwpa -lcrypto -lmain -lwps -lbearssl -laxtls -lespnow -lsmartconfig -lairkiss -lwpa2 {build.stdcpp_lib} -lm -lc -lgcc
compiler.cpp.cmd=xtensa-lx106-elf-g++
compiler.cpp.flags=-c {compiler.warning_flags} -Os -g -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 {build.stdcpp_level} -MMD -ffunction-sections -fdata-sections {build.exception_flags} {build.sslflags}
compiler.as.cmd=xtensa-lx106-elf-as
compiler.ar.cmd=xtensa-lx106-elf-ar
compiler.ar.flags=cru
compiler.elf2hex.cmd=esptool
compiler.elf2hex.flags=
compiler.size.cmd=xtensa-lx106-elf-size
# This can be overriden in boards.txt
build.extra_flags=-DESP8266
# These can be overridden in platform.local.txt
compiler.c.extra_flags=
compiler.c.elf.extra_flags=
compiler.S.extra_flags=
compiler.cpp.extra_flags=
compiler.ar.extra_flags=
compiler.objcopy.eep.extra_flags=
compiler.elf2hex.extra_flags=
## generate file with git version number
## needs git
recipe.hooks.sketch.prebuild.pattern="{runtime.tools.python3.path}/python3" "{runtime.tools.signing}" --mode header --publickey "{build.source.path}/public.key" --out "{build.path}/core/Updater_Signing.h"
# This is quite a working hack. This form of prebuild hook, while intuitive, is not explicitly documented.
## Build the app.ld linker file
recipe.hooks.linking.prelink.1.pattern="{compiler.path}{compiler.c.cmd}" -CC -E -P {build.vtable_flags} "{runtime.platform.path}/tools/sdk/ld/eagle.app.v6.common.ld.h" -o "{build.path}/local.eagle.app.v6.common.ld"
## Compile c files
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.c.flags} -D{build.sdk}=1 -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {build.flash_flags} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
## Compile c++ files
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpreprocessor.flags} {compiler.cpp.flags} -D{build.sdk}=1 -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {build.flash_flags} {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
## Compile S files
recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.S.flags} -D{build.sdk}=1 -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {build.flash_flags} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
## Create archives
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}"
## Combine gc-sections, archives, and objects
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {build.exception_flags} -Wl,-Map "-Wl,{build.path}/{build.project_name}.map" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" -Wl,--start-group {object_files} "{archive_file_path}" {compiler.c.elf.libs} -Wl,--end-group "-L{build.path}"
## Create eeprom
recipe.objcopy.eep.pattern=
## Create hex
recipe.objcopy.hex.1.pattern="{runtime.tools.python3.path}/python3" "{runtime.tools.elf2bin}" --eboot "{runtime.tools.eboot}" --app "{build.path}/{build.project_name}.elf" --flash_mode {build.flash_mode} --flash_freq {build.flash_freq} --flash_size {build.flash_size} --path "{runtime.tools.xtensa-lx106-elf-gcc.path}/bin" --out "{build.path}/{build.project_name}.bin"
recipe.objcopy.hex.2.pattern="{runtime.tools.python3.path}/python3" "{runtime.tools.signing}" --mode sign --privatekey "{build.source.path}/private.key" --bin "{build.path}/{build.project_name}.bin" --out "{build.path}/{build.project_name}.bin.signed" --legacy "{build.path}/{build.project_name}.bin.legacy_sig"
recipe.objcopy.hex.3.pattern="{runtime.tools.python3.path}/python3" "{runtime.tools.sizes}" --elf "{build.path}/{build.project_name}.elf" --path "{runtime.tools.xtensa-lx106-elf-gcc.path}/bin"
## Save hex
recipe.output.tmp_file={build.project_name}.bin
recipe.output.save_file={build.project_name}.{build.variant}.bin
## Compute size
recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build.project_name}.elf"
recipe.size.regex=^(?:\.irom0\.text|\.text|\.text1|\.data|\.rodata|)\s+([0-9]+).*
recipe.size.regex.data=^(?:\.data|\.rodata|\.bss)\s+([0-9]+).*
#recipe.size.regex.eeprom=^(?:\.eeprom)\s+([0-9]+).*
# ------------------------------
tools.esptool.path=
# Because the variable expansion doesn't allow one tool to find another, the following lines
# will point to "{runtime.platform.path}/tools/python3/python3" in GIT and
# "{runtime.tools.python3.path}/python3" for JSON board manager releases.
tools.esptool.cmd={runtime.tools.python3.path}/python3
tools.esptool.network_cmd={runtime.tools.python3.path}/python3
tools.esptool.upload.protocol=esp
# esptool.py --trace option is a debug option, not a verbose option
tools.esptool.upload.params.verbose=
tools.esptool.upload.params.quiet=
# First, potentially perform an erase or nothing
# Next, do the binary upload
# Combined in one rule because Arduino doesn't suport upload.1.pattern/upload.3.pattern
tools.esptool.upload.pattern="{cmd}" "{runtime.platform.path}/tools/upload.py" --chip esp8266 --port "{serial.port}" --baud "{upload.speed}" "{upload.verbose}" {upload.erase_cmd} {upload.resetmethod} write_flash 0x0 "{build.path}/{build.project_name}.bin"
tools.esptool.upload.network_pattern="{network_cmd}" "{runtime.platform.path}/tools/espota.py" -i "{serial.port}" -p "{network.port}" "--auth={network.password}" -f "{build.path}/{build.project_name}.bin"
tools.mkspiffs.cmd=mkspiffs
tools.mkspiffs.cmd.windows=mkspiffs.exe
tools.mkspiffs.path={runtime.tools.mkspiffs.path}
tools.mklittlefs.cmd=mklittlefs
tools.mklittlefs.cmd.windows=mklittlefs.exe
tools.mklittlefs.path={runtime.platform.path}/tools/mklittlefs
tools.espupload.cmd=python
tools.espupload.cmd.windows=python.exe
tools.espupload.path={runtime.platform.path}/tools
tools.espupload.upload.protocol=espupload
tools.espupload.upload.params.verbose=
tools.espupload.upload.params.quiet=
tools.espupload.upload.pattern="{cmd}" "{path}/espupload.py" -f "{build.path}/{build.project_name}.bin"

View File

@ -227,7 +227,9 @@ Eeprom24C512::readBytes
byte remainingBytes = length % EEPROM__RD_BUFFER_SIZE;
word offset = length - remainingBytes;
readBuffer(address + offset, remainingBytes, p_data + offset);
if (remainingBytes > 0) {
readBuffer(address + offset, remainingBytes, p_data + offset);
}
}
/******************************************************************************

View File

@ -35,11 +35,12 @@ void ICACHE_RAM_ATTR callRxRead(void *self) { ((TasmotaSerial*)self)->rxRead();
// and callbacks corresponding to each possible GPIO pins have to be defined
TasmotaSerial *tms_obj_list[16];
#else // ESP32
#endif // ESP8266
#ifdef ESP32
static int tasmota_serial_index = 2; // Allow UART2 and UART1 only
#endif // ESP8266
#endif // ESP32
TasmotaSerial::TasmotaSerial(int receive_pin, int transmit_pin, int hardware_fallback, int nwmode, int buffer_size) {
m_valid = false;
@ -78,10 +79,11 @@ TasmotaSerial::TasmotaSerial(int receive_pin, int transmit_pin, int hardware_fal
digitalWrite(m_tx_pin, HIGH);
}
}
#else // ESP32
#endif // ESP8266
#ifdef ESP32
if (transmit_pin > 33) { return; } // GPIO34 - GPIO39 are Input only
m_hardserial = true;
#endif // ESP8266 - ESP32
#endif // ESP32
m_valid = true;
}
@ -116,7 +118,8 @@ bool TasmotaSerial::begin(long speed, int stop_bits) {
if (m_hardswap) {
Serial.swap();
}
#else // ESP32
#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--;
@ -133,7 +136,7 @@ bool TasmotaSerial::begin(long speed, int stop_bits) {
m_valid = false;
}
// Serial.printf("TSR: Using UART%d\n", m_uart);
#endif // ESP8266 - ESP32
#endif // ESP32
} else {
// Use getCycleCount() loop to get as exact timing as possible
m_bit_time = ESP.getCpuFreqMHz() * 1000000 / speed;
@ -151,18 +154,20 @@ bool TasmotaSerial::begin() {
bool TasmotaSerial::hardwareSerial() {
#ifdef ESP8266
return m_hardserial;
#else
#endif // ESP8266
#ifdef ESP32
return false; // On ESP32 do not mess with Serial0 buffers
#endif
#endif // ESP32
}
void TasmotaSerial::flush() {
if (m_hardserial) {
#ifdef ESP8266
Serial.flush();
#else
#endif // ESP8266
#ifdef ESP32
TSerial->flush();
#endif
#endif // ESP32
} else {
m_in_pos = m_out_pos = 0;
}
@ -172,9 +177,10 @@ int TasmotaSerial::peek() {
if (m_hardserial) {
#ifdef ESP8266
return Serial.peek();
#else
#endif // ESP8266
#ifdef ESP32
return TSerial->peek();
#endif
#endif // ESP32
} else {
if ((-1 == m_rx_pin) || (m_in_pos == m_out_pos)) return -1;
return m_buffer[m_out_pos];
@ -185,9 +191,10 @@ int TasmotaSerial::read() {
if (m_hardserial) {
#ifdef ESP8266
return Serial.read();
#else
#endif // ESP8266
#ifdef ESP32
return TSerial->read();
#endif
#endif // ESP32
} else {
if ((-1 == m_rx_pin) || (m_in_pos == m_out_pos)) return -1;
uint32_t ch = m_buffer[m_out_pos];
@ -200,9 +207,10 @@ int TasmotaSerial::available() {
if (m_hardserial) {
#ifdef ESP8266
return Serial.available();
#else
#endif // ESP8266
#ifdef ESP32
return TSerial->available();
#endif
#endif // ESP32
} else {
int avail = m_in_pos - m_out_pos;
if (avail < 0) avail += serial_buffer_size;
@ -237,9 +245,10 @@ size_t TasmotaSerial::write(uint8_t b) {
if (m_hardserial) {
#ifdef ESP8266
return Serial.write(b);
#else
#endif // ESP8266
#ifdef ESP32
return TSerial->write(b);
#endif
#endif // ESP32
} else {
if (-1 == m_tx_pin) return 0;
if (m_high_speed) {

View File

@ -1 +0,0 @@
03d57403f5e261a4d149af6d97df8c4e

View File

@ -1 +0,0 @@
73bc4a9080b6c0dadd1f4f79902d0d9d

View File

@ -1 +0,0 @@
1673306d74a0dede07612dd53392cdb8

View File

@ -1 +0,0 @@
75315ade61231ea1889aa45e155a131b

View File

@ -1,4 +0,0 @@
<map id="IRCoolixAC" name="IRCoolixAC">
<area shape="rect" id="node1" title="Class for handling detailed Coolix A/C messages." alt="" coords="5,95,100,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="19,5,86,32"/>
</map>

View File

@ -1 +0,0 @@
4ccbb54c1327fe4f53812f4cc284a8f1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -1 +0,0 @@
d6b86a8011e5a02b46d1cabb7178436f

View File

@ -1,132 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IRremoteESP8266: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IRremoteESP8266
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">IRDaikin128 Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classIRDaikin128.html">IRDaikin128</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a1f155cc34e6c21d206962239d0135d1b">_irsend</a></td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#af86dba9e085b771c8c3caaebb9f8ee84">begin</a>()</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a25b25f6b73bb5f1fd17a16080179d4bc">calcFirstChecksum</a>(const uint8_t state[])</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#aea8da64300afe0d62ddf3082a72251f2">calcSecondChecksum</a>(const uint8_t state[])</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a281396f4c632899648694e3139c3acd0">calibrate</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#a747c906808c269581de6cf9b02e5c0a7">checksum</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a8f0bd823535a5bf8b2642eed698b9a71">clearOnTimerFlag</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#a5517a481892dd55f4528103037a0d408">clearSleepTimerFlag</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a983c13bc608fbfa32d7ea2c36dc84116">convertFan</a>(const stdAc::fanspeed_t speed)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#a0bad4830267887299b2773075a16b283">convertMode</a>(const stdAc::opmode_t mode)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a6ef4d58f53b35619e8cc44fae6125490">getClock</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#a0c05f4c6f996d56d56075e20a46f2c2c">getEcono</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a68a7bdb134ea62913f51844f976beab1">getFan</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#a3e279e67bbafc0dc74dbd847e2e8ad75">getLightToggle</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#aa3d96e14663c498a6e0938ba04a02f87">getMode</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#a6a18b029d75b006de5aeac2efb8e08e2">getOffTimer</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a4234e0e3ff261afa9d5ec6a8b92d8f53">getOffTimerEnabled</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#a3b8a36d99a7cbf87bac8480f16c3d583">getOnTimer</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a450948bdbdc22da751c8f1abc2da642d">getOnTimerEnabled</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#a50f2de409b3e8966f8406b659aaaedac">getPowerful</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a0b6b298a0287411f6fe34ec1a0032ff1">getPowerToggle</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#a685bbc2afeecdef69180229b64e1d54b">getQuiet</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a05669c2b1a6720b95d9a5fb898179a10">getRaw</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#a0cab507cdea112168757e1ab1a5a1dbe">getSleep</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a60c21eaff6bf860ae25b974a0fd04e11">getSwingVertical</a>()</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#a0b5aa11a597bded38c067a9e9a01fd45">getTemp</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#ab35fa1fdd65db9d9cd7fbaffdd4ecd85">getTimer</a>(const uint8_t *ptr)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#aa669739541daf1a2b39ce1cd0424c43b">IRDaikin128</a>(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#af1b36cc2f51cd145da3bfe7ec3d9134a">remote_state</a></td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#aae7fec91ad2265e8b0378c6b99379e89">send</a>(const uint16_t repeat=kDaikin128DefaultRepeat)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#aa9928ac010ec79ddab4f551eedf2f5d9">setClock</a>(const uint16_t mins_since_midnight)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#a07fb5289ee476e0335fec4845254b7ce">setEcono</a>(const bool on)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a0495834250e97e7831e9906ab548fe44">setFan</a>(const uint8_t fan)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#a6361c789141ccecb729c104e71ddcc41">setLightToggle</a>(const uint8_t unit_type)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a9693e9931449f39253ca9102ac5cbfe9">setMode</a>(const uint8_t mode)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#a30ca067676dfde963986e25c84616368">setOffTimer</a>(const uint16_t mins_since_midnight)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#aac8a178bdaf7de7a183991e710a9a9d8">setOffTimerEnabled</a>(const bool on)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#a21773493eafae741b5716ac569eaf0a8">setOnTimer</a>(const uint16_t mins_since_midnight)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a07f693fac3de101c91c190e5e70edb57">setOnTimerEnabled</a>(const bool on)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#aeb3aa5013b1746ed714146ca7f233119">setPowerful</a>(const bool on)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a5d7edaa44f0c9ca55ef1040dd42e42e3">setPowerToggle</a>(const bool toggle)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#a89c49332006831debbabbfcb5ec30249">setQuiet</a>(const bool on)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a25db29e01def45e8850ac9da68aa7ea7">setRaw</a>(const uint8_t new_code[])</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#ac43854ae557ec5582f2bfd9150fd57f2">setSleep</a>(const bool on)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a961aceb41145001003a50c5988f04c4d">setSwingVertical</a>(const bool on)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#aba143a1b80e6de7d1c7b987eeda6b0db">setTemp</a>(const uint8_t temp)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a8498de57fc1bdb2f71a678f7877d3125">setTimer</a>(uint8_t *ptr, const uint16_t mins_since_midnight)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#ab604a7594c3b0131c5d977e3fc3b3565">stateReset</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a54de8ff37216f7a3a2cc744d97c2e1c6">toCommon</a>(const stdAc::state_t *prev=NULL)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#a1c53a27678731229308e355eb94ec762">toCommonFanSpeed</a>(const uint8_t speed)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#a105a4fc511feba96afc956bb36d2dc50">toCommonMode</a>(const uint8_t mode)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classIRDaikin128.html#a48fc2a4080400f83260d2c861c831a28">toString</a>(void)</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classIRDaikin128.html#ad0b16e48bff00c5cdeffa1419c003946">validChecksum</a>(uint8_t state[])</td><td class="entry"><a class="el" href="classIRDaikin128.html">IRDaikin128</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -1,4 +0,0 @@
<map id="IRDaikin128" name="IRDaikin128">
<area shape="rect" id="node1" title="Class for handling detailed Daikin 128&#45;bit A/C messages." alt="" coords="5,95,107,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="23,5,89,32"/>
</map>

View File

@ -1 +0,0 @@
a05c0f73a95b804c11a7e31c5e3a1d8a

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -1,4 +0,0 @@
<map id="IRDaikin152" name="IRDaikin152">
<area shape="rect" id="node1" title="Class for handling detailed Daikin 152&#45;bit A/C messages." alt="" coords="5,95,107,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="23,5,89,32"/>
</map>

View File

@ -1 +0,0 @@
3bbfb60d234bb57df5106a32f8aecca3

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -1,4 +0,0 @@
<map id="IRDaikin160" name="IRDaikin160">
<area shape="rect" id="node1" title="Class for handling detailed Daikin 160&#45;bit A/C messages." alt="" coords="5,95,107,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="23,5,89,32"/>
</map>

View File

@ -1 +0,0 @@
fbc66f5a6991bf58f0872d9bbb55a5da

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -1,4 +0,0 @@
<map id="IRDaikin176" name="IRDaikin176">
<area shape="rect" id="node1" title="Class for handling detailed Daikin 176&#45;bit A/C messages." alt="" coords="5,95,107,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="23,5,89,32"/>
</map>

View File

@ -1 +0,0 @@
e1b4fd7ddfe8c5ab5d5bb1cf9d344bc4

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -1,4 +0,0 @@
<map id="IRDaikin216" name="IRDaikin216">
<area shape="rect" id="node1" title="Class for handling detailed Daikin 216&#45;bit A/C messages." alt="" coords="5,95,107,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="23,5,89,32"/>
</map>

View File

@ -1 +0,0 @@
376e63c140c9b990fbd05013138184b0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -1,4 +0,0 @@
<map id="IRDaikin2" name="IRDaikin2">
<area shape="rect" id="node1" title="Class for handling detailed Daikin 312&#45;bit A/C messages." alt="" coords="5,95,91,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="15,5,81,32"/>
</map>

View File

@ -1 +0,0 @@
36c4ca8dee2a48c9012eb53961c84d46

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -1,4 +0,0 @@
<map id="IRDaikin64" name="IRDaikin64">
<area shape="rect" id="node1" title="Class for handling detailed Daikin 64&#45;bit A/C messages." alt="" coords="5,95,99,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="19,5,85,32"/>
</map>

View File

@ -1 +0,0 @@
b2bb54fe62558d21dee90dc29baf242d

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -1,4 +0,0 @@
<map id="IRDaikinESP" name="IRDaikinESP">
<area shape="rect" id="node1" title="Class for handling detailed Daikin 280&#45;bit A/C messages." alt="" coords="5,95,107,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="23,5,89,32"/>
</map>

View File

@ -1 +0,0 @@
68cef74e6daf013f3d7f49c1a7c4d7f5

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -1 +0,0 @@
001913f5717c67cc96fc144a190bfb18

View File

@ -1,4 +0,0 @@
<map id="IRElectraAc" name="IRElectraAc">
<area shape="rect" id="node1" title="Class for handling detailed Electra A/C messages." alt="" coords="5,95,101,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="20,5,87,32"/>
</map>

View File

@ -1 +0,0 @@
b6e5f96f14e5e22330cef83a09e5f30d

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -1,4 +0,0 @@
<map id="IRGoodweatherAc" name="IRGoodweatherAc">
<area shape="rect" id="node1" title="Class for handling detailed Goodweather A/C messages." alt="" coords="5,95,144,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="41,5,108,32"/>
</map>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -1 +0,0 @@
223397f2019d344aca6bcc75d6a4b8e1

View File

@ -1 +0,0 @@
bbe7ca08b7bf97faaab60524b2e2b117

View File

@ -1 +0,0 @@
7589ca81430e305874791fbe16c1741f

View File

@ -1,4 +0,0 @@
<map id="IRHitachiAc1" name="IRHitachiAc1">
<area shape="rect" id="node1" title="Class for handling detailed Hitachi 104&#45;bit A/C messages." alt="" coords="5,95,111,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="25,5,91,32"/>
</map>

View File

@ -1 +0,0 @@
887e1bb9117f6436abfa2cfbb296e5b6

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -1,5 +0,0 @@
<map id="IRHitachiAc344" name="IRHitachiAc344">
<area shape="rect" id="node1" title="Class for handling detailed Hitachi 344&#45;bit A/C messages." alt="" coords="5,171,127,197"/>
<area shape="rect" id="node2" href="$classIRHitachiAc424.html" title="Class for handling detailed Hitachi 53&#45;byte/424&#45;bit A/C messages." alt="" coords="5,95,127,121"/>
<area shape="rect" id="node3" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="33,5,99,32"/>
</map>

View File

@ -1 +0,0 @@
bc686b22e4ddf734f61a87c2609dac47

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -1,4 +0,0 @@
<map id="IRHitachiAc424" name="IRHitachiAc424">
<area shape="rect" id="node1" title="Class for handling detailed Hitachi 53&#45;byte/424&#45;bit A/C messages." alt="" coords="5,95,127,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="33,5,99,32"/>
</map>

View File

@ -1 +0,0 @@
e27758fabb1539bba026d03c86a2d75d

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -1,4 +0,0 @@
<map id="IRHitachiAc" name="IRHitachiAc">
<area shape="rect" id="node1" title="Class for handling detailed Hitachi 224&#45;bit A/C messages." alt="" coords="5,95,103,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="21,5,87,32"/>
</map>

View File

@ -1 +0,0 @@
aeb4ec71968654b70565a578d510a768

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -1,4 +0,0 @@
<map id="IRKelvinatorAC" name="IRKelvinatorAC">
<area shape="rect" id="node1" title="Class for handling detailed Kelvinator A/C messages." alt="" coords="5,95,124,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="31,5,98,32"/>
</map>

View File

@ -1 +0,0 @@
bb0276d1879b23e51b948f404eb3a682

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -1 +0,0 @@
56fb7c83360ef1487cea622f026510d6

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -1 +0,0 @@
331e64d477510c44f468a1a2430d510d

View File

@ -1,4 +0,0 @@
<map id="IRMitsubishi112" name="IRMitsubishi112">
<area shape="rect" id="node1" title="Class for handling detailed Mitsubishi 122&#45;bit A/C messages." alt="" coords="5,95,132,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="35,5,102,32"/>
</map>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -1,4 +0,0 @@
<map id="IRMitsubishi136" name="IRMitsubishi136">
<area shape="rect" id="node1" title="Class for handling detailed Mitsubishi 136&#45;bit A/C messages." alt="" coords="5,95,132,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="35,5,102,32"/>
</map>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -1,4 +0,0 @@
<map id="IRMitsubishiAC" name="IRMitsubishiAC">
<area shape="rect" id="node1" title="Class for handling detailed Mitsubishi 144&#45;bit A/C messages." alt="" coords="5,95,125,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="32,5,99,32"/>
</map>

View File

@ -1 +0,0 @@
4c3d4b6965f9a2344e78bf45e6ae2b18

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -1,4 +0,0 @@
<map id="IRMitsubishiHeavy152Ac" name="IRMitsubishiHeavy152Ac">
<area shape="rect" id="node1" title="Class for handling detailed Mitsubishi Heavy 152&#45;bit A/C messages." alt="" coords="5,95,189,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="64,5,131,32"/>
</map>

View File

@ -1,4 +0,0 @@
<map id="IRMitsubishiHeavy88Ac" name="IRMitsubishiHeavy88Ac">
<area shape="rect" id="node1" title="Class for handling detailed Mitsubishi Heavy 88&#45;bit A/C messages." alt="" coords="5,95,181,121"/>
<area shape="rect" id="node2" href="$classIRsend.html" title="Class for sending all basic IR protocols." alt="" coords="60,5,127,32"/>
</map>

View File

@ -1 +0,0 @@
6b02c0091fdf80527c5f55505345ba00

View File

@ -1 +0,0 @@
58ec13aaee4c91bc1c2d7f8dba6722ef

View File

@ -1 +0,0 @@
53fa1f7a656a8aea1c43d73b92ba5ce7

View File

@ -1,121 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IRremoteESP8266: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IRremoteESP8266
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
<h3><a id="index_p"></a>- p -</h3><ul>
<li>padding
: <a class="el" href="unionmagiquest.html#a28ca4be56c78ef762f87171506dc6e93">magiquest</a>
</li>
<li>panasonic()
: <a class="el" href="classIRac.html#af873db2b9735127eb6f079861daed67a">IRac</a>
</li>
<li>periodOffset
: <a class="el" href="classIRsend.html#a1b5180cbf4f88f19fca3f677e1e91b96">IRsend</a>
</li>
<li>Power
: <a class="el" href="unionAmcorProtocol.html#ab6d6b470c8e3c80ee37eb31a048919db">AmcorProtocol</a>
, <a class="el" href="unionArgoProtocol.html#a72c5dbd39ccbac31d5cfc39beaa87d92">ArgoProtocol</a>
, <a class="el" href="unionCarrierProtocol.html#a9f039bf33bbe868118f14c28d6731718">CarrierProtocol</a>
, <a class="el" href="unionCoronaProtocol.html#a7da68dc07f9ef4ab0545e9156f9408c4">CoronaProtocol</a>
, <a class="el" href="unionDelonghiProtocol.html#a5dccd7aa1927571e12d4244e1c179578">DelonghiProtocol</a>
, <a class="el" href="unionGreeProtocol.html#ab04d1d5bdaf8fb0b7129e210de14a772">GreeProtocol</a>
, <a class="el" href="unionHaierYRW02Protocol.html#ae87a93806911792662391a671607a760">HaierYRW02Protocol</a>
, <a class="el" href="unionMideaProtocol.html#a6b534bb5845c3c184ee43b87995cff32">MideaProtocol</a>
</li>
<li>power
: <a class="el" href="structstdAc_1_1state__t.html#ab85d37cc99bbbc4915331369c4ea622e">stdAc::state_t</a>
</li>
<li>Power
: <a class="el" href="unionVoltasProtocol.html#a554e4bce95426a096f090cc6890f46f2">VoltasProtocol</a>
</li>
<li>PowerButton
: <a class="el" href="unionCoronaProtocol.html#abceccc1306d3a78be6177758f3056a5a">CoronaProtocol</a>
</li>
<li>powerFlag
: <a class="el" href="classIRCoolixAC.html#a5984ff64ff14df92291618a647da08f9">IRCoolixAC</a>
, <a class="el" href="classIRTranscoldAc.html#a07e96c352827f011a1a2440f35d78d14">IRTranscoldAc</a>
</li>
<li>PowerToggle
: <a class="el" href="unionAirwellProtocol.html#a9a3893a0ec7811202697adeb60d89775">AirwellProtocol</a>
</li>
<li>Prefix
: <a class="el" href="unionHaierProtocol.html#a6c15a8e22231dae23ffa8bef78420054">HaierProtocol</a>
, <a class="el" href="unionHaierYRW02Protocol.html#af55185fad3229f2011b5917412ad8c1b">HaierYRW02Protocol</a>
</li>
<li>prev_mode
: <a class="el" href="classIRToshibaAC.html#ac251884741fb8ad8280b55e99c23211e">IRToshibaAC</a>
</li>
<li>protocol
: <a class="el" href="structstdAc_1_1state__t.html#af59897778be0e571f77dd11337352c27">stdAc::state_t</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -1,164 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IRremoteESP8266: Class Members - Variables</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IRremoteESP8266
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;
<h3><a id="index_s"></a>- s -</h3><ul>
<li>saved_state
: <a class="el" href="classIRCoolixAC.html#aec0bce8019d7d49a30915394bee56b9a">IRCoolixAC</a>
, <a class="el" href="classIRTranscoldAc.html#a3f5f493caff4eaff466b050fd6f5c9e1">IRTranscoldAc</a>
</li>
<li>scrap
: <a class="el" href="unionmagiquest.html#afd0bcf9a87f0fa2db87b68b211952a73">magiquest</a>
</li>
<li>sections
: <a class="el" href="unionCoronaProtocol.html#ae7cdfa7315fae2be9aa64f57b10b325a">CoronaProtocol</a>
</li>
<li>Sleep
: <a class="el" href="unionCarrierProtocol.html#a957ac027dec4e1942d88ac8f7bcbc767">CarrierProtocol</a>
, <a class="el" href="unionDelonghiProtocol.html#a8ae7e6b8982693fc0cff79dcc5352cc5">DelonghiProtocol</a>
, <a class="el" href="unionGreeProtocol.html#a1ea579a0c99eb1dc8fd72867519ab258">GreeProtocol</a>
, <a class="el" href="unionHaierProtocol.html#a88942d48d868ff5697040d5a89f93099">HaierProtocol</a>
, <a class="el" href="unionHaierYRW02Protocol.html#a0b0ad77222892e9fccf122fcee95d87d">HaierYRW02Protocol</a>
, <a class="el" href="unionMideaProtocol.html#aeea5e2520e4cd1773c1eddc8a84af2d3">MideaProtocol</a>
</li>
<li>sleep
: <a class="el" href="structstdAc_1_1state__t.html#a94fa6098d7422292a1c6943973cd106a">stdAc::state_t</a>
</li>
<li>Sleep
: <a class="el" href="unionVoltasProtocol.html#a1a47a7e57717d28e610e97b40e86b1ca">VoltasProtocol</a>
</li>
<li>sleepFlag
: <a class="el" href="classIRCoolixAC.html#a26560e04d1f77830e40e5570845b9e06">IRCoolixAC</a>
</li>
<li>start
: <a class="el" href="classIRtimer.html#aaa087b8688ff8150e0fc1ec6d5c4a52a">IRtimer</a>
, <a class="el" href="classTimerMs.html#a15ad2e08a5931397391d48f040722f65">TimerMs</a>
</li>
<li>state
: <a class="el" href="classdecode__results.html#aaeb4b1b2e950bdd181582c385b2f4305">decode_results</a>
</li>
<li>success
: <a class="el" href="structmatch__result__t.html#a13fe18ae6cf89364df443a64295b2f90">match_result_t</a>
</li>
<li>Sum
: <a class="el" href="unionAmcorProtocol.html#a108cf161abbbdd7ae4178f70066e8ae6">AmcorProtocol</a>
, <a class="el" href="unionArgoProtocol.html#ab0ec3039d81a3a2a6c8b44f5c64d2fae">ArgoProtocol</a>
, <a class="el" href="unionCarrierProtocol.html#acbbf207e7a0e79d74713e6f8598c16c2">CarrierProtocol</a>
, <a class="el" href="unionDelonghiProtocol.html#a9f7a2ecd94db83a8673e8929b373a036">DelonghiProtocol</a>
, <a class="el" href="unionGreeProtocol.html#a7502111538873c23d70129b77a26019e">GreeProtocol</a>
, <a class="el" href="unionHaierProtocol.html#a5842a170e3cdd0ad823cf244c7b8dd51">HaierProtocol</a>
, <a class="el" href="unionHaierYRW02Protocol.html#a656449e6901b3333ca0efe4a2e662fc7">HaierYRW02Protocol</a>
, <a class="el" href="unionMideaProtocol.html#a3d4afe5411a769c48e8bfaa3a9e8e84c">MideaProtocol</a>
</li>
<li>Swing
: <a class="el" href="unionGreeProtocol.html#a6ee1b2c7459fcd5ed839a7730a2c5931">GreeProtocol</a>
, <a class="el" href="unionHaierProtocol.html#afc7ba334ae13911868d90c2fe37813b9">HaierProtocol</a>
, <a class="el" href="unionHaierYRW02Protocol.html#a671ff83501bd3e6f6e5c2b08bb6d26d1">HaierYRW02Protocol</a>
</li>
<li>SwingAuto
: <a class="el" href="unionGreeProtocol.html#a866257731360d655ffa24ba3fbdfa3cc">GreeProtocol</a>
</li>
<li>swingFlag
: <a class="el" href="classIRCoolixAC.html#a6d61903a90cebef56b931bebbfa5cba3">IRCoolixAC</a>
, <a class="el" href="classIRTranscoldAc.html#acaaa6c7fc022b3a259692bfd61258f49">IRTranscoldAc</a>
</li>
<li>swingh
: <a class="el" href="structstdAc_1_1state__t.html#a761bb702891ed1fa35906929a4c8a3f8">stdAc::state_t</a>
</li>
<li>SwingH
: <a class="el" href="unionVoltasProtocol.html#a55094a8796bf95e81eb7dd9a91d7a127">VoltasProtocol</a>
</li>
<li>SwingHChange
: <a class="el" href="unionVoltasProtocol.html#a32c53808a0f8b6574025f2b3c721ae47">VoltasProtocol</a>
</li>
<li>swingHFlag
: <a class="el" href="classIRCoolixAC.html#a1c5fb27fb58d4d1a1fd8c9931eba58c4">IRCoolixAC</a>
, <a class="el" href="classIRTranscoldAc.html#a15da6840a234b2ff739a86d19f15c58d">IRTranscoldAc</a>
</li>
<li>SwingV
: <a class="el" href="unionCarrierProtocol.html#a9d08c75d7f8357139cd3d844cf29ca22">CarrierProtocol</a>
</li>
<li>swingv
: <a class="el" href="structstdAc_1_1state__t.html#a35477d368350d8981ad8b7b09505857e">stdAc::state_t</a>
</li>
<li>SwingV
: <a class="el" href="unionVoltasProtocol.html#ac2a240ab6b19af0e472c3134331a6e68">VoltasProtocol</a>
</li>
<li>swingVFlag
: <a class="el" href="classIRCoolixAC.html#adf18ad8494466f6301176ce10aa3a075">IRCoolixAC</a>
, <a class="el" href="classIRTranscoldAc.html#ae2aa4d5a19dd9056606ca20d03c893df">IRTranscoldAc</a>
</li>
<li>SwingVToggle
: <a class="el" href="unionCoronaProtocol.html#a3b21dc7f46b2153be56daeca1b0b40e8">CoronaProtocol</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>

View File

@ -1 +0,0 @@
313c58c1dac65d31e999693f00c85f41

View File

@ -1 +0,0 @@
53cee0f4a8a2c60dcf9533babf9408de

View File

@ -1 +0,0 @@
3690b67e7e582816654288cc9e8c5c12

View File

@ -1 +0,0 @@
6f838a3ea64de1198023ecc67d62042d

View File

@ -1 +0,0 @@
0e48608bb89237c8cd431d786e9febe3

Some files were not shown because too many files have changed in this diff Show More