From 9d881b97015a4da2c37accc254fe23b323b42046 Mon Sep 17 00:00:00 2001 From: Hadinger Date: Mon, 6 Jan 2020 17:27:36 +0100 Subject: [PATCH] Update IRremoteESP8266 lib updated to v2.7.2 --- lib/IRremoteESP8266-2.7.1/src/ir_LG.h | 15 - .../CPPLINT.cfg | 0 .../LICENSE.txt | 0 .../README.md | 4 +- .../README_fr.md | 4 +- .../ReleaseNotes.md | 13 + .../SupportedProtocols.md | 10 +- .../CommonAcControl/CommonAcControl.ino | 0 .../examples/CommonAcControl/platformio.ini | 0 .../ControlSamsungAC/ControlSamsungAC.ino | 0 .../examples/ControlSamsungAC/platformio.ini | 0 .../DumbIRRepeater/DumbIRRepeater.ino | 0 .../examples/DumbIRRepeater/platformio.ini | 0 .../examples/IRGCSendDemo/IRGCSendDemo.ino | 0 .../examples/IRGCSendDemo/platformio.ini | 0 .../examples/IRGCTCPServer/IRGCTCPServer.ino | 0 .../examples/IRGCTCPServer/platformio.ini | 0 .../examples/IRMQTTServer/IRMQTTServer.h | 0 .../examples/IRMQTTServer/IRMQTTServer.ino | 0 .../examples/IRMQTTServer/platformio.ini | 0 .../examples/IRServer/IRServer.ino | 0 .../examples/IRServer/platformio.ini | 0 .../examples/IRrecvDemo/IRrecvDemo.ino | 0 .../examples/IRrecvDemo/platformio.ini | 0 .../examples/IRrecvDump/IRrecvDump.ino | 0 .../examples/IRrecvDump/platformio.ini | 0 .../examples/IRrecvDumpV2/IRrecvDumpV2.ino | 0 .../examples/IRrecvDumpV2/platformio.ini | 0 .../examples/IRsendDemo/IRsendDemo.ino | 0 .../examples/IRsendDemo/platformio.ini | 0 .../IRsendProntoDemo/IRsendProntoDemo.ino | 0 .../examples/IRsendProntoDemo/platformio.ini | 0 .../JVCPanasonicSendDemo.ino | 0 .../JVCPanasonicSendDemo/platformio.ini | 0 .../examples/LGACSend/LGACSend.ino | 0 .../examples/LGACSend/platformio.ini | 0 .../SmartIRRepeater/SmartIRRepeater.ino | 0 .../examples/SmartIRRepeater/platformio.ini | 0 .../examples/TurnOnArgoAC/TurnOnArgoAC.ino | 0 .../examples/TurnOnArgoAC/platformio.ini | 0 .../TurnOnDaikinAC/TurnOnDaikinAC.ino | 0 .../examples/TurnOnDaikinAC/platformio.ini | 0 .../TurnOnFujitsuAC/TurnOnFujitsuAC.ino | 0 .../examples/TurnOnFujitsuAC/platformio.ini | 0 .../TurnOnKelvinatorAC/TurnOnKelvinatorAC.ino | 0 .../TurnOnKelvinatorAC/platformio.ini | 0 .../TurnOnMitsubishiAC/TurnOnMitsubishiAC.ino | 0 .../TurnOnMitsubishiAC/platformio.ini | 0 .../TurnOnMitsubishiHeavyAc.ino | 0 .../TurnOnMitsubishiHeavyAc/platformio.ini | 0 .../TurnOnPanasonicAC/TurnOnPanasonicAC.ino | 0 .../examples/TurnOnPanasonicAC/platformio.ini | 0 .../TurnOnToshibaAC/TurnOnToshibaAC.ino | 0 .../examples/TurnOnToshibaAC/platformio.ini | 0 .../TurnOnTrotecAC/TurnOnTrotecAC.ino | 0 .../examples/TurnOnTrotecAC/platformio.ini | 0 .../examples/Web-AC-control/README.md | 0 .../Web-AC-control/Web-AC-control.ino | 0 .../examples/Web-AC-control/platformio.ini | 0 .../examples/Web-AC-control/printscreen.png | Bin .../Web-AC-control/upload/favicon.ico | Bin .../Web-AC-control/upload/level_1_off.svg | 0 .../Web-AC-control/upload/level_1_on.svg | 0 .../Web-AC-control/upload/level_2_off.svg | 0 .../Web-AC-control/upload/level_2_on.svg | 0 .../Web-AC-control/upload/level_3_off.svg | 0 .../Web-AC-control/upload/level_3_on.svg | 0 .../Web-AC-control/upload/level_4_off.svg | 0 .../Web-AC-control/upload/level_4_on.svg | 0 .../examples/Web-AC-control/upload/ui.html | 0 .../examples/Web-AC-control/upload/ui.js | 0 .../keywords.txt | 51 +++ .../library.json | 2 +- .../library.properties | 2 +- .../pylintrc | 0 .../src/CPPLINT.cfg | 0 .../src/IRac.cpp | 215 +++++++--- .../src/IRac.h | 23 +- .../src/IRrecv.cpp | 0 .../src/IRrecv.h | 0 .../src/IRremoteESP8266.h | 6 +- .../src/IRsend.cpp | 0 .../src/IRsend.h | 5 + .../src/IRtext.cpp | 0 .../src/IRtext.h | 0 .../src/IRtimer.cpp | 0 .../src/IRtimer.h | 0 .../src/IRutils.cpp | 22 +- .../src/IRutils.h | 0 .../src/i18n.h | 0 .../src/ir_Aiwa.cpp | 0 .../src/ir_Amcor.cpp | 0 .../src/ir_Amcor.h | 0 .../src/ir_Argo.cpp | 0 .../src/ir_Argo.h | 0 .../src/ir_Carrier.cpp | 0 .../src/ir_Coolix.cpp | 0 .../src/ir_Coolix.h | 0 .../src/ir_Daikin.cpp | 0 .../src/ir_Daikin.h | 0 .../src/ir_Denon.cpp | 0 .../src/ir_Dish.cpp | 0 .../src/ir_Electra.cpp | 0 .../src/ir_Electra.h | 0 .../src/ir_Fujitsu.cpp | 0 .../src/ir_Fujitsu.h | 0 .../src/ir_GICable.cpp | 0 .../src/ir_GlobalCache.cpp | 0 .../src/ir_Goodweather.cpp | 0 .../src/ir_Goodweather.h | 0 .../src/ir_Gree.cpp | 0 .../src/ir_Gree.h | 0 .../src/ir_Haier.cpp | 0 .../src/ir_Haier.h | 0 .../src/ir_Hitachi.cpp | 0 .../src/ir_Hitachi.h | 0 .../src/ir_Inax.cpp | 0 .../src/ir_JVC.cpp | 0 .../src/ir_Kelvinator.cpp | 0 .../src/ir_Kelvinator.h | 0 .../src/ir_LG.cpp | 261 ++++++++++++ lib/IRremoteESP8266-2.7.2/src/ir_LG.h | 108 +++++ .../src/ir_Lasertag.cpp | 0 .../src/ir_Lego.cpp | 0 .../src/ir_Lutron.cpp | 0 .../src/ir_MWM.cpp | 0 .../src/ir_Magiquest.cpp | 0 .../src/ir_Magiquest.h | 0 .../src/ir_Midea.cpp | 0 .../src/ir_Midea.h | 0 .../src/ir_Mitsubishi.cpp | 0 .../src/ir_Mitsubishi.h | 0 .../src/ir_MitsubishiHeavy.cpp | 0 .../src/ir_MitsubishiHeavy.h | 0 .../src/ir_NEC.cpp | 0 .../src/ir_NEC.h | 29 ++ .../src/ir_Neoclima.cpp | 0 .../src/ir_Neoclima.h | 0 .../src/ir_Nikai.cpp | 0 .../src/ir_Panasonic.cpp | 0 .../src/ir_Panasonic.h | 0 .../src/ir_Pioneer.cpp | 0 .../src/ir_Pronto.cpp | 0 .../src/ir_RC5_RC6.cpp | 0 .../src/ir_RCMM.cpp | 0 .../src/ir_Samsung.cpp | 0 .../src/ir_Samsung.h | 0 .../src/ir_Sanyo.cpp | 0 .../src/ir_Sharp.cpp | 0 .../src/ir_Sharp.h | 0 .../src/ir_Sherwood.cpp | 0 .../src/ir_Sony.cpp | 0 .../src/ir_Tcl.cpp | 0 .../src/ir_Tcl.h | 0 .../src/ir_Teco.cpp | 0 .../src/ir_Teco.h | 0 .../src/ir_Toshiba.cpp | 0 .../src/ir_Toshiba.h | 0 .../src/ir_Trotec.cpp | 0 .../src/ir_Trotec.h | 0 .../src/ir_Vestel.cpp | 0 .../src/ir_Vestel.h | 0 .../src/ir_Whirlpool.cpp | 0 .../src/ir_Whirlpool.h | 0 .../src/ir_Whynter.cpp | 0 .../src/locale/README.md | 0 .../src/locale/de-CH.h | 0 .../src/locale/de-DE.h | 0 .../src/locale/defaults.h | 0 .../src/locale/en-AU.h | 0 .../src/locale/en-IE.h | 0 .../src/locale/en-UK.h | 0 .../src/locale/en-US.h | 0 .../src/locale/es-ES.h | 0 .../src/locale/fr-FR.h | 0 .../test/IRac_test.cpp | 112 +++++ .../test/IRrecv_test.cpp | 0 .../test/IRrecv_test.h | 0 .../test/IRsend_test.cpp | 0 .../test/IRsend_test.h | 0 .../test/IRutils_test.cpp | 0 .../test/Makefile | 2 +- .../test/ir_Aiwa_test.cpp | 0 .../test/ir_Amcor_test.cpp | 0 .../test/ir_Argo_test.cpp | 0 .../test/ir_Carrier_test.cpp | 0 .../test/ir_Coolix_test.cpp | 0 .../test/ir_Daikin_test.cpp | 0 .../test/ir_Denon_test.cpp | 0 .../test/ir_Dish_test.cpp | 0 .../test/ir_Electra_test.cpp | 0 .../test/ir_Fujitsu_test.cpp | 0 .../test/ir_GICable_test.cpp | 0 .../test/ir_GlobalCache_test.cpp | 0 .../test/ir_Goodweather_test.cpp | 0 .../test/ir_Gree_test.cpp | 0 .../test/ir_Haier_test.cpp | 0 .../test/ir_Hitachi_test.cpp | 0 .../test/ir_Inax_test.cpp | 0 .../test/ir_JVC_test.cpp | 0 .../test/ir_Kelvinator_test.cpp | 0 .../test/ir_LG_test.cpp | 400 +++++++++++++++++- .../test/ir_Lasertag_test.cpp | 0 .../test/ir_Lego_test.cpp | 0 .../test/ir_Lutron_test.cpp | 0 .../test/ir_MWM_test.cpp | 0 .../test/ir_Magiquest_test.cpp | 0 .../test/ir_Midea_test.cpp | 0 .../test/ir_MitsubishiHeavy_test.cpp | 0 .../test/ir_Mitsubishi_test.cpp | 0 .../test/ir_NEC_test.cpp | 0 .../test/ir_Neoclima_test.cpp | 0 .../test/ir_Nikai_test.cpp | 0 .../test/ir_Panasonic_test.cpp | 0 .../test/ir_Pioneer_test.cpp | 0 .../test/ir_Pronto_test.cpp | 0 .../test/ir_RC5_RC6_test.cpp | 0 .../test/ir_RCMM_test.cpp | 0 .../test/ir_Samsung_test.cpp | 0 .../test/ir_Sanyo_test.cpp | 0 .../test/ir_Sharp_test.cpp | 0 .../test/ir_Sherwood_test.cpp | 0 .../test/ir_Sony_test.cpp | 0 .../test/ir_Tcl_test.cpp | 0 .../test/ir_Teco_test.cpp | 0 .../test/ir_Toshiba_test.cpp | 0 .../test/ir_Trotec_test.cpp | 0 .../test/ir_Vestel_test.cpp | 0 .../test/ir_Whirlpool_test.cpp | 0 .../test/ir_Whynter_test.cpp | 0 .../tools/Makefile | 2 +- .../tools/RawToGlobalCache.sh | 0 .../tools/auto_analyse_raw_data.py | 0 .../tools/auto_analyse_raw_data_test.py | 0 .../tools/gc_decode.cpp | 0 .../tools/generate_irtext_h.sh | 0 .../tools/mkkeywords | 0 .../tools/mode2_decode.cpp | 0 .../tools/scrape_supported_devices.py | 13 +- tasmota/CHANGELOG.md | 1 + 240 files changed, 1182 insertions(+), 118 deletions(-) delete mode 100644 lib/IRremoteESP8266-2.7.1/src/ir_LG.h rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/CPPLINT.cfg (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/LICENSE.txt (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/README.md (98%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/README_fr.md (98%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/ReleaseNotes.md (98%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/SupportedProtocols.md (95%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/CommonAcControl/CommonAcControl.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/CommonAcControl/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/ControlSamsungAC/ControlSamsungAC.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/ControlSamsungAC/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/DumbIRRepeater/DumbIRRepeater.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/DumbIRRepeater/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/IRGCSendDemo/IRGCSendDemo.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/IRGCSendDemo/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/IRGCTCPServer/IRGCTCPServer.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/IRGCTCPServer/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/IRMQTTServer/IRMQTTServer.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/IRMQTTServer/IRMQTTServer.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/IRMQTTServer/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/IRServer/IRServer.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/IRServer/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/IRrecvDemo/IRrecvDemo.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/IRrecvDemo/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/IRrecvDump/IRrecvDump.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/IRrecvDump/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/IRrecvDumpV2/IRrecvDumpV2.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/IRrecvDumpV2/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/IRsendDemo/IRsendDemo.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/IRsendDemo/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/IRsendProntoDemo/IRsendProntoDemo.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/IRsendProntoDemo/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/JVCPanasonicSendDemo/JVCPanasonicSendDemo.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/JVCPanasonicSendDemo/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/LGACSend/LGACSend.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/LGACSend/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/SmartIRRepeater/SmartIRRepeater.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/SmartIRRepeater/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/TurnOnArgoAC/TurnOnArgoAC.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/TurnOnArgoAC/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/TurnOnDaikinAC/TurnOnDaikinAC.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/TurnOnDaikinAC/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/TurnOnFujitsuAC/TurnOnFujitsuAC.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/TurnOnFujitsuAC/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/TurnOnKelvinatorAC/TurnOnKelvinatorAC.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/TurnOnKelvinatorAC/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/TurnOnMitsubishiAC/TurnOnMitsubishiAC.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/TurnOnMitsubishiAC/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/TurnOnMitsubishiHeavyAc/TurnOnMitsubishiHeavyAc.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/TurnOnMitsubishiHeavyAc/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/TurnOnPanasonicAC/TurnOnPanasonicAC.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/TurnOnPanasonicAC/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/TurnOnToshibaAC/TurnOnToshibaAC.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/TurnOnToshibaAC/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/TurnOnTrotecAC/TurnOnTrotecAC.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/TurnOnTrotecAC/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/Web-AC-control/README.md (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/Web-AC-control/Web-AC-control.ino (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/Web-AC-control/platformio.ini (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/Web-AC-control/printscreen.png (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/Web-AC-control/upload/favicon.ico (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/Web-AC-control/upload/level_1_off.svg (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/Web-AC-control/upload/level_1_on.svg (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/Web-AC-control/upload/level_2_off.svg (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/Web-AC-control/upload/level_2_on.svg (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/Web-AC-control/upload/level_3_off.svg (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/Web-AC-control/upload/level_3_on.svg (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/Web-AC-control/upload/level_4_off.svg (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/Web-AC-control/upload/level_4_on.svg (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/Web-AC-control/upload/ui.html (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/examples/Web-AC-control/upload/ui.js (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/keywords.txt (98%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/library.json (97%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/library.properties (97%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/pylintrc (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/CPPLINT.cfg (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/IRac.cpp (91%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/IRac.h (95%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/IRrecv.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/IRrecv.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/IRremoteESP8266.h (99%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/IRsend.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/IRsend.h (99%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/IRtext.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/IRtext.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/IRtimer.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/IRtimer.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/IRutils.cpp (99%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/IRutils.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/i18n.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Aiwa.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Amcor.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Amcor.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Argo.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Argo.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Carrier.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Coolix.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Coolix.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Daikin.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Daikin.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Denon.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Dish.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Electra.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Electra.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Fujitsu.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Fujitsu.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_GICable.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_GlobalCache.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Goodweather.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Goodweather.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Gree.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Gree.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Haier.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Haier.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Hitachi.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Hitachi.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Inax.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_JVC.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Kelvinator.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Kelvinator.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_LG.cpp (56%) create mode 100644 lib/IRremoteESP8266-2.7.2/src/ir_LG.h rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Lasertag.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Lego.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Lutron.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_MWM.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Magiquest.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Magiquest.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Midea.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Midea.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Mitsubishi.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Mitsubishi.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_MitsubishiHeavy.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_MitsubishiHeavy.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_NEC.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_NEC.h (53%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Neoclima.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Neoclima.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Nikai.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Panasonic.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Panasonic.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Pioneer.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Pronto.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_RC5_RC6.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_RCMM.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Samsung.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Samsung.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Sanyo.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Sharp.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Sharp.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Sherwood.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Sony.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Tcl.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Tcl.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Teco.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Teco.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Toshiba.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Toshiba.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Trotec.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Trotec.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Vestel.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Vestel.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Whirlpool.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Whirlpool.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/ir_Whynter.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/locale/README.md (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/locale/de-CH.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/locale/de-DE.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/locale/defaults.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/locale/en-AU.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/locale/en-IE.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/locale/en-UK.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/locale/en-US.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/locale/es-ES.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/src/locale/fr-FR.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/IRac_test.cpp (93%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/IRrecv_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/IRrecv_test.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/IRsend_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/IRsend_test.h (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/IRutils_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/Makefile (99%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Aiwa_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Amcor_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Argo_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Carrier_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Coolix_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Daikin_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Denon_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Dish_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Electra_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Fujitsu_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_GICable_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_GlobalCache_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Goodweather_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Gree_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Haier_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Hitachi_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Inax_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_JVC_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Kelvinator_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_LG_test.cpp (59%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Lasertag_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Lego_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Lutron_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_MWM_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Magiquest_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Midea_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_MitsubishiHeavy_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Mitsubishi_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_NEC_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Neoclima_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Nikai_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Panasonic_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Pioneer_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Pronto_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_RC5_RC6_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_RCMM_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Samsung_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Sanyo_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Sharp_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Sherwood_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Sony_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Tcl_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Teco_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Toshiba_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Trotec_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Vestel_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Whirlpool_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/test/ir_Whynter_test.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/tools/Makefile (99%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/tools/RawToGlobalCache.sh (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/tools/auto_analyse_raw_data.py (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/tools/auto_analyse_raw_data_test.py (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/tools/gc_decode.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/tools/generate_irtext_h.sh (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/tools/mkkeywords (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/tools/mode2_decode.cpp (100%) rename lib/{IRremoteESP8266-2.7.1 => IRremoteESP8266-2.7.2}/tools/scrape_supported_devices.py (96%) diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_LG.h b/lib/IRremoteESP8266-2.7.1/src/ir_LG.h deleted file mode 100644 index 01f81e2c1..000000000 --- a/lib/IRremoteESP8266-2.7.1/src/ir_LG.h +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2017 David Conran - -// Supports: -// Brand: LG, Model: 6711A20083V remote -// Brand: LG, Model: AKB74395308 remote - -#ifndef IR_LG_H_ -#define IR_LG_H_ - -#define __STDC_LIMIT_MACROS -#include - -uint8_t calcLGChecksum(uint16_t data); - -#endif // IR_LG_H_ diff --git a/lib/IRremoteESP8266-2.7.1/CPPLINT.cfg b/lib/IRremoteESP8266-2.7.2/CPPLINT.cfg similarity index 100% rename from lib/IRremoteESP8266-2.7.1/CPPLINT.cfg rename to lib/IRremoteESP8266-2.7.2/CPPLINT.cfg diff --git a/lib/IRremoteESP8266-2.7.1/LICENSE.txt b/lib/IRremoteESP8266-2.7.2/LICENSE.txt similarity index 100% rename from lib/IRremoteESP8266-2.7.1/LICENSE.txt rename to lib/IRremoteESP8266-2.7.2/LICENSE.txt diff --git a/lib/IRremoteESP8266-2.7.1/README.md b/lib/IRremoteESP8266-2.7.2/README.md similarity index 98% rename from lib/IRremoteESP8266-2.7.1/README.md rename to lib/IRremoteESP8266-2.7.2/README.md index e06c8fb79..18066c612 100644 --- a/lib/IRremoteESP8266-2.7.1/README.md +++ b/lib/IRremoteESP8266-2.7.2/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.1 Now Available -Version 2.7.1 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.2 Now Available +Version 2.7.2 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/IRremoteESP8266-2.7.1/README_fr.md b/lib/IRremoteESP8266-2.7.2/README_fr.md similarity index 98% rename from lib/IRremoteESP8266-2.7.1/README_fr.md rename to lib/IRremoteESP8266-2.7.2/README_fr.md index b24d935c5..8dad47961 100644 --- a/lib/IRremoteESP8266-2.7.1/README_fr.md +++ b/lib/IRremoteESP8266-2.7.2/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.1 disponible -Version 2.7.1 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.2 disponible +Version 2.7.2 de la libraire est maintenant [disponible](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). Vous pouvez voir le [Release Notes](ReleaseNotes.md) pour tous les changements importants. #### mise à jour depuis pre-v2.0 L'utilisation de la librairie à un peu changer depuis la version in v2.0. Si vous voulez l'utiliser vous devrez changer votre utilisation aussi. Vous pouvez vous renseigner sur les précondition d'utilisation ici : [Upgrade to v2.0](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Upgrading-to-v2.0) page. diff --git a/lib/IRremoteESP8266-2.7.1/ReleaseNotes.md b/lib/IRremoteESP8266-2.7.2/ReleaseNotes.md similarity index 98% rename from lib/IRremoteESP8266-2.7.1/ReleaseNotes.md rename to lib/IRremoteESP8266-2.7.2/ReleaseNotes.md index 537960ac9..04dee7b81 100644 --- a/lib/IRremoteESP8266-2.7.1/ReleaseNotes.md +++ b/lib/IRremoteESP8266-2.7.2/ReleaseNotes.md @@ -1,5 +1,18 @@ # Release Notes +## _v2.7.2 (20200106)_ + +**[Bug Fixes]** +- Common AC api: Better handle protocols with power toggles. (#1002) + +**[Features]** +- Experimental detailed support for LG a/c. (#1008 #1009) + +**[Misc]** +- Add remote codes for Aloka LED lamp. (#1005) +- Improve Supported Devices scraping. (#1006) + + ## _v2.7.1 (20191125)_ **[Bug Fixes]** diff --git a/lib/IRremoteESP8266-2.7.1/SupportedProtocols.md b/lib/IRremoteESP8266-2.7.2/SupportedProtocols.md similarity index 95% rename from lib/IRremoteESP8266-2.7.1/SupportedProtocols.md rename to lib/IRremoteESP8266-2.7.2/SupportedProtocols.md index 02d51093a..440fe8e20 100644 --- a/lib/IRremoteESP8266-2.7.1/SupportedProtocols.md +++ b/lib/IRremoteESP8266-2.7.2/SupportedProtocols.md @@ -1,6 +1,6 @@ + Last generated: Sun Jan 5 15:53:26 2020 ---> # IR Protocols supported by this library | Protocol | Brand | Model | A/C Model | Detailed A/C Support | @@ -31,19 +31,21 @@ | [JVC](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_JVC.cpp) | **Unknown** | | | - | | [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 | -| [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
6711A20083V remote
AKB74395308 remote
AKB74395308 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
6711A20083V remote
AKB74395308 remote
AKB74395308 remote
AKB75215403 remote (LG2)
S4-W12JA3AA A/C (LG2) | | Yes | | [Lasertag](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Lasertag.cpp) | **Unknown** | | | - | | [Lego](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Lego.cpp) | **LEGO Power Functions** | IR Receiver | | - | | [Lutron](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Lutron.cpp) | **Unknown** | | | - | | [MWM](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_MWM.cpp) | **Unknown** | | | - | -| [Magiquest](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Magiquest.cpp) | **[Unknown](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Magiquest.h)** | | | Yes | +| [Magiquest](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Magiquest.cpp) | **[Unknown](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Magiquest.h)** | | | - | | [Midea](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Midea.cpp) | **[Comfee](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Midea.h)** | MPD1-12CRN7 A/C | | Yes | | [Midea](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Midea.cpp) | **[Keystone](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Midea.h)** | RG57H4(B)BGEF remote | | 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)
RYBO12GMFILCAD A/C (12K BTU) | | Yes | | [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
KM14A 0179213 remote
MS-GK24VA A/C
TV | | 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
KPOA remote
MSH-A24WV / MUH-A24WV A/C
PEAD-RP71JAA Ducted A/C | | Yes | | [MitsubishiHeavy](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_MitsubishiHeavy.cpp) | **[Mitsubishi Heavy Industries](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_MitsubishiHeavy.h)** | RKX502A001C remote
RLA502A700B remote
SRKxxZJ-S A/C
SRKxxZM-S A/C
SRKxxZMXA-S A/C | | Yes | -| [NEC](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_NEC.cpp) | **[Yamaha](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_NEC.h)** | RAV561 remote
RXV585B A/V Receiver | | Yes | +| [NEC](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_NEC.cpp) | **[Aloka](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_NEC.h)** | SleepyLights LED Lamp | | - | +| [NEC](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_NEC.cpp) | **[Yamaha](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_NEC.h)** | RAV561 remote
RXV585B A/V Receiver | | - | | [Neoclima](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Neoclima.cpp) | **[Neoclima](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Neoclima.h)** | NS-09AHTI A/C
NS-09AHTI A/C
ZH/TY-01 remote
ZH/TY-01 remote | | Yes | | [Nikai](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Nikai.cpp) | **Unknown** | | | - | | [Panasonic](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Panasonic.cpp) | **[Panasonic](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Panasonic.h)** | A75C2311 remote (CKP)
A75C3704 remote
A75C3747 remote
A75C3747 remote
A75C3747 remote
A75C3747 remote
CKP series A/C
CS-ME10CKPG A/C
CS-ME12CKPG A/C
CS-ME14CKPG A/C
CS-YW9MKD A/C
CS-Z9RKR A/C
DKE series A/C
JKE series A/C
NKE series A/C
RKR series A/C
TV | | Yes | diff --git a/lib/IRremoteESP8266-2.7.1/examples/CommonAcControl/CommonAcControl.ino b/lib/IRremoteESP8266-2.7.2/examples/CommonAcControl/CommonAcControl.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/CommonAcControl/CommonAcControl.ino rename to lib/IRremoteESP8266-2.7.2/examples/CommonAcControl/CommonAcControl.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/CommonAcControl/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/CommonAcControl/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/CommonAcControl/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/CommonAcControl/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/ControlSamsungAC/ControlSamsungAC.ino b/lib/IRremoteESP8266-2.7.2/examples/ControlSamsungAC/ControlSamsungAC.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/ControlSamsungAC/ControlSamsungAC.ino rename to lib/IRremoteESP8266-2.7.2/examples/ControlSamsungAC/ControlSamsungAC.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/ControlSamsungAC/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/ControlSamsungAC/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/ControlSamsungAC/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/ControlSamsungAC/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/DumbIRRepeater/DumbIRRepeater.ino b/lib/IRremoteESP8266-2.7.2/examples/DumbIRRepeater/DumbIRRepeater.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/DumbIRRepeater/DumbIRRepeater.ino rename to lib/IRremoteESP8266-2.7.2/examples/DumbIRRepeater/DumbIRRepeater.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/DumbIRRepeater/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/DumbIRRepeater/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/DumbIRRepeater/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/DumbIRRepeater/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/IRGCSendDemo/IRGCSendDemo.ino b/lib/IRremoteESP8266-2.7.2/examples/IRGCSendDemo/IRGCSendDemo.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/IRGCSendDemo/IRGCSendDemo.ino rename to lib/IRremoteESP8266-2.7.2/examples/IRGCSendDemo/IRGCSendDemo.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/IRGCSendDemo/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/IRGCSendDemo/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/IRGCSendDemo/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/IRGCSendDemo/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/IRGCTCPServer/IRGCTCPServer.ino b/lib/IRremoteESP8266-2.7.2/examples/IRGCTCPServer/IRGCTCPServer.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/IRGCTCPServer/IRGCTCPServer.ino rename to lib/IRremoteESP8266-2.7.2/examples/IRGCTCPServer/IRGCTCPServer.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/IRGCTCPServer/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/IRGCTCPServer/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/IRGCTCPServer/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/IRGCTCPServer/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/IRMQTTServer/IRMQTTServer.h b/lib/IRremoteESP8266-2.7.2/examples/IRMQTTServer/IRMQTTServer.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/IRMQTTServer/IRMQTTServer.h rename to lib/IRremoteESP8266-2.7.2/examples/IRMQTTServer/IRMQTTServer.h diff --git a/lib/IRremoteESP8266-2.7.1/examples/IRMQTTServer/IRMQTTServer.ino b/lib/IRremoteESP8266-2.7.2/examples/IRMQTTServer/IRMQTTServer.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/IRMQTTServer/IRMQTTServer.ino rename to lib/IRremoteESP8266-2.7.2/examples/IRMQTTServer/IRMQTTServer.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/IRMQTTServer/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/IRMQTTServer/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/IRMQTTServer/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/IRMQTTServer/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/IRServer/IRServer.ino b/lib/IRremoteESP8266-2.7.2/examples/IRServer/IRServer.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/IRServer/IRServer.ino rename to lib/IRremoteESP8266-2.7.2/examples/IRServer/IRServer.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/IRServer/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/IRServer/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/IRServer/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/IRServer/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/IRrecvDemo/IRrecvDemo.ino b/lib/IRremoteESP8266-2.7.2/examples/IRrecvDemo/IRrecvDemo.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/IRrecvDemo/IRrecvDemo.ino rename to lib/IRremoteESP8266-2.7.2/examples/IRrecvDemo/IRrecvDemo.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/IRrecvDemo/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/IRrecvDemo/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/IRrecvDemo/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/IRrecvDemo/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/IRrecvDump/IRrecvDump.ino b/lib/IRremoteESP8266-2.7.2/examples/IRrecvDump/IRrecvDump.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/IRrecvDump/IRrecvDump.ino rename to lib/IRremoteESP8266-2.7.2/examples/IRrecvDump/IRrecvDump.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/IRrecvDump/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/IRrecvDump/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/IRrecvDump/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/IRrecvDump/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/IRrecvDumpV2/IRrecvDumpV2.ino b/lib/IRremoteESP8266-2.7.2/examples/IRrecvDumpV2/IRrecvDumpV2.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/IRrecvDumpV2/IRrecvDumpV2.ino rename to lib/IRremoteESP8266-2.7.2/examples/IRrecvDumpV2/IRrecvDumpV2.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/IRrecvDumpV2/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/IRrecvDumpV2/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/IRrecvDumpV2/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/IRrecvDumpV2/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/IRsendDemo/IRsendDemo.ino b/lib/IRremoteESP8266-2.7.2/examples/IRsendDemo/IRsendDemo.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/IRsendDemo/IRsendDemo.ino rename to lib/IRremoteESP8266-2.7.2/examples/IRsendDemo/IRsendDemo.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/IRsendDemo/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/IRsendDemo/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/IRsendDemo/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/IRsendDemo/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/IRsendProntoDemo/IRsendProntoDemo.ino b/lib/IRremoteESP8266-2.7.2/examples/IRsendProntoDemo/IRsendProntoDemo.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/IRsendProntoDemo/IRsendProntoDemo.ino rename to lib/IRremoteESP8266-2.7.2/examples/IRsendProntoDemo/IRsendProntoDemo.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/IRsendProntoDemo/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/IRsendProntoDemo/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/IRsendProntoDemo/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/IRsendProntoDemo/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/JVCPanasonicSendDemo/JVCPanasonicSendDemo.ino b/lib/IRremoteESP8266-2.7.2/examples/JVCPanasonicSendDemo/JVCPanasonicSendDemo.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/JVCPanasonicSendDemo/JVCPanasonicSendDemo.ino rename to lib/IRremoteESP8266-2.7.2/examples/JVCPanasonicSendDemo/JVCPanasonicSendDemo.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/JVCPanasonicSendDemo/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/JVCPanasonicSendDemo/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/JVCPanasonicSendDemo/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/JVCPanasonicSendDemo/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/LGACSend/LGACSend.ino b/lib/IRremoteESP8266-2.7.2/examples/LGACSend/LGACSend.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/LGACSend/LGACSend.ino rename to lib/IRremoteESP8266-2.7.2/examples/LGACSend/LGACSend.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/LGACSend/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/LGACSend/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/LGACSend/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/LGACSend/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/SmartIRRepeater/SmartIRRepeater.ino b/lib/IRremoteESP8266-2.7.2/examples/SmartIRRepeater/SmartIRRepeater.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/SmartIRRepeater/SmartIRRepeater.ino rename to lib/IRremoteESP8266-2.7.2/examples/SmartIRRepeater/SmartIRRepeater.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/SmartIRRepeater/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/SmartIRRepeater/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/SmartIRRepeater/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/SmartIRRepeater/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/TurnOnArgoAC/TurnOnArgoAC.ino b/lib/IRremoteESP8266-2.7.2/examples/TurnOnArgoAC/TurnOnArgoAC.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/TurnOnArgoAC/TurnOnArgoAC.ino rename to lib/IRremoteESP8266-2.7.2/examples/TurnOnArgoAC/TurnOnArgoAC.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/TurnOnArgoAC/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/TurnOnArgoAC/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/TurnOnArgoAC/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/TurnOnArgoAC/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/TurnOnDaikinAC/TurnOnDaikinAC.ino b/lib/IRremoteESP8266-2.7.2/examples/TurnOnDaikinAC/TurnOnDaikinAC.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/TurnOnDaikinAC/TurnOnDaikinAC.ino rename to lib/IRremoteESP8266-2.7.2/examples/TurnOnDaikinAC/TurnOnDaikinAC.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/TurnOnDaikinAC/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/TurnOnDaikinAC/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/TurnOnDaikinAC/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/TurnOnDaikinAC/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/TurnOnFujitsuAC/TurnOnFujitsuAC.ino b/lib/IRremoteESP8266-2.7.2/examples/TurnOnFujitsuAC/TurnOnFujitsuAC.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/TurnOnFujitsuAC/TurnOnFujitsuAC.ino rename to lib/IRremoteESP8266-2.7.2/examples/TurnOnFujitsuAC/TurnOnFujitsuAC.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/TurnOnFujitsuAC/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/TurnOnFujitsuAC/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/TurnOnFujitsuAC/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/TurnOnFujitsuAC/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/TurnOnKelvinatorAC/TurnOnKelvinatorAC.ino b/lib/IRremoteESP8266-2.7.2/examples/TurnOnKelvinatorAC/TurnOnKelvinatorAC.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/TurnOnKelvinatorAC/TurnOnKelvinatorAC.ino rename to lib/IRremoteESP8266-2.7.2/examples/TurnOnKelvinatorAC/TurnOnKelvinatorAC.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/TurnOnKelvinatorAC/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/TurnOnKelvinatorAC/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/TurnOnKelvinatorAC/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/TurnOnKelvinatorAC/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/TurnOnMitsubishiAC/TurnOnMitsubishiAC.ino b/lib/IRremoteESP8266-2.7.2/examples/TurnOnMitsubishiAC/TurnOnMitsubishiAC.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/TurnOnMitsubishiAC/TurnOnMitsubishiAC.ino rename to lib/IRremoteESP8266-2.7.2/examples/TurnOnMitsubishiAC/TurnOnMitsubishiAC.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/TurnOnMitsubishiAC/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/TurnOnMitsubishiAC/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/TurnOnMitsubishiAC/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/TurnOnMitsubishiAC/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/TurnOnMitsubishiHeavyAc/TurnOnMitsubishiHeavyAc.ino b/lib/IRremoteESP8266-2.7.2/examples/TurnOnMitsubishiHeavyAc/TurnOnMitsubishiHeavyAc.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/TurnOnMitsubishiHeavyAc/TurnOnMitsubishiHeavyAc.ino rename to lib/IRremoteESP8266-2.7.2/examples/TurnOnMitsubishiHeavyAc/TurnOnMitsubishiHeavyAc.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/TurnOnMitsubishiHeavyAc/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/TurnOnMitsubishiHeavyAc/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/TurnOnMitsubishiHeavyAc/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/TurnOnMitsubishiHeavyAc/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/TurnOnPanasonicAC/TurnOnPanasonicAC.ino b/lib/IRremoteESP8266-2.7.2/examples/TurnOnPanasonicAC/TurnOnPanasonicAC.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/TurnOnPanasonicAC/TurnOnPanasonicAC.ino rename to lib/IRremoteESP8266-2.7.2/examples/TurnOnPanasonicAC/TurnOnPanasonicAC.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/TurnOnPanasonicAC/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/TurnOnPanasonicAC/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/TurnOnPanasonicAC/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/TurnOnPanasonicAC/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/TurnOnToshibaAC/TurnOnToshibaAC.ino b/lib/IRremoteESP8266-2.7.2/examples/TurnOnToshibaAC/TurnOnToshibaAC.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/TurnOnToshibaAC/TurnOnToshibaAC.ino rename to lib/IRremoteESP8266-2.7.2/examples/TurnOnToshibaAC/TurnOnToshibaAC.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/TurnOnToshibaAC/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/TurnOnToshibaAC/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/TurnOnToshibaAC/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/TurnOnToshibaAC/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/TurnOnTrotecAC/TurnOnTrotecAC.ino b/lib/IRremoteESP8266-2.7.2/examples/TurnOnTrotecAC/TurnOnTrotecAC.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/TurnOnTrotecAC/TurnOnTrotecAC.ino rename to lib/IRremoteESP8266-2.7.2/examples/TurnOnTrotecAC/TurnOnTrotecAC.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/TurnOnTrotecAC/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/TurnOnTrotecAC/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/TurnOnTrotecAC/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/TurnOnTrotecAC/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/README.md b/lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/README.md similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/README.md rename to lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/README.md diff --git a/lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/Web-AC-control.ino b/lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/Web-AC-control.ino similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/Web-AC-control.ino rename to lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/Web-AC-control.ino diff --git a/lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/platformio.ini b/lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/platformio.ini similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/platformio.ini rename to lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/platformio.ini diff --git a/lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/printscreen.png b/lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/printscreen.png similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/printscreen.png rename to lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/printscreen.png diff --git a/lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/favicon.ico b/lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/favicon.ico similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/favicon.ico rename to lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/favicon.ico diff --git a/lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/level_1_off.svg b/lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/level_1_off.svg similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/level_1_off.svg rename to lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/level_1_off.svg diff --git a/lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/level_1_on.svg b/lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/level_1_on.svg similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/level_1_on.svg rename to lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/level_1_on.svg diff --git a/lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/level_2_off.svg b/lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/level_2_off.svg similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/level_2_off.svg rename to lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/level_2_off.svg diff --git a/lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/level_2_on.svg b/lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/level_2_on.svg similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/level_2_on.svg rename to lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/level_2_on.svg diff --git a/lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/level_3_off.svg b/lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/level_3_off.svg similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/level_3_off.svg rename to lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/level_3_off.svg diff --git a/lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/level_3_on.svg b/lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/level_3_on.svg similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/level_3_on.svg rename to lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/level_3_on.svg diff --git a/lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/level_4_off.svg b/lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/level_4_off.svg similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/level_4_off.svg rename to lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/level_4_off.svg diff --git a/lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/level_4_on.svg b/lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/level_4_on.svg similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/level_4_on.svg rename to lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/level_4_on.svg diff --git a/lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/ui.html b/lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/ui.html similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/ui.html rename to lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/ui.html diff --git a/lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/ui.js b/lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/ui.js similarity index 100% rename from lib/IRremoteESP8266-2.7.1/examples/Web-AC-control/upload/ui.js rename to lib/IRremoteESP8266-2.7.2/examples/Web-AC-control/upload/ui.js diff --git a/lib/IRremoteESP8266-2.7.1/keywords.txt b/lib/IRremoteESP8266-2.7.2/keywords.txt similarity index 98% rename from lib/IRremoteESP8266-2.7.1/keywords.txt rename to lib/IRremoteESP8266-2.7.2/keywords.txt index f027e808b..2c8018ea6 100644 --- a/lib/IRremoteESP8266-2.7.1/keywords.txt +++ b/lib/IRremoteESP8266-2.7.2/keywords.txt @@ -39,6 +39,7 @@ IRHaierACYRW02 KEYWORD1 IRHitachiAc KEYWORD1 IRHitachiAc424 KEYWORD1 IRKelvinatorAC KEYWORD1 +IRLgAc KEYWORD1 IRMideaAC KEYWORD1 IRMitsubishi112 KEYWORD1 IRMitsubishi136 KEYWORD1 @@ -66,6 +67,7 @@ fanspeed_t KEYWORD1 fujitsu_ac_remote_model_t KEYWORD1 gree_ac_remote_model_t KEYWORD1 irparams_t KEYWORD1 +lg_ac_remote_model_t KEYWORD1 match_result_t KEYWORD1 opmode_t KEYWORD1 panasonic_ac_remote_model_t KEYWORD1 @@ -346,9 +348,11 @@ isSwingVToggle KEYWORD2 isTimeCommand KEYWORD2 isTimerActive KEYWORD2 isTimerEnabled KEYWORD2 +isValidLgAc KEYWORD2 kelvinator KEYWORD2 ledOff KEYWORD2 ledOn KEYWORD2 +lg KEYWORD2 mark KEYWORD2 match KEYWORD2 matchAtLeast KEYWORD2 @@ -590,6 +594,7 @@ xorBytes KEYWORD2 // LITERAL1 AIWA_RC_T501 LITERAL1 AIWA_RC_T501_BITS LITERAL1 +AKB75215403 LITERAL1 ALLOW_DELAY_CALLS LITERAL1 AMCOR LITERAL1 ARDB1 LITERAL1 @@ -748,6 +753,7 @@ FUJITSU_AC_SWING_BOTH LITERAL1 FUJITSU_AC_SWING_HORIZ LITERAL1 FUJITSU_AC_SWING_OFF LITERAL1 FUJITSU_AC_SWING_VERT LITERAL1 +GE6711AR2853M LITERAL1 GICABLE LITERAL1 GICABLE_BITS LITERAL1 GLOBALCACHE LITERAL1 @@ -1063,6 +1069,22 @@ kAiwaRcT501PostBits LITERAL1 kAiwaRcT501PostData LITERAL1 kAiwaRcT501PreBits LITERAL1 kAiwaRcT501PreData LITERAL1 +kAlokaBits LITERAL1 +kAlokaLedBlue LITERAL1 +kAlokaLedGreen LITERAL1 +kAlokaLedLightGreen LITERAL1 +kAlokaLedMidBlue LITERAL1 +kAlokaLedOrange LITERAL1 +kAlokaLedPink LITERAL1 +kAlokaLedPinkRed LITERAL1 +kAlokaLedRainbow LITERAL1 +kAlokaLedRed LITERAL1 +kAlokaLedTreeGrow LITERAL1 +kAlokaLedWhite LITERAL1 +kAlokaLedYellow LITERAL1 +kAlokaNightFade LITERAL1 +kAlokaNightTimer LITERAL1 +kAlokaPower LITERAL1 kAmcorAuto LITERAL1 kAmcorBits LITERAL1 kAmcorChecksumByte LITERAL1 @@ -2094,9 +2116,38 @@ kLg32HdrSpace LITERAL1 kLg32HdrSpaceTicks LITERAL1 kLg32RptHdrMark LITERAL1 kLg32RptHdrMarkTicks LITERAL1 +kLgAcAuto LITERAL1 +kLgAcChecksumOffset LITERAL1 +kLgAcChecksumSize LITERAL1 +kLgAcCool LITERAL1 +kLgAcDry LITERAL1 +kLgAcFan LITERAL1 +kLgAcFanAuto LITERAL1 +kLgAcFanHigh LITERAL1 +kLgAcFanLow LITERAL1 +kLgAcFanMedium LITERAL1 +kLgAcFanOffset LITERAL1 +kLgAcFanSize LITERAL1 +kLgAcHeat LITERAL1 +kLgAcMaxTemp LITERAL1 +kLgAcMinTemp LITERAL1 +kLgAcModeOffset LITERAL1 +kLgAcModeSize LITERAL1 +kLgAcOffCommand LITERAL1 +kLgAcPowerOff LITERAL1 +kLgAcPowerOffset LITERAL1 +kLgAcPowerOn LITERAL1 +kLgAcPowerSize LITERAL1 +kLgAcSignature LITERAL1 +kLgAcSignatureOffset LITERAL1 +kLgAcSignatureSize LITERAL1 +kLgAcTempAdjust LITERAL1 +kLgAcTempOffset LITERAL1 +kLgAcTempSize LITERAL1 kLgBitMark LITERAL1 kLgBitMarkTicks LITERAL1 kLgBits LITERAL1 +kLgDefaultRepeat LITERAL1 kLgHdrMark LITERAL1 kLgHdrMarkTicks LITERAL1 kLgHdrSpace LITERAL1 diff --git a/lib/IRremoteESP8266-2.7.1/library.json b/lib/IRremoteESP8266-2.7.2/library.json similarity index 97% rename from lib/IRremoteESP8266-2.7.1/library.json rename to lib/IRremoteESP8266-2.7.2/library.json index 50464bed1..4ade0fa6b 100644 --- a/lib/IRremoteESP8266-2.7.1/library.json +++ b/lib/IRremoteESP8266-2.7.2/library.json @@ -1,6 +1,6 @@ { "name": "IRremoteESP8266", - "version": "2.7.1", + "version": "2.7.2", "keywords": "infrared, ir, remote, esp8266, esp32", "description": "Send and receive infrared signals with multiple protocols (ESP8266/ESP32)", "repository": diff --git a/lib/IRremoteESP8266-2.7.1/library.properties b/lib/IRremoteESP8266-2.7.2/library.properties similarity index 97% rename from lib/IRremoteESP8266-2.7.1/library.properties rename to lib/IRremoteESP8266-2.7.2/library.properties index 6e7215626..b5d866c3d 100644 --- a/lib/IRremoteESP8266-2.7.1/library.properties +++ b/lib/IRremoteESP8266-2.7.2/library.properties @@ -1,5 +1,5 @@ name=IRremoteESP8266 -version=2.7.1 +version=2.7.2 author=David Conran, Sebastien Warin, Mark Szabo, Ken Shirriff maintainer=Mark Szabo, David Conran, Sebastien Warin, Roi Dayan, Massimiliano Pinto sentence=Send and receive infrared signals with multiple protocols (ESP8266/ESP32) diff --git a/lib/IRremoteESP8266-2.7.1/pylintrc b/lib/IRremoteESP8266-2.7.2/pylintrc similarity index 100% rename from lib/IRremoteESP8266-2.7.1/pylintrc rename to lib/IRremoteESP8266-2.7.2/pylintrc diff --git a/lib/IRremoteESP8266-2.7.1/src/CPPLINT.cfg b/lib/IRremoteESP8266-2.7.2/src/CPPLINT.cfg similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/CPPLINT.cfg rename to lib/IRremoteESP8266-2.7.2/src/CPPLINT.cfg diff --git a/lib/IRremoteESP8266-2.7.1/src/IRac.cpp b/lib/IRremoteESP8266-2.7.2/src/IRac.cpp similarity index 91% rename from lib/IRremoteESP8266-2.7.1/src/IRac.cpp rename to lib/IRremoteESP8266-2.7.2/src/IRac.cpp index f8e5ca759..5cb56b974 100644 --- a/lib/IRremoteESP8266-2.7.1/src/IRac.cpp +++ b/lib/IRremoteESP8266-2.7.2/src/IRac.cpp @@ -25,6 +25,7 @@ #include "ir_Haier.h" #include "ir_Hitachi.h" #include "ir_Kelvinator.h" +#include "ir_LG.h" #include "ir_Midea.h" #include "ir_Mitsubishi.h" #include "ir_MitsubishiHeavy.h" @@ -149,6 +150,10 @@ bool IRac::isProtocolSupported(const decode_type_t protocol) { #if SEND_KELVINATOR case decode_type_t::KELVINATOR: #endif +#if SEND_LG + case decode_type_t::LG: + case decode_type_t::LG2: +#endif #if SEND_MIDEA case decode_type_t::MIDEA: #endif @@ -719,6 +724,30 @@ void IRac::kelvinator(IRKelvinatorAC *ac, } #endif // SEND_KELVINATOR +#if SEND_LG +void IRac::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) { + ac->begin(); + ac->setModel(model); + ac->setPower(on); + ac->setMode(ac->convertMode(mode)); + ac->setTemp(degrees); + ac->setFan(ac->convertFan(fan)); + // No Vertical swing setting available. + // No Horizontal swing setting available. + // No Quiet setting available. + // No Turbo setting available. + // No Light setting available. + // No Filter setting available. + // No Clean setting available. + // No Beep setting available. + // No Sleep setting available. + // No Clock setting available. + ac->send(); +} +#endif // SEND_LG + #if SEND_MIDEA void IRac::midea(IRMideaAC *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, @@ -1144,6 +1173,20 @@ void IRac::whirlpool(IRWhirlpoolAc *ac, const whirlpool_ac_remote_model_t model, } #endif // SEND_WHIRLPOOL_AC +// Create a new state base on the provided state that has been suitably fixed. +// Args: +// state: The state_t structure describing the desired a/c state. +// +// Returns: +// A stdAc::state_t with the needed settings. +stdAc::state_t IRac::cleanState(const stdAc::state_t state) { + stdAc::state_t result = state; + // A hack for Home Assistant, it appears to need/want an Off opmode. + // So enforce the power is off if the mode is also off. + if (state.mode == stdAc::opmode_t::kOff) result.power = false; + return result; +} + // Create a new state base on desired & previous states but handle // any state changes for options that need to be toggled. // Args: @@ -1244,23 +1287,18 @@ bool IRac::sendAc(const decode_type_t vendor, const int16_t model, // Returns: // boolean: True, if accepted/converted/attempted. False, if unsupported. bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { - stdAc::state_t send = this->handleToggles(desired, prev); - // Convert the temperature to Celsius. - float degC; - if (desired.celsius) - degC = send.degrees; - else - degC = fahrenheitToCelsius(desired.degrees); - bool on = desired.power; - // A hack for Home Assistant, it appears to need/want an Off opmode. - if (desired.mode == stdAc::opmode_t::kOff) on = false; + // Convert the temp from Fahrenheit to Celsius if we are not in Celsius mode. + float degC = desired.celsius ? desired.degrees + : fahrenheitToCelsius(desired.degrees); + // special `state_t` that is required to be sent based on that. + stdAc::state_t send = this->handleToggles(this->cleanState(desired), prev); // Per vendor settings & setup. switch (send.protocol) { #if SEND_AMCOR case AMCOR: { IRAmcorAc ac(_pin, _inverted, _modulation); - amcor(&ac, on, send.mode, degC, send.fanspeed); + amcor(&ac, send.power, send.mode, degC, send.fanspeed); break; } #endif // SEND_AMCOR @@ -1268,8 +1306,8 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case ARGO: { IRArgoAC ac(_pin, _inverted, _modulation); - argo(&ac, on, send.mode, degC, send.fanspeed, send.swingv, send.turbo, - send.sleep); + argo(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv, + send.turbo, send.sleep); break; } #endif // SEND_ARGO @@ -1277,8 +1315,8 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case COOLIX: { IRCoolixAC ac(_pin, _inverted, _modulation); - coolix(&ac, on, send.mode, degC, send.fanspeed, send.swingv, send.swingh, - send.turbo, send.light, send.clean, send.sleep); + coolix(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv, + send.swingh, send.turbo, send.light, send.clean, send.sleep); break; } #endif // SEND_COOLIX @@ -1286,8 +1324,8 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case DAIKIN: { IRDaikinESP ac(_pin, _inverted, _modulation); - daikin(&ac, on, send.mode, degC, send.fanspeed, send.swingv, send.swingh, - send.quiet, send.turbo, send.econo, send.clean); + daikin(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv, + send.swingh, send.quiet, send.turbo, send.econo, send.clean); break; } #endif // SEND_DAIKIN @@ -1295,7 +1333,7 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case DAIKIN128: { IRDaikin128 ac(_pin, _inverted, _modulation); - daikin128(&ac, on, send.mode, degC, send.fanspeed, send.swingv, + daikin128(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv, send.quiet, send.turbo, send.light, send.econo, send.sleep, send.clock); break; @@ -1305,7 +1343,7 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case DAIKIN152: { IRDaikin152 ac(_pin, _inverted, _modulation); - daikin152(&ac, on, send.mode, degC, send.fanspeed, send.swingv, + daikin152(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv, send.quiet, send.turbo, send.econo); break; } @@ -1314,7 +1352,7 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case DAIKIN160: { IRDaikin160 ac(_pin, _inverted, _modulation); - daikin160(&ac, on, send.mode, degC, send.fanspeed, send.swingv); + daikin160(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv); break; } #endif // SEND_DAIKIN160 @@ -1322,7 +1360,7 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case DAIKIN176: { IRDaikin176 ac(_pin, _inverted, _modulation); - daikin176(&ac, on, send.mode, degC, send.fanspeed, send.swingh); + daikin176(&ac, send.power, send.mode, degC, send.fanspeed, send.swingh); break; } #endif // SEND_DAIKIN176 @@ -1330,9 +1368,9 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case DAIKIN2: { IRDaikin2 ac(_pin, _inverted, _modulation); - daikin2(&ac, on, send.mode, degC, send.fanspeed, send.swingv, send.swingh, - send.quiet, send.turbo, send.light, send.econo, send.filter, - send.clean, send.beep, send.sleep, send.clock); + daikin2(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv, + send.swingh, send.quiet, send.turbo, send.light, send.econo, + send.filter, send.clean, send.beep, send.sleep, send.clock); break; } #endif // SEND_DAIKIN2 @@ -1340,7 +1378,7 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case DAIKIN216: { IRDaikin216 ac(_pin, _inverted, _modulation); - daikin216(&ac, on, send.mode, degC, send.fanspeed, send.swingv, + daikin216(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv, send.swingh, send.quiet, send.turbo); break; } @@ -1349,7 +1387,7 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case ELECTRA_AC: { IRElectraAc ac(_pin, _inverted, _modulation); - electra(&ac, on, send.mode, degC, send.fanspeed, send.swingv, + electra(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv, send.swingh); break; } @@ -1359,9 +1397,9 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { { IRFujitsuAC ac(_pin, (fujitsu_ac_remote_model_t)send.model, _inverted, _modulation); - fujitsu(&ac, (fujitsu_ac_remote_model_t)send.model, on, send.mode, degC, - send.fanspeed, send.swingv, send.swingh, send.quiet, send.turbo, - send.econo, send.filter, send.clean); + fujitsu(&ac, (fujitsu_ac_remote_model_t)send.model, send.power, send.mode, + degC, send.fanspeed, send.swingv, send.swingh, send.quiet, + send.turbo, send.econo, send.filter, send.clean); break; } #endif // SEND_FUJITSU_AC @@ -1369,7 +1407,7 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case GOODWEATHER: { IRGoodweatherAc ac(_pin, _inverted, _modulation); - goodweather(&ac, on, send.mode, degC, send.fanspeed, send.swingv, + goodweather(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv, send.turbo, send.light, send.sleep); break; } @@ -1379,7 +1417,7 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { { IRGreeAC ac(_pin, (gree_ac_remote_model_t)send.model, _inverted, _modulation); - gree(&ac, (gree_ac_remote_model_t)send.model, on, send.mode, degC, + gree(&ac, (gree_ac_remote_model_t)send.model, send.power, send.mode, degC, send.fanspeed, send.swingv, send.turbo, send.light, send.clean, send.sleep); break; @@ -1389,8 +1427,8 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case HAIER_AC: { IRHaierAC ac(_pin, _inverted, _modulation); - haier(&ac, on, send.mode, degC, send.fanspeed, send.swingv, send.filter, - send.sleep, send.clock); + haier(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv, + send.filter, send.sleep, send.clock); break; } #endif // SEND_HAIER_AC @@ -1398,7 +1436,7 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case HAIER_AC_YRW02: { IRHaierACYRW02 ac(_pin, _inverted, _modulation); - haierYrwo2(&ac, on, send.mode, degC, send.fanspeed, send.swingv, + haierYrwo2(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv, send.turbo, send.filter, send.sleep); break; } @@ -1407,7 +1445,7 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case HITACHI_AC: { IRHitachiAc ac(_pin, _inverted, _modulation); - hitachi(&ac, on, send.mode, degC, send.fanspeed, send.swingv, + hitachi(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv, send.swingh); break; } @@ -1416,7 +1454,7 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case HITACHI_AC424: { IRHitachiAc424 ac(_pin, _inverted, _modulation); - hitachi424(&ac, on, send.mode, degC, send.fanspeed, send.swingv); + hitachi424(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv); break; } #endif // SEND_HITACHI_AC424 @@ -1424,18 +1462,28 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case KELVINATOR: { IRKelvinatorAC ac(_pin, _inverted, _modulation); - kelvinator(&ac, on, send.mode, degC, send.fanspeed, send.swingv, + kelvinator(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv, send.swingh, send.quiet, send.turbo, send.light, send.filter, send.clean); break; } #endif // SEND_KELVINATOR +#if SEND_LG + case LG: + case LG2: + { + IRLgAc ac(_pin, _inverted, _modulation); + lg(&ac, (lg_ac_remote_model_t)send.model, send.power, send.mode, + send.degrees, send.fanspeed); + break; + } +#endif // SEND_LG #if SEND_MIDEA case MIDEA: { IRMideaAC ac(_pin, _inverted, _modulation); - midea(&ac, on, send.mode, send.celsius, send.degrees, send.fanspeed, - send.swingv, send.sleep); + midea(&ac, send.power, send.mode, send.celsius, send.degrees, + send.fanspeed, send.swingv, send.sleep); break; } #endif // SEND_MIDEA @@ -1443,7 +1491,7 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case MITSUBISHI_AC: { IRMitsubishiAC ac(_pin, _inverted, _modulation); - mitsubishi(&ac, on, send.mode, degC, send.fanspeed, send.swingv, + mitsubishi(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv, send.swingh, send.quiet, send.clock); break; } @@ -1452,8 +1500,8 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case MITSUBISHI112: { IRMitsubishi112 ac(_pin, _inverted, _modulation); - mitsubishi112(&ac, on, send.mode, degC, send.fanspeed, send.swingv, - send.swingh, send.quiet); + mitsubishi112(&ac, send.power, send.mode, degC, send.fanspeed, + send.swingv, send.swingh, send.quiet); break; } #endif // SEND_MITSUBISHI112 @@ -1461,8 +1509,8 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case MITSUBISHI136: { IRMitsubishi136 ac(_pin, _inverted, _modulation); - mitsubishi136(&ac, on, send.mode, degC, send.fanspeed, send.swingv, - send.quiet); + mitsubishi136(&ac, send.power, send.mode, degC, send.fanspeed, + send.swingv, send.quiet); break; } #endif // SEND_MITSUBISHI136 @@ -1470,16 +1518,17 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case MITSUBISHI_HEAVY_88: { IRMitsubishiHeavy88Ac ac(_pin, _inverted, _modulation); - mitsubishiHeavy88(&ac, on, send.mode, degC, send.fanspeed, send.swingv, - send.swingh, send.turbo, send.econo, send.clean); + mitsubishiHeavy88(&ac, send.power, send.mode, degC, send.fanspeed, + send.swingv, send.swingh, send.turbo, send.econo, + send.clean); break; } case MITSUBISHI_HEAVY_152: { IRMitsubishiHeavy152Ac ac(_pin, _inverted, _modulation); - mitsubishiHeavy152(&ac, on, send.mode, degC, send.fanspeed, send.swingv, - send.swingh, send.quiet, send.turbo, send.econo, - send.filter, send.clean, send.sleep); + mitsubishiHeavy152(&ac, send.power, send.mode, degC, send.fanspeed, + send.swingv, send.swingh, send.quiet, send.turbo, + send.econo, send.filter, send.clean, send.sleep); break; } #endif // SEND_MITSUBISHIHEAVY @@ -1487,7 +1536,7 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case NEOCLIMA: { IRNeoclimaAc ac(_pin, _inverted, _modulation); - neoclima(&ac, on, send.mode, degC, send.fanspeed, send.swingv, + neoclima(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv, send.swingh, send.turbo, send.light, send.filter, send.sleep); break; } @@ -1496,9 +1545,9 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case PANASONIC_AC: { IRPanasonicAc ac(_pin, _inverted, _modulation); - panasonic(&ac, (panasonic_ac_remote_model_t)send.model, on, send.mode, - degC, send.fanspeed, send.swingv, send.swingh, send.quiet, - send.turbo, send.clock); + panasonic(&ac, (panasonic_ac_remote_model_t)send.model, send.power, + send.mode, degC, send.fanspeed, send.swingv, send.swingh, + send.quiet, send.turbo, send.clock); break; } #endif // SEND_PANASONIC_AC @@ -1506,8 +1555,8 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case SAMSUNG_AC: { IRSamsungAc ac(_pin, _inverted, _modulation); - samsung(&ac, on, send.mode, degC, send.fanspeed, send.swingv, send.quiet, - send.turbo, send.clean, send.beep, prev->power); + samsung(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv, + send.quiet, send.turbo, send.clean, send.beep, prev->power); break; } #endif // SEND_SAMSUNG_AC @@ -1515,7 +1564,7 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case SHARP_AC: { IRSharpAc ac(_pin, _inverted, _modulation); - sharp(&ac, on, send.mode, degC, send.fanspeed); + sharp(&ac, send.power, send.mode, degC, send.fanspeed); break; } #endif // SEND_SHARP_AC @@ -1523,8 +1572,8 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case TCL112AC: { IRTcl112Ac ac(_pin, _inverted, _modulation); - tcl112(&ac, on, send.mode, degC, send.fanspeed, send.swingv, send.swingh, - send.turbo, send.light, send.econo, send.filter); + tcl112(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv, + send.swingh, send.turbo, send.light, send.econo, send.filter); break; } #endif // SEND_TCL112AC @@ -1532,8 +1581,8 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case TECO: { IRTecoAc ac(_pin, _inverted, _modulation); - teco(&ac, on, send.mode, degC, send.fanspeed, send.swingv, send.light, - send.sleep); + teco(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv, + send.light, send.sleep); break; } #endif // SEND_TECO @@ -1541,7 +1590,7 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case TOSHIBA_AC: { IRToshibaAC ac(_pin, _inverted, _modulation); - toshiba(&ac, on, send.mode, degC, send.fanspeed); + toshiba(&ac, send.power, send.mode, degC, send.fanspeed); break; } #endif // SEND_TOSHIBA_AC @@ -1549,7 +1598,7 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case TROTEC: { IRTrotecESP ac(_pin, _inverted, _modulation); - trotec(&ac, on, send.mode, degC, send.fanspeed, send.sleep); + trotec(&ac, send.power, send.mode, degC, send.fanspeed, send.sleep); break; } #endif // SEND_TROTEC @@ -1557,8 +1606,8 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case VESTEL_AC: { IRVestelAc ac(_pin, _inverted, _modulation); - vestel(&ac, on, send.mode, degC, send.fanspeed, send.swingv, send.turbo, - send.filter, send.sleep, send.clock); + vestel(&ac, send.power, send.mode, degC, send.fanspeed, send.swingv, + send.turbo, send.filter, send.sleep, send.clock); break; } #endif // SEND_VESTEL_AC @@ -1566,9 +1615,9 @@ bool IRac::sendAc(const stdAc::state_t desired, const stdAc::state_t *prev) { case WHIRLPOOL_AC: { IRWhirlpoolAc ac(_pin, _inverted, _modulation); - whirlpool(&ac, (whirlpool_ac_remote_model_t)send.model, on, send.mode, - degC, send.fanspeed, send.swingv, send.turbo, send.light, - send.sleep, send.clock); + whirlpool(&ac, (whirlpool_ac_remote_model_t)send.model, send.power, + send.mode, degC, send.fanspeed, send.swingv, send.turbo, + send.light, send.sleep, send.clock); break; } #endif // SEND_WHIRLPOOL_AC @@ -2129,6 +2178,21 @@ namespace IRAcUtils { return ac.toString(); } #endif // DECODE_TCL112AC +#if DECODE_LG + case decode_type_t::LG: + case decode_type_t::LG2: { + IRLgAc ac(0); + ac.setRaw(result->value); // Like Coolix, use value instead of state. + switch (result->decode_type) { + case decode_type_t::LG2: + ac.setModel(lg_ac_remote_model_t::AKB75215403); + break; + default: + ac.setModel(lg_ac_remote_model_t::GE6711AR2853M); + } + return ac.isValidLgAc() ? ac.toString() : ""; + } +#endif // DECODE_LG default: return ""; } @@ -2299,6 +2363,23 @@ namespace IRAcUtils { break; } #endif // DECODE_KELVINATOR +#if DECODE_LG + case decode_type_t::LG: + case decode_type_t::LG2: { + IRLgAc ac(kGpioUnused); + ac.setRaw(decode->value); // Uses value instead of state. + if (!ac.isValidLgAc()) return false; + switch (decode->decode_type) { + case decode_type_t::LG2: + ac.setModel(lg_ac_remote_model_t::AKB75215403); + break; + default: + ac.setModel(lg_ac_remote_model_t::GE6711AR2853M); + } + *result = ac.toCommon(); + break; + } +#endif // DECODE_LG #if DECODE_MIDEA case decode_type_t::MIDEA: { IRMideaAC ac(kGpioUnused); diff --git a/lib/IRremoteESP8266-2.7.1/src/IRac.h b/lib/IRremoteESP8266-2.7.2/src/IRac.h similarity index 95% rename from lib/IRremoteESP8266-2.7.1/src/IRac.h rename to lib/IRremoteESP8266-2.7.2/src/IRac.h index 4e1237d8d..0f49943e4 100644 --- a/lib/IRremoteESP8266-2.7.1/src/IRac.h +++ b/lib/IRremoteESP8266-2.7.2/src/IRac.h @@ -18,6 +18,7 @@ #include "ir_Haier.h" #include "ir_Hitachi.h" #include "ir_Kelvinator.h" +#include "ir_LG.h" #include "ir_Midea.h" #include "ir_Mitsubishi.h" #include "ir_MitsubishiHeavy.h" @@ -136,16 +137,16 @@ class IRac { const bool quiet, const bool turbo, const bool econo); #endif // SEND_DAIKIN152 #if SEND_DAIKIN160 -void daikin160(IRDaikin160 *ac, - const bool on, const stdAc::opmode_t mode, - const float degrees, const stdAc::fanspeed_t fan, - const stdAc::swingv_t swingv); + 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); #endif // SEND_DAIKIN160 #if SEND_DAIKIN176 -void daikin176(IRDaikin176 *ac, - const bool on, const stdAc::opmode_t mode, - const float degrees, const stdAc::fanspeed_t fan, - const stdAc::swingh_t swingh); + 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); #endif // SEND_DAIKIN176 #if SEND_DAIKIN2 void daikin2(IRDaikin2 *ac, @@ -230,6 +231,11 @@ void electra(IRElectraAc *ac, const bool quiet, const bool turbo, const bool light, const bool filter, const bool clean); #endif // SEND_KELVINATOR +#if SEND_LG + void lg(IRLgAc *ac, const lg_ac_remote_model_t model, + const bool on, const stdAc::opmode_t mode, + const float degrees, const stdAc::fanspeed_t fan); +#endif // SEND_LG #if SEND_MIDEA void midea(IRMideaAC *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, @@ -340,6 +346,7 @@ void electra(IRElectraAc *ac, const bool turbo, const bool light, const int16_t sleep = -1, const int16_t clock = -1); #endif // SEND_WHIRLPOOL_AC +static stdAc::state_t cleanState(const stdAc::state_t state); static stdAc::state_t handleToggles(const stdAc::state_t desired, const stdAc::state_t *prev = NULL); }; // IRac class diff --git a/lib/IRremoteESP8266-2.7.1/src/IRrecv.cpp b/lib/IRremoteESP8266-2.7.2/src/IRrecv.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/IRrecv.cpp rename to lib/IRremoteESP8266-2.7.2/src/IRrecv.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/IRrecv.h b/lib/IRremoteESP8266-2.7.2/src/IRrecv.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/IRrecv.h rename to lib/IRremoteESP8266-2.7.2/src/IRrecv.h diff --git a/lib/IRremoteESP8266-2.7.1/src/IRremoteESP8266.h b/lib/IRremoteESP8266-2.7.2/src/IRremoteESP8266.h similarity index 99% rename from lib/IRremoteESP8266-2.7.1/src/IRremoteESP8266.h rename to lib/IRremoteESP8266-2.7.2/src/IRremoteESP8266.h index 9e4cdbaab..856ec880a 100644 --- a/lib/IRremoteESP8266-2.7.1/src/IRremoteESP8266.h +++ b/lib/IRremoteESP8266-2.7.2/src/IRremoteESP8266.h @@ -1,4 +1,4 @@ -/*************************************************** + /*************************************************** * IRremote for ESP8266 * * Based on the IRremote library for Arduino by Ken Shirriff @@ -52,7 +52,7 @@ #endif // UNIT_TEST // Library Version -#define _IRREMOTEESP8266_VERSION_ "2.7.1" +#define _IRREMOTEESP8266_VERSION_ "2.7.2" // Set the language & locale for the library. See the `locale` dir for options. #ifndef _IR_LOCALE_ @@ -588,6 +588,7 @@ const uint16_t kSingleRepeat = 1; const uint16_t kAiwaRcT501Bits = 15; const uint16_t kAiwaRcT501MinRepeats = kSingleRepeat; +const uint16_t kAlokaBits = 32; const uint16_t kAmcorStateLength = 8; const uint16_t kAmcorBits = kAmcorStateLength * 8; const uint16_t kAmcorDefaultRepeat = kSingleRepeat; @@ -668,6 +669,7 @@ const uint16_t kLegoPfBits = 16; const uint16_t kLegoPfMinRepeat = kNoRepeat; const uint16_t kLgBits = 28; const uint16_t kLg32Bits = 32; +const uint16_t kLgDefaultRepeat = kNoRepeat; const uint16_t kLutronBits = 35; const uint16_t kMagiquestBits = 56; const uint16_t kMideaBits = 48; diff --git a/lib/IRremoteESP8266-2.7.1/src/IRsend.cpp b/lib/IRremoteESP8266-2.7.2/src/IRsend.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/IRsend.cpp rename to lib/IRremoteESP8266-2.7.2/src/IRsend.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/IRsend.h b/lib/IRremoteESP8266-2.7.2/src/IRsend.h similarity index 99% rename from lib/IRremoteESP8266-2.7.1/src/IRsend.h rename to lib/IRremoteESP8266-2.7.2/src/IRsend.h index b0956e77c..e86f4e7de 100644 --- a/lib/IRremoteESP8266-2.7.1/src/IRsend.h +++ b/lib/IRremoteESP8266-2.7.2/src/IRsend.h @@ -141,6 +141,11 @@ enum whirlpool_ac_remote_model_t { DG11J191, }; +enum lg_ac_remote_model_t { + GE6711AR2853M = 1, // (1) LG 28-bit Protocol (default) + AKB75215403, // (2) LG2 28-bit Protocol +}; + // Classes class IRsend { diff --git a/lib/IRremoteESP8266-2.7.1/src/IRtext.cpp b/lib/IRremoteESP8266-2.7.2/src/IRtext.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/IRtext.cpp rename to lib/IRremoteESP8266-2.7.2/src/IRtext.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/IRtext.h b/lib/IRremoteESP8266-2.7.2/src/IRtext.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/IRtext.h rename to lib/IRremoteESP8266-2.7.2/src/IRtext.h diff --git a/lib/IRremoteESP8266-2.7.1/src/IRtimer.cpp b/lib/IRremoteESP8266-2.7.2/src/IRtimer.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/IRtimer.cpp rename to lib/IRremoteESP8266-2.7.2/src/IRtimer.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/IRtimer.h b/lib/IRremoteESP8266-2.7.2/src/IRtimer.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/IRtimer.h rename to lib/IRremoteESP8266-2.7.2/src/IRtimer.h diff --git a/lib/IRremoteESP8266-2.7.1/src/IRutils.cpp b/lib/IRremoteESP8266-2.7.2/src/IRutils.cpp similarity index 99% rename from lib/IRremoteESP8266-2.7.1/src/IRutils.cpp rename to lib/IRremoteESP8266-2.7.2/src/IRutils.cpp index 0aa19e821..e785f625d 100644 --- a/lib/IRremoteESP8266-2.7.1/src/IRutils.cpp +++ b/lib/IRremoteESP8266-2.7.2/src/IRutils.cpp @@ -824,13 +824,6 @@ namespace irutils { String modelToStr(const decode_type_t protocol, const int16_t model) { switch (protocol) { - case decode_type_t::GREE: - switch (model) { - case gree_ac_remote_model_t::YAW1F: return F("YAW1F"); - case gree_ac_remote_model_t::YBOFB: return F("YBOFB"); - default: return kUnknownStr; - } - break; case decode_type_t::FUJITSU_AC: switch (model) { case fujitsu_ac_remote_model_t::ARRAH2E: return F("ARRAH2E"); @@ -841,6 +834,21 @@ namespace irutils { default: return kUnknownStr; } break; + case decode_type_t::GREE: + switch (model) { + case gree_ac_remote_model_t::YAW1F: return F("YAW1F"); + case gree_ac_remote_model_t::YBOFB: return F("YBOFB"); + default: return kUnknownStr; + } + break; + case decode_type_t::LG: + case decode_type_t::LG2: + switch (model) { + case lg_ac_remote_model_t::GE6711AR2853M: return F("GE6711AR2853M"); + case lg_ac_remote_model_t::AKB75215403: return F("AKB75215403"); + default: return kUnknownStr; + } + break; case decode_type_t::PANASONIC_AC: switch (model) { case panasonic_ac_remote_model_t::kPanasonicLke: return F("LKE"); diff --git a/lib/IRremoteESP8266-2.7.1/src/IRutils.h b/lib/IRremoteESP8266-2.7.2/src/IRutils.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/IRutils.h rename to lib/IRremoteESP8266-2.7.2/src/IRutils.h diff --git a/lib/IRremoteESP8266-2.7.1/src/i18n.h b/lib/IRremoteESP8266-2.7.2/src/i18n.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/i18n.h rename to lib/IRremoteESP8266-2.7.2/src/i18n.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Aiwa.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Aiwa.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Aiwa.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Aiwa.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Amcor.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Amcor.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Amcor.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Amcor.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Amcor.h b/lib/IRremoteESP8266-2.7.2/src/ir_Amcor.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Amcor.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Amcor.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Argo.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Argo.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Argo.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Argo.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Argo.h b/lib/IRremoteESP8266-2.7.2/src/ir_Argo.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Argo.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Argo.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Carrier.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Carrier.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Carrier.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Carrier.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Coolix.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Coolix.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Coolix.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Coolix.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Coolix.h b/lib/IRremoteESP8266-2.7.2/src/ir_Coolix.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Coolix.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Coolix.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Daikin.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Daikin.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Daikin.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Daikin.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Daikin.h b/lib/IRremoteESP8266-2.7.2/src/ir_Daikin.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Daikin.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Daikin.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Denon.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Denon.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Denon.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Denon.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Dish.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Dish.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Dish.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Dish.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Electra.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Electra.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Electra.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Electra.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Electra.h b/lib/IRremoteESP8266-2.7.2/src/ir_Electra.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Electra.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Electra.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Fujitsu.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Fujitsu.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Fujitsu.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Fujitsu.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Fujitsu.h b/lib/IRremoteESP8266-2.7.2/src/ir_Fujitsu.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Fujitsu.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Fujitsu.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_GICable.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_GICable.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_GICable.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_GICable.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_GlobalCache.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_GlobalCache.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_GlobalCache.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_GlobalCache.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Goodweather.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Goodweather.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Goodweather.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Goodweather.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Goodweather.h b/lib/IRremoteESP8266-2.7.2/src/ir_Goodweather.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Goodweather.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Goodweather.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Gree.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Gree.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Gree.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Gree.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Gree.h b/lib/IRremoteESP8266-2.7.2/src/ir_Gree.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Gree.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Gree.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Haier.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Haier.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Haier.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Haier.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Haier.h b/lib/IRremoteESP8266-2.7.2/src/ir_Haier.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Haier.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Haier.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Hitachi.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Hitachi.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Hitachi.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Hitachi.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Hitachi.h b/lib/IRremoteESP8266-2.7.2/src/ir_Hitachi.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Hitachi.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Hitachi.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Inax.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Inax.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Inax.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Inax.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_JVC.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_JVC.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_JVC.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_JVC.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Kelvinator.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Kelvinator.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Kelvinator.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Kelvinator.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Kelvinator.h b/lib/IRremoteESP8266-2.7.2/src/ir_Kelvinator.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Kelvinator.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Kelvinator.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_LG.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_LG.cpp similarity index 56% rename from lib/IRremoteESP8266-2.7.1/src/ir_LG.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_LG.cpp index 124256e9f..ce0a36d3d 100644 --- a/lib/IRremoteESP8266-2.7.1/src/ir_LG.cpp +++ b/lib/IRremoteESP8266-2.7.2/src/ir_LG.cpp @@ -8,10 +8,20 @@ #include "ir_LG.h" #include +#include "IRac.h" #include "IRrecv.h" #include "IRsend.h" +#include "IRtext.h" #include "IRutils.h" +using irutils::addBoolToString; +using irutils::addModeToString; +using irutils::addModelToString; +using irutils::addFanToString; +using irutils::addTempToString; +using irutils::setBit; +using irutils::setBits; + // LG decode originally added by Darryl Smith (based on the JVC protocol) // LG send originally added by https://github.com/chaeplin @@ -283,3 +293,254 @@ bool IRrecv::decodeLG(decode_results *results, uint16_t nbits, bool strict) { return true; } #endif + +// LG A/C Class +// Support for LG-type A/C units. +// Ref: +// https://github.com/arendst/Tasmota/blob/54c2eb283a02e4287640a4595e506bc6eadbd7f2/sonoff/xdrv_05_irremote.ino#L327-438 +IRLgAc::IRLgAc(const uint16_t pin, const bool inverted, + const bool use_modulation) + : _irsend(pin, inverted, use_modulation) { this->stateReset(); } + +void IRLgAc::stateReset(void) { + setRaw(kLgAcOffCommand); + setModel(lg_ac_remote_model_t::GE6711AR2853M); +} + +void IRLgAc::begin(void) { _irsend.begin(); } + +#if SEND_LG +void IRLgAc::send(const uint16_t repeat) { + if (this->getPower()) + _irsend.send(this->_protocol, this->getRaw(), kLgBits, repeat); + else + // Always send the special Off command if the power is set to off. + // Ref: https://github.com/crankyoldgit/IRremoteESP8266/issues/1008#issuecomment-570763580 + _irsend.send(this->_protocol, kLgAcOffCommand, kLgBits, repeat); +} +#endif // SEND_LG + +void IRLgAc::setModel(const lg_ac_remote_model_t model) { + switch (model) { + case lg_ac_remote_model_t::AKB75215403: + _protocol = decode_type_t::LG2; + break; + case lg_ac_remote_model_t::GE6711AR2853M: + // FALL THRU + default: + _protocol = decode_type_t::LG; + } +} + +lg_ac_remote_model_t IRLgAc::getModel(void) { + switch (_protocol) { + case LG2: + return lg_ac_remote_model_t::AKB75215403; + case LG: + // FALL THRU + default: + return lg_ac_remote_model_t::GE6711AR2853M; + } +} + +uint32_t IRLgAc::getRaw(void) { + checksum(); + return remote_state; +} + +void IRLgAc::setRaw(const uint32_t new_code) { + remote_state = new_code; + _temp = 15; // Ensure there is a "sane" previous temp. + _temp = getTemp(); +} + +// Calculate the checksum for a given state. +// Args: +// state: The value to calculate the checksum of. +// Returns: +// A uint8_t of the checksum. +uint8_t IRLgAc::calcChecksum(const uint32_t state) { + return calcLGChecksum(state >> 4); +} + +// Verify the checksum is valid for a given state. +// Args: +// state: The value to verify the checksum of. +// Returns: +// A boolean. +bool IRLgAc::validChecksum(const uint32_t state) { + return calcChecksum(state) == GETBITS32(state, kLgAcChecksumOffset, + kLgAcChecksumSize); +} + +void IRLgAc::checksum(void) { + setBits(&remote_state, kLgAcChecksumOffset, kLgAcChecksumSize, + calcChecksum(remote_state)); +} + +void IRLgAc::on(void) { setPower(true); } + +void IRLgAc::off(void) { setPower(false); } + +void IRLgAc::setPower(const bool on) { + setBits(&remote_state, kLgAcPowerOffset, kLgAcPowerSize, + on ? kLgAcPowerOn : kLgAcPowerOff); + if (on) + setTemp(_temp); // Reset the temp if we are on. + else + _setTemp(0); // Off clears the temp. +} + +bool IRLgAc::getPower(void) { + return GETBITS32(remote_state, kLgAcPowerOffset, kLgAcPowerSize) == + kLgAcPowerOn; +} + +// Set the temp. (Internal use only) +void IRLgAc::_setTemp(const uint8_t value) { + setBits(&remote_state, kLgAcTempOffset, kLgAcTempSize, value); +} + +// Set the temp. in deg C +void IRLgAc::setTemp(const uint8_t degrees) { + uint8_t temp = std::max(kLgAcMinTemp, degrees); + temp = std::min(kLgAcMaxTemp, temp); + _temp = temp; + _setTemp(temp - kLgAcTempAdjust); +} + +// Return the set temp. in deg C +uint8_t IRLgAc::getTemp(void) { + if (getPower()) + return GETBITS32(remote_state, kLgAcTempOffset, kLgAcTempSize) + + kLgAcTempAdjust; + else + return _temp; +} + +// Set the speed of the fan. +void IRLgAc::setFan(const uint8_t speed) { + switch (speed) { + case kLgAcFanAuto: + case kLgAcFanLow: + case kLgAcFanMedium: + case kLgAcFanHigh: + setBits(&remote_state, kLgAcFanOffset, kLgAcFanSize, speed); + break; + default: + setFan(kLgAcFanAuto); + } +} + +uint8_t IRLgAc::getFan(void) { + return GETBITS32(remote_state, kLgAcFanOffset, kLgAcFanSize); +} + +uint8_t IRLgAc::getMode(void) { + return GETBITS32(remote_state, kLgAcModeOffset, kLgAcModeSize); +} + +void IRLgAc::setMode(const uint8_t mode) { + switch (mode) { + case kLgAcAuto: + case kLgAcDry: + case kLgAcHeat: + case kLgAcCool: + case kLgAcFan: + setBits(&remote_state, kLgAcModeOffset, kLgAcModeSize, mode); + break; + default: // If we get an unexpected mode, default to AUTO. + this->setMode(kLgAcAuto); + } +} + +// Convert a standard A/C mode into its native mode. +uint8_t IRLgAc::convertMode(const stdAc::opmode_t mode) { + switch (mode) { + case stdAc::opmode_t::kCool: return kLgAcCool; + case stdAc::opmode_t::kHeat: return kLgAcHeat; + case stdAc::opmode_t::kFan: return kLgAcFan; + case stdAc::opmode_t::kDry: return kLgAcDry; + default: return kLgAcAuto; + } +} + +// Convert a native mode to it's common equivalent. +stdAc::opmode_t IRLgAc::toCommonMode(const uint8_t mode) { + switch (mode) { + case kLgAcCool: return stdAc::opmode_t::kCool; + case kLgAcHeat: return stdAc::opmode_t::kHeat; + case kLgAcDry: return stdAc::opmode_t::kDry; + case kLgAcFan: return stdAc::opmode_t::kFan; + default: return stdAc::opmode_t::kAuto; + } +} + +// Convert a standard A/C Fan speed into its native fan speed. +uint8_t IRLgAc::convertFan(const stdAc::fanspeed_t speed) { + switch (speed) { + case stdAc::fanspeed_t::kMin: + case stdAc::fanspeed_t::kLow: return kLgAcFanLow; + case stdAc::fanspeed_t::kMedium: return kLgAcFanMedium; + case stdAc::fanspeed_t::kHigh: + case stdAc::fanspeed_t::kMax: return kHitachiAcFanHigh; + default: return kHitachiAcFanAuto; + } +} + +// Convert a native fan speed to it's common equivalent. +stdAc::fanspeed_t IRLgAc::toCommonFanSpeed(const uint8_t speed) { + switch (speed) { + case kLgAcFanHigh: return stdAc::fanspeed_t::kMax; + case kLgAcFanMedium: return stdAc::fanspeed_t::kMedium; + case kLgAcFanLow: return stdAc::fanspeed_t::kLow; + default: return stdAc::fanspeed_t::kAuto; + } +} + +// Convert the A/C state to it's common equivalent. +stdAc::state_t IRLgAc::toCommon(void) { + stdAc::state_t result; + result.protocol = decode_type_t::LG; + result.model = this->getModel(); + result.power = this->getPower(); + result.mode = this->toCommonMode(this->getMode()); + result.celsius = true; + result.degrees = this->getTemp(); + result.fanspeed = this->toCommonFanSpeed(this->getFan()); + // Not supported. + result.swingv = stdAc::swingv_t::kOff; + result.swingh = stdAc::swingh_t::kOff; + result.quiet = false; + result.turbo = false; + result.light = false; + result.filter = false; + result.clean = false; + result.econo = false; + result.beep = false; + result.sleep = -1; + result.clock = -1; + return result; +} + +// Convert the internal state into a human readable string. +String IRLgAc::toString(void) { + String result = ""; + result.reserve(80); // Reserve some heap for the string to reduce fragging. + result += addModelToString(_protocol, getModel(), false); + result += addBoolToString(getPower(), kPowerStr); + if (getPower()) { // Only display the rest if is in power on state. + result += addModeToString(getMode(), kLgAcAuto, kLgAcCool, + kLgAcHeat, kLgAcDry, kLgAcFan); + result += addTempToString(getTemp()); + result += addFanToString(getFan(), kLgAcFanHigh, kLgAcFanLow, + kLgAcFanAuto, kLgAcFanAuto, kLgAcFanMedium); + } + return result; +} + +bool IRLgAc::isValidLgAc(void) { + return validChecksum(remote_state) && + (GETBITS32(remote_state, kLgAcSignatureOffset, kLgAcSignatureSize) == + kLgAcSignature); +} diff --git a/lib/IRremoteESP8266-2.7.2/src/ir_LG.h b/lib/IRremoteESP8266-2.7.2/src/ir_LG.h new file mode 100644 index 000000000..1147b30b7 --- /dev/null +++ b/lib/IRremoteESP8266-2.7.2/src/ir_LG.h @@ -0,0 +1,108 @@ +// Copyright 2017, 2019 David Conran + +// Supports: +// Brand: LG, Model: 6711A20083V remote +// Brand: LG, Model: AKB74395308 remote +// Brand: LG, Model: S4-W12JA3AA A/C (LG2) +// Brand: LG, Model: AKB75215403 remote (LG2) +// Brand: General Electric, Model: AG1BH09AW101 Split A/C +// Brand: General Electric, Model: 6711AR2853M A/C Remote + +#ifndef IR_LG_H_ +#define IR_LG_H_ + +#define __STDC_LIMIT_MACROS +#include +#ifndef UNIT_TEST +#include +#endif +#include "IRremoteESP8266.h" +#include "IRsend.h" +#include "IRutils.h" +#ifdef UNIT_TEST +#include "IRsend_test.h" +#endif + +const uint8_t kLgAcChecksumOffset = 0; // Nr. of bits +const uint8_t kLgAcChecksumSize = kNibbleSize; // Nr. of bits +const uint8_t kLgAcFanOffset = 4; // Nr. of bits +const uint8_t kLgAcFanSize = 3; // Nr. of bits +const uint8_t kLgAcFanLow = 0; // 0b000 +const uint8_t kLgAcFanMedium = 2; // 0b010 +const uint8_t kLgAcFanHigh = 4; // 0b100 +const uint8_t kLgAcFanAuto = 5; // 0b101 +const uint8_t kLgAcTempOffset = 8; // Nr. of bits +const uint8_t kLgAcTempSize = 4; // Nr. of bits +const uint8_t kLgAcTempAdjust = 15; +const uint8_t kLgAcMinTemp = 16; // Celsius +const uint8_t kLgAcMaxTemp = 30; // Celsius +const uint8_t kLgAcModeOffset = 12; // Nr. of bits +const uint8_t kLgAcModeSize = 3; // Nr. of bits +const uint8_t kLgAcCool = 0; // 0b000 +const uint8_t kLgAcDry = 1; // 0b001 +const uint8_t kLgAcFan = 2; // 0b010 +const uint8_t kLgAcAuto = 3; // 0b011 +const uint8_t kLgAcHeat = 4; // 0b100 +const uint8_t kLgAcPowerOffset = 18; // Nr. of bits +const uint8_t kLgAcPowerSize = 2; // Nr. of bits +const uint8_t kLgAcPowerOff = 3; // 0b11 +const uint8_t kLgAcPowerOn = 0; // 0b00 +const uint8_t kLgAcSignatureOffset = 20; // Nr. of bits +const uint8_t kLgAcSignatureSize = 8; // Nr. of bits +const uint8_t kLgAcSignature = 0x88; + +const uint32_t kLgAcOffCommand = 0x88C0051; + +uint8_t calcLGChecksum(uint16_t data); + +// Classes +class IRLgAc { + public: + explicit IRLgAc(const uint16_t pin, const bool inverted = false, + const bool use_modulation = true); + + void stateReset(void); + static uint8_t calcChecksum(const uint32_t state); + static bool validChecksum(const uint32_t state); + bool isValidLgAc(void); +#if SEND_LG + void send(const uint16_t repeat = kLgDefaultRepeat); + uint8_t calibrate(void) { return _irsend.calibrate(); } +#endif // SEND_LG + void begin(void); + void on(void); + void off(void); + void setPower(const bool on); + bool getPower(void); + void setTemp(const uint8_t degrees); + uint8_t getTemp(void); + void setFan(const uint8_t speed); + uint8_t getFan(void); + void setMode(const uint8_t mode); + uint8_t getMode(void); + uint32_t getRaw(void); + void setRaw(const uint32_t new_code); + uint8_t convertMode(const stdAc::opmode_t mode); + static stdAc::opmode_t toCommonMode(const uint8_t mode); + static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed); + static uint8_t convertFan(const stdAc::fanspeed_t speed); + stdAc::state_t toCommon(void); + String toString(void); + void setModel(const lg_ac_remote_model_t model); + lg_ac_remote_model_t getModel(void); +#ifndef UNIT_TEST + + private: + IRsend _irsend; +#else + IRsendTest _irsend; +#endif + // The state of the IR remote in IR code form. + uint32_t remote_state; + uint8_t _temp; + decode_type_t _protocol; + void checksum(void); + void _setTemp(const uint8_t value); +}; + +#endif // IR_LG_H_ diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Lasertag.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Lasertag.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Lasertag.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Lasertag.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Lego.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Lego.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Lego.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Lego.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Lutron.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Lutron.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Lutron.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Lutron.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_MWM.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_MWM.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_MWM.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_MWM.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Magiquest.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Magiquest.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Magiquest.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Magiquest.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Magiquest.h b/lib/IRremoteESP8266-2.7.2/src/ir_Magiquest.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Magiquest.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Magiquest.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Midea.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Midea.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Midea.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Midea.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Midea.h b/lib/IRremoteESP8266-2.7.2/src/ir_Midea.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Midea.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Midea.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Mitsubishi.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Mitsubishi.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Mitsubishi.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Mitsubishi.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Mitsubishi.h b/lib/IRremoteESP8266-2.7.2/src/ir_Mitsubishi.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Mitsubishi.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Mitsubishi.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_MitsubishiHeavy.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_MitsubishiHeavy.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_MitsubishiHeavy.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_MitsubishiHeavy.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_MitsubishiHeavy.h b/lib/IRremoteESP8266-2.7.2/src/ir_MitsubishiHeavy.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_MitsubishiHeavy.h rename to lib/IRremoteESP8266-2.7.2/src/ir_MitsubishiHeavy.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_NEC.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_NEC.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_NEC.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_NEC.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_NEC.h b/lib/IRremoteESP8266-2.7.2/src/ir_NEC.h similarity index 53% rename from lib/IRremoteESP8266-2.7.1/src/ir_NEC.h rename to lib/IRremoteESP8266-2.7.2/src/ir_NEC.h index e45ff702c..6319d32dc 100644 --- a/lib/IRremoteESP8266-2.7.1/src/ir_NEC.h +++ b/lib/IRremoteESP8266-2.7.2/src/ir_NEC.h @@ -12,6 +12,7 @@ // Supports: // Brand: Yamaha, Model: RAV561 remote // Brand: Yamaha, Model: RXV585B A/V Receiver +// Brand: Aloka, Model: SleepyLights LED Lamp // Constants // Ref: @@ -41,4 +42,32 @@ const uint16_t kNecMinGapTicks = (kNecHdrMarkTicks + kNecHdrSpaceTicks + kNECBits * (kNecBitMarkTicks + kNecOneSpaceTicks) + kNecBitMarkTicks); +// IR codes and structure for kids ALOKA SleepyLights LED Lamp. +// https://aloka-designs.com/ +// Ref: https://github.com/crankyoldgit/IRremoteESP8266/issues/1004 +// +// May be useful for someone wanting to control the lamp. +// +// The lamp is toggled On and Off with the same power button. +// The colour, when selected, is the brightest and there are 4 levels of +// brightness that decrease on each send of the colour. A fifth send of the +// colour resets to brightest again. +// +// Remote buttons defined left to right, top line to bottom line on the remote. +const uint32_t kAlokaPower = 0xFF609F; +const uint32_t kAlokaLedWhite = 0xFF906F; +const uint32_t kAlokaLedGreen = 0xFF9867; +const uint32_t kAlokaLedBlue = 0xFFD827; +const uint32_t kAlokaLedPinkRed = 0xFF8877; +const uint32_t kAlokaLedRed = 0xFFA857; +const uint32_t kAlokaLedLightGreen = 0xFFE817; +const uint32_t kAlokaLedMidBlue = 0xFF48B7; +const uint32_t kAlokaLedPink = 0xFF6897; +const uint32_t kAlokaLedOrange = 0xFFB24D; +const uint32_t kAlokaLedYellow = 0xFF00FF; +const uint32_t kAlokaNightFade = 0xFF50AF; +const uint32_t kAlokaNightTimer = 0xFF7887; +const uint32_t kAlokaLedRainbow = 0xFF708F; +// Didn't have a better description for it... +const uint32_t kAlokaLedTreeGrow = 0xFF58A7; #endif // IR_NEC_H_ diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Neoclima.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Neoclima.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Neoclima.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Neoclima.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Neoclima.h b/lib/IRremoteESP8266-2.7.2/src/ir_Neoclima.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Neoclima.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Neoclima.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Nikai.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Nikai.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Nikai.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Nikai.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Panasonic.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Panasonic.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Panasonic.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Panasonic.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Panasonic.h b/lib/IRremoteESP8266-2.7.2/src/ir_Panasonic.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Panasonic.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Panasonic.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Pioneer.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Pioneer.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Pioneer.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Pioneer.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Pronto.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Pronto.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Pronto.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Pronto.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_RC5_RC6.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_RC5_RC6.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_RC5_RC6.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_RC5_RC6.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_RCMM.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_RCMM.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_RCMM.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_RCMM.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Samsung.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Samsung.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Samsung.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Samsung.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Samsung.h b/lib/IRremoteESP8266-2.7.2/src/ir_Samsung.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Samsung.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Samsung.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Sanyo.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Sanyo.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Sanyo.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Sanyo.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Sharp.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Sharp.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Sharp.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Sharp.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Sharp.h b/lib/IRremoteESP8266-2.7.2/src/ir_Sharp.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Sharp.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Sharp.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Sherwood.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Sherwood.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Sherwood.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Sherwood.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Sony.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Sony.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Sony.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Sony.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Tcl.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Tcl.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Tcl.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Tcl.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Tcl.h b/lib/IRremoteESP8266-2.7.2/src/ir_Tcl.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Tcl.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Tcl.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Teco.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Teco.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Teco.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Teco.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Teco.h b/lib/IRremoteESP8266-2.7.2/src/ir_Teco.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Teco.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Teco.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Toshiba.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Toshiba.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Toshiba.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Toshiba.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Toshiba.h b/lib/IRremoteESP8266-2.7.2/src/ir_Toshiba.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Toshiba.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Toshiba.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Trotec.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Trotec.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Trotec.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Trotec.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Trotec.h b/lib/IRremoteESP8266-2.7.2/src/ir_Trotec.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Trotec.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Trotec.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Vestel.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Vestel.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Vestel.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Vestel.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Vestel.h b/lib/IRremoteESP8266-2.7.2/src/ir_Vestel.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Vestel.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Vestel.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Whirlpool.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Whirlpool.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Whirlpool.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Whirlpool.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Whirlpool.h b/lib/IRremoteESP8266-2.7.2/src/ir_Whirlpool.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Whirlpool.h rename to lib/IRremoteESP8266-2.7.2/src/ir_Whirlpool.h diff --git a/lib/IRremoteESP8266-2.7.1/src/ir_Whynter.cpp b/lib/IRremoteESP8266-2.7.2/src/ir_Whynter.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/ir_Whynter.cpp rename to lib/IRremoteESP8266-2.7.2/src/ir_Whynter.cpp diff --git a/lib/IRremoteESP8266-2.7.1/src/locale/README.md b/lib/IRremoteESP8266-2.7.2/src/locale/README.md similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/locale/README.md rename to lib/IRremoteESP8266-2.7.2/src/locale/README.md diff --git a/lib/IRremoteESP8266-2.7.1/src/locale/de-CH.h b/lib/IRremoteESP8266-2.7.2/src/locale/de-CH.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/locale/de-CH.h rename to lib/IRremoteESP8266-2.7.2/src/locale/de-CH.h diff --git a/lib/IRremoteESP8266-2.7.1/src/locale/de-DE.h b/lib/IRremoteESP8266-2.7.2/src/locale/de-DE.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/locale/de-DE.h rename to lib/IRremoteESP8266-2.7.2/src/locale/de-DE.h diff --git a/lib/IRremoteESP8266-2.7.1/src/locale/defaults.h b/lib/IRremoteESP8266-2.7.2/src/locale/defaults.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/locale/defaults.h rename to lib/IRremoteESP8266-2.7.2/src/locale/defaults.h diff --git a/lib/IRremoteESP8266-2.7.1/src/locale/en-AU.h b/lib/IRremoteESP8266-2.7.2/src/locale/en-AU.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/locale/en-AU.h rename to lib/IRremoteESP8266-2.7.2/src/locale/en-AU.h diff --git a/lib/IRremoteESP8266-2.7.1/src/locale/en-IE.h b/lib/IRremoteESP8266-2.7.2/src/locale/en-IE.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/locale/en-IE.h rename to lib/IRremoteESP8266-2.7.2/src/locale/en-IE.h diff --git a/lib/IRremoteESP8266-2.7.1/src/locale/en-UK.h b/lib/IRremoteESP8266-2.7.2/src/locale/en-UK.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/locale/en-UK.h rename to lib/IRremoteESP8266-2.7.2/src/locale/en-UK.h diff --git a/lib/IRremoteESP8266-2.7.1/src/locale/en-US.h b/lib/IRremoteESP8266-2.7.2/src/locale/en-US.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/locale/en-US.h rename to lib/IRremoteESP8266-2.7.2/src/locale/en-US.h diff --git a/lib/IRremoteESP8266-2.7.1/src/locale/es-ES.h b/lib/IRremoteESP8266-2.7.2/src/locale/es-ES.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/locale/es-ES.h rename to lib/IRremoteESP8266-2.7.2/src/locale/es-ES.h diff --git a/lib/IRremoteESP8266-2.7.1/src/locale/fr-FR.h b/lib/IRremoteESP8266-2.7.2/src/locale/fr-FR.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/src/locale/fr-FR.h rename to lib/IRremoteESP8266-2.7.2/src/locale/fr-FR.h diff --git a/lib/IRremoteESP8266-2.7.1/test/IRac_test.cpp b/lib/IRremoteESP8266-2.7.2/test/IRac_test.cpp similarity index 93% rename from lib/IRremoteESP8266-2.7.1/test/IRac_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/IRac_test.cpp index 0d8dfdb12..2c17e2a92 100644 --- a/lib/IRremoteESP8266-2.7.1/test/IRac_test.cpp +++ b/lib/IRremoteESP8266-2.7.2/test/IRac_test.cpp @@ -11,6 +11,7 @@ #include "ir_Haier.h" #include "ir_Hitachi.h" #include "ir_Kelvinator.h" +#include "ir_LG.h" #include "ir_Midea.h" #include "ir_Mitsubishi.h" #include "ir_MitsubishiHeavy.h" @@ -640,6 +641,30 @@ TEST(TestIRac, Kelvinator) { ASSERT_EQ(expected, IRAcUtils::resultAcToString(&ac._irsend.capture)); } +TEST(TestIRac, LG) { + IRLgAc ac(0); + IRac irac(0); + IRrecv capture(0); + char expected[] = + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 1 (Dry), Temp: 27C, Fan: 2 (Medium)"; + + ac.begin(); + irac.lg(&ac, + lg_ac_remote_model_t::GE6711AR2853M, // Model + true, // Power + stdAc::opmode_t::kDry, // Mode + 27, // Degrees C + stdAc::fanspeed_t::kMedium); // Fan speed + + ASSERT_EQ(expected, ac.toString()); + ac._irsend.makeDecodeResult(); + EXPECT_TRUE(capture.decode(&ac._irsend.capture)); + ASSERT_EQ(LG, ac._irsend.capture.decode_type); + ASSERT_EQ(kLgBits, ac._irsend.capture.bits); + ASSERT_EQ(expected, IRAcUtils::resultAcToString(&ac._irsend.capture)); +} + TEST(TestIRac, Midea) { IRMideaAC ac(0); IRac irac(0); @@ -1485,3 +1510,90 @@ TEST(TestIRac, Issue821) { "m560s105040", ac._irsend.outputStr()); } + +// Check power toggling in Whirlpool common a/c handling. +TEST(TestIRac, Issue1001) { + stdAc::state_t desired; // New desired state + stdAc::state_t prev; // Previously desired state + stdAc::state_t result; // State we need to send to get to `desired` + prev.protocol = decode_type_t::WHIRLPOOL_AC; + prev.model = 1; + prev.power = true; + prev.mode = stdAc::opmode_t::kAuto; + prev.degrees = 24; + prev.celsius = true; + prev.fanspeed = stdAc::fanspeed_t::kAuto; + prev.swingv = stdAc::swingv_t::kOff; + prev.swingh = stdAc::swingh_t::kOff; + prev.quiet = false; + prev.turbo = false; + prev.econo = false; + prev.light = false; + prev.filter = false; + prev.clean = false; + prev.beep = false; + prev.sleep = -1; + + desired = prev; + desired.power = false; + + IRac irac(0); + IRrecv capture(0); + IRWhirlpoolAc ac(0); + + ac.begin(); + ASSERT_TRUE(prev.power); + ASSERT_FALSE(desired.power); + result = irac.handleToggles(irac.cleanState(desired), &prev); + ASSERT_TRUE(result.power); + irac.sendAc(desired, &prev); + ASSERT_FALSE(desired.power); + irac.whirlpool(&ac, + (whirlpool_ac_remote_model_t)result.model, // Model + result.power, // Power + result.mode, // Mode + result.degrees, // Celsius + result.fanspeed, // Fan speed + result.swingv, // Veritcal swing + result.turbo, // Turbo + result.light, // Light + result.sleep); // Sleep + ac._irsend.makeDecodeResult(); + EXPECT_TRUE(capture.decode(&ac._irsend.capture)); + ASSERT_EQ(WHIRLPOOL_AC, ac._irsend.capture.decode_type); + ASSERT_EQ(kWhirlpoolAcBits, ac._irsend.capture.bits); + ASSERT_EQ("Model: 1 (DG11J13A), Power Toggle: On, Mode: 1 (Auto), Temp: 24C, " + "Fan: 0 (Auto), Swing: Off, Light: Off, Clock: 00:00, " + "On Timer: Off, Off Timer: Off, Sleep: Off, Super: Off, " + "Command: 1 (Power)", + IRAcUtils::resultAcToString(&ac._irsend.capture)); + + // Now check if the mode is set to "Off" instead of just change to power off. + // i.e. How Home Assistant expects things to work. + ac._irsend.reset(); + desired.power = true; + desired.mode = stdAc::opmode_t::kOff; + result = irac.handleToggles(irac.cleanState(desired), &prev); + ASSERT_TRUE(result.power); + irac.sendAc(desired, &prev); + ASSERT_TRUE(desired.power); + irac.whirlpool(&ac, + (whirlpool_ac_remote_model_t)result.model, // Model + result.power, // Power + result.mode, // Mode + result.degrees, // Celsius + result.fanspeed, // Fan speed + result.swingv, // Veritcal swing + result.turbo, // Turbo + result.light, // Light + result.sleep); // Sleep + ac._irsend.makeDecodeResult(); + EXPECT_TRUE(capture.decode(&ac._irsend.capture)); + ASSERT_EQ(WHIRLPOOL_AC, ac._irsend.capture.decode_type); + ASSERT_EQ(kWhirlpoolAcBits, ac._irsend.capture.bits); + ASSERT_EQ("Model: 1 (DG11J13A), Power Toggle: On, Mode: 1 (Auto), Temp: 24C, " + "Fan: 0 (Auto), Swing: Off, Light: Off, Clock: 00:00, " + "On Timer: Off, Off Timer: Off, Sleep: Off, Super: Off, " + "Command: 1 (Power)", + IRAcUtils::resultAcToString(&ac._irsend.capture)); +} diff --git a/lib/IRremoteESP8266-2.7.1/test/IRrecv_test.cpp b/lib/IRremoteESP8266-2.7.2/test/IRrecv_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/IRrecv_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/IRrecv_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/IRrecv_test.h b/lib/IRremoteESP8266-2.7.2/test/IRrecv_test.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/IRrecv_test.h rename to lib/IRremoteESP8266-2.7.2/test/IRrecv_test.h diff --git a/lib/IRremoteESP8266-2.7.1/test/IRsend_test.cpp b/lib/IRremoteESP8266-2.7.2/test/IRsend_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/IRsend_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/IRsend_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/IRsend_test.h b/lib/IRremoteESP8266-2.7.2/test/IRsend_test.h similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/IRsend_test.h rename to lib/IRremoteESP8266-2.7.2/test/IRsend_test.h diff --git a/lib/IRremoteESP8266-2.7.1/test/IRutils_test.cpp b/lib/IRremoteESP8266-2.7.2/test/IRutils_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/IRutils_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/IRutils_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/Makefile b/lib/IRremoteESP8266-2.7.2/test/Makefile similarity index 99% rename from lib/IRremoteESP8266-2.7.1/test/Makefile rename to lib/IRremoteESP8266-2.7.2/test/Makefile index ad75937b8..cdf133913 100644 --- a/lib/IRremoteESP8266-2.7.1/test/Makefile +++ b/lib/IRremoteESP8266-2.7.2/test/Makefile @@ -265,7 +265,7 @@ ir_RCMM_test : $(COMMON_OBJ) ir_RCMM_test.o $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ ir_LG.o : $(USER_DIR)/ir_LG.h $(USER_DIR)/ir_LG.cpp $(COMMON_DEPS) - $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_LG.cpp + $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(INCLUDES) -c $(USER_DIR)/ir_LG.cpp ir_LG_test.o : ir_LG_test.cpp $(USER_DIR)/ir_LG.h $(COMMON_TEST_DEPS) $(GTEST_HEADERS) $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(INCLUDES) -c ir_LG_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Aiwa_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Aiwa_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Aiwa_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Aiwa_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Amcor_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Amcor_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Amcor_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Amcor_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Argo_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Argo_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Argo_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Argo_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Carrier_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Carrier_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Carrier_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Carrier_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Coolix_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Coolix_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Coolix_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Coolix_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Daikin_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Daikin_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Daikin_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Daikin_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Denon_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Denon_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Denon_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Denon_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Dish_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Dish_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Dish_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Dish_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Electra_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Electra_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Electra_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Electra_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Fujitsu_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Fujitsu_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Fujitsu_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Fujitsu_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_GICable_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_GICable_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_GICable_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_GICable_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_GlobalCache_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_GlobalCache_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_GlobalCache_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_GlobalCache_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Goodweather_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Goodweather_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Goodweather_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Goodweather_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Gree_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Gree_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Gree_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Gree_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Haier_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Haier_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Haier_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Haier_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Hitachi_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Hitachi_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Hitachi_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Hitachi_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Inax_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Inax_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Inax_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Inax_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_JVC_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_JVC_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_JVC_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_JVC_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Kelvinator_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Kelvinator_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Kelvinator_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Kelvinator_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_LG_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_LG_test.cpp similarity index 59% rename from lib/IRremoteESP8266-2.7.1/test/ir_LG_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_LG_test.cpp index d1e1b8659..1c2b2a856 100644 --- a/lib/IRremoteESP8266-2.7.1/test/ir_LG_test.cpp +++ b/lib/IRremoteESP8266-2.7.2/test/ir_LG_test.cpp @@ -1,6 +1,7 @@ -// Copyright 2017 David Conran +// Copyright 2017, 2019 David Conran #include "ir_LG.h" +#include "IRac.h" #include "IRsend.h" #include "IRsend_test.h" #include "gtest/gtest.h" @@ -18,6 +19,10 @@ TEST(TestCalcLGChecksum, General) { EXPECT_EQ(0xE, calcLGChecksum(0xABCD)); EXPECT_EQ(0x1, calcLGChecksum(0x4AE5)); EXPECT_EQ(0xC, calcLGChecksum(0xFFFF)); + EXPECT_EQ(0x1, calcLGChecksum(0xC005)); + EXPECT_EQ(0x1, IRLgAc::calcChecksum(0x88C0051)); + EXPECT_EQ(0x4, calcLGChecksum(0xC035)); + EXPECT_EQ(0x4, IRLgAc::calcChecksum(0x88C0354)); } // Tests for sendLG(). @@ -457,6 +462,7 @@ TEST(TestDecodeLG, Issue620) { // Resend the same code as the report is a sent code doesn't decode // to the same message code. + IRLgAc ac(0); irsend.sendLG(0x8808721); irsend.makeDecodeResult(); ASSERT_TRUE(irrecv.decode(&irsend.capture)); @@ -465,6 +471,11 @@ TEST(TestDecodeLG, Issue620) { EXPECT_EQ(0x8808721, irsend.capture.value); EXPECT_EQ(0x88, irsend.capture.address); EXPECT_EQ(0x872, irsend.capture.command); + ac.setRaw(irsend.capture.value); + ASSERT_TRUE(ac.isValidLgAc()); + EXPECT_EQ("Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 0 (Cool), Temp: 22C, Fan: 2 (Medium)", + ac.toString()); // The following seems to match the rawData above. EXPECT_EQ( "f38000d50" @@ -478,3 +489,390 @@ TEST(TestDecodeLG, Issue620) { "s55550", irsend.outputStr()); } + +TEST(TestIRLgAcClass, SetAndGetPower) { + IRLgAc ac(0); + ac.on(); + EXPECT_TRUE(ac.getPower()); + ac.off(); + EXPECT_FALSE(ac.getPower()); + ac.setPower(true); + EXPECT_TRUE(ac.getPower()); + ac.setPower(false); + EXPECT_FALSE(ac.getPower()); +} + +TEST(TestIRLgAcClass, SetAndGetTemp) { + IRLgAc ac(0); + ac.setTemp(25); + EXPECT_EQ(25, ac.getTemp()); + ac.setTemp(kLgAcMinTemp); + EXPECT_EQ(kLgAcMinTemp, ac.getTemp()); + ac.setTemp(kLgAcMinTemp - 1); + EXPECT_EQ(kLgAcMinTemp, ac.getTemp()); + ac.setTemp(kLgAcMaxTemp); + EXPECT_EQ(kLgAcMaxTemp, ac.getTemp()); + ac.setTemp(kLgAcMaxTemp + 1); + EXPECT_EQ(kLgAcMaxTemp, ac.getTemp()); +} + +TEST(TestIRLgAcClass, SetAndGetMode) { + IRLgAc ac(0); + ac.setMode(kLgAcCool); + ac.setFan(kLgAcFanAuto); + ac.setTemp(25); + EXPECT_EQ(25, ac.getTemp()); + EXPECT_EQ(kLgAcCool, ac.getMode()); + EXPECT_EQ(kLgAcFanAuto, ac.getFan()); + ac.setMode(kLgAcHeat); + EXPECT_EQ(kLgAcHeat, ac.getMode()); + ac.setMode(kLgAcDry); + EXPECT_EQ(kLgAcDry, ac.getMode()); +} + +TEST(TestIRLgAcClass, SetAndGetFan) { + IRLgAc ac(0); + ac.setMode(kLgAcCool); + ac.setFan(kLgAcFanAuto); + EXPECT_EQ(kLgAcFanAuto, ac.getFan()); + ac.setFan(kLgAcFanLow); + EXPECT_EQ(kLgAcFanLow, ac.getFan()); + ac.setFan(kLgAcFanHigh); + EXPECT_EQ(kLgAcFanHigh, ac.getFan()); + ac.setFan(kLgAcFanAuto + 1); + EXPECT_EQ(kLgAcFanAuto, ac.getFan()); + ac.setFan(kLgAcFanLow - 1); + EXPECT_EQ(kLgAcFanAuto, ac.getFan()); +} + +TEST(TestIRLgAcClass, toCommon) { + IRLgAc ac(0); + ac.setPower(true); + ac.setMode(kLgAcCool); + ac.setTemp(20); + ac.setFan(kLgAcFanHigh); + // Now test it. + ASSERT_EQ(decode_type_t::LG, ac.toCommon().protocol); + ASSERT_EQ(lg_ac_remote_model_t::GE6711AR2853M, ac.toCommon().model); + ASSERT_TRUE(ac.toCommon().power); + ASSERT_TRUE(ac.toCommon().celsius); + ASSERT_EQ(20, ac.toCommon().degrees); + ASSERT_EQ(stdAc::opmode_t::kCool, ac.toCommon().mode); + ASSERT_EQ(stdAc::fanspeed_t::kMax, ac.toCommon().fanspeed); + // Unsupported. + ASSERT_EQ(stdAc::swingv_t::kOff, ac.toCommon().swingv); + ASSERT_EQ(stdAc::swingh_t::kOff, ac.toCommon().swingh); + ASSERT_FALSE(ac.toCommon().turbo); + ASSERT_FALSE(ac.toCommon().clean); + ASSERT_FALSE(ac.toCommon().light); + ASSERT_FALSE(ac.toCommon().quiet); + ASSERT_FALSE(ac.toCommon().econo); + ASSERT_FALSE(ac.toCommon().filter); + ASSERT_FALSE(ac.toCommon().beep); + ASSERT_EQ(-1, ac.toCommon().sleep); + ASSERT_EQ(-1, ac.toCommon().clock); + + // Change models + ac.setModel(AKB75215403); + ASSERT_EQ(lg_ac_remote_model_t::AKB75215403, ac.toCommon().model); +} + +TEST(TestIRLgAcClass, HumanReadable) { + IRLgAc ac(0); + + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: Off", + ac.toString()); + ac.setMode(kLgAcHeat); + ac.setTemp(kLgAcMaxTemp); + ac.on(); + ac.setFan(kLgAcFanHigh); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 4 (Heat), Temp: 30C, Fan: 4 (High)", + ac.toString()); + ac.setMode(kLgAcCool); + ac.setFan(kLgAcFanLow); + ac.setTemp(kLgAcMinTemp); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 0 (Cool), Temp: 16C, Fan: 0 (Low)", + ac.toString()); + ac.setTemp(ac.getTemp() + 1); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 0 (Cool), Temp: 17C, Fan: 0 (Low)", + ac.toString()); + ac.setTemp(ac.getTemp() - 1); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 0 (Cool), Temp: 16C, Fan: 0 (Low)", + ac.toString()); + ac.setPower(false); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: Off", + ac.toString()); +} + +TEST(TestIRLgAcClass, SetAndGetRaw) { + IRLgAc ac(0); + + ac.setRaw(0x8800A4E); + ASSERT_EQ(0x8800A4E, ac.getRaw()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 0 (Cool), Temp: 25C, Fan: 4 (High)", + ac.toString()); + + ac.setRaw(0x88C0051); + ASSERT_EQ(0x88C0051, ac.getRaw()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: Off", + ac.toString()); +} + +TEST(TestIRLgAcClass, MessageConstruction) { + IRLgAc ac(0); + + ac.on(); + ac.setMode(kLgAcCool); + ac.setTemp(25); + ac.setFan(kLgAcFanHigh); + ASSERT_EQ(0x8800A4E, ac.getRaw()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 0 (Cool), Temp: 25C, Fan: 4 (High)", + ac.toString()); +} + +TEST(TestIRLgAcClass, isValidLgAc) { + IRLgAc ac(0); + + ac.setRaw(0x8800A4E); + ASSERT_TRUE(ac.isValidLgAc()); + + // Make the checksum wrong. + ac.setRaw(0x8800A4F); + ASSERT_FALSE(ac.isValidLgAc()); + + ac.setRaw(0x88C0051); + ASSERT_TRUE(ac.isValidLgAc()); + + // Use a wrong signature. + ac.setRaw(0x8000A4E); + ASSERT_FALSE(ac.isValidLgAc()); +} + +TEST(TestUtils, Housekeeping) { + ASSERT_EQ("LG", typeToString(decode_type_t::LG)); + ASSERT_EQ(decode_type_t::LG, strToDecodeType("LG")); + ASSERT_FALSE(hasACState(decode_type_t::LG)); + ASSERT_TRUE(IRac::isProtocolSupported(decode_type_t::LG)); + + ASSERT_EQ("LG2", typeToString(decode_type_t::LG2)); + ASSERT_EQ(decode_type_t::LG2, strToDecodeType("LG2")); + ASSERT_FALSE(hasACState(decode_type_t::LG2)); + ASSERT_TRUE(IRac::isProtocolSupported(decode_type_t::LG2)); +} + +TEST(TestIRLgAcClass, KnownExamples) { + IRLgAc ac(0); + // Ref: + // https://github.com/crankyoldgit/IRremoteESP8266/issues/1008#issuecomment-570646648 + + // Temp + ac.setRaw(0x880C152); + ASSERT_TRUE(ac.isValidLgAc()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 4 (Heat), Temp: 16C, Fan: 5 (Auto)", + ac.toString()); + + ac.setRaw(0x880CF50); + ASSERT_TRUE(ac.isValidLgAc()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 4 (Heat), Temp: 30C, Fan: 5 (Auto)", + ac.toString()); + + // Modes + ac.setRaw(0x880960F); + ASSERT_TRUE(ac.isValidLgAc()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 1 (Dry), Temp: 21C, Fan: 0 (Low)", + ac.toString()); + + ac.setRaw(0x880C758); + ASSERT_TRUE(ac.isValidLgAc()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 4 (Heat), Temp: 22C, Fan: 5 (Auto)", + ac.toString()); + + ac.setRaw(0x8808855); + ASSERT_TRUE(ac.isValidLgAc()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 0 (Cool), Temp: 23C, Fan: 5 (Auto)", + ac.toString()); + + // Fan speeds + ac.setRaw(0x880870F); + ASSERT_TRUE(ac.isValidLgAc()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 0 (Cool), Temp: 22C, Fan: 0 (Low)", + ac.toString()); + + ac.setRaw(0x8808721); + ASSERT_TRUE(ac.isValidLgAc()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 0 (Cool), Temp: 22C, Fan: 2 (Medium)", + ac.toString()); + + ac.setRaw(0x8808743); + ASSERT_TRUE(ac.isValidLgAc()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 0 (Cool), Temp: 22C, Fan: 4 (High)", + ac.toString()); + + ac.setRaw(0x8808754); + ASSERT_TRUE(ac.isValidLgAc()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 0 (Cool), Temp: 22C, Fan: 5 (Auto)", + ac.toString()); + + ac.setRaw(0x880A745); + ASSERT_TRUE(ac.isValidLgAc()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 2 (Fan), Temp: 22C, Fan: 4 (High)", + ac.toString()); + + // https://github.com/crankyoldgit/IRremoteESP8266/issues/1008#issuecomment-570794029 + ac.setRaw(0x8800347); + ASSERT_TRUE(ac.isValidLgAc()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 0 (Cool), Temp: 18C, Fan: 4 (High)", + ac.toString()); + ac.setRaw(0x8808440); + ASSERT_TRUE(ac.isValidLgAc()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 0 (Cool), Temp: 19C, Fan: 4 (High)", + ac.toString()); + ac.setRaw(0x8800459); + ASSERT_TRUE(ac.isValidLgAc()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 0 (Cool), Temp: 19C, Fan: 5 (Auto)", + ac.toString()); + ac.setRaw(0x8809946); + ASSERT_TRUE(ac.isValidLgAc()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 1 (Dry), Temp: 24C, Fan: 4 (High)", + ac.toString()); + ac.setRaw(0x880A341); + ASSERT_TRUE(ac.isValidLgAc()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 2 (Fan), Temp: 18C, Fan: 4 (High)", + ac.toString()); + ac.setRaw(0x8810045); + ASSERT_TRUE(ac.isValidLgAc()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 0 (Cool), Temp: 15C, Fan: 4 (High)", + ac.toString()); + ac.setRaw(0x8810056); + ASSERT_TRUE(ac.isValidLgAc()); + EXPECT_EQ( + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 0 (Cool), Temp: 15C, Fan: 5 (Auto)", + ac.toString()); +} + +// Verify decoding of LG2 message. +TEST(TestDecodeLG2, Issue1008) { + IRsendTest irsend(0); + IRrecv capture(0); + irsend.begin(); + + irsend.reset(); + // From https://github.com/crankyoldgit/IRremoteESP8266/issues/1008#issuecomment-570794029 + // First entry. + uint16_t rawData[59] = { + 3272, 9844, 506, 1588, 536, 498, 534, 498, 536, 498, 534, 1540, 534, 506, + 534, 498, 534, 500, 532, 500, 534, 498, 534, 498, 534, 506, 534, 500, 534, + 498, 534, 498, 534, 498, 534, 500, 534, 498, 534, 1566, 508, 1566, 508, + 500, 534, 1540, 534, 506, 534, 500, 534, 500, 534, 1560, 508, 1540, 534, + 1558, 508}; // UNKNOWN AFC3034C + irsend.sendRaw(rawData, 59, 38000); + irsend.makeDecodeResult(); + + ASSERT_TRUE(capture.decode(&irsend.capture)); + ASSERT_EQ(LG2, irsend.capture.decode_type); + EXPECT_EQ(kLgBits, irsend.capture.bits); + EXPECT_EQ(0x8800347, irsend.capture.value); + + irsend.reset(); + IRLgAc ac(0); + ac.setRaw(0x8800347); + ac.setModel(lg_ac_remote_model_t::AKB75215403); // aka. 2 + ac.send(); + + char expected[] = + "Model: 2 (AKB75215403), " + "Power: On, Mode: 0 (Cool), Temp: 18C, Fan: 4 (High)"; + ASSERT_EQ(expected, ac.toString()); + ac._irsend.makeDecodeResult(); + EXPECT_TRUE(capture.decode(&ac._irsend.capture)); + ASSERT_EQ(LG2, ac._irsend.capture.decode_type); + ASSERT_EQ(kLgBits, ac._irsend.capture.bits); + ASSERT_EQ(expected, IRAcUtils::resultAcToString(&ac._irsend.capture)); +} + +TEST(TestIRLgAcClass, DifferentModels) { + IRLgAc ac(0); + IRrecv capture(0); + + ac.setRaw(0x8800347); + + ac.setModel(lg_ac_remote_model_t::GE6711AR2853M); // aka. 1 + ac._irsend.reset(); + ac.send(); + + char expected1[] = + "Model: 1 (GE6711AR2853M), " + "Power: On, Mode: 0 (Cool), Temp: 18C, Fan: 4 (High)"; + ASSERT_EQ(expected1, ac.toString()); + ac._irsend.makeDecodeResult(); + EXPECT_TRUE(capture.decode(&ac._irsend.capture)); + ASSERT_EQ(LG, ac._irsend.capture.decode_type); // Not "LG2" + ASSERT_EQ(kLgBits, ac._irsend.capture.bits); + ASSERT_EQ(expected1, IRAcUtils::resultAcToString(&ac._irsend.capture)); + + + ac.setModel(lg_ac_remote_model_t::AKB75215403); // aka. 2 + ac._irsend.reset(); + ac.send(); + + char expected2[] = + "Model: 2 (AKB75215403), " + "Power: On, Mode: 0 (Cool), Temp: 18C, Fan: 4 (High)"; + ASSERT_EQ(expected2, ac.toString()); + ac._irsend.makeDecodeResult(); + EXPECT_TRUE(capture.decode(&ac._irsend.capture)); + ASSERT_EQ(LG2, ac._irsend.capture.decode_type); // Not "LG" + ASSERT_EQ(kLgBits, ac._irsend.capture.bits); + ASSERT_EQ(expected2, IRAcUtils::resultAcToString(&ac._irsend.capture)); +} diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Lasertag_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Lasertag_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Lasertag_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Lasertag_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Lego_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Lego_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Lego_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Lego_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Lutron_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Lutron_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Lutron_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Lutron_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_MWM_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_MWM_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_MWM_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_MWM_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Magiquest_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Magiquest_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Magiquest_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Magiquest_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Midea_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Midea_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Midea_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Midea_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_MitsubishiHeavy_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_MitsubishiHeavy_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_MitsubishiHeavy_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_MitsubishiHeavy_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Mitsubishi_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Mitsubishi_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Mitsubishi_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Mitsubishi_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_NEC_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_NEC_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_NEC_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_NEC_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Neoclima_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Neoclima_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Neoclima_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Neoclima_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Nikai_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Nikai_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Nikai_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Nikai_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Panasonic_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Panasonic_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Panasonic_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Panasonic_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Pioneer_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Pioneer_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Pioneer_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Pioneer_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Pronto_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Pronto_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Pronto_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Pronto_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_RC5_RC6_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_RC5_RC6_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_RC5_RC6_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_RC5_RC6_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_RCMM_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_RCMM_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_RCMM_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_RCMM_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Samsung_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Samsung_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Samsung_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Samsung_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Sanyo_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Sanyo_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Sanyo_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Sanyo_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Sharp_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Sharp_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Sharp_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Sharp_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Sherwood_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Sherwood_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Sherwood_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Sherwood_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Sony_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Sony_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Sony_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Sony_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Tcl_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Tcl_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Tcl_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Tcl_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Teco_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Teco_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Teco_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Teco_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Toshiba_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Toshiba_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Toshiba_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Toshiba_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Trotec_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Trotec_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Trotec_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Trotec_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Vestel_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Vestel_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Vestel_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Vestel_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Whirlpool_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Whirlpool_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Whirlpool_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Whirlpool_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/test/ir_Whynter_test.cpp b/lib/IRremoteESP8266-2.7.2/test/ir_Whynter_test.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/test/ir_Whynter_test.cpp rename to lib/IRremoteESP8266-2.7.2/test/ir_Whynter_test.cpp diff --git a/lib/IRremoteESP8266-2.7.1/tools/Makefile b/lib/IRremoteESP8266-2.7.2/tools/Makefile similarity index 99% rename from lib/IRremoteESP8266-2.7.1/tools/Makefile rename to lib/IRremoteESP8266-2.7.2/tools/Makefile index bf23fbce6..6868f97db 100644 --- a/lib/IRremoteESP8266-2.7.1/tools/Makefile +++ b/lib/IRremoteESP8266-2.7.2/tools/Makefile @@ -118,7 +118,7 @@ ir_RCMM.o : $(USER_DIR)/ir_RCMM.cpp $(COMMON_DEPS) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_RCMM.cpp ir_LG.o : $(USER_DIR)/ir_LG.h $(USER_DIR)/ir_LG.cpp $(COMMON_DEPS) - $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_LG.cpp + $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(INCLUDES) -c $(USER_DIR)/ir_LG.cpp ir_Mitsubishi.o : $(USER_DIR)/ir_Mitsubishi.h $(USER_DIR)/ir_Mitsubishi.cpp $(COMMON_DEPS) $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(INCLUDES) -c $(USER_DIR)/ir_Mitsubishi.cpp diff --git a/lib/IRremoteESP8266-2.7.1/tools/RawToGlobalCache.sh b/lib/IRremoteESP8266-2.7.2/tools/RawToGlobalCache.sh similarity index 100% rename from lib/IRremoteESP8266-2.7.1/tools/RawToGlobalCache.sh rename to lib/IRremoteESP8266-2.7.2/tools/RawToGlobalCache.sh diff --git a/lib/IRremoteESP8266-2.7.1/tools/auto_analyse_raw_data.py b/lib/IRremoteESP8266-2.7.2/tools/auto_analyse_raw_data.py similarity index 100% rename from lib/IRremoteESP8266-2.7.1/tools/auto_analyse_raw_data.py rename to lib/IRremoteESP8266-2.7.2/tools/auto_analyse_raw_data.py diff --git a/lib/IRremoteESP8266-2.7.1/tools/auto_analyse_raw_data_test.py b/lib/IRremoteESP8266-2.7.2/tools/auto_analyse_raw_data_test.py similarity index 100% rename from lib/IRremoteESP8266-2.7.1/tools/auto_analyse_raw_data_test.py rename to lib/IRremoteESP8266-2.7.2/tools/auto_analyse_raw_data_test.py diff --git a/lib/IRremoteESP8266-2.7.1/tools/gc_decode.cpp b/lib/IRremoteESP8266-2.7.2/tools/gc_decode.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/tools/gc_decode.cpp rename to lib/IRremoteESP8266-2.7.2/tools/gc_decode.cpp diff --git a/lib/IRremoteESP8266-2.7.1/tools/generate_irtext_h.sh b/lib/IRremoteESP8266-2.7.2/tools/generate_irtext_h.sh similarity index 100% rename from lib/IRremoteESP8266-2.7.1/tools/generate_irtext_h.sh rename to lib/IRremoteESP8266-2.7.2/tools/generate_irtext_h.sh diff --git a/lib/IRremoteESP8266-2.7.1/tools/mkkeywords b/lib/IRremoteESP8266-2.7.2/tools/mkkeywords similarity index 100% rename from lib/IRremoteESP8266-2.7.1/tools/mkkeywords rename to lib/IRremoteESP8266-2.7.2/tools/mkkeywords diff --git a/lib/IRremoteESP8266-2.7.1/tools/mode2_decode.cpp b/lib/IRremoteESP8266-2.7.2/tools/mode2_decode.cpp similarity index 100% rename from lib/IRremoteESP8266-2.7.1/tools/mode2_decode.cpp rename to lib/IRremoteESP8266-2.7.2/tools/mode2_decode.cpp diff --git a/lib/IRremoteESP8266-2.7.1/tools/scrape_supported_devices.py b/lib/IRremoteESP8266-2.7.2/tools/scrape_supported_devices.py similarity index 96% rename from lib/IRremoteESP8266-2.7.1/tools/scrape_supported_devices.py rename to lib/IRremoteESP8266-2.7.2/tools/scrape_supported_devices.py index 574eac351..a0efd0774 100755 --- a/lib/IRremoteESP8266-2.7.1/tools/scrape_supported_devices.py +++ b/lib/IRremoteESP8266-2.7.2/tools/scrape_supported_devices.py @@ -12,11 +12,12 @@ BRAND_MODEL = re.compile(r"Brand: *(?P.+), *Model: *(?P.+)") ENUMS = re.compile(r"enum \w+ {(.+?)};", re.DOTALL) ENUM_ENTRY = re.compile(r"^\s+(\w+)", re.MULTILINE) DECODED_PROTOCOLS = re.compile(r".*results->decode_type *=.*?(\w+);") -AC_FN = re.compile(r"ir_(.+).h") +AC_FN = re.compile(r"ir_(.+)\.h") -ALL_FN = re.compile(r"ir_(.+).(h|cpp)") +ALL_FN = re.compile(r"ir_(.+)\.(h|cpp)") EXCLUDED_PROTOCOLS = ["UNKNOWN", "UNUSED", "kLastDecodeType"] +EXCLUDED_ACS = ["Magiquest", "NEC"] MARKDOWN_HEADER = """