From 4e6784f9bf9b269e889f667d1e36a65e9d5be99c Mon Sep 17 00:00:00 2001 From: David Conran Date: Sat, 13 Feb 2021 20:12:36 +1000 Subject: [PATCH] v2.7.15 release (#1411) ##_v2.7.15 (20210213)_ **[BREAKING CHANGES]** - Some Daikin2 constants have been changed. (#1393) **[Features]** - Experimental basic support for EcoClim 56 & 15 bit protocols. (#1397 #1410) - MITSUBISHI_AC: Add support for enabling Weekly Timer. (#1403 #1404) - Mitsubishi ACs: Improve handling swing/vane settings. (#1399 #1401) - MITSUBISHI_AC: Add support for half degrees. (#1398 #1400) - Add `irutils::addSwing[V|H]ToString()` and adjust some constants (#1365 #1393) - SharpAc: Add support for model A903, and improve `IRac` fan & power control. (#1387 #1390) - Experimental support for Milestag2 (#1360 #1380) **[Misc]** - Improve `IRac::sendAc()` documentation. (#1408 #1409) - refactor ir_Transcold (#1407) - refactor ir_Toshiba (#1395) - Fix Travis-CI build issues. (#1396) - refactor ir_Teco (#1392) - Fujitsu A/C: Add warning/suggestions for AR-RAH1U devices (#1376 #1386) - refactor ir_Technibel (#1385) - Add the new logo and banner :tada: (#1371 #1372) - Update references to sbprojects website. (#1381 #1383) - refactor ir_Tcl (#1379) --- README.md | 4 +- README_de.md | 4 +- README_fr.md | 4 +- ReleaseNotes.md | 27 + SupportedProtocols.md | 8 +- docs/doxygen/html/IRac_8h_source.html | 132 +- docs/doxygen/html/IRrecv_8h_source.html | 1304 ++--- docs/doxygen/html/IRremoteESP8266_8h.html | 91 +- .../html/IRremoteESP8266_8h_source.html | 1580 +++--- docs/doxygen/html/IRsend_8h.html | 19 +- docs/doxygen/html/IRsend_8h_source.html | 1578 +++--- docs/doxygen/html/IRutils_8cpp.html | 9 + docs/doxygen/html/IRutils_8h.html | 9 + docs/doxygen/html/IRutils_8h_source.html | 172 +- docs/doxygen/html/annotated.html | 201 +- .../html/classIRMitsubishiAC-members.html | 34 +- docs/doxygen/html/classIRMitsubishiAC.html | 85 +- docs/doxygen/html/classIRSharpAc-members.html | 2 +- docs/doxygen/html/classIRSharpAc.html | 27 +- .../doxygen/html/classIRTcl112Ac-members.html | 48 +- docs/doxygen/html/classIRTcl112Ac.html | 198 +- .../html/classIRTcl112Ac__coll__graph.map | 5 +- .../html/classIRTcl112Ac__coll__graph.md5 | 2 +- .../html/classIRTcl112Ac__coll__graph.png | Bin 2945 -> 5627 bytes .../html/classIRTechnibelAc-members.html | 58 +- docs/doxygen/html/classIRTechnibelAc.html | 297 +- .../html/classIRTechnibelAc__coll__graph.map | 5 +- .../html/classIRTechnibelAc__coll__graph.md5 | 2 +- .../html/classIRTechnibelAc__coll__graph.png | Bin 3199 -> 6013 bytes docs/doxygen/html/classIRTecoAc-members.html | 46 +- docs/doxygen/html/classIRTecoAc.html | 222 +- .../html/classIRTecoAc__coll__graph.map | 5 +- .../html/classIRTecoAc__coll__graph.md5 | 2 +- .../html/classIRTecoAc__coll__graph.png | Bin 3054 -> 5539 bytes .../html/classIRToshibaAC-members.html | 32 +- docs/doxygen/html/classIRToshibaAC.html | 212 +- .../html/classIRToshibaAC__coll__graph.map | 5 +- .../html/classIRToshibaAC__coll__graph.md5 | 2 +- .../html/classIRToshibaAC__coll__graph.png | Bin 3399 -> 6229 bytes .../html/classIRTranscoldAc-members.html | 72 +- docs/doxygen/html/classIRTranscoldAc.html | 414 +- .../html/classIRTranscoldAc__coll__graph.map | 5 +- .../html/classIRTranscoldAc__coll__graph.md5 | 2 +- .../html/classIRTranscoldAc__coll__graph.png | Bin 3498 -> 6296 bytes docs/doxygen/html/classIRac.html | 7 + docs/doxygen/html/classIRrecv-members.html | 56 +- docs/doxygen/html/classIRrecv.html | 167 +- docs/doxygen/html/classIRsend-members.html | 70 +- docs/doxygen/html/classIRsend.html | 102 +- docs/doxygen/html/classdecode__results.html | 32 +- docs/doxygen/html/classes.html | 208 +- docs/doxygen/html/defaults_8h_source.html | 520 +- .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 6 + docs/doxygen/html/files.html | 182 +- docs/doxygen/html/functions.html | 37 +- docs/doxygen/html/functions_a.html | 3 - docs/doxygen/html/functions_b.html | 4 +- docs/doxygen/html/functions_c.html | 2 +- docs/doxygen/html/functions_d.html | 6 + docs/doxygen/html/functions_e.html | 6 +- docs/doxygen/html/functions_f.html | 11 + docs/doxygen/html/functions_func_b.html | 4 +- docs/doxygen/html/functions_func_c.html | 2 +- docs/doxygen/html/functions_func_d.html | 6 + docs/doxygen/html/functions_func_g.html | 99 +- docs/doxygen/html/functions_func_i.html | 2 +- docs/doxygen/html/functions_func_m.html | 4 +- docs/doxygen/html/functions_func_o.html | 8 +- docs/doxygen/html/functions_func_r.html | 1 - docs/doxygen/html/functions_func_s.html | 20 +- docs/doxygen/html/functions_func_t.html | 20 +- docs/doxygen/html/functions_func_u.html | 3 - docs/doxygen/html/functions_g.html | 99 +- docs/doxygen/html/functions_h.html | 12 + docs/doxygen/html/functions_i.html | 2 +- docs/doxygen/html/functions_l.html | 10 +- docs/doxygen/html/functions_m.html | 14 +- docs/doxygen/html/functions_o.html | 8 +- docs/doxygen/html/functions_p.html | 11 +- docs/doxygen/html/functions_r.html | 11 +- docs/doxygen/html/functions_s.html | 45 +- docs/doxygen/html/functions_t.html | 44 +- docs/doxygen/html/functions_u.html | 7 +- docs/doxygen/html/functions_vars.html | 35 + docs/doxygen/html/functions_vars_a.html | 3 - docs/doxygen/html/functions_vars_e.html | 6 +- docs/doxygen/html/functions_vars_f.html | 11 + docs/doxygen/html/functions_vars_h.html | 12 + docs/doxygen/html/functions_vars_l.html | 10 +- docs/doxygen/html/functions_vars_m.html | 10 +- docs/doxygen/html/functions_vars_p.html | 11 +- docs/doxygen/html/functions_vars_r.html | 10 +- docs/doxygen/html/functions_vars_s.html | 25 +- docs/doxygen/html/functions_vars_t.html | 24 +- docs/doxygen/html/functions_vars_u.html | 4 + docs/doxygen/html/functions_vars_w.html | 1 + docs/doxygen/html/functions_w.html | 1 + docs/doxygen/html/globals_a.html | 3 + docs/doxygen/html/globals_e.html | 3 + docs/doxygen/html/globals_eval.html | 9 + docs/doxygen/html/globals_k.html | 470 +- docs/doxygen/html/globals_m.html | 3 + docs/doxygen/html/globals_vars_k.html | 462 +- docs/doxygen/html/hierarchy.html | 99 +- docs/doxygen/html/inherit_graph_100.map | 3 + docs/doxygen/html/inherit_graph_100.md5 | 1 + docs/doxygen/html/inherit_graph_100.png | Bin 0 -> 1349 bytes docs/doxygen/html/inherit_graph_94.map | 2 +- docs/doxygen/html/inherit_graph_94.md5 | 2 +- docs/doxygen/html/inherit_graph_94.png | Bin 985 -> 1185 bytes docs/doxygen/html/inherit_graph_95.map | 2 +- docs/doxygen/html/inherit_graph_95.md5 | 2 +- docs/doxygen/html/inherit_graph_95.png | Bin 1349 -> 1443 bytes docs/doxygen/html/inherit_graph_96.map | 3 + docs/doxygen/html/inherit_graph_96.md5 | 1 + docs/doxygen/html/inherit_graph_96.png | Bin 0 -> 1141 bytes docs/doxygen/html/inherit_graph_97.map | 3 + docs/doxygen/html/inherit_graph_97.md5 | 1 + docs/doxygen/html/inherit_graph_97.png | Bin 0 -> 985 bytes docs/doxygen/html/inherit_graph_98.map | 3 + docs/doxygen/html/inherit_graph_98.md5 | 1 + docs/doxygen/html/inherit_graph_98.png | Bin 0 -> 1518 bytes docs/doxygen/html/inherit_graph_99.map | 3 + docs/doxygen/html/inherit_graph_99.md5 | 1 + docs/doxygen/html/inherit_graph_99.png | Bin 0 -> 1527 bytes docs/doxygen/html/inherits.html | 29 +- docs/doxygen/html/ir__Airwell_8h_source.html | 6 +- docs/doxygen/html/ir__Amcor_8h_source.html | 8 +- docs/doxygen/html/ir__Argo_8h_source.html | 8 +- docs/doxygen/html/ir__Carrier_8h_source.html | 6 +- docs/doxygen/html/ir__Coolix_8h_source.html | 6 +- docs/doxygen/html/ir__Corona_8h_source.html | 8 +- docs/doxygen/html/ir__Daikin_8h.html | 134 +- docs/doxygen/html/ir__Daikin_8h_source.html | 2905 +++++------ docs/doxygen/html/ir__Delonghi_8h_source.html | 6 +- docs/doxygen/html/ir__Denon_8cpp.html | 2 +- docs/doxygen/html/ir__EcoClim_8cpp.html | 258 + docs/doxygen/html/ir__Electra_8h_source.html | 8 +- docs/doxygen/html/ir__Fujitsu_8cpp.html | 2 + docs/doxygen/html/ir__Fujitsu_8h.html | 2 + docs/doxygen/html/ir__Fujitsu_8h_source.html | 596 +-- docs/doxygen/html/ir__GICable_8cpp.html | 2 +- .../html/ir__Goodweather_8h_source.html | 6 +- docs/doxygen/html/ir__Gree_8h_source.html | 12 +- docs/doxygen/html/ir__Haier_8h_source.html | 12 +- docs/doxygen/html/ir__Hitachi_8h_source.html | 18 +- docs/doxygen/html/ir__JVC_8cpp.html | 2 +- .../html/ir__Kelvinator_8h_source.html | 8 +- docs/doxygen/html/ir__LG_8h_source.html | 10 +- docs/doxygen/html/ir__Midea_8h_source.html | 6 +- docs/doxygen/html/ir__MilesTag2_8cpp.html | 273 + .../html/ir__MitsubishiHeavy_8h_source.html | 186 +- docs/doxygen/html/ir__Mitsubishi_8cpp.html | 10 +- docs/doxygen/html/ir__Mitsubishi_8h.html | 230 +- .../html/ir__Mitsubishi_8h_source.html | 1183 ++--- docs/doxygen/html/ir__NEC_8h.html | 2 +- docs/doxygen/html/ir__NEC_8h_source.html | 2 +- docs/doxygen/html/ir__Neoclima_8h_source.html | 8 +- .../doxygen/html/ir__Panasonic_8h_source.html | 170 +- docs/doxygen/html/ir__Samsung_8cpp.html | 2 +- docs/doxygen/html/ir__Samsung_8h_source.html | 10 +- docs/doxygen/html/ir__Sanyo_8cpp.html | 14 +- docs/doxygen/html/ir__Sanyo_8h_source.html | 86 +- docs/doxygen/html/ir__Sharp_8cpp.html | 4 +- docs/doxygen/html/ir__Sharp_8h.html | 6 +- docs/doxygen/html/ir__Sharp_8h_source.html | 613 +-- docs/doxygen/html/ir__Tcl_8h.html | 179 +- docs/doxygen/html/ir__Tcl_8h_source.html | 378 +- docs/doxygen/html/ir__Technibel_8h.html | 341 +- .../doxygen/html/ir__Technibel_8h_source.html | 404 +- docs/doxygen/html/ir__Teco_8h.html | 275 +- docs/doxygen/html/ir__Teco_8h_source.html | 390 +- docs/doxygen/html/ir__Toshiba_8h.html | 217 +- docs/doxygen/html/ir__Toshiba_8h_source.html | 409 +- docs/doxygen/html/ir__Transcold_8h.html | 83 +- .../doxygen/html/ir__Transcold_8h_source.html | 456 +- docs/doxygen/html/ir__Trotec_8h_source.html | 8 +- docs/doxygen/html/ir__Vestel_8h_source.html | 6 +- docs/doxygen/html/ir__Voltas_8h_source.html | 10 +- .../doxygen/html/ir__Whirlpool_8h_source.html | 10 +- docs/doxygen/html/ir__Whynter_8cpp.html | 2 +- docs/doxygen/html/namespaceirutils.html | 277 + docs/doxygen/html/namespacemembers.html | 9 + docs/doxygen/html/namespacemembers_func.html | 9 + docs/doxygen/html/search/all_0.js | 79 +- docs/doxygen/html/search/all_1.js | 58 +- docs/doxygen/html/search/all_10.js | 65 +- docs/doxygen/html/search/all_11.js | 6 +- docs/doxygen/html/search/all_12.js | 52 +- docs/doxygen/html/search/all_13.js | 273 +- docs/doxygen/html/search/all_14.js | 88 +- docs/doxygen/html/search/all_15.js | 24 +- docs/doxygen/html/search/all_16.js | 24 +- docs/doxygen/html/search/all_17.js | 18 +- docs/doxygen/html/search/all_18.js | 4 +- docs/doxygen/html/search/all_19.js | 4 +- docs/doxygen/html/search/all_1a.js | 8 +- docs/doxygen/html/search/all_1b.js | 2 +- docs/doxygen/html/search/all_2.js | 30 +- docs/doxygen/html/search/all_3.js | 118 +- docs/doxygen/html/search/all_4.js | 268 +- docs/doxygen/html/search/all_5.js | 74 +- docs/doxygen/html/search/all_6.js | 42 +- docs/doxygen/html/search/all_7.js | 251 +- docs/doxygen/html/search/all_8.js | 69 +- docs/doxygen/html/search/all_9.js | 392 +- docs/doxygen/html/search/all_a.js | 2 +- docs/doxygen/html/search/all_b.js | 4474 ++++++++--------- docs/doxygen/html/search/all_c.js | 34 +- docs/doxygen/html/search/all_d.js | 98 +- docs/doxygen/html/search/all_e.js | 14 +- docs/doxygen/html/search/all_f.js | 64 +- docs/doxygen/html/search/classes_0.js | 6 +- docs/doxygen/html/search/classes_1.js | 8 +- docs/doxygen/html/search/classes_2.js | 20 +- docs/doxygen/html/search/classes_3.js | 2 +- docs/doxygen/html/search/classes_4.js | 4 +- docs/doxygen/html/search/classes_5.js | 10 +- docs/doxygen/html/search/classes_6.js | 108 +- docs/doxygen/html/search/classes_7.js | 2 +- docs/doxygen/html/search/classes_8.js | 2 +- docs/doxygen/html/search/classes_9.js | 16 +- docs/doxygen/html/search/classes_a.js | 2 +- docs/doxygen/html/search/classes_b.js | 2 +- docs/doxygen/html/search/classes_c.js | 8 +- docs/doxygen/html/search/classes_d.js | 7 +- docs/doxygen/html/search/classes_e.js | 2 +- docs/doxygen/html/search/enums_0.js | 2 +- docs/doxygen/html/search/enums_1.js | 4 +- docs/doxygen/html/search/enums_2.js | 2 +- docs/doxygen/html/search/enums_3.js | 2 +- docs/doxygen/html/search/enums_4.js | 2 +- docs/doxygen/html/search/enums_5.js | 2 +- docs/doxygen/html/search/enums_6.js | 2 +- docs/doxygen/html/search/enums_7.js | 6 +- docs/doxygen/html/search/enums_8.js | 2 +- docs/doxygen/html/search/enums_9.js | 2 +- docs/doxygen/html/search/enumvalues_0.js | 25 +- docs/doxygen/html/search/enumvalues_1.js | 10 +- docs/doxygen/html/search/enumvalues_10.js | 12 +- docs/doxygen/html/search/enumvalues_11.js | 4 +- docs/doxygen/html/search/enumvalues_12.js | 4 +- docs/doxygen/html/search/enumvalues_13.js | 4 +- docs/doxygen/html/search/enumvalues_14.js | 4 +- docs/doxygen/html/search/enumvalues_15.js | 2 +- docs/doxygen/html/search/enumvalues_2.js | 28 +- docs/doxygen/html/search/enumvalues_3.js | 7 +- docs/doxygen/html/search/enumvalues_4.js | 2 +- docs/doxygen/html/search/enumvalues_5.js | 10 +- docs/doxygen/html/search/enumvalues_6.js | 16 +- docs/doxygen/html/search/enumvalues_7.js | 2 +- docs/doxygen/html/search/enumvalues_8.js | 2 +- docs/doxygen/html/search/enumvalues_9.js | 68 +- docs/doxygen/html/search/enumvalues_a.js | 10 +- docs/doxygen/html/search/enumvalues_b.js | 29 +- docs/doxygen/html/search/enumvalues_c.js | 8 +- docs/doxygen/html/search/enumvalues_d.js | 10 +- docs/doxygen/html/search/enumvalues_e.js | 14 +- docs/doxygen/html/search/enumvalues_f.js | 24 +- docs/doxygen/html/search/files_0.js | 8 +- docs/doxygen/html/search/files_1.js | 10 +- docs/doxygen/html/search/files_2.js | 2 +- docs/doxygen/html/search/files_3.js | 226 +- docs/doxygen/html/search/files_4.js | 2 +- docs/doxygen/html/search/files_5.js | 2 +- docs/doxygen/html/search/files_6.js | 2 +- docs/doxygen/html/search/functions_0.js | 34 +- docs/doxygen/html/search/functions_1.js | 27 +- docs/doxygen/html/search/functions_10.js | 20 +- docs/doxygen/html/search/functions_11.js | 469 +- docs/doxygen/html/search/functions_12.js | 42 +- docs/doxygen/html/search/functions_13.js | 7 +- docs/doxygen/html/search/functions_14.js | 8 +- docs/doxygen/html/search/functions_15.js | 2 +- docs/doxygen/html/search/functions_16.js | 2 +- docs/doxygen/html/search/functions_17.js | 2 +- docs/doxygen/html/search/functions_2.js | 10 +- docs/doxygen/html/search/functions_3.js | 66 +- docs/doxygen/html/search/functions_4.js | 202 +- docs/doxygen/html/search/functions_5.js | 48 +- docs/doxygen/html/search/functions_6.js | 10 +- docs/doxygen/html/search/functions_7.js | 239 +- docs/doxygen/html/search/functions_8.js | 24 +- docs/doxygen/html/search/functions_9.js | 144 +- docs/doxygen/html/search/functions_a.js | 2 +- docs/doxygen/html/search/functions_b.js | 8 +- docs/doxygen/html/search/functions_c.js | 44 +- docs/doxygen/html/search/functions_d.js | 2 +- docs/doxygen/html/search/functions_e.js | 6 +- docs/doxygen/html/search/functions_f.js | 4 +- docs/doxygen/html/search/namespaces_0.js | 2 +- docs/doxygen/html/search/namespaces_1.js | 4 +- docs/doxygen/html/search/namespaces_2.js | 2 +- docs/doxygen/html/search/pages_0.js | 2 +- docs/doxygen/html/search/pages_1.js | 4 +- docs/doxygen/html/search/pages_2.js | 2 +- docs/doxygen/html/search/related_0.js | 2 +- docs/doxygen/html/search/typedefs_0.js | 2 +- docs/doxygen/html/search/typedefs_1.js | 2 +- docs/doxygen/html/search/variables_0.js | 139 +- docs/doxygen/html/search/variables_1.js | 7 +- docs/doxygen/html/search/variables_10.js | 18 +- docs/doxygen/html/search/variables_11.js | 74 +- docs/doxygen/html/search/variables_12.js | 33 +- docs/doxygen/html/search/variables_13.js | 15 +- docs/doxygen/html/search/variables_14.js | 10 +- docs/doxygen/html/search/variables_15.js | 10 +- docs/doxygen/html/search/variables_16.js | 2 +- docs/doxygen/html/search/variables_17.js | 4 +- docs/doxygen/html/search/variables_2.js | 20 +- docs/doxygen/html/search/variables_3.js | 38 +- docs/doxygen/html/search/variables_4.js | 22 +- docs/doxygen/html/search/variables_5.js | 7 +- docs/doxygen/html/search/variables_6.js | 24 +- docs/doxygen/html/search/variables_7.js | 15 +- docs/doxygen/html/search/variables_8.js | 10 +- docs/doxygen/html/search/variables_9.js | 4436 ++++++++-------- docs/doxygen/html/search/variables_a.js | 14 +- docs/doxygen/html/search/variables_b.js | 19 +- docs/doxygen/html/search/variables_c.js | 4 +- docs/doxygen/html/search/variables_d.js | 56 +- docs/doxygen/html/search/variables_e.js | 47 +- docs/doxygen/html/search/variables_f.js | 6 +- .../unionMitsubishi144Protocol-members.html | 11 +- .../html/unionMitsubishi144Protocol.html | 56 +- .../html/unionSharpProtocol-members.html | 12 +- docs/doxygen/html/unionSharpProtocol.html | 32 +- .../html/unionTcl112Protocol-members.html | 102 + docs/doxygen/html/unionTcl112Protocol.html | 482 ++ .../html/unionTechnibelProtocol-members.html | 98 + docs/doxygen/html/unionTechnibelProtocol.html | 415 ++ .../html/unionTecoProtocol-members.html | 96 + docs/doxygen/html/unionTecoProtocol.html | 386 ++ .../html/unionToshibaProtocol-members.html | 97 + docs/doxygen/html/unionToshibaProtocol.html | 405 ++ .../html/unionTranscoldProtocol-members.html | 86 + docs/doxygen/html/unionTranscoldProtocol.html | 226 + docs/doxygen/html/unionVoltasProtocol.html | 126 +- examples/IRMQTTServer/IRMQTTServer.ino | 2 +- examples/IRMQTTServer/platformio.ini | 2 +- examples/Web-AC-control/platformio.ini | 2 +- keywords.txt | 123 +- library.json | 2 +- library.properties | 2 +- src/IRremoteESP8266.h | 2 +- 345 files changed, 20118 insertions(+), 16865 deletions(-) create mode 100644 docs/doxygen/html/inherit_graph_100.map create mode 100644 docs/doxygen/html/inherit_graph_100.md5 create mode 100644 docs/doxygen/html/inherit_graph_100.png create mode 100644 docs/doxygen/html/inherit_graph_96.map create mode 100644 docs/doxygen/html/inherit_graph_96.md5 create mode 100644 docs/doxygen/html/inherit_graph_96.png create mode 100644 docs/doxygen/html/inherit_graph_97.map create mode 100644 docs/doxygen/html/inherit_graph_97.md5 create mode 100644 docs/doxygen/html/inherit_graph_97.png create mode 100644 docs/doxygen/html/inherit_graph_98.map create mode 100644 docs/doxygen/html/inherit_graph_98.md5 create mode 100644 docs/doxygen/html/inherit_graph_98.png create mode 100644 docs/doxygen/html/inherit_graph_99.map create mode 100644 docs/doxygen/html/inherit_graph_99.md5 create mode 100644 docs/doxygen/html/inherit_graph_99.png create mode 100644 docs/doxygen/html/ir__EcoClim_8cpp.html create mode 100644 docs/doxygen/html/ir__MilesTag2_8cpp.html create mode 100644 docs/doxygen/html/unionTcl112Protocol-members.html create mode 100644 docs/doxygen/html/unionTcl112Protocol.html create mode 100644 docs/doxygen/html/unionTechnibelProtocol-members.html create mode 100644 docs/doxygen/html/unionTechnibelProtocol.html create mode 100644 docs/doxygen/html/unionTecoProtocol-members.html create mode 100644 docs/doxygen/html/unionTecoProtocol.html create mode 100644 docs/doxygen/html/unionToshibaProtocol-members.html create mode 100644 docs/doxygen/html/unionToshibaProtocol.html create mode 100644 docs/doxygen/html/unionTranscoldProtocol-members.html create mode 100644 docs/doxygen/html/unionTranscoldProtocol.html diff --git a/README.md b/README.md index 5bee0b18f..cf67962a4 100644 --- a/README.md +++ b/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.14 Now Available -Version 2.7.14 of the library is now [available](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). You can view the [Release Notes](ReleaseNotes.md) for all the significant changes. +## v2.7.15 Now Available +Version 2.7.15 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/README_de.md b/README_de.md index 3dec62a5a..770e061cf 100644 --- a/README_de.md +++ b/README_de.md @@ -9,8 +9,8 @@ Diese Programmbibliothek ermöglicht das **Senden _und_ Empfangen** von Infrarotsignalen mit [ESP8266](https://github.com/esp8266/Arduino)- und [ESP32](https://github.com/espressif/arduino-esp32)-Mikrocontrollern mithilfe des [Arduino-Frameworks](https://www.arduino.cc/) und handelsüblichen 940nm Infrarot-LEDs undIR-Empfängermodulen, wie zum Beispiel TSOP{17,22,24,36,38,44,48}*-Demodulatoren. -## v2.7.14 jetzt verfügbar -Version 2.7.14 der Bibliothek ist nun [verfügbar](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). Die [Versionshinweise](ReleaseNotes.md) enthalten alle wichtigen Neuerungen. +## v2.7.15 jetzt verfügbar +Version 2.7.15 der Bibliothek ist nun [verfügbar](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). Die [Versionshinweise](ReleaseNotes.md) enthalten alle wichtigen Neuerungen. #### Hinweis für Nutzer von Versionen vor v2.0 Die Benutzung der Bibliothek hat sich mit Version 2.0 leicht geändert. Einige Anpassungen im aufrufenden Code werden nötig sein, um mit Version ab 2.0 korrekt zu funktionieren. Mehr zu den Anpassungen finden sich auf unserer [Upgrade to v2.0](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Upgrading-to-v2.0)-Seite. diff --git a/README_fr.md b/README_fr.md index c8fcaee93..820731366 100644 --- a/README_fr.md +++ b/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.14 disponible -Version 2.7.14 de la libraire est maintenant [disponible](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). Vous pouvez voir le [Release Notes](ReleaseNotes.md) pour tous les changements importants. +## v2.7.15 disponible +Version 2.7.15 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/ReleaseNotes.md b/ReleaseNotes.md index 5478be920..7feab2ca3 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -1,5 +1,32 @@ # Release Notes +## _v2.7.15 (20210213)_ + +**[BREAKING CHANGES]** +- Some Daikin2 constants have been changed. (#1393) + +**[Features]** +- Experimental basic support for EcoClim 56 & 15 bit protocols. (#1397 #1410) +- MITSUBISHI_AC: Add support for enabling Weekly Timer. (#1403 #1404) +- Mitsubishi ACs: Improve handling swing/vane settings. (#1399 #1401) +- MITSUBISHI_AC: Add support for half degrees. (#1398 #1400) +- Add `irutils::addSwing[V|H]ToString()` and adjust some constants (#1365 #1393) +- SharpAc: Add support for model A903, and improve `IRac` fan & power control. (#1387 #1390) +- Experimental support for Milestag2 (#1360 #1380) + +**[Misc]** +- Improve `IRac::sendAc()` documentation. (#1408 #1409) +- refactor ir_Transcold (#1407) +- refactor ir_Toshiba (#1395) +- Fix Travis-CI build issues. (#1396) +- refactor ir_Teco (#1392) +- Fujitsu A/C: Add warning/suggestions for AR-RAH1U devices (#1376 #1386) +- refactor ir_Technibel (#1385) +- Add the new logo and banner :tada: (#1371 #1372) +- Update references to sbprojects website. (#1381 #1383) +- refactor ir_Tcl (#1379) + + ## _v2.7.14 (20210103)_ **[Bug Fixes]** diff --git a/SupportedProtocols.md b/SupportedProtocols.md index 0d784242c..07a4506b2 100644 --- a/SupportedProtocols.md +++ b/SupportedProtocols.md @@ -1,6 +1,6 @@ + Last generated: Fri 12 Feb 2021 23:30:54 +0000 ---> # IR Protocols supported by this library | Protocol | Brand | Model | A/C Model | Detailed A/C Support | @@ -22,6 +22,7 @@ | [Denon](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Denon.cpp) | **Denon** | AVR-3801 A/V Receiver (probably) | | - | | [Dish](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Dish.cpp) | **DISH NETWORK** | echostar 301 | | - | | [Doshisha](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Doshisha.cpp) | **Doshisha** | CZ-S32D LED Light
CZ-S38D LED Light
CZ-S50D LED Light
RCZ01 remote | | - | +| [EcoClim](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_EcoClim.cpp) | **EcoClim** | HYSFR-P348 remote
ZC200DPO A/C | | - | | [Electra](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.cpp) | **[AUX](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.h)** | KFR-35GW/BpNFW=3 A/C
YKR-T/011 remote | | Yes | | [Electra](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.cpp) | **[Electra](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Electra.h)** | Classic INV 17 / AXW12DCS A/C
YKR-M/003E remote | | Yes | | [EliteScreens](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_EliteScreens.cpp) | **Elite Screens** | CineTension2 / CineTension3 series
Home2 / Home3 series
Spectrum series
VMAX Plus4 series
VMAX2 / VMAX2 Plus series
ZSP-IR-B / ZSP-IR-W remote | | - | @@ -63,7 +64,7 @@ | [MilesTag2](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_MilesTag2.cpp) | **Milestag2** | Various | | - | | [Mirage](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mirage.cpp) | **Mirage** | VLU series A/C | | - | | [Mitsubishi](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mitsubishi.cpp) | **[Mitsubishi](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mitsubishi.h)** | HC3000 Projector (MITSUBISHI2)
KM14A 0179213 remote
MS-GK24VA A/C
TV (MITSUBISHI) | | Yes | -| [Mitsubishi](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mitsubishi.cpp) | **[Mitsubishi Electric](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mitsubishi.h)** | 001CP T7WE10714 remote (MITSUBISHI136)
KPOA remote (MITSUBISHI112)
MSH-A24WV A/C (MITSUBISHI112)
MUH-A24WV A/C (MITSUBISHI112)
PEAD-RP71JAA Ducted A/C (MITSUBISHI136) | | Yes | +| [Mitsubishi](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mitsubishi.cpp) | **[Mitsubishi Electric](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Mitsubishi.h)** | 001CP T7WE10714 remote (MITSUBISHI136)
KPOA remote (MITSUBISHI112)
MLZ-RX5017AS A/C (MITSUBISHI_AC)
MSH-A24WV A/C (MITSUBISHI112)
MSZ-GV2519 A/C (MITSUBISHI_AC)
MUH-A24WV A/C (MITSUBISHI112)
PEAD-RP71JAA Ducted A/C (MITSUBISHI136)
RH151/M21ED6426 remote (MITSUBISHI_AC)
SG153/M21EDF426 remote (MITSUBISHI_AC) | | 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 (88 bit)
RLA502A700B remote (152 bit)
SRKxxZJ-S A/C (88 bit)
SRKxxZM-S A/C (152 bit)
SRKxxZMXA-S A/C (152 bit) | | Yes | | [Multibrackets](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Multibrackets.cpp) | **Multibrackets** | Motorized Swing mount large - 4500 | | - | | [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 | | - | @@ -81,7 +82,7 @@ | [RCMM](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_RCMM.cpp) | **Microsoft** | XBOX 360 | | - | | [Samsung](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Samsung.cpp) | **[Samsung](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Samsung.h)** | AH59-02692E Soundbar remote (SAMSUNG36)
AK59-00167A Bluray remote (SAMSUNG36)
AR09FSSDAWKNFA A/C (SAMSUNG_AC)
AR12HSSDBWKNEU A/C (SAMSUNG_AC)
AR12KSFPEWQNET A/C (SAMSUNG_AC)
AR12NXCXAWKXEU A/C (SAMSUNG_AC)
BN59-01178B TV remote (SAMSUNG)
DB63-03556X003 remote
DB93-16761C remote
HW-J551 Soundbar (SAMSUNG36)
IEC-R03 remote
UA55H6300 TV (SAMSUNG) | | Yes | | [Sanyo](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Sanyo.cpp) | **[Sanyo](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Sanyo.h)** | LC7461 transmitter IC (SANYO_LC7461)
RCS-2HS4E remote (SANYO_AC)
RCS-2S4E remote (SANYO_AC)
SA 8650B - disabled
SAP-K121AHA A/C (SANYO_AC)
SAP-K242AH A/C (SANYO_AC) | | Yes | -| [Sharp](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Sharp.cpp) | **[Sharp](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Sharp.h)** | AH-AxSAY A/C (A907)
AH-XP10NRY A/C (A907)
AY-ZP40KR A/C (A907)
CRMC-820 JBEZ remote (A907)
CRMC-A705 JBEZ remote (A705)
CRMC-A907 JBEZ remote (A907)
LC-52D62U TV | A705
A907 | Yes | +| [Sharp](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Sharp.cpp) | **[Sharp](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Sharp.h)** | AH-A12REVP-1 A/C (A903)
AH-AxSAY A/C (A907)
AH-PR13-GL A/C (A903)
AH-XP10NRY A/C (A903)
AY-ZP40KR A/C (A907)
CRMC-820 JBEZ remote (A903)
CRMC-A705 JBEZ remote (A705)
CRMC-A863 JBEZ remote (A903)
CRMC-A903JBEZ remote (A903)
CRMC-A907 JBEZ remote (A907)
LC-52D62U TV | A705
A903
A907 | Yes | | [Sherwood](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Sherwood.cpp) | **Sherwood** | RC-138 remote
RD6505(B) Receiver | | - | | [Sony](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Sony.cpp) | **Sony** | HT-CT380 Soundbar (Uses 38kHz & 3 repeats) | | - | | [Symphony](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Symphony.cpp) | **Blyss** | Owen-SW-5 3 Fan
WP-YK8 090218 remote | | - | @@ -136,6 +137,7 @@ - DENON - DISH - DOSHISHA +- ECOCLIM - ELECTRA_AC - ELITESCREENS - EPSON diff --git a/docs/doxygen/html/IRac_8h_source.html b/docs/doxygen/html/IRac_8h_source.html index 051b58a17..eb32f990c 100644 --- a/docs/doxygen/html/IRac_8h_source.html +++ b/docs/doxygen/html/IRac_8h_source.html @@ -529,93 +529,93 @@
Support for Kelvinator A/C protocols.
Class for handling detailed Samsung A/C messages.
Definition: ir_Samsung.h:130
void hitachi(IRHitachiAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Hitachi A/C message with the supplied settings.
Definition: IRac.cpp:1073
-
Class for handling detailed Toshiba A/C messages.
Definition: ir_Toshiba.h:100
-
decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition: IRremoteESP8266.h:771
+
Class for handling detailed Toshiba A/C messages.
Definition: ir_Toshiba.h:118
+
decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition: IRremoteESP8266.h:785
stdAc::state_t getStatePrev(void)
Get the previous internal A/C climate state that should have already been sent to the device....
Definition: IRac.cpp:133
stdAc::state_t getState(void)
Get the current internal A/C climate state.
Definition: IRac.cpp:128
Class for handling detailed Mitsubishi Heavy 152-bit A/C messages.
Definition: ir_MitsubishiHeavy.h:184
-
static stdAc::swingh_t strToSwingH(const char *str, const stdAc::swingh_t def=stdAc::swingh_t::kOff)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2842
-
void sharp(IRSharpAc *ac, const sharp_ac_remote_model_t model, const bool on, const bool prev_power, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const bool filter, const bool clean)
Send a Sharp A/C message with the supplied settings.
Definition: IRac.cpp:1725
+
static stdAc::swingh_t strToSwingH(const char *str, const stdAc::swingh_t def=stdAc::swingh_t::kOff)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2848
+
void sharp(IRSharpAc *ac, const sharp_ac_remote_model_t model, const bool on, const bool prev_power, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const bool filter, const bool clean)
Send a Sharp A/C message with the supplied settings.
Definition: IRac.cpp:1727
void hitachi344(IRHitachiAc344 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Hitachi 344-bit A/C message with the supplied settings.
Definition: IRac.cpp:1149
@ kAuto
Support for Electra A/C protocols.
-
void markAsSent(void)
Update the previous state to the current one.
Definition: IRac.cpp:2705
+
void markAsSent(void)
Update the previous state to the current one.
Definition: IRac.cpp:2711
swingv_t
Common A/C settings for Vertical Swing.
Definition: IRsend.h:70
Airwell "Manchester code" based protocol. Some other Airwell products use the COOLIX protocol.
void daikin2(IRDaikin2 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool light, const bool econo, const bool filter, const bool clean, const bool beep, const int16_t sleep=-1, const int16_t clock=-1)
Send a Daikin2 A/C message with the supplied settings.
Definition: IRac.cpp:691
Support for Trotec protocols.
-
void sanyo(IRSanyoAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool beep, const int16_t sleep=-1)
Send a Toshiba A/C message with the supplied settings.
Definition: IRac.cpp:1681
-
Class for handling detailed Daikin 280-bit A/C messages.
Definition: ir_Daikin.h:651
+
void sanyo(IRSanyoAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool beep, const int16_t sleep=-1)
Send a Toshiba A/C message with the supplied settings.
Definition: IRac.cpp:1683
+
Class for handling detailed Daikin 280-bit A/C messages.
Definition: ir_Daikin.h:658
void lg(IRLgAc *ac, const lg_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send a LG A/C message with the supplied settings.
Definition: IRac.cpp:1255
Class for handling detailed Delonghi A/C messages.
Definition: ir_Delonghi.h:73
Class for handling detailed Corona A/C messages.
Definition: ir_Corona.h:107
void kelvinator(IRKelvinatorAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool light, const bool filter, const bool clean)
Send a Kelvinator A/C message with the supplied settings.
Definition: IRac.cpp:1221
-
Class for handling detailed Daikin 312-bit A/C messages.
Definition: ir_Daikin.h:733
+
Class for handling detailed Daikin 312-bit A/C messages.
Definition: ir_Daikin.h:740
Support for Neoclima protocols. Analysis by crankyoldgit & AndreyShpilevoy.
-
Class for handling detailed Daikin 128-bit A/C messages.
Definition: ir_Daikin.h:994
+
Class for handling detailed Daikin 128-bit A/C messages.
Definition: ir_Daikin.h:1001
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
Support for Sharp protocols.
-
static String fanspeedToString(const stdAc::fanspeed_t speed)
Convert the supplied fan speed enum into the appropriate String.
Definition: IRac.cpp:2992
-
whirlpool_ac_remote_model_t
Whirlpool A/C model numbers.
Definition: IRsend.h:164
+
static String fanspeedToString(const stdAc::fanspeed_t speed)
Convert the supplied fan speed enum into the appropriate String.
Definition: IRac.cpp:2998
+
whirlpool_ac_remote_model_t
Whirlpool A/C model numbers.
Definition: IRsend.h:169
Carrier A/C.
-
void whirlpool(IRWhirlpoolAc *ac, const whirlpool_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const int16_t sleep=-1, const int16_t clock=-1)
Send a Whirlpool A/C message with the supplied settings.
Definition: IRac.cpp:2036
+
void whirlpool(IRWhirlpoolAc *ac, const whirlpool_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const int16_t sleep=-1, const int16_t clock=-1)
Send a Whirlpool A/C message with the supplied settings.
Definition: IRac.cpp:2038
Results returned from the decoder.
Definition: IRrecv.h:92
void daikin64(IRDaikin64 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const int16_t sleep=-1, const int16_t clock=-1)
Send a Daikin 64-bit A/C message with the supplied settings.
Definition: IRac.cpp:760
-
void voltas(IRVoltas *ac, const voltas_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool light, const int16_t sleep=-1)
Send a Voltas A/C message with the supplied settings.
Definition: IRac.cpp:1995
-
void tcl112(IRTcl112Ac *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool light, const bool econo, const bool filter)
Send a TCL 112-bit A/C message with the supplied settings.
Definition: IRac.cpp:1778
-
void transcold(IRTranscoldAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Transcold A/C message with the supplied settings.
Definition: IRac.cpp:2073
-
bool sendAc(void)
Send an A/C message based soley on our internal state.
Definition: IRac.cpp:2711
-
static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b)
Compare two AirCon states.
Definition: IRac.cpp:2722
+
void voltas(IRVoltas *ac, const voltas_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool light, const int16_t sleep=-1)
Send a Voltas A/C message with the supplied settings.
Definition: IRac.cpp:1997
+
void tcl112(IRTcl112Ac *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool light, const bool econo, const bool filter)
Send a TCL 112-bit A/C message with the supplied settings.
Definition: IRac.cpp:1780
+
void transcold(IRTranscoldAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Transcold A/C message with the supplied settings.
Definition: IRac.cpp:2075
+
bool sendAc(void)
Send an A/C message based soley on our internal state.
Definition: IRac.cpp:2717
+
static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b)
Compare two AirCon states.
Definition: IRac.cpp:2728
Support for Midea protocols. Midea added by crankyoldgit & bwze.
Support for Daikin A/C protocols.
-
gree_ac_remote_model_t
Gree A/C model numbers.
Definition: IRsend.h:129
-
Class for handling detailed Daikin 64-bit A/C messages.
Definition: ir_Daikin.h:1124
+
gree_ac_remote_model_t
Gree A/C model numbers.
Definition: IRsend.h:133
+
Class for handling detailed Daikin 64-bit A/C messages.
Definition: ir_Daikin.h:1131
Support for Coolix A/C protocols.
-
void vestel(IRVestelAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool filter, const int16_t sleep=-1, const int16_t clock=-1, const bool sendNormal=true)
Send a Vestel A/C message with the supplied settings.
Definition: IRac.cpp:1953
+
void vestel(IRVestelAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool filter, const int16_t sleep=-1, const int16_t clock=-1, const bool sendNormal=true)
Send a Vestel A/C message with the supplied settings.
Definition: IRac.cpp:1955
Class for handling detailed Hitachi 53-byte/424-bit A/C messages.
Definition: ir_Hitachi.h:371
void daikin(IRDaikinESP *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool clean)
Send a Daikin A/C message with the supplied settings.
Definition: IRac.cpp:527
IRac(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: IRac.cpp:54
-
Class for handling detailed Daikin 216-bit A/C messages.
Definition: ir_Daikin.h:829
+
Class for handling detailed Daikin 216-bit A/C messages.
Definition: ir_Daikin.h:836
Class for handling detailed Voltas A/C messages.
Definition: ir_Voltas.h:90
-
hitachi_ac1_remote_model_t
HITACHI_AC1 A/C model numbers.
Definition: IRsend.h:135
-
void samsung(IRSamsungAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const bool light, const bool filter, const bool clean, const bool beep, const bool prevpower=true, const bool forcepower=true)
Send a Samsung A/C message with the supplied settings.
Definition: IRac.cpp:1640
+
hitachi_ac1_remote_model_t
HITACHI_AC1 A/C model numbers.
Definition: IRsend.h:139
+
void samsung(IRSamsungAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const bool light, const bool filter, const bool clean, const bool beep, const bool prevpower=true, const bool forcepower=true)
Send a Samsung A/C message with the supplied settings.
Definition: IRac.cpp:1642
void daikin128(IRDaikin128 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const bool light, const bool econo, const int16_t sleep=-1, const int16_t clock=-1)
Send a Daikin 128-bit A/C message with the supplied settings.
Definition: IRac.cpp:567
Class for handling detailed Hitachi 224-bit A/C messages.
Definition: ir_Hitachi.h:246
const int8_t kGpioUnused
A placeholder for not using an actual GPIO.
Definition: IRac.h:45
-
Common functions for use with all A/Cs supported by the IRac class.
Definition: IRac.cpp:3061
+
Common functions for use with all A/Cs supported by the IRac class.
Definition: IRac.cpp:3067
Class for handling detailed Sanyo A/C messages.
Definition: ir_Sanyo.h:106
void haier(IRHaierAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool filter, const int16_t sleep=-1, const int16_t clock=-1)
Send a Haier A/C message with the supplied settings.
Definition: IRac.cpp:1004
Class for handling detailed Whirlpool A/C messages.
Definition: ir_Whirlpool.h:91
Class for handling detailed Hitachi 344-bit A/C messages.
Definition: ir_Hitachi.h:459
-
static String boolToString(const bool value)
Convert the supplied boolean into the appropriate String.
Definition: IRac.cpp:2963
+
static String boolToString(const bool value)
Convert the supplied boolean into the appropriate String.
Definition: IRac.cpp:2969
stdAc::state_t next
The state we want the device to be in after we send.
Definition: IRac.h:97
-
std::string String
Definition: IRremoteESP8266.h:1178
-
Class for handling detailed Mitsubishi 144-bit A/C messages.
Definition: ir_Mitsubishi.h:221
-
void trotec(IRTrotecESP *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const int16_t sleep=-1)
Send a Trotec A/C message with the supplied settings.
Definition: IRac.cpp:1916
-
static int16_t strToModel(const char *str, const int16_t def=-1)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2882
+
std::string String
Definition: IRremoteESP8266.h:1199
+
Class for handling detailed Mitsubishi 144-bit A/C messages.
Definition: ir_Mitsubishi.h:242
+
void trotec(IRTrotecESP *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const int16_t sleep=-1)
Send a Trotec A/C message with the supplied settings.
Definition: IRac.cpp:1918
+
static int16_t strToModel(const char *str, const int16_t def=-1)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2888
Class for handling detailed Amcor A/C messages.
Definition: ir_Amcor.h:90
-
Class for handling detailed Mitsubishi 122-bit A/C messages.
Definition: ir_Mitsubishi.h:339
-
Class for handling detailed TCL A/C messages.
Definition: ir_Tcl.h:63
+
Class for handling detailed Mitsubishi 122-bit A/C messages.
Definition: ir_Mitsubishi.h:362
+
Class for handling detailed TCL A/C messages.
Definition: ir_Tcl.h:89
void daikin176(IRDaikin176 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingh_t swingh)
Send a Daikin 176-bit A/C message with the supplied settings.
Definition: IRac.cpp:659
Class for handling detailed Electra A/C messages.
Definition: ir_Electra.h:98
Support for TCL protocols.
-
bool hasStateChanged(void)
Check if the internal state has changed from what was previously sent.
Definition: IRac.cpp:2734
+
bool hasStateChanged(void)
Check if the internal state has changed from what was previously sent.
Definition: IRac.cpp:2740
void haierYrwo2(IRHaierACYRW02 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool filter, const int16_t sleep=-1)
Send a Haier YRWO2 A/C message with the supplied settings.
Definition: IRac.cpp:1041
void daikin216(IRDaikin216 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo)
Send a Daikin 216-bit A/C message with the supplied settings.
Definition: IRac.cpp:730
Support for Transcold A/C protocols.
Support for Hitachi A/C protocols.
Support for Panasonic protocols.
-
static stdAc::state_t handleToggles(const stdAc::state_t desired, const stdAc::state_t *prev=NULL)
Create a new state base on desired & previous states but handle any state changes for options that ne...
Definition: IRac.cpp:2122
-
Class for handling detailed Mitsubishi 136-bit A/C messages.
Definition: ir_Mitsubishi.h:285
-
panasonic_ac_remote_model_t
Panasonic A/C model numbers.
Definition: IRsend.h:141
+
static stdAc::state_t handleToggles(const stdAc::state_t desired, const stdAc::state_t *prev=NULL)
Create a new state base on desired & previous states but handle any state changes for options that ne...
Definition: IRac.cpp:2124
+
Class for handling detailed Mitsubishi 136-bit A/C messages.
Definition: ir_Mitsubishi.h:308
+
panasonic_ac_remote_model_t
Panasonic A/C model numbers.
Definition: IRsend.h:145
swingh_t
Common A/C settings for Horizontal Swing.
Definition: IRsend.h:83
-
void mitsubishi112(IRMitsubishi112 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet)
Send a Mitsubishi 112-bit A/C message with the supplied settings.
Definition: IRac.cpp:1365
-
bool decodeToState(const decode_results *decode, stdAc::state_t *result, const stdAc::state_t *prev)
Convert a valid IR A/C remote message that we understand enough into a Common A/C state.
Definition: IRac.cpp:3430
+
void mitsubishi112(IRMitsubishi112 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet)
Send a Mitsubishi 112-bit A/C message with the supplied settings.
Definition: IRac.cpp:1367
+
bool decodeToState(const decode_results *decode, stdAc::state_t *result, const stdAc::state_t *prev)
Convert a valid IR A/C remote message that we understand enough into a Common A/C state.
Definition: IRac.cpp:3436
Class for handling detailed Hitachi 104-bit A/C messages.
Definition: ir_Hitachi.h:303
void hitachi424(IRHitachiAc424 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv)
Send a Hitachi 424-bit A/C message with the supplied settings.
Definition: IRac.cpp:1183
Support for Samsung protocols. Samsung originally added from https://github.com/shirriff/Arduino-IRre...
-
String resultAcToString(const decode_results *const result)
Display the human readable state of an A/C message if we can.
Definition: IRac.cpp:3067
+
String resultAcToString(const decode_results *const result)
Display the human readable state of an A/C message if we can.
Definition: IRac.cpp:3073
void daikin152(IRDaikin152 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet, const bool turbo, const bool econo)
Send a Daikin 152-bit A/C message with the supplied settings.
Definition: IRac.cpp:604
fujitsu_ac_remote_model_t
Fujitsu A/C model numbers.
Definition: IRsend.h:120
Support for Gree A/C protocols.
@@ -623,56 +623,56 @@
Class for handling detailed Midea A/C messages.
Definition: ir_Midea.h:151
Class for handling detailed Kelvinator A/C messages.
Definition: ir_Kelvinator.h:121
bool _inverted
IR LED is lit when GPIO is LOW (true) or HIGH (false)?
Definition: IRac.h:103
-
Class for handling detailed Fujitsu A/C messages.
Definition: ir_Fujitsu.h:113
+
Class for handling detailed Fujitsu A/C messages.
Definition: ir_Fujitsu.h:120
Support for Mitsubishi Heavy Industry protocols. Code to emulate Mitsubishi Heavy Industries A/C IR r...
Class for handling detailed Coolix A/C messages.
Definition: ir_Coolix.h:112
void midea(IRMideaAC *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool econo, const bool light, const int16_t sleep=-1)
Send a Midea A/C message with the supplied settings.
Definition: IRac.cpp:1292
-
void panasonic(IRPanasonicAc *ac, const panasonic_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool filter, const int16_t clock=-1)
Send a Panasonic A/C message with the supplied settings.
Definition: IRac.cpp:1562
-
static String swingvToString(const stdAc::swingv_t swingv)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3014
+
void panasonic(IRPanasonicAc *ac, const panasonic_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool filter, const int16_t clock=-1)
Send a Panasonic A/C message with the supplied settings.
Definition: IRac.cpp:1564
+
static String swingvToString(const stdAc::swingv_t swingv)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3020
Support for Mitsubishi protocols. Mitsubishi (TV) decoding added from https://github....
A universal/common/generic interface for controling supported A/Cs.
Definition: IRac.h:49
Support for Teco protocols.
void gree(IRGreeAC *ac, const gree_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const bool clean, const int16_t sleep=-1)
Send a Gree A/C message with the supplied settings.
Definition: IRac.cpp:966
Delonghi A/C.
void electra(IRElectraAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool lighttoggle, const bool clean)
Send an Electra A/C message with the supplied settings.
Definition: IRac.cpp:817
-
static stdAc::state_t cleanState(const stdAc::state_t state)
Create a new state base on the provided state that has been suitably fixed.
Definition: IRac.cpp:2109
+
static stdAc::state_t cleanState(const stdAc::state_t state)
Create a new state base on the provided state that has been suitably fixed.
Definition: IRac.cpp:2111
Support for Argo Ulisse 13 DCI Mobile Split ACs.
void mitsubishi(IRMitsubishiAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const int16_t clock=-1)
Send a Mitsubishi A/C message with the supplied settings.
Definition: IRac.cpp:1330
void amcor(IRAmcorAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send an Amcor A/C message with the supplied settings.
Definition: IRac.cpp:330
-
Class for handling detailed Technibel A/C messages.
Definition: ir_Technibel.h:108
+
Class for handling detailed Technibel A/C messages.
Definition: ir_Technibel.h:77
Class for handling detailed Airwell A/C messages.
Definition: ir_Airwell.h:60
Support for Voltas A/C protocol.
-
Class for handling detailed Daikin 152-bit A/C messages.
Definition: ir_Daikin.h:1064
+
Class for handling detailed Daikin 152-bit A/C messages.
Definition: ir_Daikin.h:1071
Class for handling detailed LG A/C messages.
Definition: ir_LG.h:67
Support for Fujitsu A/C protocols. Fujitsu A/C support added by Jonny Graham.
Class for handling detailed Haier A/C messages.
Definition: ir_Haier.h:244
-
void neoclima(IRNeoclimaAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool light, const bool filter, const int16_t sleep=-1)
Send a Neoclima A/C message with the supplied settings.
Definition: IRac.cpp:1521
-
Class for handling detailed Daikin 160-bit A/C messages.
Definition: ir_Daikin.h:885
-
static String opmodeToString(const stdAc::opmode_t mode)
Convert the supplied operation mode into the appropriate String.
Definition: IRac.cpp:2970
-
Class for handling detailed Sharp A/C messages.
Definition: ir_Sharp.h:131
-
void toshiba(IRToshibaAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool econo)
Send a Toshiba A/C message with the supplied settings.
Definition: IRac.cpp:1880
+
void neoclima(IRNeoclimaAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool light, const bool filter, const int16_t sleep=-1)
Send a Neoclima A/C message with the supplied settings.
Definition: IRac.cpp:1523
+
Class for handling detailed Daikin 160-bit A/C messages.
Definition: ir_Daikin.h:892
+
static String opmodeToString(const stdAc::opmode_t mode)
Convert the supplied operation mode into the appropriate String.
Definition: IRac.cpp:2976
+
Class for handling detailed Sharp A/C messages.
Definition: ir_Sharp.h:137
+
void toshiba(IRToshibaAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool econo)
Send a Toshiba A/C message with the supplied settings.
Definition: IRac.cpp:1882
Support for Goodweather compatible HVAC protocols.
void argo(IRArgoAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const int16_t sleep=-1)
Send an Argo A/C message with the supplied settings.
Definition: IRac.cpp:362
-
lg_ac_remote_model_t
LG A/C model numbers.
Definition: IRsend.h:170
-
void mitsubishi136(IRMitsubishi136 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet)
Send a Mitsubishi 136-bit A/C message with the supplied settings.
Definition: IRac.cpp:1401
+
lg_ac_remote_model_t
LG A/C model numbers.
Definition: IRsend.h:175
+
void mitsubishi136(IRMitsubishi136 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool quiet)
Send a Mitsubishi 136-bit A/C message with the supplied settings.
Definition: IRac.cpp:1403
@ kAuto
bool _modulation
Is frequency modulation to be used?
Definition: IRac.h:104
-
void teco(IRTecoAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool light, const int16_t sleep=-1)
Send a Teco A/C message with the supplied settings.
Definition: IRac.cpp:1847
-
static stdAc::opmode_t strToOpmode(const char *str, const stdAc::opmode_t def=stdAc::opmode_t::kAuto)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2740
+
void teco(IRTecoAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool light, const int16_t sleep=-1)
Send a Teco A/C message with the supplied settings.
Definition: IRac.cpp:1849
+
static stdAc::opmode_t strToOpmode(const char *str, const stdAc::opmode_t def=stdAc::opmode_t::kAuto)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2746
Support for Sanyo protocols. Sanyo LC7461 support originally by marcosamarinho Sanyo SA 8650B origina...
void hitachi1(IRHitachiAc1 *ac, const hitachi_ac1_remote_model_t model, const bool on, const bool power_toggle, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool swing_toggle, const int16_t sleep=-1)
Send a Hitachi1 A/C message with the supplied settings.
Definition: IRac.cpp:1110
-
Class for handling detailed Transcold A/C messages.
Definition: ir_Transcold.h:111
+
Class for handling detailed Transcold A/C messages.
Definition: ir_Transcold.h:120
@ kOff
-
void panasonic32(IRPanasonicAc32 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Panasonic A/C message with the supplied settings.
Definition: IRac.cpp:1598
+
void panasonic32(IRPanasonicAc32 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh)
Send a Panasonic A/C message with the supplied settings.
Definition: IRac.cpp:1600
Support for Whirlpool protocols. Decoding help from: @redmusicxd, @josh929800, @raducostea.
-
static bool strToBool(const char *str, const bool def=false)
Convert the supplied str into the appropriate boolean value.
Definition: IRac.cpp:2945
-
void mitsubishiHeavy88(IRMitsubishiHeavy88Ac *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool clean)
Send a Mitsubishi Heavy 88-bit A/C message with the supplied settings.
Definition: IRac.cpp:1436
-
static stdAc::swingv_t strToSwingV(const char *str, const stdAc::swingv_t def=stdAc::swingv_t::kOff)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2801
+
static bool strToBool(const char *str, const bool def=false)
Convert the supplied str into the appropriate boolean value.
Definition: IRac.cpp:2951
+
void mitsubishiHeavy88(IRMitsubishiHeavy88Ac *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool clean)
Send a Mitsubishi Heavy 88-bit A/C message with the supplied settings.
Definition: IRac.cpp:1438
+
static stdAc::swingv_t strToSwingV(const char *str, const stdAc::swingv_t def=stdAc::swingv_t::kOff)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2807
Class for handling detailed Vestel A/C messages.
Definition: ir_Vestel.h:116
Class for handling detailed Panasonic 32bit A/C messages.
Definition: ir_Panasonic.h:219
Class for handling detailed Trotec A/C messages.
Definition: ir_Trotec.h:76
-
Class for handling detailed Teco A/C messages.
Definition: ir_Teco.h:107
-
static String swinghToString(const stdAc::swingh_t swingh)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3038
+
Class for handling detailed Teco A/C messages.
Definition: ir_Teco.h:62
+
static String swinghToString(const stdAc::swingh_t swingh)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3044
void fujitsu(IRFujitsuAC *ac, const fujitsu_ac_remote_model_t model, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool filter, const bool clean, const int16_t sleep=-1)
Send a Fujitsu A/C message with the supplied settings.
Definition: IRac.cpp:860
Support for Technibel protocol.
void delonghiac(IRDelonghiAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const bool turbo, const int16_t sleep=-1)
Send a Delonghi A/C message with the supplied settings.
Definition: IRac.cpp:790
@@ -681,13 +681,13 @@
void daikin160(IRDaikin160 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv)
Send a Daikin 160-bit A/C message with the supplied settings.
Definition: IRac.cpp:637
void corona(IRCoronaAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool econo)
Send a Corona A/C message with the supplied settings.
Definition: IRac.cpp:492
static void initState(stdAc::state_t *state, const decode_type_t vendor, const int16_t model, const bool power, const stdAc::opmode_t mode, const float degrees, const bool celsius, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool light, const bool filter, const bool clean, const bool beep, const int16_t sleep, const int16_t clock)
Initialise the given state with the supplied settings.
Definition: IRac.cpp:85
-
void mitsubishiHeavy152(IRMitsubishiHeavy152Ac *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool filter, const bool clean, const int16_t sleep=-1)
Send a Mitsubishi Heavy 152-bit A/C message with the supplied settings.
Definition: IRac.cpp:1477
+
void mitsubishiHeavy152(IRMitsubishiHeavy152Ac *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool quiet, const bool turbo, const bool econo, const bool filter, const bool clean, const int16_t sleep=-1)
Send a Mitsubishi Heavy 152-bit A/C message with the supplied settings.
Definition: IRac.cpp:1479
@ kOff
Support for Haier A/C protocols. The specifics of reverse engineering the protocols details:
Class for handling detailed Mitsubishi Heavy 88-bit A/C messages.
Definition: ir_MitsubishiHeavy.h:271
Class for handling detailed Gree A/C messages.
Definition: ir_Gree.h:133
void coolix(IRCoolixAC *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const stdAc::swingh_t swingh, const bool turbo, const bool light, const bool clean, const int16_t sleep=-1)
Send a Coolix A/C message with the supplied settings.
Definition: IRac.cpp:431
-
static stdAc::fanspeed_t strToFanspeed(const char *str, const stdAc::fanspeed_t def=stdAc::fanspeed_t::kAuto)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2770
+
static stdAc::fanspeed_t strToFanspeed(const char *str, const stdAc::fanspeed_t def=stdAc::fanspeed_t::kAuto)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:2776
Support for Toshiba protocols.
void goodweather(IRGoodweatherAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const bool turbo, const bool light, const int16_t sleep=-1)
Send a Goodweather A/C message with the supplied settings.
Definition: IRac.cpp:924
Structure to hold a common A/C state.
Definition: IRsend.h:97
@@ -697,12 +697,12 @@
Class for handling detailed Argo A/C messages.
Definition: ir_Argo.h:127
Class for handling detailed Neoclima A/C messages.
Definition: ir_Neoclima.h:120
static bool isProtocolSupported(const decode_type_t protocol)
Is the given protocol supported by the IRac class?
Definition: IRac.cpp:138
-
Class for handling detailed Daikin 176-bit A/C messages.
Definition: ir_Daikin.h:937
+
Class for handling detailed Daikin 176-bit A/C messages.
Definition: ir_Daikin.h:944
Amcor A/C protocol.
uint16_t _pin
The GPIO to use to transmit messages from.
Definition: IRac.h:102
-
void technibel(IRTechnibelAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const int16_t sleep=-1)
Send a Technibel A/C message with the supplied settings.
Definition: IRac.cpp:1814
-
voltas_ac_remote_model_t
Voltas A/C model numbers.
Definition: IRsend.h:158
-
sharp_ac_remote_model_t
Sharp A/C model numbers.
Definition: IRsend.h:152
+
void technibel(IRTechnibelAc *ac, const bool on, const stdAc::opmode_t mode, const bool celsius, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const int16_t sleep=-1)
Send a Technibel A/C message with the supplied settings.
Definition: IRac.cpp:1816
+
voltas_ac_remote_model_t
Voltas A/C model numbers.
Definition: IRsend.h:163
+
sharp_ac_remote_model_t
Sharp A/C model numbers.
Definition: IRsend.h:156
Support for LG protocols.
void carrier64(IRCarrierAc64 *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv, const int16_t sleep=-1)
Send a Carrier 64-bit A/C message with the supplied settings.
Definition: IRac.cpp:394
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46
diff --git a/docs/doxygen/html/IRrecv_8h_source.html b/docs/doxygen/html/IRrecv_8h_source.html index 8e988309c..1a3c07175 100644 --- a/docs/doxygen/html/IRrecv_8h_source.html +++ b/docs/doxygen/html/IRrecv_8h_source.html @@ -254,564 +254,577 @@
187  const uint8_t tolerance = kUseDefTol,
188  const int16_t excess = kMarkExcess,
189  const bool MSBfirst = true);
-
190  match_result_t matchData(volatile uint16_t *data_ptr, const uint16_t nbits,
+
190  match_result_t matchData(volatile uint16_t *data_ptr, const uint16_t nbits,
191  const uint16_t onemark, const uint32_t onespace,
192  const uint16_t zeromark, const uint32_t zerospace,
193  const uint8_t tolerance = kUseDefTol,
194  const int16_t excess = kMarkExcess,
-
195  const bool MSBfirst = true);
-
196  uint16_t matchBytes(volatile uint16_t *data_ptr, uint8_t *result_ptr,
-
197  const uint16_t remaining, const uint16_t nbytes,
-
198  const uint16_t onemark, const uint32_t onespace,
-
199  const uint16_t zeromark, const uint32_t zerospace,
-
200  const uint8_t tolerance = kUseDefTol,
-
201  const int16_t excess = kMarkExcess,
-
202  const bool MSBfirst = true);
-
203  uint16_t matchGeneric(volatile uint16_t *data_ptr,
-
204  uint64_t *result_ptr,
-
205  const uint16_t remaining, const uint16_t nbits,
-
206  const uint16_t hdrmark, const uint32_t hdrspace,
-
207  const uint16_t onemark, const uint32_t onespace,
-
208  const uint16_t zeromark, const uint32_t zerospace,
-
209  const uint16_t footermark, const uint32_t footerspace,
-
210  const bool atleast = false,
-
211  const uint8_t tolerance = kUseDefTol,
-
212  const int16_t excess = kMarkExcess,
-
213  const bool MSBfirst = true);
-
214  uint16_t matchGeneric(volatile uint16_t *data_ptr, uint8_t *result_ptr,
-
215  const uint16_t remaining, const uint16_t nbits,
-
216  const uint16_t hdrmark, const uint32_t hdrspace,
-
217  const uint16_t onemark, const uint32_t onespace,
-
218  const uint16_t zeromark, const uint32_t zerospace,
-
219  const uint16_t footermark,
-
220  const uint32_t footerspace,
-
221  const bool atleast = false,
-
222  const uint8_t tolerance = kUseDefTol,
-
223  const int16_t excess = kMarkExcess,
-
224  const bool MSBfirst = true);
-
225  uint16_t matchGenericConstBitTime(volatile uint16_t *data_ptr,
-
226  uint64_t *result_ptr,
-
227  const uint16_t remaining,
-
228  const uint16_t nbits,
-
229  const uint16_t hdrmark,
-
230  const uint32_t hdrspace,
-
231  const uint16_t one,
-
232  const uint32_t zero,
-
233  const uint16_t footermark,
-
234  const uint32_t footerspace,
-
235  const bool atleast = false,
-
236  const uint8_t tolerance = kUseDefTol,
-
237  const int16_t excess = kMarkExcess,
-
238  const bool MSBfirst = true);
-
239  uint16_t matchManchesterData(volatile const uint16_t *data_ptr,
-
240  uint64_t *result_ptr,
-
241  const uint16_t remaining,
-
242  const uint16_t nbits,
-
243  const uint16_t half_period,
-
244  const uint16_t starting_balance = 0,
-
245  const uint8_t tolerance = kUseDefTol,
-
246  const int16_t excess = kMarkExcess,
-
247  const bool MSBfirst = true,
-
248  const bool GEThomas = true);
-
249  uint16_t matchManchester(volatile const uint16_t *data_ptr,
-
250  uint64_t *result_ptr,
-
251  const uint16_t remaining,
-
252  const uint16_t nbits,
-
253  const uint16_t hdrmark,
-
254  const uint32_t hdrspace,
-
255  const uint16_t clock_period,
-
256  const uint16_t footermark,
-
257  const uint32_t footerspace,
-
258  const bool atleast = false,
-
259  const uint8_t tolerance = kUseDefTol,
-
260  const int16_t excess = kMarkExcess,
-
261  const bool MSBfirst = true,
-
262  const bool GEThomas = true);
-
263  void crudeNoiseFilter(decode_results *results, const uint16_t floor = 0);
-
264  bool decodeHash(decode_results *results);
-
265 #if DECODE_VOLTAS
-
266  bool decodeVoltas(decode_results *results,
-
267  uint16_t offset = kStartOffset,
-
268  const uint16_t nbits = kVoltasBits,
-
269  const bool strict = true);
-
270 #endif // DECODE_VOLTAS
-
271 #if (DECODE_NEC || DECODE_SHERWOOD || DECODE_AIWA_RC_T501 || DECODE_SANYO)
-
272  bool decodeNEC(decode_results *results, uint16_t offset = kStartOffset,
-
273  const uint16_t nbits = kNECBits, const bool strict = true);
-
274 #endif
-
275 #if DECODE_ARGO
-
276  bool decodeArgo(decode_results *results, uint16_t offset = kStartOffset,
-
277  const uint16_t nbits = kArgoBits, const bool strict = true);
-
278 #endif // DECODE_ARGO
-
279 #if DECODE_SONY
-
280  bool decodeSony(decode_results *results, uint16_t offset = kStartOffset,
-
281  const uint16_t nbits = kSonyMinBits,
-
282  const bool strict = false);
-
283 #endif
-
284 #if DECODE_SANYO
-
285  // DISABLED due to poor quality.
-
286  // bool decodeSanyo(decode_results *results, uint16_t offset = kStartOffset,
-
287  // uint16_t nbits = kSanyoSA8650BBits,
-
288  // bool strict = false);
-
289  bool decodeSanyoLC7461(decode_results *results,
-
290  uint16_t offset = kStartOffset,
-
291  const uint16_t nbits = kSanyoLC7461Bits,
-
292  const bool strict = true);
-
293 #endif
-
294 #if DECODE_SANYO_AC
-
295  bool decodeSanyoAc(decode_results *results,
-
296  uint16_t offset = kStartOffset,
-
297  const uint16_t nbits = kSanyoAcBits,
-
298  const bool strict = true);
-
299 #endif // DECODE_SANYO_AC
-
300 #if DECODE_MITSUBISHI
-
301  bool decodeMitsubishi(decode_results *results, uint16_t offset = kStartOffset,
-
302  const uint16_t nbits = kMitsubishiBits,
-
303  const bool strict = true);
-
304 #endif
-
305 #if DECODE_MITSUBISHI2
-
306  bool decodeMitsubishi2(decode_results *results,
-
307  uint16_t offset = kStartOffset,
-
308  const uint16_t nbits = kMitsubishiBits,
-
309  const bool strict = true);
-
310 #endif
-
311 #if DECODE_MITSUBISHI_AC
-
312  bool decodeMitsubishiAC(decode_results *results,
-
313  uint16_t offset = kStartOffset,
-
314  const uint16_t nbits = kMitsubishiACBits,
-
315  const bool strict = false);
-
316 #endif
-
317 #if DECODE_MITSUBISHI136
-
318  bool decodeMitsubishi136(decode_results *results,
-
319  uint16_t offset = kStartOffset,
-
320  const uint16_t nbits = kMitsubishi136Bits,
-
321  const bool strict = true);
-
322 #endif
-
323 #if DECODE_MITSUBISHI112
-
324  bool decodeMitsubishi112(decode_results *results,
-
325  uint16_t offset = kStartOffset,
-
326  const uint16_t nbits = kMitsubishi112Bits,
-
327  const bool strict = true);
-
328 #endif
-
329 #if DECODE_MITSUBISHIHEAVY
-
330  bool decodeMitsubishiHeavy(decode_results *results,
-
331  uint16_t offset = kStartOffset,
-
332  const uint16_t nbits = kMitsubishiHeavy152Bits,
-
333  const bool strict = true);
-
334 #endif
-
335 #if (DECODE_RC5 || DECODE_RC6 || DECODE_LASERTAG || DECODE_MWM)
-
336  int16_t getRClevel(decode_results *results, uint16_t *offset, uint16_t *used,
-
337  uint16_t bitTime, const uint8_t tolerance = kUseDefTol,
-
338  const int16_t excess = kMarkExcess,
-
339  const uint16_t delta = 0, const uint8_t maxwidth = 3);
-
340 #endif
-
341 #if DECODE_RC5
-
342  bool decodeRC5(decode_results *results, uint16_t offset = kStartOffset,
-
343  const uint16_t nbits = kRC5XBits,
-
344  const bool strict = true);
-
345 #endif
-
346 #if DECODE_RC6
-
347  bool decodeRC6(decode_results *results, uint16_t offset = kStartOffset,
-
348  const uint16_t nbits = kRC6Mode0Bits,
-
349  const bool strict = false);
-
350 #endif
-
351 #if DECODE_RCMM
-
352  bool decodeRCMM(decode_results *results, uint16_t offset = kStartOffset,
-
353  const uint16_t nbits = kRCMMBits,
-
354  const bool strict = false);
-
355 #endif
-
356 #if (DECODE_PANASONIC || DECODE_DENON)
-
357  bool decodePanasonic(decode_results *results, uint16_t offset = kStartOffset,
-
358  const uint16_t nbits = kPanasonicBits,
-
359  const bool strict = false,
-
360  const uint32_t manufacturer = kPanasonicManufacturer);
-
361 #endif
-
362 #if DECODE_LG
-
363  bool decodeLG(decode_results *results, uint16_t offset = kStartOffset,
-
364  const uint16_t nbits = kLgBits,
-
365  const bool strict = false);
-
366 #endif
-
367 #if DECODE_INAX
-
368  bool decodeInax(decode_results *results, uint16_t offset = kStartOffset,
-
369  const uint16_t nbits = kInaxBits,
-
370  const bool strict = true);
-
371 #endif // DECODE_INAX
-
372 #if DECODE_JVC
-
373  bool decodeJVC(decode_results *results, uint16_t offset = kStartOffset,
-
374  const uint16_t nbits = kJvcBits,
-
375  const bool strict = true);
-
376 #endif
-
377 #if DECODE_SAMSUNG
-
378  bool decodeSAMSUNG(decode_results *results, uint16_t offset = kStartOffset,
-
379  const uint16_t nbits = kSamsungBits,
-
380  const bool strict = true);
-
381 #endif
-
382 #if DECODE_SAMSUNG
-
383  bool decodeSamsung36(decode_results *results, uint16_t offset = kStartOffset,
-
384  const uint16_t nbits = kSamsung36Bits,
-
385  const bool strict = true);
-
386 #endif
-
387 #if DECODE_SAMSUNG_AC
-
388  bool decodeSamsungAC(decode_results *results, uint16_t offset = kStartOffset,
-
389  const uint16_t nbits = kSamsungAcBits,
-
390  const bool strict = true);
-
391 #endif
-
392 #if DECODE_WHYNTER
-
393  bool decodeWhynter(decode_results *results, uint16_t offset = kStartOffset,
-
394  const uint16_t nbits = kWhynterBits,
-
395  const bool strict = true);
-
396 #endif
-
397 #if DECODE_COOLIX
-
398  bool decodeCOOLIX(decode_results *results, uint16_t offset = kStartOffset,
-
399  const uint16_t nbits = kCoolixBits,
-
400  const bool strict = true);
-
401 #endif
-
402 #if DECODE_DENON
-
403  bool decodeDenon(decode_results *results, uint16_t offset = kStartOffset,
-
404  const uint16_t nbits = kDenonBits,
-
405  const bool strict = true);
-
406 #endif
-
407 #if DECODE_DISH
-
408  bool decodeDISH(decode_results *results, uint16_t offset = kStartOffset,
-
409  const uint16_t nbits = kDishBits,
-
410  const bool strict = true);
-
411 #endif
-
412 #if (DECODE_SHARP || DECODE_DENON)
-
413  bool decodeSharp(decode_results *results, uint16_t offset = kStartOffset,
-
414  const uint16_t nbits = kSharpBits,
-
415  const bool strict = true, const bool expansion = true);
-
416 #endif
-
417 #if DECODE_SHARP_AC
-
418  bool decodeSharpAc(decode_results *results, uint16_t offset = kStartOffset,
-
419  const uint16_t nbits = kSharpAcBits,
-
420  const bool strict = true);
-
421 #endif
-
422 #if DECODE_AIWA_RC_T501
-
423  bool decodeAiwaRCT501(decode_results *results, uint16_t offset = kStartOffset,
-
424  const uint16_t nbits = kAiwaRcT501Bits,
-
425  const bool strict = true);
-
426 #endif
-
427 #if DECODE_NIKAI
-
428  bool decodeNikai(decode_results *results, uint16_t offset = kStartOffset,
-
429  const uint16_t nbits = kNikaiBits,
-
430  const bool strict = true);
-
431 #endif
-
432 #if DECODE_MAGIQUEST
-
433  bool decodeMagiQuest(decode_results *results, uint16_t offset = kStartOffset,
-
434  const uint16_t nbits = kMagiquestBits,
-
435  const bool strict = true);
-
436 #endif
-
437 #if DECODE_KELVINATOR
-
438  bool decodeKelvinator(decode_results *results, uint16_t offset = kStartOffset,
-
439  const uint16_t nbits = kKelvinatorBits,
-
440  const bool strict = true);
-
441 #endif
-
442 #if DECODE_DAIKIN
-
443  bool decodeDaikin(decode_results *results, uint16_t offset = kStartOffset,
-
444  const uint16_t nbits = kDaikinBits,
-
445  const bool strict = true);
-
446 #endif
-
447 #if DECODE_DAIKIN64
-
448  bool decodeDaikin64(decode_results *results, uint16_t offset = kStartOffset,
-
449  const uint16_t nbits = kDaikin64Bits,
-
450  const bool strict = true);
-
451 #endif // DECODE_DAIKIN64
-
452 #if DECODE_DAIKIN128
-
453  bool decodeDaikin128(decode_results *results, uint16_t offset = kStartOffset,
-
454  const uint16_t nbits = kDaikin128Bits,
-
455  const bool strict = true);
-
456 #endif // DECODE_DAIKIN128
-
457 #if DECODE_DAIKIN152
-
458  bool decodeDaikin152(decode_results *results, uint16_t offset = kStartOffset,
-
459  const uint16_t nbits = kDaikin152Bits,
-
460  const bool strict = true);
-
461 #endif // DECODE_DAIKIN152
-
462 #if DECODE_DAIKIN160
-
463  bool decodeDaikin160(decode_results *results, uint16_t offset = kStartOffset,
-
464  const uint16_t nbits = kDaikin160Bits,
-
465  const bool strict = true);
-
466 #endif // DECODE_DAIKIN160
-
467 #if DECODE_DAIKIN176
-
468  bool decodeDaikin176(decode_results *results, uint16_t offset = kStartOffset,
-
469  const uint16_t nbits = kDaikin176Bits,
-
470  const bool strict = true);
-
471 #endif // DECODE_DAIKIN176
-
472 #if DECODE_DAIKIN2
-
473  bool decodeDaikin2(decode_results *results, uint16_t offset = kStartOffset,
-
474  const uint16_t nbits = kDaikin2Bits,
-
475  const bool strict = true);
-
476 #endif
-
477 #if DECODE_DAIKIN216
-
478  bool decodeDaikin216(decode_results *results, uint16_t offset = kStartOffset,
-
479  const uint16_t nbits = kDaikin216Bits,
-
480  const bool strict = true);
-
481 #endif
-
482 #if DECODE_TOSHIBA_AC
-
483  bool decodeToshibaAC(decode_results *results, uint16_t offset = kStartOffset,
-
484  const uint16_t nbits = kToshibaACBits,
-
485  const bool strict = true);
-
486 #endif
-
487 #if DECODE_TROTEC
-
488  bool decodeTrotec(decode_results *results, uint16_t offset = kStartOffset,
-
489  const uint16_t nbits = kTrotecBits,
-
490  const bool strict = true);
-
491 #endif // DECODE_TROTEC
-
492 #if DECODE_MIDEA
-
493  bool decodeMidea(decode_results *results, uint16_t offset = kStartOffset,
-
494  const uint16_t nbits = kMideaBits,
-
495  const bool strict = true);
-
496 #endif // DECODE_MIDEA
-
497 #if DECODE_MIDEA24
-
498  bool decodeMidea24(decode_results *results, uint16_t offset = kStartOffset,
-
499  const uint16_t nbits = kMidea24Bits,
-
500  const bool strict = true);
-
501 #endif // DECODE_MIDEA24
-
502 #if DECODE_FUJITSU_AC
-
503  bool decodeFujitsuAC(decode_results *results, uint16_t offset = kStartOffset,
-
504  const uint16_t nbits = kFujitsuAcBits,
-
505  const bool strict = false);
-
506 #endif
-
507 #if DECODE_LASERTAG
-
508  bool decodeLasertag(decode_results *results, uint16_t offset = kStartOffset,
-
509  const uint16_t nbits = kLasertagBits,
-
510  const bool strict = true);
-
511 #endif
-
512 #if DECODE_CARRIER_AC
-
513  bool decodeCarrierAC(decode_results *results, uint16_t offset = kStartOffset,
-
514  const uint16_t nbits = kCarrierAcBits,
-
515  const bool strict = true);
-
516 #endif // DECODE_CARRIER_AC
-
517 #if DECODE_CARRIER_AC40
-
518  bool decodeCarrierAC40(decode_results *results,
-
519  uint16_t offset = kStartOffset,
-
520  const uint16_t nbits = kCarrierAc40Bits,
-
521  const bool strict = true);
-
522 #endif // DECODE_CARRIER_AC40
-
523 #if DECODE_CARRIER_AC64
-
524  bool decodeCarrierAC64(decode_results *results,
-
525  uint16_t offset = kStartOffset,
-
526  const uint16_t nbits = kCarrierAc64Bits,
-
527  const bool strict = true);
-
528 #endif // DECODE_CARRIER_AC64
-
529 #if DECODE_GOODWEATHER
-
530  bool decodeGoodweather(decode_results *results,
-
531  uint16_t offset = kStartOffset,
-
532  const uint16_t nbits = kGoodweatherBits,
-
533  const bool strict = true);
-
534 #endif // DECODE_GOODWEATHER
-
535 #if DECODE_GREE
-
536  bool decodeGree(decode_results *results, uint16_t offset = kStartOffset,
-
537  const uint16_t nbits = kGreeBits,
-
538  const bool strict = true);
-
539 #endif
-
540 #if (DECODE_HAIER_AC | DECODE_HAIER_AC_YRW02)
-
541  bool decodeHaierAC(decode_results *results, uint16_t offset = kStartOffset,
-
542  const uint16_t nbits = kHaierACBits,
-
543  const bool strict = true);
-
544 #endif
-
545 #if DECODE_HAIER_AC_YRW02
-
546  bool decodeHaierACYRW02(decode_results *results,
-
547  uint16_t offset = kStartOffset,
-
548  const uint16_t nbits = kHaierACYRW02Bits,
-
549  const bool strict = true);
-
550 #endif
-
551 #if (DECODE_HITACHI_AC || DECODE_HITACHI_AC2 || DECODE_HITACHI_AC344)
-
552  bool decodeHitachiAC(decode_results *results, uint16_t offset = kStartOffset,
-
553  const uint16_t nbits = kHitachiAcBits,
-
554  const bool strict = true, const bool MSBfirst = true);
-
555 #endif
-
556 #if DECODE_HITACHI_AC1
-
557  bool decodeHitachiAC1(decode_results *results, uint16_t offset = kStartOffset,
-
558  const uint16_t nbits = kHitachiAc1Bits,
-
559  const bool strict = true);
-
560 #endif
-
561 #if DECODE_HITACHI_AC3
-
562  bool decodeHitachiAc3(decode_results *results,
-
563  uint16_t offset = kStartOffset,
-
564  const uint16_t nbits = kHitachiAc3Bits,
-
565  const bool strict = true);
-
566 #endif // DECODE_HITACHI_AC3
-
567 #if DECODE_HITACHI_AC424
-
568  bool decodeHitachiAc424(decode_results *results,
-
569  uint16_t offset = kStartOffset,
-
570  const uint16_t nbits = kHitachiAc424Bits,
-
571  const bool strict = true);
-
572 #endif // DECODE_HITACHI_AC424
-
573 #if DECODE_GICABLE
-
574  bool decodeGICable(decode_results *results, uint16_t offset = kStartOffset,
-
575  const uint16_t nbits = kGicableBits,
-
576  const bool strict = true);
-
577 #endif
-
578 #if DECODE_WHIRLPOOL_AC
-
579  bool decodeWhirlpoolAC(decode_results *results,
-
580  uint16_t offset = kStartOffset,
-
581  const uint16_t nbits = kWhirlpoolAcBits,
-
582  const bool strict = true);
-
583 #endif
-
584 #if DECODE_LUTRON
-
585  bool decodeLutron(decode_results *results, uint16_t offset = kStartOffset,
-
586  const uint16_t nbits = kLutronBits,
-
587  const bool strict = true);
-
588 #endif
-
589 #if DECODE_ELECTRA_AC
-
590  bool decodeElectraAC(decode_results *results, uint16_t offset = kStartOffset,
-
591  const uint16_t nbits = kElectraAcBits,
-
592  const bool strict = true);
-
593 #endif
-
594 #if DECODE_PANASONIC_AC
-
595  bool decodePanasonicAC(decode_results *results,
-
596  uint16_t offset = kStartOffset,
-
597  const uint16_t nbits = kPanasonicAcBits,
-
598  const bool strict = true);
-
599 #endif // DECODE_PANASONIC_AC
-
600 #if DECODE_PANASONIC_AC32
-
601  bool decodePanasonicAC32(decode_results *results,
-
602  uint16_t offset = kStartOffset,
-
603  const uint16_t nbits = kPanasonicAc32Bits,
-
604  const bool strict = true);
-
605 #endif // DECODE_PANASONIC_AC32
-
606 #if DECODE_PIONEER
-
607  bool decodePioneer(decode_results *results, uint16_t offset = kStartOffset,
-
608  const uint16_t nbits = kPioneerBits,
-
609  const bool strict = true);
-
610 #endif
-
611 #if DECODE_MWM
-
612  bool decodeMWM(decode_results *results, uint16_t offset = kStartOffset,
-
613  const uint16_t nbits = 24,
-
614  const bool strict = true);
-
615 #endif
-
616 #if DECODE_VESTEL_AC
-
617  bool decodeVestelAc(decode_results *results, uint16_t offset = kStartOffset,
-
618  const uint16_t nbits = kVestelAcBits,
-
619  const bool strict = true);
-
620 #endif
-
621 #if DECODE_TECO
-
622  bool decodeTeco(decode_results *results, uint16_t offset = kStartOffset,
-
623  const uint16_t nbits = kTecoBits,
-
624  const bool strict = false);
-
625 #endif
-
626 #if DECODE_LEGOPF
-
627  bool decodeLegoPf(decode_results *results, uint16_t offset = kStartOffset,
-
628  const uint16_t nbits = kLegoPfBits,
-
629  const bool strict = true);
-
630 #endif
-
631 #if DECODE_NEOCLIMA
-
632  bool decodeNeoclima(decode_results *results, uint16_t offset = kStartOffset,
-
633  const uint16_t nbits = kNeoclimaBits,
-
634  const bool strict = true);
-
635 #endif // DECODE_NEOCLIMA
-
636 #if DECODE_AMCOR
-
637  bool decodeAmcor(decode_results *results, uint16_t offset = kStartOffset,
-
638  const uint16_t nbits = kAmcorBits,
-
639  const bool strict = true);
-
640 #endif // DECODE_AMCOR
-
641 #if DECODE_EPSON
-
642  bool decodeEpson(decode_results *results, uint16_t offset = kStartOffset,
-
643  const uint16_t nbits = kEpsonBits,
-
644  const bool strict = true);
-
645 #endif // DECODE_EPSON
-
646 #if DECODE_SYMPHONY
-
647  bool decodeSymphony(decode_results *results, uint16_t offset = kStartOffset,
-
648  const uint16_t nbits = kSymphonyBits,
-
649  const bool strict = true);
-
650 #endif // DECODE_SYMPHONY
-
651 #if DECODE_AIRWELL
-
652  bool decodeAirwell(decode_results *results, uint16_t offset = kStartOffset,
-
653  const uint16_t nbits = kAirwellBits,
-
654  const bool strict = true);
-
655 #endif // DECODE_AIRWELL
-
656 #if DECODE_DELONGHI_AC
-
657  bool decodeDelonghiAc(decode_results *results, uint16_t offset = kStartOffset,
-
658  const uint16_t nbits = kDelonghiAcBits,
-
659  const bool strict = true);
-
660 #endif // DECODE_DELONGHI_AC
-
661 #if DECODE_DOSHISHA
-
662  bool decodeDoshisha(decode_results *results, uint16_t offset = kStartOffset,
-
663  const uint16_t nbits = kDoshishaBits,
-
664  const bool strict = true);
-
665 #endif // DECODE_DOSHISHA
-
666 #if DECODE_MULTIBRACKETS
-
667  bool decodeMultibrackets(decode_results *results,
-
668  uint16_t offset = kStartOffset,
-
669  const uint16_t nbits = kMultibracketsBits,
-
670  const bool strict = true);
-
671 #endif // DECODE_MULTIBRACKETS
-
672 #if DECODE_TECHNIBEL_AC
-
673  bool decodeTechnibelAc(decode_results *results,
-
674  uint16_t offset = kStartOffset,
-
675  const uint16_t nbits = kTechnibelAcBits,
-
676  const bool strict = true);
-
677 #endif // DECODE_TECHNIBEL_AC
-
678 #if DECODE_CORONA_AC
-
679  bool decodeCoronaAc(decode_results *results, uint16_t offset = kStartOffset,
-
680  const uint16_t nbits = kCoronaAcBitsShort,
-
681  const bool strict = true);
-
682 #endif // DECODE_CORONA_AC
-
683 #if DECODE_ZEPEAL
-
684  bool decodeZepeal(decode_results *results, uint16_t offset = kStartOffset,
-
685  const uint16_t nbits = kZepealBits,
-
686  const bool strict = true);
-
687 #endif // DECODE_ZEPEAL
-
688 #if DECODE_METZ
-
689  bool decodeMetz(decode_results *results, uint16_t offset = kStartOffset,
-
690  const uint16_t nbits = kMetzBits,
-
691  const bool strict = true);
-
692 #endif // DECODE_METZ
-
693 #if DECODE_TRANSCOLD
-
694  bool decodeTranscold(decode_results *results, uint16_t offset = kStartOffset,
-
695  const uint16_t nbits = kTranscoldBits,
-
696  const bool strict = true);
-
697 #endif // DECODE_TRANSCOLD
-
698 #if DECODE_MIRAGE
-
699  bool decodeMirage(decode_results *results,
-
700  uint16_t offset = kStartOffset,
-
701  const uint16_t nbits = kMirageBits,
-
702  const bool strict = true);
-
703 #endif // DECODE_MIRAGE
-
704 #if DECODE_ELITESCREENS
-
705  bool decodeElitescreens(decode_results *results,
-
706  uint16_t offset = kStartOffset,
-
707  const uint16_t nbits = kEliteScreensBits,
-
708  const bool strict = true);
-
709 #endif // DECODE_ELITESCREENS
-
710 };
-
711 
-
712 #endif // IRRECV_H_
+
195  const bool MSBfirst = true,
+
196  const bool expectlastspace = true);
+
197  uint16_t matchBytes(volatile uint16_t *data_ptr, uint8_t *result_ptr,
+
198  const uint16_t remaining, const uint16_t nbytes,
+
199  const uint16_t onemark, const uint32_t onespace,
+
200  const uint16_t zeromark, const uint32_t zerospace,
+
201  const uint8_t tolerance = kUseDefTol,
+
202  const int16_t excess = kMarkExcess,
+
203  const bool MSBfirst = true,
+
204  const bool expectlastspace = true);
+
205  uint16_t matchGeneric(volatile uint16_t *data_ptr,
+
206  uint64_t *result_ptr,
+
207  const uint16_t remaining, const uint16_t nbits,
+
208  const uint16_t hdrmark, const uint32_t hdrspace,
+
209  const uint16_t onemark, const uint32_t onespace,
+
210  const uint16_t zeromark, const uint32_t zerospace,
+
211  const uint16_t footermark, const uint32_t footerspace,
+
212  const bool atleast = false,
+
213  const uint8_t tolerance = kUseDefTol,
+
214  const int16_t excess = kMarkExcess,
+
215  const bool MSBfirst = true);
+
216  uint16_t matchGeneric(volatile uint16_t *data_ptr, uint8_t *result_ptr,
+
217  const uint16_t remaining, const uint16_t nbits,
+
218  const uint16_t hdrmark, const uint32_t hdrspace,
+
219  const uint16_t onemark, const uint32_t onespace,
+
220  const uint16_t zeromark, const uint32_t zerospace,
+
221  const uint16_t footermark,
+
222  const uint32_t footerspace,
+
223  const bool atleast = false,
+
224  const uint8_t tolerance = kUseDefTol,
+
225  const int16_t excess = kMarkExcess,
+
226  const bool MSBfirst = true);
+
227  uint16_t matchGenericConstBitTime(volatile uint16_t *data_ptr,
+
228  uint64_t *result_ptr,
+
229  const uint16_t remaining,
+
230  const uint16_t nbits,
+
231  const uint16_t hdrmark,
+
232  const uint32_t hdrspace,
+
233  const uint16_t one,
+
234  const uint32_t zero,
+
235  const uint16_t footermark,
+
236  const uint32_t footerspace,
+
237  const bool atleast = false,
+
238  const uint8_t tolerance = kUseDefTol,
+
239  const int16_t excess = kMarkExcess,
+
240  const bool MSBfirst = true);
+
241  uint16_t matchManchesterData(volatile const uint16_t *data_ptr,
+
242  uint64_t *result_ptr,
+
243  const uint16_t remaining,
+
244  const uint16_t nbits,
+
245  const uint16_t half_period,
+
246  const uint16_t starting_balance = 0,
+
247  const uint8_t tolerance = kUseDefTol,
+
248  const int16_t excess = kMarkExcess,
+
249  const bool MSBfirst = true,
+
250  const bool GEThomas = true);
+
251  uint16_t matchManchester(volatile const uint16_t *data_ptr,
+
252  uint64_t *result_ptr,
+
253  const uint16_t remaining,
+
254  const uint16_t nbits,
+
255  const uint16_t hdrmark,
+
256  const uint32_t hdrspace,
+
257  const uint16_t clock_period,
+
258  const uint16_t footermark,
+
259  const uint32_t footerspace,
+
260  const bool atleast = false,
+
261  const uint8_t tolerance = kUseDefTol,
+
262  const int16_t excess = kMarkExcess,
+
263  const bool MSBfirst = true,
+
264  const bool GEThomas = true);
+
265  void crudeNoiseFilter(decode_results *results, const uint16_t floor = 0);
+
266  bool decodeHash(decode_results *results);
+
267 #if DECODE_VOLTAS
+
268  bool decodeVoltas(decode_results *results,
+
269  uint16_t offset = kStartOffset,
+
270  const uint16_t nbits = kVoltasBits,
+
271  const bool strict = true);
+
272 #endif // DECODE_VOLTAS
+
273 #if (DECODE_NEC || DECODE_SHERWOOD || DECODE_AIWA_RC_T501 || DECODE_SANYO)
+
274  bool decodeNEC(decode_results *results, uint16_t offset = kStartOffset,
+
275  const uint16_t nbits = kNECBits, const bool strict = true);
+
276 #endif
+
277 #if DECODE_ARGO
+
278  bool decodeArgo(decode_results *results, uint16_t offset = kStartOffset,
+
279  const uint16_t nbits = kArgoBits, const bool strict = true);
+
280 #endif // DECODE_ARGO
+
281 #if DECODE_SONY
+
282  bool decodeSony(decode_results *results, uint16_t offset = kStartOffset,
+
283  const uint16_t nbits = kSonyMinBits,
+
284  const bool strict = false);
+
285 #endif
+
286 #if DECODE_SANYO
+
287  // DISABLED due to poor quality.
+
288  // bool decodeSanyo(decode_results *results, uint16_t offset = kStartOffset,
+
289  // uint16_t nbits = kSanyoSA8650BBits,
+
290  // bool strict = false);
+
291  bool decodeSanyoLC7461(decode_results *results,
+
292  uint16_t offset = kStartOffset,
+
293  const uint16_t nbits = kSanyoLC7461Bits,
+
294  const bool strict = true);
+
295 #endif
+
296 #if DECODE_SANYO_AC
+
297  bool decodeSanyoAc(decode_results *results,
+
298  uint16_t offset = kStartOffset,
+
299  const uint16_t nbits = kSanyoAcBits,
+
300  const bool strict = true);
+
301 #endif // DECODE_SANYO_AC
+
302 #if DECODE_MITSUBISHI
+
303  bool decodeMitsubishi(decode_results *results, uint16_t offset = kStartOffset,
+
304  const uint16_t nbits = kMitsubishiBits,
+
305  const bool strict = true);
+
306 #endif
+
307 #if DECODE_MITSUBISHI2
+
308  bool decodeMitsubishi2(decode_results *results,
+
309  uint16_t offset = kStartOffset,
+
310  const uint16_t nbits = kMitsubishiBits,
+
311  const bool strict = true);
+
312 #endif
+
313 #if DECODE_MITSUBISHI_AC
+
314  bool decodeMitsubishiAC(decode_results *results,
+
315  uint16_t offset = kStartOffset,
+
316  const uint16_t nbits = kMitsubishiACBits,
+
317  const bool strict = false);
+
318 #endif
+
319 #if DECODE_MITSUBISHI136
+
320  bool decodeMitsubishi136(decode_results *results,
+
321  uint16_t offset = kStartOffset,
+
322  const uint16_t nbits = kMitsubishi136Bits,
+
323  const bool strict = true);
+
324 #endif
+
325 #if DECODE_MITSUBISHI112
+
326  bool decodeMitsubishi112(decode_results *results,
+
327  uint16_t offset = kStartOffset,
+
328  const uint16_t nbits = kMitsubishi112Bits,
+
329  const bool strict = true);
+
330 #endif
+
331 #if DECODE_MITSUBISHIHEAVY
+
332  bool decodeMitsubishiHeavy(decode_results *results,
+
333  uint16_t offset = kStartOffset,
+
334  const uint16_t nbits = kMitsubishiHeavy152Bits,
+
335  const bool strict = true);
+
336 #endif
+
337 #if (DECODE_RC5 || DECODE_RC6 || DECODE_LASERTAG || DECODE_MWM)
+
338  int16_t getRClevel(decode_results *results, uint16_t *offset, uint16_t *used,
+
339  uint16_t bitTime, const uint8_t tolerance = kUseDefTol,
+
340  const int16_t excess = kMarkExcess,
+
341  const uint16_t delta = 0, const uint8_t maxwidth = 3);
+
342 #endif
+
343 #if DECODE_RC5
+
344  bool decodeRC5(decode_results *results, uint16_t offset = kStartOffset,
+
345  const uint16_t nbits = kRC5XBits,
+
346  const bool strict = true);
+
347 #endif
+
348 #if DECODE_RC6
+
349  bool decodeRC6(decode_results *results, uint16_t offset = kStartOffset,
+
350  const uint16_t nbits = kRC6Mode0Bits,
+
351  const bool strict = false);
+
352 #endif
+
353 #if DECODE_RCMM
+
354  bool decodeRCMM(decode_results *results, uint16_t offset = kStartOffset,
+
355  const uint16_t nbits = kRCMMBits,
+
356  const bool strict = false);
+
357 #endif
+
358 #if (DECODE_PANASONIC || DECODE_DENON)
+
359  bool decodePanasonic(decode_results *results, uint16_t offset = kStartOffset,
+
360  const uint16_t nbits = kPanasonicBits,
+
361  const bool strict = false,
+
362  const uint32_t manufacturer = kPanasonicManufacturer);
+
363 #endif
+
364 #if DECODE_LG
+
365  bool decodeLG(decode_results *results, uint16_t offset = kStartOffset,
+
366  const uint16_t nbits = kLgBits,
+
367  const bool strict = false);
+
368 #endif
+
369 #if DECODE_INAX
+
370  bool decodeInax(decode_results *results, uint16_t offset = kStartOffset,
+
371  const uint16_t nbits = kInaxBits,
+
372  const bool strict = true);
+
373 #endif // DECODE_INAX
+
374 #if DECODE_JVC
+
375  bool decodeJVC(decode_results *results, uint16_t offset = kStartOffset,
+
376  const uint16_t nbits = kJvcBits,
+
377  const bool strict = true);
+
378 #endif
+
379 #if DECODE_SAMSUNG
+
380  bool decodeSAMSUNG(decode_results *results, uint16_t offset = kStartOffset,
+
381  const uint16_t nbits = kSamsungBits,
+
382  const bool strict = true);
+
383 #endif
+
384 #if DECODE_SAMSUNG
+
385  bool decodeSamsung36(decode_results *results, uint16_t offset = kStartOffset,
+
386  const uint16_t nbits = kSamsung36Bits,
+
387  const bool strict = true);
+
388 #endif
+
389 #if DECODE_SAMSUNG_AC
+
390  bool decodeSamsungAC(decode_results *results, uint16_t offset = kStartOffset,
+
391  const uint16_t nbits = kSamsungAcBits,
+
392  const bool strict = true);
+
393 #endif
+
394 #if DECODE_WHYNTER
+
395  bool decodeWhynter(decode_results *results, uint16_t offset = kStartOffset,
+
396  const uint16_t nbits = kWhynterBits,
+
397  const bool strict = true);
+
398 #endif
+
399 #if DECODE_COOLIX
+
400  bool decodeCOOLIX(decode_results *results, uint16_t offset = kStartOffset,
+
401  const uint16_t nbits = kCoolixBits,
+
402  const bool strict = true);
+
403 #endif
+
404 #if DECODE_DENON
+
405  bool decodeDenon(decode_results *results, uint16_t offset = kStartOffset,
+
406  const uint16_t nbits = kDenonBits,
+
407  const bool strict = true);
+
408 #endif
+
409 #if DECODE_DISH
+
410  bool decodeDISH(decode_results *results, uint16_t offset = kStartOffset,
+
411  const uint16_t nbits = kDishBits,
+
412  const bool strict = true);
+
413 #endif
+
414 #if (DECODE_SHARP || DECODE_DENON)
+
415  bool decodeSharp(decode_results *results, uint16_t offset = kStartOffset,
+
416  const uint16_t nbits = kSharpBits,
+
417  const bool strict = true, const bool expansion = true);
+
418 #endif
+
419 #if DECODE_SHARP_AC
+
420  bool decodeSharpAc(decode_results *results, uint16_t offset = kStartOffset,
+
421  const uint16_t nbits = kSharpAcBits,
+
422  const bool strict = true);
+
423 #endif
+
424 #if DECODE_AIWA_RC_T501
+
425  bool decodeAiwaRCT501(decode_results *results, uint16_t offset = kStartOffset,
+
426  const uint16_t nbits = kAiwaRcT501Bits,
+
427  const bool strict = true);
+
428 #endif
+
429 #if DECODE_NIKAI
+
430  bool decodeNikai(decode_results *results, uint16_t offset = kStartOffset,
+
431  const uint16_t nbits = kNikaiBits,
+
432  const bool strict = true);
+
433 #endif
+
434 #if DECODE_MAGIQUEST
+
435  bool decodeMagiQuest(decode_results *results, uint16_t offset = kStartOffset,
+
436  const uint16_t nbits = kMagiquestBits,
+
437  const bool strict = true);
+
438 #endif
+
439 #if DECODE_KELVINATOR
+
440  bool decodeKelvinator(decode_results *results, uint16_t offset = kStartOffset,
+
441  const uint16_t nbits = kKelvinatorBits,
+
442  const bool strict = true);
+
443 #endif
+
444 #if DECODE_DAIKIN
+
445  bool decodeDaikin(decode_results *results, uint16_t offset = kStartOffset,
+
446  const uint16_t nbits = kDaikinBits,
+
447  const bool strict = true);
+
448 #endif
+
449 #if DECODE_DAIKIN64
+
450  bool decodeDaikin64(decode_results *results, uint16_t offset = kStartOffset,
+
451  const uint16_t nbits = kDaikin64Bits,
+
452  const bool strict = true);
+
453 #endif // DECODE_DAIKIN64
+
454 #if DECODE_DAIKIN128
+
455  bool decodeDaikin128(decode_results *results, uint16_t offset = kStartOffset,
+
456  const uint16_t nbits = kDaikin128Bits,
+
457  const bool strict = true);
+
458 #endif // DECODE_DAIKIN128
+
459 #if DECODE_DAIKIN152
+
460  bool decodeDaikin152(decode_results *results, uint16_t offset = kStartOffset,
+
461  const uint16_t nbits = kDaikin152Bits,
+
462  const bool strict = true);
+
463 #endif // DECODE_DAIKIN152
+
464 #if DECODE_DAIKIN160
+
465  bool decodeDaikin160(decode_results *results, uint16_t offset = kStartOffset,
+
466  const uint16_t nbits = kDaikin160Bits,
+
467  const bool strict = true);
+
468 #endif // DECODE_DAIKIN160
+
469 #if DECODE_DAIKIN176
+
470  bool decodeDaikin176(decode_results *results, uint16_t offset = kStartOffset,
+
471  const uint16_t nbits = kDaikin176Bits,
+
472  const bool strict = true);
+
473 #endif // DECODE_DAIKIN176
+
474 #if DECODE_DAIKIN2
+
475  bool decodeDaikin2(decode_results *results, uint16_t offset = kStartOffset,
+
476  const uint16_t nbits = kDaikin2Bits,
+
477  const bool strict = true);
+
478 #endif
+
479 #if DECODE_DAIKIN216
+
480  bool decodeDaikin216(decode_results *results, uint16_t offset = kStartOffset,
+
481  const uint16_t nbits = kDaikin216Bits,
+
482  const bool strict = true);
+
483 #endif
+
484 #if DECODE_TOSHIBA_AC
+
485  bool decodeToshibaAC(decode_results *results, uint16_t offset = kStartOffset,
+
486  const uint16_t nbits = kToshibaACBits,
+
487  const bool strict = true);
+
488 #endif
+
489 #if DECODE_TROTEC
+
490  bool decodeTrotec(decode_results *results, uint16_t offset = kStartOffset,
+
491  const uint16_t nbits = kTrotecBits,
+
492  const bool strict = true);
+
493 #endif // DECODE_TROTEC
+
494 #if DECODE_MIDEA
+
495  bool decodeMidea(decode_results *results, uint16_t offset = kStartOffset,
+
496  const uint16_t nbits = kMideaBits,
+
497  const bool strict = true);
+
498 #endif // DECODE_MIDEA
+
499 #if DECODE_MIDEA24
+
500  bool decodeMidea24(decode_results *results, uint16_t offset = kStartOffset,
+
501  const uint16_t nbits = kMidea24Bits,
+
502  const bool strict = true);
+
503 #endif // DECODE_MIDEA24
+
504 #if DECODE_FUJITSU_AC
+
505  bool decodeFujitsuAC(decode_results *results, uint16_t offset = kStartOffset,
+
506  const uint16_t nbits = kFujitsuAcBits,
+
507  const bool strict = false);
+
508 #endif
+
509 #if DECODE_LASERTAG
+
510  bool decodeLasertag(decode_results *results, uint16_t offset = kStartOffset,
+
511  const uint16_t nbits = kLasertagBits,
+
512  const bool strict = true);
+
513 #endif
+
514 #if DECODE_MILESTAG2
+
515  bool decodeMilestag2(decode_results *results, uint16_t offset = kStartOffset,
+
516  const uint16_t nbits = kMilesTag2ShotBits,
+
517  const bool strict = true);
+
518 #endif
+
519 #if DECODE_CARRIER_AC
+
520  bool decodeCarrierAC(decode_results *results, uint16_t offset = kStartOffset,
+
521  const uint16_t nbits = kCarrierAcBits,
+
522  const bool strict = true);
+
523 #endif // DECODE_CARRIER_AC
+
524 #if DECODE_CARRIER_AC40
+
525  bool decodeCarrierAC40(decode_results *results,
+
526  uint16_t offset = kStartOffset,
+
527  const uint16_t nbits = kCarrierAc40Bits,
+
528  const bool strict = true);
+
529 #endif // DECODE_CARRIER_AC40
+
530 #if DECODE_CARRIER_AC64
+
531  bool decodeCarrierAC64(decode_results *results,
+
532  uint16_t offset = kStartOffset,
+
533  const uint16_t nbits = kCarrierAc64Bits,
+
534  const bool strict = true);
+
535 #endif // DECODE_CARRIER_AC64
+
536 #if DECODE_GOODWEATHER
+
537  bool decodeGoodweather(decode_results *results,
+
538  uint16_t offset = kStartOffset,
+
539  const uint16_t nbits = kGoodweatherBits,
+
540  const bool strict = true);
+
541 #endif // DECODE_GOODWEATHER
+
542 #if DECODE_GREE
+
543  bool decodeGree(decode_results *results, uint16_t offset = kStartOffset,
+
544  const uint16_t nbits = kGreeBits,
+
545  const bool strict = true);
+
546 #endif
+
547 #if (DECODE_HAIER_AC | DECODE_HAIER_AC_YRW02)
+
548  bool decodeHaierAC(decode_results *results, uint16_t offset = kStartOffset,
+
549  const uint16_t nbits = kHaierACBits,
+
550  const bool strict = true);
+
551 #endif
+
552 #if DECODE_HAIER_AC_YRW02
+
553  bool decodeHaierACYRW02(decode_results *results,
+
554  uint16_t offset = kStartOffset,
+
555  const uint16_t nbits = kHaierACYRW02Bits,
+
556  const bool strict = true);
+
557 #endif
+
558 #if (DECODE_HITACHI_AC || DECODE_HITACHI_AC2 || DECODE_HITACHI_AC344)
+
559  bool decodeHitachiAC(decode_results *results, uint16_t offset = kStartOffset,
+
560  const uint16_t nbits = kHitachiAcBits,
+
561  const bool strict = true, const bool MSBfirst = true);
+
562 #endif
+
563 #if DECODE_HITACHI_AC1
+
564  bool decodeHitachiAC1(decode_results *results, uint16_t offset = kStartOffset,
+
565  const uint16_t nbits = kHitachiAc1Bits,
+
566  const bool strict = true);
+
567 #endif
+
568 #if DECODE_HITACHI_AC3
+
569  bool decodeHitachiAc3(decode_results *results,
+
570  uint16_t offset = kStartOffset,
+
571  const uint16_t nbits = kHitachiAc3Bits,
+
572  const bool strict = true);
+
573 #endif // DECODE_HITACHI_AC3
+
574 #if DECODE_HITACHI_AC424
+
575  bool decodeHitachiAc424(decode_results *results,
+
576  uint16_t offset = kStartOffset,
+
577  const uint16_t nbits = kHitachiAc424Bits,
+
578  const bool strict = true);
+
579 #endif // DECODE_HITACHI_AC424
+
580 #if DECODE_GICABLE
+
581  bool decodeGICable(decode_results *results, uint16_t offset = kStartOffset,
+
582  const uint16_t nbits = kGicableBits,
+
583  const bool strict = true);
+
584 #endif
+
585 #if DECODE_WHIRLPOOL_AC
+
586  bool decodeWhirlpoolAC(decode_results *results,
+
587  uint16_t offset = kStartOffset,
+
588  const uint16_t nbits = kWhirlpoolAcBits,
+
589  const bool strict = true);
+
590 #endif
+
591 #if DECODE_LUTRON
+
592  bool decodeLutron(decode_results *results, uint16_t offset = kStartOffset,
+
593  const uint16_t nbits = kLutronBits,
+
594  const bool strict = true);
+
595 #endif
+
596 #if DECODE_ELECTRA_AC
+
597  bool decodeElectraAC(decode_results *results, uint16_t offset = kStartOffset,
+
598  const uint16_t nbits = kElectraAcBits,
+
599  const bool strict = true);
+
600 #endif
+
601 #if DECODE_PANASONIC_AC
+
602  bool decodePanasonicAC(decode_results *results,
+
603  uint16_t offset = kStartOffset,
+
604  const uint16_t nbits = kPanasonicAcBits,
+
605  const bool strict = true);
+
606 #endif // DECODE_PANASONIC_AC
+
607 #if DECODE_PANASONIC_AC32
+
608  bool decodePanasonicAC32(decode_results *results,
+
609  uint16_t offset = kStartOffset,
+
610  const uint16_t nbits = kPanasonicAc32Bits,
+
611  const bool strict = true);
+
612 #endif // DECODE_PANASONIC_AC32
+
613 #if DECODE_PIONEER
+
614  bool decodePioneer(decode_results *results, uint16_t offset = kStartOffset,
+
615  const uint16_t nbits = kPioneerBits,
+
616  const bool strict = true);
+
617 #endif
+
618 #if DECODE_MWM
+
619  bool decodeMWM(decode_results *results, uint16_t offset = kStartOffset,
+
620  const uint16_t nbits = 24,
+
621  const bool strict = true);
+
622 #endif
+
623 #if DECODE_VESTEL_AC
+
624  bool decodeVestelAc(decode_results *results, uint16_t offset = kStartOffset,
+
625  const uint16_t nbits = kVestelAcBits,
+
626  const bool strict = true);
+
627 #endif
+
628 #if DECODE_TECO
+
629  bool decodeTeco(decode_results *results, uint16_t offset = kStartOffset,
+
630  const uint16_t nbits = kTecoBits,
+
631  const bool strict = false);
+
632 #endif
+
633 #if DECODE_LEGOPF
+
634  bool decodeLegoPf(decode_results *results, uint16_t offset = kStartOffset,
+
635  const uint16_t nbits = kLegoPfBits,
+
636  const bool strict = true);
+
637 #endif
+
638 #if DECODE_NEOCLIMA
+
639  bool decodeNeoclima(decode_results *results, uint16_t offset = kStartOffset,
+
640  const uint16_t nbits = kNeoclimaBits,
+
641  const bool strict = true);
+
642 #endif // DECODE_NEOCLIMA
+
643 #if DECODE_AMCOR
+
644  bool decodeAmcor(decode_results *results, uint16_t offset = kStartOffset,
+
645  const uint16_t nbits = kAmcorBits,
+
646  const bool strict = true);
+
647 #endif // DECODE_AMCOR
+
648 #if DECODE_EPSON
+
649  bool decodeEpson(decode_results *results, uint16_t offset = kStartOffset,
+
650  const uint16_t nbits = kEpsonBits,
+
651  const bool strict = true);
+
652 #endif // DECODE_EPSON
+
653 #if DECODE_SYMPHONY
+
654  bool decodeSymphony(decode_results *results, uint16_t offset = kStartOffset,
+
655  const uint16_t nbits = kSymphonyBits,
+
656  const bool strict = true);
+
657 #endif // DECODE_SYMPHONY
+
658 #if DECODE_AIRWELL
+
659  bool decodeAirwell(decode_results *results, uint16_t offset = kStartOffset,
+
660  const uint16_t nbits = kAirwellBits,
+
661  const bool strict = true);
+
662 #endif // DECODE_AIRWELL
+
663 #if DECODE_DELONGHI_AC
+
664  bool decodeDelonghiAc(decode_results *results, uint16_t offset = kStartOffset,
+
665  const uint16_t nbits = kDelonghiAcBits,
+
666  const bool strict = true);
+
667 #endif // DECODE_DELONGHI_AC
+
668 #if DECODE_DOSHISHA
+
669  bool decodeDoshisha(decode_results *results, uint16_t offset = kStartOffset,
+
670  const uint16_t nbits = kDoshishaBits,
+
671  const bool strict = true);
+
672 #endif // DECODE_DOSHISHA
+
673 #if DECODE_MULTIBRACKETS
+
674  bool decodeMultibrackets(decode_results *results,
+
675  uint16_t offset = kStartOffset,
+
676  const uint16_t nbits = kMultibracketsBits,
+
677  const bool strict = true);
+
678 #endif // DECODE_MULTIBRACKETS
+
679 #if DECODE_TECHNIBEL_AC
+
680  bool decodeTechnibelAc(decode_results *results,
+
681  uint16_t offset = kStartOffset,
+
682  const uint16_t nbits = kTechnibelAcBits,
+
683  const bool strict = true);
+
684 #endif // DECODE_TECHNIBEL_AC
+
685 #if DECODE_CORONA_AC
+
686  bool decodeCoronaAc(decode_results *results, uint16_t offset = kStartOffset,
+
687  const uint16_t nbits = kCoronaAcBitsShort,
+
688  const bool strict = true);
+
689 #endif // DECODE_CORONA_AC
+
690 #if DECODE_ZEPEAL
+
691  bool decodeZepeal(decode_results *results, uint16_t offset = kStartOffset,
+
692  const uint16_t nbits = kZepealBits,
+
693  const bool strict = true);
+
694 #endif // DECODE_ZEPEAL
+
695 #if DECODE_METZ
+
696  bool decodeMetz(decode_results *results, uint16_t offset = kStartOffset,
+
697  const uint16_t nbits = kMetzBits,
+
698  const bool strict = true);
+
699 #endif // DECODE_METZ
+
700 #if DECODE_TRANSCOLD
+
701  bool decodeTranscold(decode_results *results, uint16_t offset = kStartOffset,
+
702  const uint16_t nbits = kTranscoldBits,
+
703  const bool strict = true);
+
704 #endif // DECODE_TRANSCOLD
+
705 #if DECODE_MIRAGE
+
706  bool decodeMirage(decode_results *results,
+
707  uint16_t offset = kStartOffset,
+
708  const uint16_t nbits = kMirageBits,
+
709  const bool strict = true);
+
710 #endif // DECODE_MIRAGE
+
711 #if DECODE_ELITESCREENS
+
712  bool decodeElitescreens(decode_results *results,
+
713  uint16_t offset = kStartOffset,
+
714  const uint16_t nbits = kEliteScreensBits,
+
715  const bool strict = true);
+
716 #endif // DECODE_ELITESCREENS
+
717 #if DECODE_ECOCLIM
+
718  bool decodeEcoclim(decode_results *results, uint16_t offset = kStartOffset,
+
719  const uint16_t nbits = kEcoclimBits,
+
720  const bool strict = true);
+
721 #endif // DECODE_ECOCLIM
+
722 };
+
723 
+
724 #endif // IRRECV_H_
bool decodeMultibrackets(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kMultibracketsBits, const bool strict=true)
Decode the Multibrackets message. Status: BETA / Appears to be working.
Definition: ir_Multibrackets.cpp:59
-
const uint16_t kDelonghiAcBits
Definition: IRremoteESP8266.h:926
-
bool decodeMitsubishi(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kMitsubishiBits, const bool strict=true)
Decode the supplied Mitsubishi 16-bit message. Status: STABLE / Working.
Definition: ir_Mitsubishi.cpp:121
-
const uint16_t kMirageBits
Definition: IRremoteESP8266.h:998
+
uint16_t matchBytes(volatile uint16_t *data_ptr, uint8_t *result_ptr, const uint16_t remaining, const uint16_t nbytes, const uint16_t onemark, const uint32_t onespace, const uint16_t zeromark, const uint32_t zerospace, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess, const bool MSBfirst=true, const bool expectlastspace=true)
Match & decode the typical data section of an IR message. The bytes are stored at result_ptr....
Definition: IRrecv.cpp:1282
+
const uint16_t kDelonghiAcBits
Definition: IRremoteESP8266.h:942
+
bool decodeMitsubishi(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kMitsubishiBits, const bool strict=true)
Decode the supplied Mitsubishi 16-bit message. Status: STABLE / Working.
Definition: ir_Mitsubishi.cpp:126
+
const uint16_t kMirageBits
Definition: IRremoteESP8266.h:1016
bool decodeHaierAC(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kHaierACBits, const bool strict=true)
Decode the supplied Haier HSU07-HEA03 remote message. Status: STABLE / Known to be working.
Definition: ir_Haier.cpp:974
bool decodeNEC(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kNECBits, const bool strict=true)
Decode the supplied NEC (Renesas) message. Status: STABLE / Known good.
Definition: ir_NEC.cpp:81
const uint32_t kFnvPrime32
Definition: IRrecv.h:52
bool overflow
Definition: IRrecv.h:109
-
bool decodeDaikin128(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kDaikin128Bits, const bool strict=true)
Decode the supplied Daikin 128-bit message. (DAIKIN128) Status: STABLE / Known Working.
Definition: ir_Daikin.cpp:3029
-
const uint16_t kGicableBits
Definition: IRremoteESP8266.h:948
-
uint16_t matchGeneric(volatile uint16_t *data_ptr, uint64_t *result_ptr, const uint16_t remaining, const uint16_t nbits, const uint16_t hdrmark, const uint32_t hdrspace, const uint16_t onemark, const uint32_t onespace, const uint16_t zeromark, const uint32_t zerospace, const uint16_t footermark, const uint32_t footerspace, const bool atleast=false, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess, const bool MSBfirst=true)
Match & decode a generic/typical <= 64bit IR message. The data is stored at result_ptr.
Definition: IRrecv.cpp:1399
-
decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition: IRremoteESP8266.h:771
-
const uint16_t kCarrierAcBits
Definition: IRremoteESP8266.h:891
-
bool decodeTranscold(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kTranscoldBits, const bool strict=true)
Decode the supplied Transcold A/C message. Status: STABLE / Known Working.
Definition: ir_Transcold.cpp:482
+
bool decodeDaikin128(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kDaikin128Bits, const bool strict=true)
Decode the supplied Daikin 128-bit message. (DAIKIN128) Status: STABLE / Known Working.
Definition: ir_Daikin.cpp:3001
+
const uint16_t kGicableBits
Definition: IRremoteESP8266.h:966
+
uint16_t matchGeneric(volatile uint16_t *data_ptr, uint64_t *result_ptr, const uint16_t remaining, const uint16_t nbits, const uint16_t hdrmark, const uint32_t hdrspace, const uint16_t onemark, const uint32_t onespace, const uint16_t zeromark, const uint32_t zerospace, const uint16_t footermark, const uint32_t footerspace, const bool atleast=false, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess, const bool MSBfirst=true)
Match & decode a generic/typical <= 64bit IR message. The data is stored at result_ptr.
Definition: IRrecv.cpp:1436
+
decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition: IRremoteESP8266.h:785
+
const uint16_t kCarrierAcBits
Definition: IRremoteESP8266.h:907
+
bool decodeTranscold(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kTranscoldBits, const bool strict=true)
Decode the supplied Transcold A/C message. Status: STABLE / Known Working.
Definition: ir_Transcold.cpp:447
int16_t getRClevel(decode_results *results, uint16_t *offset, uint16_t *used, uint16_t bitTime, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess, const uint16_t delta=0, const uint8_t maxwidth=3)
Gets one undecoded level at a time from the raw buffer. The RC5/6 decoding is easier if the data is b...
Definition: ir_RC5_RC6.cpp:243
-
const uint16_t kMultibracketsBits
Definition: IRremoteESP8266.h:1019
-
const uint16_t kSharpAcBits
Definition: IRremoteESP8266.h:1060
-
const uint16_t kWhynterBits
Definition: IRremoteESP8266.h:1091
-
bool decodeSanyoAc(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kSanyoAcBits, const bool strict=true)
Decode the supplied SanyoAc message. Status: STABLE / Reported as working.
Definition: ir_Sanyo.cpp:272
+
const uint16_t kMultibracketsBits
Definition: IRremoteESP8266.h:1037
+
const uint16_t kSharpAcBits
Definition: IRremoteESP8266.h:1078
+
const uint16_t kWhynterBits
Definition: IRremoteESP8266.h:1109
+
bool decodeSanyoAc(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kSanyoAcBits, const bool strict=true)
Decode the supplied SanyoAc message. Status: STABLE / Reported as working.
Definition: ir_Sanyo.cpp:273
uint8_t overflow
Definition: IRrecv.h:78
-
bool decodeMitsubishi2(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kMitsubishiBits, const bool strict=true)
Decode the supplied second variation of a Mitsubishi 16-bit message. Status: STABLE / Working.
Definition: ir_Mitsubishi.cpp:186
+
bool decodeMitsubishi2(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kMitsubishiBits, const bool strict=true)
Decode the supplied second variation of a Mitsubishi 16-bit message. Status: STABLE / Working.
Definition: ir_Mitsubishi.cpp:191
bool decodeGree(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kGreeBits, const bool strict=true)
Decode the supplied Gree HVAC message. Status: STABLE / Working.
Definition: ir_Gree.cpp:659
-
const uint16_t kAirwellBits
Definition: IRremoteESP8266.h:878
+
const uint16_t kAirwellBits
Definition: IRremoteESP8266.h:894
irparams_t * irparams_save
Definition: IRrecv.h:151
-
const uint16_t kMitsubishiACBits
Definition: IRremoteESP8266.h:1005
-
bool decodeFujitsuAC(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kFujitsuAcBits, const bool strict=false)
Decode the supplied Fujitsu AC IR message if possible. Status: STABLE / Working.
Definition: ir_Fujitsu.cpp:892
-
const uint16_t kTechnibelAcBits
Definition: IRremoteESP8266.h:928
+
const uint16_t kMitsubishiACBits
Definition: IRremoteESP8266.h:1023
+
bool decodeFujitsuAC(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kFujitsuAcBits, const bool strict=false)
Decode the supplied Fujitsu AC IR message if possible. Status: STABLE / Working.
Definition: ir_Fujitsu.cpp:897
+
const uint16_t kTechnibelAcBits
Definition: IRremoteESP8266.h:944
bool decodeTrotec(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kTrotecBits, const bool strict=true)
Decode the supplied Trotec message. Status: STABLE / Works. Untested on real devices.
Definition: ir_Trotec.cpp:313
bool decodeNeoclima(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kNeoclimaBits, const bool strict=true)
Decode the supplied Neoclima message. Status: STABLE / Known working.
Definition: ir_Neoclima.cpp:571
-
const uint16_t kVoltasBits
Definition: IRremoteESP8266.h:1095
-
bool decodeMitsubishi112(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kMitsubishi112Bits, const bool strict=true)
Decode the supplied Mitsubishi/TCL 112-bit A/C message. (MITSUBISHI112, TCL112AC) Status: STABLE / Re...
Definition: ir_Mitsubishi.cpp:1201
+
const uint16_t kVoltasBits
Definition: IRremoteESP8266.h:1113
+
bool decodeMitsubishi112(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kMitsubishi112Bits, const bool strict=true)
Decode the supplied Mitsubishi/TCL 112-bit A/C message. (MITSUBISHI112, TCL112AC) Status: STABLE / Re...
Definition: ir_Mitsubishi.cpp:1243
bool decodeSamsungAC(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kSamsungAcBits, const bool strict=true)
Decode the supplied Samsung A/C message. Status: Stable / Known to be working.
Definition: ir_Samsung.cpp:772
bool decodeAirwell(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kAirwellBits, const bool strict=true)
Decode the supplied Airwell "Manchester code" message.
Definition: ir_Airwell.cpp:53
-
const uint16_t kRC5XBits
Definition: IRremoteESP8266.h:1038
+
const uint16_t kRC5XBits
Definition: IRremoteESP8266.h:1056
bool decodeMagiQuest(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kMagiquestBits, const bool strict=true)
Decode the supplied MagiQuest message. Status: Beta / Should work.
Definition: ir_Magiquest.cpp:69
uint16_t rawlen
Definition: IRrecv.h:77
const uint8_t kUseDefTol
Definition: IRrecv.h:36
@@ -819,209 +832,212 @@
Class for receiving IR messages.
Definition: IRrecv.h:114
uint16_t bufsize
Definition: IRrecv.h:73
Results returned from the decoder.
Definition: IRrecv.h:92
-
uint16_t matchGenericConstBitTime(volatile uint16_t *data_ptr, uint64_t *result_ptr, const uint16_t remaining, const uint16_t nbits, const uint16_t hdrmark, const uint32_t hdrspace, const uint16_t one, const uint32_t zero, const uint16_t footermark, const uint32_t footerspace, const bool atleast=false, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess, const bool MSBfirst=true)
Match & decode a generic/typical constant bit time <= 64bit IR message. The data is stored at result_...
Definition: IRrecv.cpp:1493
+
uint16_t matchGenericConstBitTime(volatile uint16_t *data_ptr, uint64_t *result_ptr, const uint16_t remaining, const uint16_t nbits, const uint16_t hdrmark, const uint32_t hdrspace, const uint16_t one, const uint32_t zero, const uint16_t footermark, const uint32_t footerspace, const bool atleast=false, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess, const bool MSBfirst=true)
Match & decode a generic/typical constant bit time <= 64bit IR message. The data is stored at result_...
Definition: IRrecv.cpp:1530
bool decodeCarrierAC64(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kCarrierAc64Bits, const bool strict=true)
Decode the supplied Carrier 64-bit HVAC message. Status: STABLE / Known to be working.
Definition: ir_Carrier.cpp:195
-
const uint16_t kCoolixBits
Definition: IRremoteESP8266.h:889
+
const uint16_t kCoolixBits
Definition: IRremoteESP8266.h:905
bool decodeArgo(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kArgoBits, const bool strict=true)
Decode the supplied Argo message. Status: BETA / Probably works.
Definition: ir_Argo.cpp:445
-
const uint16_t kCoronaAcBitsShort
Definition: IRremoteESP8266.h:899
+
const uint16_t kCoronaAcBitsShort
Definition: IRremoteESP8266.h:915
uint64_t data
Definition: IRrecv.h:85
-
const uint16_t kSamsung36Bits
Definition: IRremoteESP8266.h:1043
-
const uint16_t kMagiquestBits
Definition: IRremoteESP8266.h:990
+
const uint16_t kSamsung36Bits
Definition: IRremoteESP8266.h:1061
+
const uint16_t kMagiquestBits
Definition: IRremoteESP8266.h:1008
uint16_t * rawbuf
Definition: IRrecv.h:74
Information for the interrupt handler.
Definition: IRrecv.h:69
uint16_t getBufSize(void)
Obtain the maximum number of entries possible in the capture buffer. i.e. It's size.
Definition: IRrecv.cpp:411
-
const uint16_t kSanyoLC7461Bits
Definition: IRremoteESP8266.h:1054
+
const uint16_t kSanyoLC7461Bits
Definition: IRremoteESP8266.h:1072
bool repeat
Definition: IRrecv.h:110
bool decodeHitachiAC(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kHitachiAcBits, const bool strict=true, const bool MSBfirst=true)
Decode the supplied Hitachi A/C message. Status: STABLE / Expected to work.
Definition: ir_Hitachi.cpp:846
-
const uint16_t kTrotecBits
Definition: IRremoteESP8266.h:1086
+
const uint16_t kTrotecBits
Definition: IRremoteESP8266.h:1104
bool decodeVestelAc(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kVestelAcBits, const bool strict=true)
Decode the supplied Vestel message. Status: Alpha / Needs testing against a real device.
Definition: ir_Vestel.cpp:572
const uint8_t kIdleState
Definition: IRrecv.h:31
bool decodeAmcor(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kAmcorBits, const bool strict=true)
Decode the supplied Amcor HVAC message. Status: STABLE / Reported as working.
Definition: ir_Amcor.cpp:58
-
bool decodeDaikin(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kDaikinBits, const bool strict=true)
Decode the supplied Daikin 280-bit message. (DAIKIN) Status: STABLE / Reported as working.
Definition: ir_Daikin.cpp:595
-
const uint16_t kEliteScreensBits
Definition: IRremoteESP8266.h:941
+
bool decodeDaikin(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kDaikinBits, const bool strict=true)
Decode the supplied Daikin 280-bit message. (DAIKIN) Status: STABLE / Reported as working.
Definition: ir_Daikin.cpp:597
+
const uint16_t kEliteScreensBits
Definition: IRremoteESP8266.h:959
uint8_t recvpin
Definition: IRrecv.h:70
uint16_t timer
Definition: IRrecv.h:72
-
bool decodeDaikin64(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kDaikin64Bits, const bool strict=true)
Decode the supplied Daikin 64-bit message. (DAIKIN64) Status: Beta / Probably Working.
Definition: ir_Daikin.cpp:3501
+
bool decodeDaikin64(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kDaikin64Bits, const bool strict=true)
Decode the supplied Daikin 64-bit message. (DAIKIN64) Status: Beta / Probably Working.
Definition: ir_Daikin.cpp:3473
bool decodeMetz(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kMetzBits, const bool strict=true)
Decode the supplied Metz message. Status: BETA / Probably works.
Definition: ir_Metz.cpp:67
bool success
Definition: IRrecv.h:84
-
bool decodeDaikin2(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kDaikin2Bits, const bool strict=true)
Decode the supplied Daikin 312-bit message. (DAIKIN2) Status: STABLE / Works as expected.
Definition: ir_Daikin.cpp:1379
-
const uint16_t kElectraAcBits
Definition: IRremoteESP8266.h:939
-
bool matchSpace(const uint32_t measured, const uint32_t desired, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess)
Check if we match a space signal(measured) with the desired within +/-tolerance percent,...
Definition: IRrecv.cpp:1131
-
const uint16_t kSonyMinBits
Definition: IRremoteESP8266.h:1067
+
bool decodeDaikin2(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kDaikin2Bits, const bool strict=true)
Decode the supplied Daikin 312-bit message. (DAIKIN2) Status: STABLE / Works as expected.
Definition: ir_Daikin.cpp:1352
+
const uint16_t kElectraAcBits
Definition: IRremoteESP8266.h:957
+
bool matchSpace(const uint32_t measured, const uint32_t desired, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess)
Check if we match a space signal(measured) with the desired within +/-tolerance percent,...
Definition: IRrecv.cpp:1144
+
const uint16_t kSonyMinBits
Definition: IRremoteESP8266.h:1085
const uint8_t kStopState
Definition: IRrecv.h:34
uint16_t rawlen
Definition: IRrecv.h:108
const uint16_t kMaxTimeoutMs
Definition: IRrecv.h:49
-
bool decodePanasonicAC32(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kPanasonicAc32Bits, const bool strict=true)
Decode the supplied Panasonic AC 32/16bit message. Status: STABLE / Confirmed working.
Definition: ir_Panasonic.cpp:990
-
const uint16_t kDaikin2Bits
Definition: IRremoteESP8266.h:907
-
bool decodePanasonic(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kPanasonicBits, const bool strict=false, const uint32_t manufacturer=kPanasonicManufacturer)
Decode the supplied Panasonic message. Status: STABLE / Should be working.
Definition: ir_Panasonic.cpp:126
-
const uint16_t kHitachiAc1Bits
Definition: IRremoteESP8266.h:965
+
bool decodePanasonicAC32(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kPanasonicAc32Bits, const bool strict=true)
Decode the supplied Panasonic AC 32/16bit message. Status: STABLE / Confirmed working.
Definition: ir_Panasonic.cpp:980
+
const uint16_t kDaikin2Bits
Definition: IRremoteESP8266.h:923
+
bool decodePanasonic(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kPanasonicBits, const bool strict=false, const uint32_t manufacturer=kPanasonicManufacturer)
Decode the supplied Panasonic message. Status: STABLE / Should be working.
Definition: ir_Panasonic.cpp:128
+
const uint16_t kHitachiAc1Bits
Definition: IRremoteESP8266.h:983
bool decodeElectraAC(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kElectraAcBits, const bool strict=true)
Decode the supplied Electra A/C message. Status: STABLE / Known working.
Definition: ir_Electra.cpp:370
-
bool decodeDaikin216(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kDaikin216Bits, const bool strict=true)
Decode the supplied Daikin 216-bit message. (DAIKIN216) Status: STABLE / Should be working.
Definition: ir_Daikin.cpp:1742
-
bool decodeDaikin152(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kDaikin152Bits, const bool strict=true)
Decode the supplied Daikin 152-bit message. (DAIKIN152) Status: STABLE / Known Working.
Definition: ir_Daikin.cpp:3118
+
bool decodeDaikin216(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kDaikin216Bits, const bool strict=true)
Decode the supplied Daikin 216-bit message. (DAIKIN216) Status: STABLE / Should be working.
Definition: ir_Daikin.cpp:1715
+
bool decodeDaikin152(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kDaikin152Bits, const bool strict=true)
Decode the supplied Daikin 152-bit message. (DAIKIN152) Status: STABLE / Known Working.
Definition: ir_Daikin.cpp:3090
bool decodeElitescreens(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kEliteScreensBits, const bool strict=true)
Decode the supplied Elite Screens message. Status: STABLE / Confirmed working.
Definition: ir_EliteScreens.cpp:63
bool decodeDenon(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kDenonBits, const bool strict=true)
Decode the supplied Delonghi A/C message. Status: STABLE / Should work fine.
Definition: ir_Denon.cpp:70
-
const uint16_t kPanasonicBits
Definition: IRremoteESP8266.h:1026
+
const uint16_t kPanasonicBits
Definition: IRremoteESP8266.h:1044
+
const uint16_t kMilesTag2ShotBits
Definition: IRremoteESP8266.h:1115
decode_type_t decode_type
Definition: IRrecv.h:94
-
const uint16_t kPanasonicAcBits
Definition: IRremoteESP8266.h:1030
-
bool decodeTechnibelAc(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kTechnibelAcBits, const bool strict=true)
Status: STABLE / Reported as working on a real device.
Definition: ir_Technibel.cpp:56
+
const uint16_t kPanasonicAcBits
Definition: IRremoteESP8266.h:1048
+
bool decodeTechnibelAc(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kTechnibelAcBits, const bool strict=true)
Status: STABLE / Reported as working on a real device.
Definition: ir_Technibel.cpp:54
const uint64_t kRepeat
Definition: IRrecv.h:26
void setTolerance(const uint8_t percent=kTolerance)
Set the base tolerance percentage for matching incoming IR messages.
Definition: IRrecv.cpp:424
bool decodeMidea(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kMideaBits, const bool strict=true)
Decode the supplied Midea message. Status: Alpha / Needs testing against a real device.
Definition: ir_Midea.cpp:666
bool decodeVoltas(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kVoltasBits, const bool strict=true)
Decode the supplied Voltas message. Status: STABLE / Working on real device.
Definition: ir_Voltas.cpp:61
-
const uint16_t kDaikin160Bits
Definition: IRremoteESP8266.h:912
+
const uint16_t kDaikin160Bits
Definition: IRremoteESP8266.h:928
void copyIrParams(volatile irparams_t *src, irparams_t *dst)
Make a copy of the interrupt state & buffer data. Needed because irparams is marked as volatile,...
Definition: IRrecv.cpp:387
bool decodeKelvinator(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kKelvinatorBits, const bool strict=true)
Decode the supplied Kelvinator message. Status: STABLE / Known working.
Definition: ir_Kelvinator.cpp:459
-
const uint16_t kGoodweatherBits
Definition: IRremoteESP8266.h:950
+
const uint16_t kGoodweatherBits
Definition: IRremoteESP8266.h:968
bool decodeMWM(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=24, const bool strict=true)
Decode the supplied MWM message. Status: Implemented.
Definition: ir_MWM.cpp:81
void enableIRIn(const bool pullup=false)
Set up and (re)start the IR capture mechanism.
Definition: IRrecv.cpp:319
-
const uint16_t kDaikin152Bits
Definition: IRremoteESP8266.h:918
-
bool decodePanasonicAC(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kPanasonicAcBits, const bool strict=true)
Decode the supplied Panasonic AC message. Status: STABLE / Works with real device(s).
Definition: ir_Panasonic.cpp:861
+
const uint16_t kDaikin152Bits
Definition: IRremoteESP8266.h:934
+
bool decodePanasonicAC(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kPanasonicAcBits, const bool strict=true)
Decode the supplied Panasonic AC message. Status: STABLE / Works with real device(s).
Definition: ir_Panasonic.cpp:851
bool decodeDoshisha(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kDoshishaBits, const bool strict=true)
Decode the supplied Doshisha message. Status: STABLE / Works on real device.
Definition: ir_Doshisha.cpp:85
bool decodeZepeal(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kZepealBits, const bool strict=true)
Decode the supplied Zepeal message. Status: STABLE / Works on real device.
Definition: ir_Zepeal.cpp:67
-
bool decodeDaikin160(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kDaikin160Bits, const bool strict=true)
Decode the supplied Daikin 160-bit message. (DAIKIN160) Status: STABLE / Confirmed working.
Definition: ir_Daikin.cpp:2107
+
bool decodeDaikin160(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kDaikin160Bits, const bool strict=true)
Decode the supplied Daikin 160-bit message. (DAIKIN160) Status: STABLE / Confirmed working.
Definition: ir_Daikin.cpp:2080
bool decodeLasertag(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kLasertagBits, const bool strict=true)
Decode the supplied Lasertag message. Status: BETA / Appears to be working 90% of the time.
Definition: ir_Lasertag.cpp:70
const uint8_t kTimeoutMs
Definition: IRrecv.h:47
-
uint16_t _matchGeneric(volatile uint16_t *data_ptr, uint64_t *result_bits_ptr, uint8_t *result_ptr, const bool use_bits, const uint16_t remaining, const uint16_t required, const uint16_t hdrmark, const uint32_t hdrspace, const uint16_t onemark, const uint32_t onespace, const uint16_t zeromark, const uint32_t zerospace, const uint16_t footermark, const uint32_t footerspace, const bool atleast=false, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess, const bool MSBfirst=true)
Match & decode a generic/typical IR message. The data is stored in result_bits_ptr or result_bytes_pt...
Definition: IRrecv.cpp:1299
+
uint16_t _matchGeneric(volatile uint16_t *data_ptr, uint64_t *result_bits_ptr, uint8_t *result_ptr, const bool use_bits, const uint16_t remaining, const uint16_t required, const uint16_t hdrmark, const uint32_t hdrspace, const uint16_t onemark, const uint32_t onespace, const uint16_t zeromark, const uint32_t zerospace, const uint16_t footermark, const uint32_t footerspace, const bool atleast=false, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess, const bool MSBfirst=true)
Match & decode a generic/typical IR message. The data is stored in result_bits_ptr or result_bytes_pt...
Definition: IRrecv.cpp:1334
const uint8_t kMarkState
Definition: IRrecv.h:32
void setUnknownThreshold(const uint16_t length)
Set the minimum length we will consider for reporting UNKNOWN message types.
Definition: IRrecv.cpp:416
-
const uint16_t kSymphonyBits
Definition: IRremoteESP8266.h:1069
+
const uint16_t kSymphonyBits
Definition: IRremoteESP8266.h:1087
bool decodeMirage(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kMirageBits, const bool strict=true)
Decode the supplied Mirage message. Status: STABLE / Reported as working.
Definition: ir_Mirage.cpp:50
-
const uint16_t kRC6Mode0Bits
Definition: IRremoteESP8266.h:1039
+
const uint16_t kRC6Mode0Bits
Definition: IRremoteESP8266.h:1057
const uint16_t kStateSizeMax
Definition: IRrecv.h:60
Results from a data match.
Definition: IRrecv.h:83
uint8_t rcvstate
Definition: IRrecv.h:71
-
const uint16_t kMetzBits
Definition: IRremoteESP8266.h:991
+
const uint16_t kMetzBits
Definition: IRremoteESP8266.h:1009
bool decodeRC6(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kRC6Mode0Bits, const bool strict=false)
Decode the supplied RC6 message. Status: Stable.
Definition: ir_RC5_RC6.cpp:383
bool decodeRC5(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kRC5XBits, const bool strict=true)
Decode the supplied RC-5/RC5X message. Status: RC-5 (stable), RC-5X (alpha)
Definition: ir_RC5_RC6.cpp:309
~IRrecv(void)
Class destructor Cleans up after the object is no longer needed. e.g. Frees up all memory used by the...
Definition: IRrecv.cpp:304
bool decodeHitachiAc3(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kHitachiAc3Bits, const bool strict=true)
Decode the supplied Hitachi 15to27-byte/120to216-bit A/C message. Status: STABLE / Works fine.
Definition: ir_Hitachi.cpp:1425
bool decodeWhynter(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kWhynterBits, const bool strict=true)
Decode the supplied Whynter message. Status: STABLE / Working. Strict mode is ALPHA.
Definition: ir_Whynter.cpp:74
bool decodeCarrierAC(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kCarrierAcBits, const bool strict=true)
Decode the supplied Carrier HVAC message.
Definition: ir_Carrier.cpp:82
-
match_result_t matchData(volatile uint16_t *data_ptr, const uint16_t nbits, const uint16_t onemark, const uint32_t onespace, const uint16_t zeromark, const uint32_t zerospace, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess, const bool MSBfirst=true)
Match & decode the typical data section of an IR message. The data value is stored in the least signi...
Definition: IRrecv.cpp:1207
-
const uint16_t kMitsubishiHeavy152Bits
Definition: IRremoteESP8266.h:1017
-
const uint16_t kDoshishaBits
Definition: IRremoteESP8266.h:935
-
const uint16_t kCarrierAc40Bits
Definition: IRremoteESP8266.h:893
+
const uint16_t kMitsubishiHeavy152Bits
Definition: IRremoteESP8266.h:1035
+
const uint16_t kDoshishaBits
Definition: IRremoteESP8266.h:951
+
const uint16_t kCarrierAc40Bits
Definition: IRremoteESP8266.h:909
const uint16_t kStartOffset
Definition: IRrecv.h:20
-
const uint16_t kAmcorBits
Definition: IRremoteESP8266.h:884
+
const uint16_t kAmcorBits
Definition: IRremoteESP8266.h:900
bool decodeRCMM(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kRCMMBits, const bool strict=false)
Decode a Philips RC-MM packet (between 12 & 32 bits) if possible. Status: STABLE / Should be working.
Definition: ir_RCMM.cpp:96
IRrecv(const uint16_t recvpin, const uint16_t bufsize=kRawBuf, const uint8_t timeout=kTimeoutMs, const bool save_buffer=false, const uint8_t timer_num=kDefaultESP32Timer)
Class constructor Args:
Definition: IRrecv.cpp:243
-
bool decodeMitsubishi136(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kMitsubishi136Bits, const bool strict=true)
Decode the supplied Mitsubishi 136-bit A/C message. (MITSUBISHI136) Status: STABLE / Reported as work...
Definition: ir_Mitsubishi.cpp:829
+
bool decodeMitsubishi136(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kMitsubishi136Bits, const bool strict=true)
Decode the supplied Mitsubishi 136-bit A/C message. (MITSUBISHI136) Status: STABLE / Reported as work...
Definition: ir_Mitsubishi.cpp:869
volatile uint16_t * rawbuf
Definition: IRrecv.h:107
const uint8_t kTolerance
Definition: IRrecv.h:35
bool decodeSharp(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kSharpBits, const bool strict=true, const bool expansion=true)
Decode the supplied Sharp message. Status: STABLE / Working fine.
Definition: ir_Sharp.cpp:155
uint16_t used
Definition: IRrecv.h:86
-
const uint32_t kPanasonicManufacturer
Definition: IRremoteESP8266.h:1027
+
const uint32_t kPanasonicManufacturer
Definition: IRremoteESP8266.h:1045
uint32_t address
Definition: IRrecv.h:101
bool decodeNikai(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kNikaiBits, const bool strict=true)
Decode the supplied Nikai message. Status: STABLE / Working.
Definition: ir_Nikai.cpp:52
-
const uint16_t kMitsubishiBits
Definition: IRremoteESP8266.h:1000
-
bool match(const uint32_t measured, const uint32_t desired, const uint8_t tolerance=kUseDefTol, const uint16_t delta=0)
Check if we match a pulse(measured) with the desired within +/-tolerance percent and/or +/- a fixed d...
Definition: IRrecv.cpp:1039
+
const uint16_t kMitsubishiBits
Definition: IRremoteESP8266.h:1018
+
bool match(const uint32_t measured, const uint32_t desired, const uint8_t tolerance=kUseDefTol, const uint16_t delta=0)
Check if we match a pulse(measured) with the desired within +/-tolerance percent and/or +/- a fixed d...
Definition: IRrecv.cpp:1052
bool decodeSymphony(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kSymphonyBits, const bool strict=true)
Decode the supplied Symphony packet/message. Status: STABLE / Should be working.
Definition: ir_Symphony.cpp:60
-
const uint16_t kSamsungAcBits
Definition: IRremoteESP8266.h:1045
+
const uint16_t kSamsungAcBits
Definition: IRremoteESP8266.h:1063
const uint16_t kUnknownThreshold
Definition: IRrecv.h:28
-
const uint16_t kMideaBits
Definition: IRremoteESP8266.h:993
+
const uint16_t kMideaBits
Definition: IRremoteESP8266.h:1011
bool decodeAiwaRCT501(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kAiwaRcT501Bits, const bool strict=true)
Decode the supplied Aiwa RC T501 message. Status: BETA / Should work.
Definition: ir_Aiwa.cpp:61
-
const uint16_t kKelvinatorBits
Definition: IRremoteESP8266.h:980
+
const uint16_t kKelvinatorBits
Definition: IRremoteESP8266.h:998
bool decodeGICable(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kGicableBits, const bool strict=true)
Decode the supplied G.I. Cable message. Status: Alpha / Not tested against a real device.
Definition: ir_GICable.cpp:63
-
bool decodeTeco(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kTecoBits, const bool strict=false)
Decode the supplied Teco message. Status: STABLE / Tested.
Definition: ir_Teco.cpp:365
-
bool decodeSanyoLC7461(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kSanyoLC7461Bits, const bool strict=true)
Decode the supplied SANYO LC7461 message. Status: BETA / Probably works.
Definition: ir_Sanyo.cpp:135
+
bool decodeTeco(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kTecoBits, const bool strict=false)
Decode the supplied Teco message. Status: STABLE / Tested.
Definition: ir_Teco.cpp:353
+
bool decodeSanyoLC7461(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kSanyoLC7461Bits, const bool strict=true)
Decode the supplied SANYO LC7461 message. Status: BETA / Probably works.
Definition: ir_Sanyo.cpp:136
bool decodeCarrierAC40(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kCarrierAc40Bits, const bool strict=true)
Decode the supplied Carrier 40-bit HVAC message. Carrier HVAC messages contain only 40 bits,...
Definition: ir_Carrier.cpp:147
-
const uint16_t kNECBits
Definition: IRremoteESP8266.h:1022
-
const uint16_t kDenonBits
Definition: IRremoteESP8266.h:930
-
const uint16_t kHaierACBits
Definition: IRremoteESP8266.h:956
-
bool matchAtLeast(const uint32_t measured, const uint32_t desired, const uint8_t tolerance=kUseDefTol, const uint16_t delta=0)
Check if we match a pulse(measured) of at least desired within tolerance percent and/or a fixed delta...
Definition: IRrecv.cpp:1070
-
const uint16_t kZepealBits
Definition: IRremoteESP8266.h:1093
-
const uint16_t kMidea24Bits
Definition: IRremoteESP8266.h:995
-
bool decodeDaikin176(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kDaikin176Bits, const bool strict=true)
Decode the supplied Daikin 176-bit message. (DAIKIN176) Status: STABLE / Expected to work.
Definition: ir_Daikin.cpp:2500
-
const uint16_t kNeoclimaBits
Definition: IRremoteESP8266.h:1024
-
const uint16_t kWhirlpoolAcBits
Definition: IRremoteESP8266.h:1089
-
bool decodeSharpAc(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kSharpAcBits, const bool strict=true)
Decode the supplied Sharp A/C message. Status: STABLE / Known working.
Definition: ir_Sharp.cpp:821
+
const uint16_t kNECBits
Definition: IRremoteESP8266.h:1040
+
const uint16_t kDenonBits
Definition: IRremoteESP8266.h:946
+
const uint16_t kHaierACBits
Definition: IRremoteESP8266.h:974
+
bool matchAtLeast(const uint32_t measured, const uint32_t desired, const uint8_t tolerance=kUseDefTol, const uint16_t delta=0)
Check if we match a pulse(measured) of at least desired within tolerance percent and/or a fixed delta...
Definition: IRrecv.cpp:1083
+
const uint16_t kZepealBits
Definition: IRremoteESP8266.h:1111
+
const uint16_t kMidea24Bits
Definition: IRremoteESP8266.h:1013
+
bool decodeDaikin176(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kDaikin176Bits, const bool strict=true)
Decode the supplied Daikin 176-bit message. (DAIKIN176) Status: STABLE / Expected to work.
Definition: ir_Daikin.cpp:2472
+
const uint16_t kNeoclimaBits
Definition: IRremoteESP8266.h:1042
+
const uint16_t kWhirlpoolAcBits
Definition: IRremoteESP8266.h:1107
+
bool decodeSharpAc(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kSharpAcBits, const bool strict=true)
Decode the supplied Sharp A/C message. Status: STABLE / Known working.
Definition: ir_Sharp.cpp:855
bool decodeJVC(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kJvcBits, const bool strict=true)
Decode the supplied JVC message. Status: Stable / Known working.
Definition: ir_JVC.cpp:94
-
bool decodeMitsubishiAC(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kMitsubishiACBits, const bool strict=false)
Decode the supplied Mitsubish 144-bit A/C message. Status: BETA / Probably works.
Definition: ir_Mitsubishi.cpp:252
-
const uint16_t kCarrierAc64Bits
Definition: IRremoteESP8266.h:895
-
const uint16_t kPioneerBits
Definition: IRremoteESP8266.h:1034
+
bool decodeEcoclim(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kEcoclimBits, const bool strict=true)
Decode the supplied EcoClim A/C message. Status: STABLE / Confirmed working on real remote.
Definition: ir_EcoClim.cpp:62
+
bool decodeMitsubishiAC(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kMitsubishiACBits, const bool strict=false)
Decode the supplied Mitsubish 144-bit A/C message. Status: BETA / Probably works.
Definition: ir_Mitsubishi.cpp:257
+
const uint16_t kCarrierAc64Bits
Definition: IRremoteESP8266.h:911
+
const uint16_t kPioneerBits
Definition: IRremoteESP8266.h:1052
uint16_t bits
Definition: IRrecv.h:106
-
const uint16_t kGreeBits
Definition: IRremoteESP8266.h:953
-
const uint16_t kJvcBits
Definition: IRremoteESP8266.h:978
-
const uint16_t kLasertagBits
Definition: IRremoteESP8266.h:982
-
const uint16_t kDaikin128Bits
Definition: IRremoteESP8266.h:915
-
const uint16_t kAiwaRcT501Bits
Definition: IRremoteESP8266.h:880
-
uint32_t ticksLow(const uint32_t usecs, const uint8_t tolerance=kUseDefTol, const uint16_t delta=0)
Calculate the lower bound of the nr. of ticks.
Definition: IRrecv.cpp:1013
-
const uint16_t kTecoBits
Definition: IRremoteESP8266.h:1074
+
const uint16_t kGreeBits
Definition: IRremoteESP8266.h:971
+
const uint16_t kJvcBits
Definition: IRremoteESP8266.h:996
+
const uint16_t kLasertagBits
Definition: IRremoteESP8266.h:1000
+
const uint16_t kDaikin128Bits
Definition: IRremoteESP8266.h:931
+
const uint16_t kAiwaRcT501Bits
Definition: IRremoteESP8266.h:896
+
uint32_t ticksLow(const uint32_t usecs, const uint8_t tolerance=kUseDefTol, const uint16_t delta=0)
Calculate the lower bound of the nr. of ticks.
Definition: IRrecv.cpp:1026
+
const uint16_t kTecoBits
Definition: IRremoteESP8266.h:1092
bool decodeEpson(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kEpsonBits, const bool strict=true)
Decode the supplied Epson message. Status: Beta / Probably works.
Definition: ir_Epson.cpp:45
-
const uint16_t kToshibaACBits
Definition: IRremoteESP8266.h:1077
+
const uint16_t kToshibaACBits
Definition: IRremoteESP8266.h:1095
bool decodeSony(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kSonyMinBits, const bool strict=false)
Decode the supplied Sony/SIRC message. Status: STABLE / Should be working. strict mode is ALPHA / Unt...
Definition: ir_Sony.cpp:121
-
const uint16_t kDaikinBits
Definition: IRremoteESP8266.h:902
-
bool matchMark(const uint32_t measured, const uint32_t desired, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess)
Check if we match a mark signal(measured) with the desired within +/-tolerance percent,...
Definition: IRrecv.cpp:1112
-
const uint16_t kHitachiAcBits
Definition: IRremoteESP8266.h:962
-
const uint16_t kHitachiAc3Bits
Definition: IRremoteESP8266.h:969
+
const uint16_t kDaikinBits
Definition: IRremoteESP8266.h:918
+
bool matchMark(const uint32_t measured, const uint32_t desired, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess)
Check if we match a mark signal(measured) with the desired within +/-tolerance percent,...
Definition: IRrecv.cpp:1125
+
const uint16_t kHitachiAcBits
Definition: IRremoteESP8266.h:980
+
const uint16_t kHitachiAc3Bits
Definition: IRremoteESP8266.h:987
const uint16_t kRawBuf
Definition: IRrecv.h:25
bool decode(decode_results *results, irparams_t *save=NULL, uint8_t max_skip=0, uint16_t noise_floor=0)
Decodes the received IR message. If the interrupt state is saved, we will immediately resume waiting ...
Definition: IRrecv.cpp:501
bool decodePioneer(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kPioneerBits, const bool strict=true)
Decode the supplied Pioneer message. Status: STABLE / Should be working. (Self decodes & real example...
Definition: ir_Pioneer.cpp:92
uint8_t getTolerance(void)
Get the base tolerance percentage for matching incoming IR messages.
Definition: IRrecv.cpp:430
-
const uint16_t kDishBits
Definition: IRremoteESP8266.h:933
-
uint16_t compare(const uint16_t oldval, const uint16_t newval)
Compare two tick values.
Definition: IRrecv.cpp:1149
+
const uint16_t kDishBits
Definition: IRremoteESP8266.h:949
+
uint16_t compare(const uint16_t oldval, const uint16_t newval)
Compare two tick values.
Definition: IRrecv.cpp:1162
uint32_t command
Definition: IRrecv.h:102
-
const uint16_t kFujitsuAcBits
Definition: IRremoteESP8266.h:946
+
const uint16_t kFujitsuAcBits
Definition: IRremoteESP8266.h:964
uint64_t value
Definition: IRrecv.h:100
-
const uint16_t kArgoBits
Definition: IRremoteESP8266.h:887
-
const uint16_t kHitachiAc2StateLength
Definition: IRremoteESP8266.h:966
+
const uint16_t kArgoBits
Definition: IRremoteESP8266.h:903
+
const uint16_t kHitachiAc2StateLength
Definition: IRremoteESP8266.h:984
bool decodeSamsung36(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kSamsung36Bits, const bool strict=true)
Decode the supplied Samsung36 message. Status: STABLE / Expected to work.
Definition: ir_Samsung.cpp:192
const uint16_t kFooter
Definition: IRrecv.h:19
-
const uint16_t kNikaiBits
Definition: IRremoteESP8266.h:1021
-
const uint16_t kLutronBits
Definition: IRremoteESP8266.h:989
+
const uint16_t kNikaiBits
Definition: IRremoteESP8266.h:1039
+
const uint16_t kLutronBits
Definition: IRremoteESP8266.h:1007
uint8_t timeout
Definition: IRrecv.h:79
bool decodeCoronaAc(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kCoronaAcBitsShort, const bool strict=true)
Decode the supplied CoronaAc message. Status: STABLE / Appears to be working.
Definition: ir_Corona.cpp:88
bool decodeLutron(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kLutronBits, const bool strict=true)
Decode the supplied Lutron message. Status: STABLE / Working.
Definition: ir_Lutron.cpp:65
bool decodeDISH(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kDishBits, const bool strict=true)
Decode the supplied DISH NETWORK message. Status: ALPHA (untested and unconfirmed....
Definition: ir_Dish.cpp:77
const uint16_t kRawTick
Definition: IRrecv.h:37
-
uint16_t matchManchesterData(volatile const uint16_t *data_ptr, uint64_t *result_ptr, const uint16_t remaining, const uint16_t nbits, const uint16_t half_period, const uint16_t starting_balance=0, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess, const bool MSBfirst=true, const bool GEThomas=true)
Match & decode a Manchester Code data (<= 64bits.
Definition: IRrecv.cpp:1687
+
uint16_t matchManchesterData(volatile const uint16_t *data_ptr, uint64_t *result_ptr, const uint16_t remaining, const uint16_t nbits, const uint16_t half_period, const uint16_t starting_balance=0, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess, const bool MSBfirst=true, const bool GEThomas=true)
Match & decode a Manchester Code data (<= 64bits.
Definition: IRrecv.cpp:1724
void resume(void)
Resume collection of received IR data.
Definition: IRrecv.cpp:372
-
const uint16_t kHaierACYRW02Bits
Definition: IRremoteESP8266.h:959
-
const uint16_t kHitachiAc424Bits
Definition: IRremoteESP8266.h:975
+
bool decodeMilestag2(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kMilesTag2ShotBits, const bool strict=true)
Decode the supplied MilesTag2 message. Status: ALPHA / Probably works but needs testing with a real d...
Definition: ir_MilesTag2.cpp:63
+
const uint16_t kEcoclimBits
Definition: IRremoteESP8266.h:952
+
const uint16_t kHaierACYRW02Bits
Definition: IRremoteESP8266.h:977
+
match_result_t matchData(volatile uint16_t *data_ptr, const uint16_t nbits, const uint16_t onemark, const uint32_t onespace, const uint16_t zeromark, const uint32_t zerospace, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess, const bool MSBfirst=true, const bool expectlastspace=true)
Match & decode the typical data section of an IR message. The data value is stored in the least signi...
Definition: IRrecv.cpp:1221
+
const uint16_t kHitachiAc424Bits
Definition: IRremoteESP8266.h:993
bool decodeWhirlpoolAC(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kWhirlpoolAcBits, const bool strict=true)
Decode the supplied Whirlpool A/C message. Status: STABLE / Working as intended.
Definition: ir_Whirlpool.cpp:652
const uint16_t kMarkExcess
Definition: IRrecv.h:24
bool decodeHaierACYRW02(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kHaierACYRW02Bits, const bool strict=true)
Decode the supplied Haier YR-W02 remote A/C message. Status: BETA / Appears to be working.
Definition: ir_Haier.cpp:1020
bool decodeLG(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kLgBits, const bool strict=false)
Decode the supplied LG message. Status: STABLE / Working.
Definition: ir_LG.cpp:139
bool decodeCOOLIX(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kCoolixBits, const bool strict=true)
Decode the supplied Coolix A/C message. Status: STABLE / Known Working.
Definition: ir_Coolix.cpp:628
-
const uint16_t kLegoPfBits
Definition: IRremoteESP8266.h:984
-
const uint16_t kSharpBits
Definition: IRremoteESP8266.h:1058
+
const uint16_t kLegoPfBits
Definition: IRremoteESP8266.h:1002
+
const uint16_t kSharpBits
Definition: IRremoteESP8266.h:1076
bool decodeGoodweather(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kGoodweatherBits, const bool strict=true)
Decode the supplied Goodweather message. Status: BETA / Probably works.
Definition: ir_Goodweather.cpp:424
uint8_t _tolerance
Definition: IRrecv.h:152
const uint8_t kDefaultESP32Timer
Definition: IRrecv.h:56
-
uint16_t matchManchester(volatile const uint16_t *data_ptr, uint64_t *result_ptr, const uint16_t remaining, const uint16_t nbits, const uint16_t hdrmark, const uint32_t hdrspace, const uint16_t clock_period, const uint16_t footermark, const uint32_t footerspace, const bool atleast=false, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess, const bool MSBfirst=true, const bool GEThomas=true)
Match & decode a Manchester Code <= 64bit IR message. The data is stored at result_ptr.
Definition: IRrecv.cpp:1580
+
uint16_t matchManchester(volatile const uint16_t *data_ptr, uint64_t *result_ptr, const uint16_t remaining, const uint16_t nbits, const uint16_t hdrmark, const uint32_t hdrspace, const uint16_t clock_period, const uint16_t footermark, const uint32_t footerspace, const bool atleast=false, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess, const bool MSBfirst=true, const bool GEThomas=true)
Match & decode a Manchester Code <= 64bit IR message. The data is stored at result_ptr.
Definition: IRrecv.cpp:1617
bool decodeInax(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kInaxBits, const bool strict=true)
Decode the supplied Inax Toilet message. Status: Stable / Known working.
Definition: ir_Inax.cpp:51
void crudeNoiseFilter(decode_results *results, const uint16_t floor=0)
Remove or merge pulses in the capture buffer that are too short.
Definition: IRrecv.cpp:437
bool decodeHitachiAC1(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kHitachiAc1Bits, const bool strict=true)
bool decodeSAMSUNG(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kSamsungBits, const bool strict=true)
Decode the supplied Samsung 32-bit message. Status: STABLE.
Definition: ir_Samsung.cpp:118
bool decodeLegoPf(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kLegoPfBits, const bool strict=true)
Decode the supplied LEGO Power Functions message. Status: STABLE / Appears to work.
Definition: ir_Lego.cpp:71
-
const uint16_t kRCMMBits
Definition: IRremoteESP8266.h:1041
-
const uint8_t kVestelAcBits
Definition: IRremoteESP8266.h:1092
-
const uint16_t kTranscoldBits
Definition: IRremoteESP8266.h:1083
-
const uint16_t kInaxBits
Definition: IRremoteESP8266.h:976
-
bool decodeMitsubishiHeavy(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kMitsubishiHeavy152Bits, const bool strict=true)
Decode the supplied Mitsubishi Heavy Industries A/C message. Status: BETA / Appears to be working....
Definition: ir_MitsubishiHeavy.cpp:1085
+
const uint16_t kRCMMBits
Definition: IRremoteESP8266.h:1059
+
const uint8_t kVestelAcBits
Definition: IRremoteESP8266.h:1110
+
const uint16_t kTranscoldBits
Definition: IRremoteESP8266.h:1101
+
const uint16_t kInaxBits
Definition: IRremoteESP8266.h:994
+
bool decodeMitsubishiHeavy(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kMitsubishiHeavy152Bits, const bool strict=true)
Decode the supplied Mitsubishi Heavy Industries A/C message. Status: BETA / Appears to be working....
Definition: ir_MitsubishiHeavy.cpp:1003
uint16_t _unknown_threshold
Definition: IRrecv.h:157
-
const uint16_t kDaikin176Bits
Definition: IRremoteESP8266.h:921
+
const uint16_t kDaikin176Bits
Definition: IRremoteESP8266.h:937
bool decodeMidea24(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kMidea24Bits, const bool strict=true)
Decode the supplied Midea24 message. Status: STABLE / Confirmed working on a real device.
Definition: ir_Midea.cpp:759
void disableIRIn(void)
Stop collection of any received IR data. Disable any timers and interrupts.
Definition: IRrecv.cpp:356
bool decodeHitachiAc424(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kHitachiAc424Bits, const bool strict=true)
Decode the supplied Hitachi 53-byte/424-bit A/C message. Status: STABLE / Reported as working.
Definition: ir_Hitachi.cpp:959
-
bool decodeToshibaAC(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kToshibaACBits, const bool strict=true)
Decode the supplied Toshiba A/C message. Status: STABLE / Working.
Definition: ir_Toshiba.cpp:472
-
uint32_t ticksHigh(const uint32_t usecs, const uint8_t tolerance=kUseDefTol, const uint16_t delta=0)
Calculate the upper bound of the nr. of ticks.
Definition: IRrecv.cpp:1026
-
const uint16_t kSamsungBits
Definition: IRremoteESP8266.h:1042
+
bool decodeToshibaAC(decode_results *results, uint16_t offset=kStartOffset, const uint16_t nbits=kToshibaACBits, const bool strict=true)
Decode the supplied Toshiba A/C message. Status: STABLE / Working.
Definition: ir_Toshiba.cpp:463
+
uint32_t ticksHigh(const uint32_t usecs, const uint8_t tolerance=kUseDefTol, const uint16_t delta=0)
Calculate the upper bound of the nr. of ticks.
Definition: IRrecv.cpp:1039
+
const uint16_t kSamsungBits
Definition: IRremoteESP8266.h:1060
uint8_t _timer_num
Definition: IRrecv.h:154
-
const uint16_t kDaikin64Bits
Definition: IRremoteESP8266.h:909
-
const uint16_t kPanasonicAc32Bits
Definition: IRremoteESP8266.h:1033
-
const uint16_t kDaikin216Bits
Definition: IRremoteESP8266.h:924
-
const uint16_t kMitsubishi136Bits
Definition: IRremoteESP8266.h:1008
-
uint16_t matchBytes(volatile uint16_t *data_ptr, uint8_t *result_ptr, const uint16_t remaining, const uint16_t nbytes, const uint16_t onemark, const uint32_t onespace, const uint16_t zeromark, const uint32_t zerospace, const uint8_t tolerance=kUseDefTol, const int16_t excess=kMarkExcess, const bool MSBfirst=true)
Match & decode the typical data section of an IR message. The bytes are stored at result_ptr....
Definition: IRrecv.cpp:1249
-
const uint16_t kSanyoAcBits
Definition: IRremoteESP8266.h:1050
-
const uint16_t kMitsubishi112Bits
Definition: IRremoteESP8266.h:1011
-
const uint16_t kEpsonBits
Definition: IRremoteESP8266.h:936
+
const uint16_t kDaikin64Bits
Definition: IRremoteESP8266.h:925
+
const uint16_t kPanasonicAc32Bits
Definition: IRremoteESP8266.h:1051
+
const uint16_t kDaikin216Bits
Definition: IRremoteESP8266.h:940
+
const uint16_t kMitsubishi136Bits
Definition: IRremoteESP8266.h:1026
+
const uint16_t kSanyoAcBits
Definition: IRremoteESP8266.h:1068
+
const uint16_t kMitsubishi112Bits
Definition: IRremoteESP8266.h:1029
+
const uint16_t kEpsonBits
Definition: IRremoteESP8266.h:954
uint8_t state[kStateSizeMax]
Definition: IRrecv.h:104
-
bool decodeHash(decode_results *results)
Decode any arbitrary IR message into a 32-bit code value. Instead of decoding using a standard encodi...
Definition: IRrecv.cpp:1170
+
bool decodeHash(decode_results *results)
Decode any arbitrary IR message into a 32-bit code value. Instead of decoding using a standard encodi...
Definition: IRrecv.cpp:1183
const uint8_t kSpaceState
Definition: IRrecv.h:33
-
const uint16_t kLgBits
Definition: IRremoteESP8266.h:986
-
uint8_t _validTolerance(const uint8_t percentage)
Convert the tolerance percentage into something valid.
Definition: IRrecv.cpp:1004
+
const uint16_t kLgBits
Definition: IRremoteESP8266.h:1004
+
uint8_t _validTolerance(const uint8_t percentage)
Convert the tolerance percentage into something valid.
Definition: IRrecv.cpp:1017
const uint16_t kHeader
Definition: IRrecv.h:18
const uint32_t kFnvBasis32
Definition: IRrecv.h:53
diff --git a/docs/doxygen/html/IRremoteESP8266_8h.html b/docs/doxygen/html/IRremoteESP8266_8h.html index bc9e49713..37e51415c 100644 --- a/docs/doxygen/html/IRremoteESP8266_8h.html +++ b/docs/doxygen/html/IRremoteESP8266_8h.html @@ -206,7 +206,10 @@
  ELITESCREENS, PANASONIC_AC32, -kLastDecodeType = PANASONIC_AC32 +MILESTAG2, +ECOCLIM, +
+  kLastDecodeType = ECOCLIM
}  Enumerator for defining and numbering of supported IR protocol. More...
@@ -334,6 +337,10 @@   const uint16_t kDoshishaBits = 40   +const uint16_t kEcoclimBits = 56 +  +const uint16_t kEcoclimShortBits = 15 +  const uint16_t kEpsonBits = 32   const uint16_t kEpsonMinRepeat = 2 @@ -650,6 +657,12 @@   const uint16_t kVoltasStateLength = 10   +const uint16_t kMilesTag2ShotBits = 14 +  +const uint16_t kMilesTag2MsgBits = 24 +  +const uint16_t kMilesMinRepeat = 0 + 

Typedef Documentation

@@ -780,6 +793,8 @@

MIRAGE  ELITESCREENS  PANASONIC_AC32  +MILESTAG2  +ECOCLIM  kLastDecodeType  @@ -1568,6 +1583,34 @@

+ + + +

◆ kEcoclimBits

+ +
+
+ + + + +
const uint16_t kEcoclimBits = 56
+
+ +
+
+ +

◆ kEcoclimShortBits

+ +
+
+ + + + +
const uint16_t kEcoclimShortBits = 15
+
+
@@ -2422,6 +2465,48 @@

+ + + +

◆ kMilesMinRepeat

+ +
+
+ + + + +
const uint16_t kMilesMinRepeat = 0
+
+ +
+
+ +

◆ kMilesTag2MsgBits

+ +
+
+ + + + +
const uint16_t kMilesTag2MsgBits = 24
+
+ +
+
+ +

◆ kMilesTag2ShotBits

+ +
+
+ + + + +
const uint16_t kMilesTag2ShotBits = 14
+
+
@@ -3841,8 +3926,8 @@

const uint16_t kSanyoLC7461CommandBits
Definition: IRremoteESP8266.h:1053
-
const uint16_t kSanyoLC7461AddressBits
Definition: IRremoteESP8266.h:1052
+
const uint16_t kSanyoLC7461CommandBits
Definition: IRremoteESP8266.h:1071
+
const uint16_t kSanyoLC7461AddressBits
Definition: IRremoteESP8266.h:1070