From ee8748f90c3e4f0b42a77290532a673bbd673434 Mon Sep 17 00:00:00 2001 From: crankyoldgit Date: Fri, 19 Nov 2021 10:35:37 +1000 Subject: [PATCH 1/2] Regenerate Doxygen documentation for new release --- docs/doxygen/html/IRac_8h_source.html | 1179 ++-- docs/doxygen/html/IRrecv_8h_source.html | 1241 ++-- docs/doxygen/html/IRremoteESP8266_8h.html | 108 +- .../html/IRremoteESP8266_8h_source.html | 1705 ++--- docs/doxygen/html/IRsend_8h.html | 75 + docs/doxygen/html/IRsend_8h_source.html | 1695 ++--- docs/doxygen/html/IRtext_8cpp.html | 6040 ++++++++++++++--- docs/doxygen/html/IRtext_8h.html | 3704 ++++++---- docs/doxygen/html/IRtext_8h_source.html | 532 +- docs/doxygen/html/IRutils_8cpp.html | 6 + docs/doxygen/html/IRutils_8h.html | 6 + docs/doxygen/html/IRutils_8h_source.html | 261 +- docs/doxygen/html/annotated.html | 169 +- docs/doxygen/html/classIRCoolixAC.html | 3 + .../html/classIRElectraAc-members.html | 34 +- docs/doxygen/html/classIRElectraAc.html | 161 + docs/doxygen/html/classIRGreeAC-members.html | 64 +- docs/doxygen/html/classIRGreeAC.html | 182 + docs/doxygen/html/classIRHaierAC-members.html | 4 +- docs/doxygen/html/classIRHaierAC.html | 26 +- .../html/classIRHaierAC176-members.html | 68 +- docs/doxygen/html/classIRHaierAC176.html | 519 +- .../html/classIRHaierACYRW02-members.html | 68 +- docs/doxygen/html/classIRHaierACYRW02.html | 70 +- .../doxygen/html/classIRMirageAc-members.html | 140 + docs/doxygen/html/classIRMirageAc.html | 1893 ++++++ .../html/classIRMirageAc__coll__graph.map | 5 + .../html/classIRMirageAc__coll__graph.md5 | 1 + .../html/classIRMirageAc__coll__graph.png | Bin 0 -> 6869 bytes docs/doxygen/html/classIRRhossAc-members.html | 109 + docs/doxygen/html/classIRRhossAc.html | 1021 +++ .../html/classIRRhossAc__coll__graph.map | 5 + .../html/classIRRhossAc__coll__graph.md5 | 1 + .../html/classIRRhossAc__coll__graph.png | Bin 0 -> 5627 bytes .../html/classIRSamsungAc-members.html | 79 +- docs/doxygen/html/classIRSamsungAc.html | 716 +- docs/doxygen/html/classIRSharpAc-members.html | 42 +- docs/doxygen/html/classIRSharpAc.html | 170 +- .../doxygen/html/classIRTcl112Ac-members.html | 43 +- docs/doxygen/html/classIRTcl112Ac.html | 307 +- docs/doxygen/html/classIRac-members.html | 34 +- docs/doxygen/html/classIRac.html | 321 +- docs/doxygen/html/classIRrecv-members.html | 113 +- docs/doxygen/html/classIRrecv.html | 196 +- docs/doxygen/html/classIRsend-members.html | 227 +- docs/doxygen/html/classIRsend.html | 239 +- docs/doxygen/html/classdecode__results.html | 32 +- docs/doxygen/html/classes.html | 165 +- docs/doxygen/html/defaults_8h_source.html | 1812 ++--- .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 15 + .../dir_84fe998d1eb06414cc389ad334e77e63.html | 4 + docs/doxygen/html/files.html | 249 +- docs/doxygen/html/functions.html | 103 +- docs/doxygen/html/functions_b.html | 10 +- docs/doxygen/html/functions_c.html | 34 +- docs/doxygen/html/functions_d.html | 9 + docs/doxygen/html/functions_e.html | 7 + docs/doxygen/html/functions_f.html | 10 +- docs/doxygen/html/functions_func.html | 15 + docs/doxygen/html/functions_func_b.html | 2 + docs/doxygen/html/functions_func_c.html | 17 +- docs/doxygen/html/functions_func_d.html | 9 + docs/doxygen/html/functions_func_e.html | 3 + docs/doxygen/html/functions_func_f.html | 3 + docs/doxygen/html/functions_func_g.html | 63 +- docs/doxygen/html/functions_func_h.html | 4 +- docs/doxygen/html/functions_func_i.html | 9 + docs/doxygen/html/functions_func_m.html | 3 + docs/doxygen/html/functions_func_o.html | 6 +- docs/doxygen/html/functions_func_r.html | 3 + docs/doxygen/html/functions_func_s.html | 86 +- docs/doxygen/html/functions_func_t.html | 26 +- docs/doxygen/html/functions_func_v.html | 2 + docs/doxygen/html/functions_g.html | 63 +- docs/doxygen/html/functions_h.html | 9 +- docs/doxygen/html/functions_i.html | 14 +- docs/doxygen/html/functions_l.html | 9 + docs/doxygen/html/functions_m.html | 12 +- docs/doxygen/html/functions_o.html | 50 +- docs/doxygen/html/functions_p.html | 20 +- docs/doxygen/html/functions_q.html | 9 +- docs/doxygen/html/functions_r.html | 9 +- docs/doxygen/html/functions_s.html | 125 +- docs/doxygen/html/functions_t.html | 39 +- docs/doxygen/html/functions_u.html | 1 + docs/doxygen/html/functions_v.html | 2 + docs/doxygen/html/functions_vars.html | 88 +- docs/doxygen/html/functions_vars_b.html | 8 +- docs/doxygen/html/functions_vars_c.html | 17 +- docs/doxygen/html/functions_vars_e.html | 4 + docs/doxygen/html/functions_vars_f.html | 7 +- docs/doxygen/html/functions_vars_h.html | 5 +- docs/doxygen/html/functions_vars_i.html | 7 +- docs/doxygen/html/functions_vars_l.html | 9 + docs/doxygen/html/functions_vars_m.html | 9 +- docs/doxygen/html/functions_vars_o.html | 44 +- docs/doxygen/html/functions_vars_p.html | 20 +- docs/doxygen/html/functions_vars_q.html | 9 +- docs/doxygen/html/functions_vars_r.html | 6 +- docs/doxygen/html/functions_vars_s.html | 39 +- docs/doxygen/html/functions_vars_t.html | 13 +- docs/doxygen/html/functions_vars_u.html | 1 + docs/doxygen/html/globals_a.html | 6 + docs/doxygen/html/globals_enum.html | 9 + docs/doxygen/html/globals_eval.html | 27 + docs/doxygen/html/globals_func.html | 109 +- docs/doxygen/html/globals_func_f.html | 80 + docs/doxygen/html/globals_func_g.html | 80 + docs/doxygen/html/globals_func_h.html | 80 + docs/doxygen/html/globals_func_i.html | 96 + docs/doxygen/html/globals_func_r.html | 100 + docs/doxygen/html/globals_func_s.html | 88 + docs/doxygen/html/globals_func_t.html | 80 + docs/doxygen/html/globals_func_u.html | 80 + docs/doxygen/html/globals_func_x.html | 80 + docs/doxygen/html/globals_g.html | 3 + docs/doxygen/html/globals_h.html | 3 + docs/doxygen/html/globals_i.html | 12 + docs/doxygen/html/globals_k.html | 1031 ++- docs/doxygen/html/globals_m.html | 3 + docs/doxygen/html/globals_r.html | 15 +- docs/doxygen/html/globals_t.html | 10 +- docs/doxygen/html/globals_v.html | 6 + docs/doxygen/html/globals_vars_k.html | 1029 ++- docs/doxygen/html/hierarchy.html | 171 +- docs/doxygen/html/inherit_graph_100.map | 2 +- docs/doxygen/html/inherit_graph_100.md5 | 2 +- docs/doxygen/html/inherit_graph_100.png | Bin 1808 -> 1936 bytes docs/doxygen/html/inherit_graph_101.map | 2 +- docs/doxygen/html/inherit_graph_101.md5 | 2 +- docs/doxygen/html/inherit_graph_101.png | Bin 1449 -> 1247 bytes docs/doxygen/html/inherit_graph_102.map | 2 +- docs/doxygen/html/inherit_graph_102.md5 | 2 +- docs/doxygen/html/inherit_graph_102.png | Bin 1530 -> 1790 bytes docs/doxygen/html/inherit_graph_103.map | 2 +- docs/doxygen/html/inherit_graph_103.md5 | 2 +- docs/doxygen/html/inherit_graph_103.png | Bin 1307 -> 1808 bytes docs/doxygen/html/inherit_graph_104.map | 2 +- docs/doxygen/html/inherit_graph_104.md5 | 2 +- docs/doxygen/html/inherit_graph_104.png | Bin 1185 -> 1449 bytes docs/doxygen/html/inherit_graph_105.map | 2 +- docs/doxygen/html/inherit_graph_105.md5 | 2 +- docs/doxygen/html/inherit_graph_105.png | Bin 1443 -> 1530 bytes docs/doxygen/html/inherit_graph_106.map | 2 +- docs/doxygen/html/inherit_graph_106.md5 | 2 +- docs/doxygen/html/inherit_graph_106.png | Bin 1141 -> 1307 bytes docs/doxygen/html/inherit_graph_107.map | 2 +- docs/doxygen/html/inherit_graph_107.md5 | 2 +- docs/doxygen/html/inherit_graph_107.png | Bin 985 -> 1185 bytes docs/doxygen/html/inherit_graph_108.map | 2 +- docs/doxygen/html/inherit_graph_108.md5 | 2 +- docs/doxygen/html/inherit_graph_108.png | Bin 1518 -> 1443 bytes docs/doxygen/html/inherit_graph_109.map | 2 +- docs/doxygen/html/inherit_graph_109.md5 | 2 +- docs/doxygen/html/inherit_graph_109.png | Bin 1527 -> 1141 bytes docs/doxygen/html/inherit_graph_110.map | 2 +- docs/doxygen/html/inherit_graph_110.md5 | 2 +- docs/doxygen/html/inherit_graph_110.png | Bin 1573 -> 985 bytes docs/doxygen/html/inherit_graph_111.map | 2 +- docs/doxygen/html/inherit_graph_111.md5 | 2 +- docs/doxygen/html/inherit_graph_111.png | Bin 1083 -> 1518 bytes docs/doxygen/html/inherit_graph_112.map | 2 +- docs/doxygen/html/inherit_graph_112.md5 | 2 +- docs/doxygen/html/inherit_graph_112.png | Bin 1234 -> 1527 bytes docs/doxygen/html/inherit_graph_113.map | 2 +- docs/doxygen/html/inherit_graph_113.md5 | 2 +- docs/doxygen/html/inherit_graph_113.png | Bin 1366 -> 1573 bytes docs/doxygen/html/inherit_graph_114.map | 2 +- docs/doxygen/html/inherit_graph_114.md5 | 2 +- docs/doxygen/html/inherit_graph_114.png | Bin 1349 -> 1083 bytes docs/doxygen/html/inherit_graph_115.map | 2 +- docs/doxygen/html/inherit_graph_115.md5 | 2 +- docs/doxygen/html/inherit_graph_115.png | Bin 1411 -> 1234 bytes docs/doxygen/html/inherit_graph_116.map | 3 + docs/doxygen/html/inherit_graph_116.md5 | 1 + docs/doxygen/html/inherit_graph_116.png | Bin 0 -> 1366 bytes docs/doxygen/html/inherit_graph_117.map | 3 + docs/doxygen/html/inherit_graph_117.md5 | 1 + docs/doxygen/html/inherit_graph_117.png | Bin 0 -> 1349 bytes docs/doxygen/html/inherit_graph_118.map | 3 + docs/doxygen/html/inherit_graph_118.md5 | 1 + docs/doxygen/html/inherit_graph_118.png | Bin 0 -> 1411 bytes docs/doxygen/html/inherit_graph_24.map | 2 +- docs/doxygen/html/inherit_graph_24.md5 | 2 +- docs/doxygen/html/inherit_graph_24.png | Bin 2265 -> 1197 bytes docs/doxygen/html/inherit_graph_25.map | 2 +- docs/doxygen/html/inherit_graph_25.md5 | 2 +- docs/doxygen/html/inherit_graph_25.png | Bin 1197 -> 1417 bytes docs/doxygen/html/inherit_graph_26.map | 2 +- docs/doxygen/html/inherit_graph_26.md5 | 2 +- docs/doxygen/html/inherit_graph_26.png | Bin 1417 -> 1140 bytes docs/doxygen/html/inherit_graph_27.map | 2 +- docs/doxygen/html/inherit_graph_27.md5 | 2 +- docs/doxygen/html/inherit_graph_27.png | Bin 1140 -> 674 bytes docs/doxygen/html/inherit_graph_28.map | 2 +- docs/doxygen/html/inherit_graph_28.md5 | 2 +- docs/doxygen/html/inherit_graph_28.png | Bin 674 -> 1301 bytes docs/doxygen/html/inherit_graph_29.map | 2 +- docs/doxygen/html/inherit_graph_29.md5 | 2 +- docs/doxygen/html/inherit_graph_29.png | Bin 1301 -> 1068 bytes docs/doxygen/html/inherit_graph_30.map | 2 +- docs/doxygen/html/inherit_graph_30.md5 | 2 +- docs/doxygen/html/inherit_graph_30.png | Bin 1068 -> 1161 bytes docs/doxygen/html/inherit_graph_31.map | 2 +- docs/doxygen/html/inherit_graph_31.md5 | 2 +- docs/doxygen/html/inherit_graph_31.png | Bin 1161 -> 1579 bytes docs/doxygen/html/inherit_graph_32.map | 2 +- docs/doxygen/html/inherit_graph_32.md5 | 2 +- docs/doxygen/html/inherit_graph_32.png | Bin 1579 -> 1141 bytes docs/doxygen/html/inherit_graph_33.map | 2 +- docs/doxygen/html/inherit_graph_33.md5 | 2 +- docs/doxygen/html/inherit_graph_33.png | Bin 1141 -> 1277 bytes docs/doxygen/html/inherit_graph_34.map | 2 +- docs/doxygen/html/inherit_graph_34.md5 | 2 +- docs/doxygen/html/inherit_graph_34.png | Bin 1277 -> 1330 bytes docs/doxygen/html/inherit_graph_35.map | 2 +- docs/doxygen/html/inherit_graph_35.md5 | 2 +- docs/doxygen/html/inherit_graph_35.png | Bin 1330 -> 1257 bytes docs/doxygen/html/inherit_graph_36.map | 2 +- docs/doxygen/html/inherit_graph_36.md5 | 2 +- docs/doxygen/html/inherit_graph_36.png | Bin 1257 -> 1371 bytes docs/doxygen/html/inherit_graph_37.map | 2 +- docs/doxygen/html/inherit_graph_37.md5 | 2 +- docs/doxygen/html/inherit_graph_37.png | Bin 1371 -> 1281 bytes docs/doxygen/html/inherit_graph_38.map | 2 +- docs/doxygen/html/inherit_graph_38.md5 | 2 +- docs/doxygen/html/inherit_graph_38.png | Bin 1281 -> 1088 bytes docs/doxygen/html/inherit_graph_39.map | 2 +- docs/doxygen/html/inherit_graph_39.md5 | 2 +- docs/doxygen/html/inherit_graph_39.png | Bin 1088 -> 1317 bytes docs/doxygen/html/inherit_graph_40.map | 2 +- docs/doxygen/html/inherit_graph_40.md5 | 2 +- docs/doxygen/html/inherit_graph_40.png | Bin 1317 -> 1237 bytes docs/doxygen/html/inherit_graph_41.map | 2 +- docs/doxygen/html/inherit_graph_41.md5 | 2 +- docs/doxygen/html/inherit_graph_41.png | Bin 1237 -> 1264 bytes docs/doxygen/html/inherit_graph_42.map | 2 +- docs/doxygen/html/inherit_graph_42.md5 | 2 +- docs/doxygen/html/inherit_graph_42.png | Bin 1264 -> 1482 bytes docs/doxygen/html/inherit_graph_43.map | 2 +- docs/doxygen/html/inherit_graph_43.md5 | 2 +- docs/doxygen/html/inherit_graph_43.png | Bin 1482 -> 1114 bytes docs/doxygen/html/inherit_graph_44.map | 2 +- docs/doxygen/html/inherit_graph_44.md5 | 2 +- docs/doxygen/html/inherit_graph_44.png | Bin 1114 -> 1334 bytes docs/doxygen/html/inherit_graph_45.map | 2 +- docs/doxygen/html/inherit_graph_45.md5 | 2 +- docs/doxygen/html/inherit_graph_45.png | Bin 1334 -> 1280 bytes docs/doxygen/html/inherit_graph_46.map | 2 +- docs/doxygen/html/inherit_graph_46.md5 | 2 +- docs/doxygen/html/inherit_graph_46.png | Bin 1280 -> 1904 bytes docs/doxygen/html/inherit_graph_47.map | 2 +- docs/doxygen/html/inherit_graph_47.md5 | 2 +- docs/doxygen/html/inherit_graph_47.png | Bin 1904 -> 1214 bytes docs/doxygen/html/inherit_graph_48.map | 2 +- docs/doxygen/html/inherit_graph_48.md5 | 2 +- docs/doxygen/html/inherit_graph_48.png | Bin 1214 -> 1300 bytes docs/doxygen/html/inherit_graph_49.map | 3 +- docs/doxygen/html/inherit_graph_49.md5 | 2 +- docs/doxygen/html/inherit_graph_49.png | Bin 1300 -> 2795 bytes docs/doxygen/html/inherit_graph_50.map | 3 +- docs/doxygen/html/inherit_graph_50.md5 | 2 +- docs/doxygen/html/inherit_graph_50.png | Bin 2795 -> 1089 bytes docs/doxygen/html/inherit_graph_51.map | 2 +- docs/doxygen/html/inherit_graph_51.md5 | 2 +- docs/doxygen/html/inherit_graph_51.png | Bin 1089 -> 1144 bytes docs/doxygen/html/inherit_graph_52.map | 2 +- docs/doxygen/html/inherit_graph_52.md5 | 2 +- docs/doxygen/html/inherit_graph_52.png | Bin 1144 -> 1273 bytes docs/doxygen/html/inherit_graph_53.map | 3 +- docs/doxygen/html/inherit_graph_53.md5 | 2 +- docs/doxygen/html/inherit_graph_53.png | Bin 1273 -> 2195 bytes docs/doxygen/html/inherit_graph_54.map | 3 +- docs/doxygen/html/inherit_graph_54.md5 | 2 +- docs/doxygen/html/inherit_graph_54.png | Bin 2195 -> 1269 bytes docs/doxygen/html/inherit_graph_55.map | 2 +- docs/doxygen/html/inherit_graph_55.md5 | 2 +- docs/doxygen/html/inherit_graph_55.png | Bin 1269 -> 1725 bytes docs/doxygen/html/inherit_graph_56.map | 2 +- docs/doxygen/html/inherit_graph_56.md5 | 2 +- docs/doxygen/html/inherit_graph_56.png | Bin 1725 -> 911 bytes docs/doxygen/html/inherit_graph_57.map | 2 +- docs/doxygen/html/inherit_graph_57.md5 | 2 +- docs/doxygen/html/inherit_graph_57.png | Bin 911 -> 1369 bytes docs/doxygen/html/inherit_graph_58.map | 2 +- docs/doxygen/html/inherit_graph_58.md5 | 2 +- docs/doxygen/html/inherit_graph_58.png | Bin 1369 -> 1571 bytes docs/doxygen/html/inherit_graph_69.map | 2 +- docs/doxygen/html/inherit_graph_69.md5 | 2 +- docs/doxygen/html/inherit_graph_69.png | Bin 1648 -> 1123 bytes docs/doxygen/html/inherit_graph_70.map | 2 +- docs/doxygen/html/inherit_graph_70.md5 | 2 +- docs/doxygen/html/inherit_graph_70.png | Bin 1443 -> 1648 bytes docs/doxygen/html/inherit_graph_71.map | 2 +- docs/doxygen/html/inherit_graph_71.md5 | 2 +- docs/doxygen/html/inherit_graph_71.png | Bin 1654 -> 1443 bytes docs/doxygen/html/inherit_graph_72.map | 2 +- docs/doxygen/html/inherit_graph_72.md5 | 2 +- docs/doxygen/html/inherit_graph_72.png | Bin 925 -> 1654 bytes docs/doxygen/html/inherit_graph_73.map | 2 +- docs/doxygen/html/inherit_graph_73.md5 | 2 +- docs/doxygen/html/inherit_graph_73.png | Bin 1459 -> 925 bytes docs/doxygen/html/inherit_graph_74.map | 2 +- docs/doxygen/html/inherit_graph_74.md5 | 2 +- docs/doxygen/html/inherit_graph_74.png | Bin 1014 -> 1459 bytes docs/doxygen/html/inherit_graph_75.map | 2 +- docs/doxygen/html/inherit_graph_75.md5 | 2 +- docs/doxygen/html/inherit_graph_75.png | Bin 1212 -> 1014 bytes docs/doxygen/html/inherit_graph_76.map | 2 +- docs/doxygen/html/inherit_graph_76.md5 | 2 +- docs/doxygen/html/inherit_graph_76.png | Bin 1059 -> 1212 bytes docs/doxygen/html/inherit_graph_77.map | 2 +- docs/doxygen/html/inherit_graph_77.md5 | 2 +- docs/doxygen/html/inherit_graph_77.png | Bin 869 -> 1059 bytes docs/doxygen/html/inherit_graph_78.map | 2 +- docs/doxygen/html/inherit_graph_78.md5 | 2 +- docs/doxygen/html/inherit_graph_78.png | Bin 1428 -> 869 bytes docs/doxygen/html/inherit_graph_79.map | 2 +- docs/doxygen/html/inherit_graph_79.md5 | 2 +- docs/doxygen/html/inherit_graph_79.png | Bin 1466 -> 1428 bytes docs/doxygen/html/inherit_graph_80.map | 2 +- docs/doxygen/html/inherit_graph_80.md5 | 2 +- docs/doxygen/html/inherit_graph_80.png | Bin 1490 -> 1466 bytes docs/doxygen/html/inherit_graph_81.map | 2 +- docs/doxygen/html/inherit_graph_81.md5 | 2 +- docs/doxygen/html/inherit_graph_81.png | Bin 1328 -> 1490 bytes docs/doxygen/html/inherit_graph_82.map | 2 +- docs/doxygen/html/inherit_graph_82.md5 | 2 +- docs/doxygen/html/inherit_graph_82.png | Bin 1154 -> 1328 bytes docs/doxygen/html/inherit_graph_83.map | 2 +- docs/doxygen/html/inherit_graph_83.md5 | 2 +- docs/doxygen/html/inherit_graph_83.png | Bin 1310 -> 1154 bytes docs/doxygen/html/inherit_graph_84.map | 2 +- docs/doxygen/html/inherit_graph_84.md5 | 2 +- docs/doxygen/html/inherit_graph_84.png | Bin 1104 -> 1310 bytes docs/doxygen/html/inherit_graph_85.map | 2 +- docs/doxygen/html/inherit_graph_85.md5 | 2 +- docs/doxygen/html/inherit_graph_85.png | Bin 1480 -> 1104 bytes docs/doxygen/html/inherit_graph_86.map | 2 +- docs/doxygen/html/inherit_graph_86.md5 | 2 +- docs/doxygen/html/inherit_graph_86.png | Bin 1244 -> 1480 bytes docs/doxygen/html/inherit_graph_87.map | 2 +- docs/doxygen/html/inherit_graph_87.md5 | 2 +- docs/doxygen/html/inherit_graph_87.png | Bin 1518 -> 1244 bytes docs/doxygen/html/inherit_graph_88.map | 2 +- docs/doxygen/html/inherit_graph_88.md5 | 2 +- docs/doxygen/html/inherit_graph_88.png | Bin 1126 -> 1518 bytes docs/doxygen/html/inherit_graph_89.map | 2 +- docs/doxygen/html/inherit_graph_89.md5 | 2 +- docs/doxygen/html/inherit_graph_89.png | Bin 1310 -> 1126 bytes docs/doxygen/html/inherit_graph_90.map | 2 +- docs/doxygen/html/inherit_graph_90.md5 | 2 +- docs/doxygen/html/inherit_graph_90.png | Bin 1308 -> 1310 bytes docs/doxygen/html/inherit_graph_91.map | 2 +- docs/doxygen/html/inherit_graph_91.md5 | 2 +- docs/doxygen/html/inherit_graph_91.png | Bin 1446 -> 1308 bytes docs/doxygen/html/inherit_graph_92.map | 2 +- docs/doxygen/html/inherit_graph_92.md5 | 2 +- docs/doxygen/html/inherit_graph_92.png | Bin 1693 -> 1446 bytes docs/doxygen/html/inherit_graph_93.map | 2 +- docs/doxygen/html/inherit_graph_93.md5 | 2 +- docs/doxygen/html/inherit_graph_93.png | Bin 1929 -> 2085 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 1668 -> 1693 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 1833 -> 1929 bytes docs/doxygen/html/inherit_graph_96.map | 2 +- docs/doxygen/html/inherit_graph_96.md5 | 2 +- docs/doxygen/html/inherit_graph_96.png | Bin 1732 -> 1668 bytes docs/doxygen/html/inherit_graph_97.map | 2 +- docs/doxygen/html/inherit_graph_97.md5 | 2 +- docs/doxygen/html/inherit_graph_97.png | Bin 1434 -> 1833 bytes docs/doxygen/html/inherit_graph_98.map | 2 +- docs/doxygen/html/inherit_graph_98.md5 | 2 +- docs/doxygen/html/inherit_graph_98.png | Bin 1936 -> 1732 bytes docs/doxygen/html/inherit_graph_99.map | 2 +- docs/doxygen/html/inherit_graph_99.md5 | 2 +- docs/doxygen/html/inherit_graph_99.png | Bin 1790 -> 1434 bytes docs/doxygen/html/inherits.html | 187 +- docs/doxygen/html/ir__Airton_8cpp.html | 189 + 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__Arris_8cpp.html | 242 + 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 | 8 +- docs/doxygen/html/ir__Daikin_8h_source.html | 34 +- docs/doxygen/html/ir__Delonghi_8h_source.html | 6 +- docs/doxygen/html/ir__Denon_8cpp.html | 2 +- docs/doxygen/html/ir__Ecoclim_8h_source.html | 6 +- docs/doxygen/html/ir__Electra_8h.html | 48 + docs/doxygen/html/ir__Electra_8h_source.html | 453 +- docs/doxygen/html/ir__Fujitsu_8h_source.html | 10 +- docs/doxygen/html/ir__GICable_8cpp.html | 2 +- .../html/ir__Goodweather_8h_source.html | 72 +- docs/doxygen/html/ir__Gree_8h.html | 112 + docs/doxygen/html/ir__Gree_8h_source.html | 642 +- docs/doxygen/html/ir__Haier_8h.html | 393 +- docs/doxygen/html/ir__Haier_8h_source.html | 1330 ++-- docs/doxygen/html/ir__Hitachi_8h_source.html | 18 +- docs/doxygen/html/ir__JVC_8cpp.html | 2 +- docs/doxygen/html/ir__Kelon_8h_source.html | 6 +- .../html/ir__Kelvinator_8h_source.html | 8 +- docs/doxygen/html/ir__LG_8h_source.html | 500 +- .../doxygen/html/ir__Magiquest_8h_source.html | 4 +- docs/doxygen/html/ir__Midea_8h.html | 4 +- docs/doxygen/html/ir__Midea_8h_source.html | 501 +- docs/doxygen/html/ir__Mirage_8cpp.html | 36 +- docs/doxygen/html/ir__Mirage_8h.html | 523 ++ docs/doxygen/html/ir__Mirage_8h_source.html | 474 ++ .../html/ir__MitsubishiHeavy_8h_source.html | 12 +- .../html/ir__Mitsubishi_8h_source.html | 16 +- 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 | 10 +- docs/doxygen/html/ir__Rhoss_8cpp.html | 204 + docs/doxygen/html/ir__Rhoss_8h.html | 424 ++ docs/doxygen/html/ir__Rhoss_8h_source.html | 284 + docs/doxygen/html/ir__Samsung_8cpp.html | 133 +- docs/doxygen/html/ir__Samsung_8h.html | 84 +- docs/doxygen/html/ir__Samsung_8h_source.html | 720 +- docs/doxygen/html/ir__Sanyo_8cpp.html | 2 +- docs/doxygen/html/ir__Sanyo_8h_source.html | 12 +- docs/doxygen/html/ir__Sharp_8cpp.html | 4 +- docs/doxygen/html/ir__Sharp_8h.html | 132 +- docs/doxygen/html/ir__Sharp_8h_source.html | 667 +- docs/doxygen/html/ir__Symphony_8cpp.html | 4 +- docs/doxygen/html/ir__Tcl_8cpp.html | 41 +- docs/doxygen/html/ir__Tcl_8h.html | 132 +- docs/doxygen/html/ir__Tcl_8h_source.html | 541 +- .../doxygen/html/ir__Technibel_8h_source.html | 6 +- docs/doxygen/html/ir__Teco_8h_source.html | 6 +- docs/doxygen/html/ir__Toshiba_8h_source.html | 10 +- .../doxygen/html/ir__Transcold_8h_source.html | 6 +- docs/doxygen/html/ir__Trotec_8h_source.html | 559 +- docs/doxygen/html/ir__Truma_8h_source.html | 6 +- 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/menudata.js | 18 +- docs/doxygen/html/namespaceirutils.html | 49 + docs/doxygen/html/namespacemembers.html | 3 + docs/doxygen/html/namespacemembers_func.html | 3 + docs/doxygen/html/pt-BR_8h_source.html | 280 +- docs/doxygen/html/ru-RU_8h.html | 82 + docs/doxygen/html/ru-RU_8h_source.html | 232 + docs/doxygen/html/search/all_0.js | 177 +- docs/doxygen/html/search/all_1.js | 75 +- docs/doxygen/html/search/all_10.js | 67 +- docs/doxygen/html/search/all_11.js | 4 +- docs/doxygen/html/search/all_12.js | 56 +- docs/doxygen/html/search/all_13.js | 674 +- docs/doxygen/html/search/all_14.js | 142 +- docs/doxygen/html/search/all_15.js | 30 +- docs/doxygen/html/search/all_16.js | 30 +- docs/doxygen/html/search/all_17.js | 20 +- docs/doxygen/html/search/all_18.js | 6 +- 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 | 137 +- docs/doxygen/html/search/all_4.js | 293 +- docs/doxygen/html/search/all_5.js | 84 +- docs/doxygen/html/search/all_6.js | 50 +- docs/doxygen/html/search/all_7.js | 283 +- docs/doxygen/html/search/all_8.js | 84 +- docs/doxygen/html/search/all_9.js | 460 +- docs/doxygen/html/search/all_a.js | 4 +- docs/doxygen/html/search/all_b.js | 4712 +++++++------ docs/doxygen/html/search/all_c.js | 43 +- docs/doxygen/html/search/all_d.js | 110 +- docs/doxygen/html/search/all_e.js | 14 +- docs/doxygen/html/search/all_f.js | 84 +- docs/doxygen/html/search/classes_0.js | 6 +- docs/doxygen/html/search/classes_1.js | 8 +- docs/doxygen/html/search/classes_10.js | 3 +- docs/doxygen/html/search/classes_11.html | 30 + docs/doxygen/html/search/classes_11.js | 4 + docs/doxygen/html/search/classes_2.js | 20 +- docs/doxygen/html/search/classes_3.js | 4 +- docs/doxygen/html/search/classes_4.js | 2 +- docs/doxygen/html/search/classes_5.js | 4 +- docs/doxygen/html/search/classes_6.js | 11 +- docs/doxygen/html/search/classes_7.js | 122 +- docs/doxygen/html/search/classes_8.js | 4 +- docs/doxygen/html/search/classes_9.js | 2 +- docs/doxygen/html/search/classes_a.js | 17 +- docs/doxygen/html/search/classes_b.js | 2 +- docs/doxygen/html/search/classes_c.js | 2 +- docs/doxygen/html/search/classes_d.js | 6 +- docs/doxygen/html/search/classes_e.js | 14 +- docs/doxygen/html/search/classes_f.js | 11 +- 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 | 3 +- 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 | 4 +- docs/doxygen/html/search/enums_8.js | 4 +- docs/doxygen/html/search/enums_9.js | 2 +- docs/doxygen/html/search/enums_a.html | 30 + docs/doxygen/html/search/enums_a.js | 4 + docs/doxygen/html/search/enums_b.html | 30 + docs/doxygen/html/search/enums_b.js | 4 + docs/doxygen/html/search/enumvalues_0.js | 34 +- docs/doxygen/html/search/enumvalues_1.js | 2 +- docs/doxygen/html/search/enumvalues_10.js | 26 +- docs/doxygen/html/search/enumvalues_11.js | 19 +- docs/doxygen/html/search/enumvalues_12.js | 4 +- docs/doxygen/html/search/enumvalues_13.js | 6 +- docs/doxygen/html/search/enumvalues_14.js | 4 +- docs/doxygen/html/search/enumvalues_15.js | 2 +- docs/doxygen/html/search/enumvalues_16.js | 4 +- docs/doxygen/html/search/enumvalues_17.js | 2 +- docs/doxygen/html/search/enumvalues_2.js | 10 +- docs/doxygen/html/search/enumvalues_3.js | 28 +- docs/doxygen/html/search/enumvalues_4.js | 8 +- docs/doxygen/html/search/enumvalues_5.js | 2 +- docs/doxygen/html/search/enumvalues_6.js | 11 +- docs/doxygen/html/search/enumvalues_7.js | 18 +- docs/doxygen/html/search/enumvalues_8.js | 2 +- docs/doxygen/html/search/enumvalues_9.js | 2 +- docs/doxygen/html/search/enumvalues_a.js | 72 +- docs/doxygen/html/search/enumvalues_b.js | 10 +- docs/doxygen/html/search/enumvalues_c.js | 30 +- docs/doxygen/html/search/enumvalues_d.js | 8 +- docs/doxygen/html/search/enumvalues_e.js | 10 +- docs/doxygen/html/search/enumvalues_f.js | 15 +- 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 | 249 +- docs/doxygen/html/search/files_4.js | 2 +- docs/doxygen/html/search/files_5.js | 3 +- docs/doxygen/html/search/files_6.js | 2 +- docs/doxygen/html/search/files_7.html | 30 + docs/doxygen/html/search/files_7.js | 4 + docs/doxygen/html/search/functions_0.js | 47 +- docs/doxygen/html/search/functions_1.js | 35 +- docs/doxygen/html/search/functions_10.js | 21 +- docs/doxygen/html/search/functions_11.js | 518 +- docs/doxygen/html/search/functions_12.js | 51 +- docs/doxygen/html/search/functions_13.js | 12 +- 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 | 8 +- docs/doxygen/html/search/functions_3.js | 74 +- docs/doxygen/html/search/functions_4.js | 223 +- docs/doxygen/html/search/functions_5.js | 51 +- docs/doxygen/html/search/functions_6.js | 11 +- docs/doxygen/html/search/functions_7.js | 270 +- docs/doxygen/html/search/functions_8.js | 26 +- docs/doxygen/html/search/functions_9.js | 175 +- docs/doxygen/html/search/functions_a.js | 4 +- docs/doxygen/html/search/functions_b.js | 8 +- docs/doxygen/html/search/functions_c.js | 49 +- 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 | 6 +- 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 | 4 +- docs/doxygen/html/search/searchdata.js | 6 +- docs/doxygen/html/search/typedefs_0.js | 2 +- docs/doxygen/html/search/typedefs_1.js | 2 +- docs/doxygen/html/search/variables_0.js | 156 +- docs/doxygen/html/search/variables_1.js | 6 +- docs/doxygen/html/search/variables_10.js | 4 +- docs/doxygen/html/search/variables_11.js | 19 +- docs/doxygen/html/search/variables_12.js | 115 +- docs/doxygen/html/search/variables_13.js | 61 +- docs/doxygen/html/search/variables_14.js | 16 +- docs/doxygen/html/search/variables_15.js | 12 +- docs/doxygen/html/search/variables_16.js | 10 +- docs/doxygen/html/search/variables_17.js | 2 +- docs/doxygen/html/search/variables_18.js | 4 +- docs/doxygen/html/search/variables_2.js | 20 +- docs/doxygen/html/search/variables_3.js | 49 +- docs/doxygen/html/search/variables_4.js | 26 +- docs/doxygen/html/search/variables_5.js | 13 +- docs/doxygen/html/search/variables_6.js | 29 +- docs/doxygen/html/search/variables_7.js | 24 +- docs/doxygen/html/search/variables_8.js | 23 +- docs/doxygen/html/search/variables_9.js | 2 +- docs/doxygen/html/search/variables_a.js | 4636 +++++++------ docs/doxygen/html/search/variables_b.js | 23 +- docs/doxygen/html/search/variables_c.js | 24 +- docs/doxygen/html/search/variables_d.js | 4 +- docs/doxygen/html/search/variables_e.js | 76 +- docs/doxygen/html/search/variables_f.js | 49 +- docs/doxygen/html/sv-SE_8h.html | 82 + docs/doxygen/html/sv-SE_8h_source.html | 269 + docs/doxygen/html/todo.html | 8 +- .../html/unionElectraProtocol-members.html | 26 +- docs/doxygen/html/unionElectraProtocol.html | 98 +- .../html/unionGreeProtocol-members.html | 33 +- docs/doxygen/html/unionGreeProtocol.html | 70 +- .../html/unionHaierAc176Protocol-members.html | 40 +- .../doxygen/html/unionHaierAc176Protocol.html | 264 +- .../html/unionHaierProtocol-members.html | 2 +- docs/doxygen/html/unionHaierProtocol.html | 10 +- .../html/unionHaierYRW02Protocol-members.html | 104 - .../doxygen/html/unionHaierYRW02Protocol.html | 514 -- docs/doxygen/html/unionHitachi1Protocol.html | 90 +- .../doxygen/html/unionHitachi424Protocol.html | 78 +- docs/doxygen/html/unionHitachiProtocol.html | 66 +- docs/doxygen/html/unionKelonProtocol.html | 74 +- .../doxygen/html/unionKelvinatorProtocol.html | 146 +- docs/doxygen/html/unionLGProtocol.html | 38 +- docs/doxygen/html/unionMideaProtocol.html | 86 +- .../html/unionMirage120Protocol-members.html | 129 + docs/doxygen/html/unionMirage120Protocol.html | 1001 +++ .../html/unionMitsubishi112Protocol.html | 74 +- .../html/unionMitsubishi136Protocol.html | 54 +- .../html/unionMitsubishi144Protocol.html | 122 +- .../html/unionMitsubishi152Protocol.html | 114 +- .../html/unionMitsubishi88Protocol.html | 70 +- docs/doxygen/html/unionNeoclimaProtocol.html | 130 +- .../html/unionPanasonicAc32Protocol.html | 52 +- .../html/unionRhossProtocol-members.html | 97 + docs/doxygen/html/unionRhossProtocol.html | 399 ++ .../html/unionSamsungProtocol-members.html | 36 +- docs/doxygen/html/unionSamsungProtocol.html | 510 +- docs/doxygen/html/unionSanyoAc88Protocol.html | 98 +- docs/doxygen/html/unionSanyoProtocol.html | 100 +- docs/doxygen/html/unionSharpProtocol.html | 114 +- .../html/unionTcl112Protocol-members.html | 43 +- docs/doxygen/html/unionTcl112Protocol.html | 302 +- docs/doxygen/html/unionTechnibelProtocol.html | 82 +- docs/doxygen/html/unionTecoProtocol.html | 74 +- docs/doxygen/html/unionToshibaProtocol.html | 80 +- docs/doxygen/html/unionTranscoldProtocol.html | 34 +- .../doxygen/html/unionTrotec3550Protocol.html | 86 +- docs/doxygen/html/unionTrotecProtocol.html | 78 +- docs/doxygen/html/unionTrumaProtocol.html | 58 +- docs/doxygen/html/unionVestelProtocol.html | 132 +- docs/doxygen/html/unionVoltasProtocol.html | 126 +- docs/doxygen/html/unionWhirlpoolProtocol.html | 174 +- docs/doxygen/html/unionmagiquest-members.html | 2 +- docs/doxygen/html/unionmagiquest.html | 26 +- 655 files changed, 40833 insertions(+), 22444 deletions(-) create mode 100644 docs/doxygen/html/classIRMirageAc-members.html create mode 100644 docs/doxygen/html/classIRMirageAc.html create mode 100644 docs/doxygen/html/classIRMirageAc__coll__graph.map create mode 100644 docs/doxygen/html/classIRMirageAc__coll__graph.md5 create mode 100644 docs/doxygen/html/classIRMirageAc__coll__graph.png create mode 100644 docs/doxygen/html/classIRRhossAc-members.html create mode 100644 docs/doxygen/html/classIRRhossAc.html create mode 100644 docs/doxygen/html/classIRRhossAc__coll__graph.map create mode 100644 docs/doxygen/html/classIRRhossAc__coll__graph.md5 create mode 100644 docs/doxygen/html/classIRRhossAc__coll__graph.png create mode 100644 docs/doxygen/html/globals_func_f.html create mode 100644 docs/doxygen/html/globals_func_g.html create mode 100644 docs/doxygen/html/globals_func_h.html create mode 100644 docs/doxygen/html/globals_func_i.html create mode 100644 docs/doxygen/html/globals_func_r.html create mode 100644 docs/doxygen/html/globals_func_s.html create mode 100644 docs/doxygen/html/globals_func_t.html create mode 100644 docs/doxygen/html/globals_func_u.html create mode 100644 docs/doxygen/html/globals_func_x.html create mode 100644 docs/doxygen/html/inherit_graph_116.map create mode 100644 docs/doxygen/html/inherit_graph_116.md5 create mode 100644 docs/doxygen/html/inherit_graph_116.png create mode 100644 docs/doxygen/html/inherit_graph_117.map create mode 100644 docs/doxygen/html/inherit_graph_117.md5 create mode 100644 docs/doxygen/html/inherit_graph_117.png create mode 100644 docs/doxygen/html/inherit_graph_118.map create mode 100644 docs/doxygen/html/inherit_graph_118.md5 create mode 100644 docs/doxygen/html/inherit_graph_118.png create mode 100644 docs/doxygen/html/ir__Airton_8cpp.html create mode 100644 docs/doxygen/html/ir__Arris_8cpp.html create mode 100644 docs/doxygen/html/ir__Mirage_8h.html create mode 100644 docs/doxygen/html/ir__Mirage_8h_source.html create mode 100644 docs/doxygen/html/ir__Rhoss_8cpp.html create mode 100644 docs/doxygen/html/ir__Rhoss_8h.html create mode 100644 docs/doxygen/html/ir__Rhoss_8h_source.html create mode 100644 docs/doxygen/html/ru-RU_8h.html create mode 100644 docs/doxygen/html/ru-RU_8h_source.html create mode 100644 docs/doxygen/html/search/classes_11.html create mode 100644 docs/doxygen/html/search/classes_11.js create mode 100644 docs/doxygen/html/search/enums_a.html create mode 100644 docs/doxygen/html/search/enums_a.js create mode 100644 docs/doxygen/html/search/enums_b.html create mode 100644 docs/doxygen/html/search/enums_b.js create mode 100644 docs/doxygen/html/search/files_7.html create mode 100644 docs/doxygen/html/search/files_7.js create mode 100644 docs/doxygen/html/sv-SE_8h.html create mode 100644 docs/doxygen/html/sv-SE_8h_source.html delete mode 100644 docs/doxygen/html/unionHaierYRW02Protocol-members.html delete mode 100644 docs/doxygen/html/unionHaierYRW02Protocol.html create mode 100644 docs/doxygen/html/unionMirage120Protocol-members.html create mode 100644 docs/doxygen/html/unionMirage120Protocol.html create mode 100644 docs/doxygen/html/unionRhossProtocol-members.html create mode 100644 docs/doxygen/html/unionRhossProtocol.html diff --git a/docs/doxygen/html/IRac_8h_source.html b/docs/doxygen/html/IRac_8h_source.html index adbc7d657..71e879021 100644 --- a/docs/doxygen/html/IRac_8h_source.html +++ b/docs/doxygen/html/IRac_8h_source.html @@ -97,658 +97,682 @@
26 #include "ir_Kelvinator.h"
27 #include "ir_LG.h"
28 #include "ir_Midea.h"
-
29 #include "ir_Mitsubishi.h"
-
30 #include "ir_MitsubishiHeavy.h"
-
31 #include "ir_Neoclima.h"
-
32 #include "ir_Panasonic.h"
-
33 #include "ir_Samsung.h"
-
34 #include "ir_Sanyo.h"
-
35 #include "ir_Sharp.h"
-
36 #include "ir_Tcl.h"
-
37 #include "ir_Technibel.h"
-
38 #include "ir_Teco.h"
-
39 #include "ir_Toshiba.h"
-
40 #include "ir_Transcold.h"
-
41 #include "ir_Trotec.h"
-
42 #include "ir_Truma.h"
-
43 #include "ir_Vestel.h"
-
44 #include "ir_Voltas.h"
-
45 #include "ir_Whirlpool.h"
-
46 
-
47 // Constants
-
48 const int8_t kGpioUnused = -1;
-
49 
-
50 // Class
-
52 class IRac {
-
53  public:
-
54  explicit IRac(const uint16_t pin, const bool inverted = false,
-
55  const bool use_modulation = true);
-
56  static bool isProtocolSupported(const decode_type_t protocol);
-
57  static void initState(stdAc::state_t *state,
-
58  const decode_type_t vendor, const int16_t model,
-
59  const bool power, const stdAc::opmode_t mode,
-
60  const float degrees, const bool celsius,
-
61  const stdAc::fanspeed_t fan,
-
62  const stdAc::swingv_t swingv,
-
63  const stdAc::swingh_t swingh,
-
64  const bool quiet, const bool turbo, const bool econo,
-
65  const bool light, const bool filter, const bool clean,
-
66  const bool beep, const int16_t sleep,
-
67  const int16_t clock);
-
68  static void initState(stdAc::state_t *state);
-
69  void markAsSent(void);
-
70  bool sendAc(void);
-
71  bool sendAc(const stdAc::state_t desired, const stdAc::state_t *prev = NULL);
-
72  bool sendAc(const decode_type_t vendor, const int16_t model,
-
73  const bool power, const stdAc::opmode_t mode, const float degrees,
-
74  const bool celsius, const stdAc::fanspeed_t fan,
-
75  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
76  const bool quiet, const bool turbo, const bool econo,
-
77  const bool light, const bool filter, const bool clean,
-
78  const bool beep, const int16_t sleep = -1,
-
79  const int16_t clock = -1);
-
80  static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b);
-
81  static bool strToBool(const char *str, const bool def = false);
-
82  static int16_t strToModel(const char *str, const int16_t def = -1);
-
83  static stdAc::opmode_t strToOpmode(
-
84  const char *str, const stdAc::opmode_t def = stdAc::opmode_t::kAuto);
-
85  static stdAc::fanspeed_t strToFanspeed(
-
86  const char *str,
-
87  const stdAc::fanspeed_t def = stdAc::fanspeed_t::kAuto);
-
88  static stdAc::swingv_t strToSwingV(
-
89  const char *str, const stdAc::swingv_t def = stdAc::swingv_t::kOff);
-
90  static stdAc::swingh_t strToSwingH(
-
91  const char *str, const stdAc::swingh_t def = stdAc::swingh_t::kOff);
-
92  static String boolToString(const bool value);
-
93  static String opmodeToString(const stdAc::opmode_t mode);
-
94  static String fanspeedToString(const stdAc::fanspeed_t speed);
-
95  static String swingvToString(const stdAc::swingv_t swingv);
-
96  static String swinghToString(const stdAc::swingh_t swingh);
-
97  stdAc::state_t getState(void);
-
98  stdAc::state_t getStatePrev(void);
-
99  bool hasStateChanged(void);
-
100  stdAc::state_t next;
-
101 #ifndef UNIT_TEST
-
102 
-
103  private:
-
104 #endif
-
105  uint16_t _pin;
-
106  bool _inverted;
-
107  bool _modulation;
-
108  stdAc::state_t _prev;
-
109 #if SEND_AIRWELL
-
110  void airwell(IRAirwellAc *ac,
-
111  const bool on, const stdAc::opmode_t mode, const float degrees,
-
112  const stdAc::fanspeed_t fan);
-
113 #endif // SEND_AIRWELL
-
114 #if SEND_AMCOR
-
115  void amcor(IRAmcorAc *ac,
-
116  const bool on, const stdAc::opmode_t mode, const float degrees,
-
117  const stdAc::fanspeed_t fan);
-
118 #endif // SEND_AMCOR
-
119 #if SEND_ARGO
-
120  void argo(IRArgoAC *ac,
-
121  const bool on, const stdAc::opmode_t mode, const float degrees,
-
122  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
123  const bool turbo, const int16_t sleep = -1);
-
124 #endif // SEND_ARGO
-
125 #if SEND_CARRIER_AC64
-
126 void carrier64(IRCarrierAc64 *ac,
-
127  const bool on, const stdAc::opmode_t mode,
-
128  const float degrees, const stdAc::fanspeed_t fan,
-
129  const stdAc::swingv_t swingv, const int16_t sleep = -1);
-
130 #endif // SEND_CARRIER_AC64
-
131 #if SEND_COOLIX
-
132  void coolix(IRCoolixAC *ac,
-
133  const bool on, const stdAc::opmode_t mode, const float degrees,
-
134  const stdAc::fanspeed_t fan,
-
135  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
136  const bool turbo, const bool light, const bool clean,
-
137  const int16_t sleep = -1);
-
138 #endif // SEND_COOLIX
-
139 #if SEND_CORONA_AC
-
140  void corona(IRCoronaAc *ac,
-
141  const bool on, const stdAc::opmode_t mode,
-
142  const float degrees, const stdAc::fanspeed_t fan,
-
143  const stdAc::swingv_t swingv, const bool econo);
-
144 #endif // SEND_CORONA_AC
-
145 #if SEND_DAIKIN
-
146  void daikin(IRDaikinESP *ac,
-
147  const bool on, const stdAc::opmode_t mode, const float degrees,
-
148  const stdAc::fanspeed_t fan,
-
149  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
150  const bool quiet, const bool turbo, const bool econo,
-
151  const bool clean);
-
152 #endif // SEND_DAIKIN
-
153 #if SEND_DAIKIN128
-
154  void daikin128(IRDaikin128 *ac,
-
155  const bool on, const stdAc::opmode_t mode,
-
156  const float degrees, const stdAc::fanspeed_t fan,
-
157  const stdAc::swingv_t swingv,
-
158  const bool quiet, const bool turbo, const bool light,
-
159  const bool econo, const int16_t sleep = -1,
-
160  const int16_t clock = -1);
-
161 #endif // SEND_DAIKIN128
-
162 #if SEND_DAIKIN152
-
163  void daikin152(IRDaikin152 *ac,
-
164  const bool on, const stdAc::opmode_t mode,
-
165  const float degrees, const stdAc::fanspeed_t fan,
-
166  const stdAc::swingv_t swingv,
-
167  const bool quiet, const bool turbo, const bool econo);
-
168 #endif // SEND_DAIKIN152
-
169 #if SEND_DAIKIN160
-
170  void daikin160(IRDaikin160 *ac,
-
171  const bool on, const stdAc::opmode_t mode,
-
172  const float degrees, const stdAc::fanspeed_t fan,
-
173  const stdAc::swingv_t swingv);
-
174 #endif // SEND_DAIKIN160
-
175 #if SEND_DAIKIN176
-
176  void daikin176(IRDaikin176 *ac,
-
177  const bool on, const stdAc::opmode_t mode,
-
178  const float degrees, const stdAc::fanspeed_t fan,
-
179  const stdAc::swingh_t swingh);
-
180 #endif // SEND_DAIKIN176
-
181 #if SEND_DAIKIN2
-
182  void daikin2(IRDaikin2 *ac,
-
183  const bool on, const stdAc::opmode_t mode,
-
184  const float degrees, const stdAc::fanspeed_t fan,
-
185  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
186  const bool quiet, const bool turbo, const bool light,
-
187  const bool econo, const bool filter, const bool clean,
-
188  const bool beep, const int16_t sleep = -1,
-
189  const int16_t clock = -1);
-
190 #endif // SEND_DAIKIN2
-
191 #if SEND_DAIKIN216
-
192 void daikin216(IRDaikin216 *ac,
-
193  const bool on, const stdAc::opmode_t mode,
-
194  const float degrees, const stdAc::fanspeed_t fan,
-
195  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
196  const bool quiet, const bool turbo);
-
197 #endif // SEND_DAIKIN216
-
198 #if SEND_DAIKIN64
-
199  void daikin64(IRDaikin64 *ac,
-
200  const bool on, const stdAc::opmode_t mode,
-
201  const float degrees, const stdAc::fanspeed_t fan,
-
202  const stdAc::swingv_t swingv,
-
203  const bool quiet, const bool turbo,
-
204  const int16_t sleep = -1, const int16_t clock = -1);
-
205 #endif // SEND_DAIKIN64
-
206 #if SEND_DELONGHI_AC
-
207  void delonghiac(IRDelonghiAc *ac,
-
208  const bool on, const stdAc::opmode_t mode, const bool celsius,
-
209  const float degrees, const stdAc::fanspeed_t fan,
-
210  const bool turbo, const int16_t sleep = -1);
-
211 #endif // SEND_DELONGHI_AC
-
212 #if SEND_ECOCLIM
-
213 void ecoclim(IREcoclimAc *ac,
-
214  const bool on, const stdAc::opmode_t mode,
-
215  const float degrees, const stdAc::fanspeed_t fan,
-
216  const int16_t sleep = -1, const int16_t clock = -1);
-
217 #endif // SEND_ECOCLIM
-
218 #if SEND_ELECTRA_AC
-
219 void electra(IRElectraAc *ac,
-
220  const bool on, const stdAc::opmode_t mode,
-
221  const float degrees, const stdAc::fanspeed_t fan,
-
222  const stdAc::swingv_t swingv,
-
223  const stdAc::swingh_t swingh, const bool turbo,
-
224  const bool lighttoggle, const bool clean);
-
225 #endif // SEND_ELECTRA_AC
-
226 #if SEND_FUJITSU_AC
-
227  void fujitsu(IRFujitsuAC *ac, const fujitsu_ac_remote_model_t model,
-
228  const bool on, const stdAc::opmode_t mode,
-
229  const bool celsius, const float degrees,
-
230  const stdAc::fanspeed_t fan,
-
231  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
232  const bool quiet, const bool turbo, const bool econo,
-
233  const bool filter, const bool clean, const int16_t sleep = -1);
-
234 #endif // SEND_FUJITSU_AC
-
235 #if SEND_GOODWEATHER
-
236  void goodweather(IRGoodweatherAc *ac,
-
237  const bool on, const stdAc::opmode_t mode,
-
238  const float degrees,
-
239  const stdAc::fanspeed_t fan,
-
240  const stdAc::swingv_t swingv,
-
241  const bool turbo, const bool light,
-
242  const int16_t sleep = -1);
-
243 #endif // SEND_GOODWEATHER
-
244 #if SEND_GREE
-
245  void gree(IRGreeAC *ac, const gree_ac_remote_model_t model,
-
246  const bool on, const stdAc::opmode_t mode, const bool celsius,
-
247  const float degrees, const stdAc::fanspeed_t fan,
-
248  const stdAc::swingv_t swingv, const bool turbo, const bool light,
-
249  const bool clean, const int16_t sleep = -1);
-
250 #endif // SEND_GREE
-
251 #if SEND_HAIER_AC
-
252  void haier(IRHaierAC *ac,
-
253  const bool on, const stdAc::opmode_t mode, const float degrees,
-
254  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
255  const bool filter, const int16_t sleep = -1,
-
256  const int16_t clock = -1);
-
257 #endif // SEND_HAIER_AC
-
258 #if SEND_HAIER_AC176
-
259  void haier176(IRHaierAC176 *ac,
-
260  const bool on, const stdAc::opmode_t mode,
-
261  const float degrees, const stdAc::fanspeed_t fan,
-
262  const stdAc::swingv_t swingv,
-
263  const bool turbo, const bool filter,
-
264  const int16_t sleep = -1);
-
265 #endif // SEND_HAIER_AC176
-
266 #if SEND_HAIER_AC_YRW02
-
267  void haierYrwo2(IRHaierACYRW02 *ac,
-
268  const bool on, const stdAc::opmode_t mode,
-
269  const float degrees, const stdAc::fanspeed_t fan,
-
270  const stdAc::swingv_t swingv,
-
271  const bool turbo, const bool filter,
-
272  const int16_t sleep = -1);
-
273 #endif // SEND_HAIER_AC_YRW02
-
274 #if SEND_HITACHI_AC
-
275  void hitachi(IRHitachiAc *ac,
-
276  const bool on, const stdAc::opmode_t mode,
-
277  const float degrees, const stdAc::fanspeed_t fan,
-
278  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh);
-
279 #endif // SEND_HITACHI_AC
-
280 #if SEND_HITACHI_AC1
-
281  void hitachi1(IRHitachiAc1 *ac, const hitachi_ac1_remote_model_t model,
-
282  const bool on, const bool power_toggle,
-
283  const stdAc::opmode_t mode,
-
284  const float degrees, const stdAc::fanspeed_t fan,
-
285  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
286  const bool swing_toggle, const int16_t sleep = -1);
-
287 #endif // SEND_HITACHI_AC1
-
288 #if SEND_HITACHI_AC344
-
289  void hitachi344(IRHitachiAc344 *ac,
-
290  const bool on, const stdAc::opmode_t mode,
-
291  const float degrees, const stdAc::fanspeed_t fan,
-
292  const stdAc::swingv_t swingv,
-
293  const stdAc::swingh_t swingh);
-
294 #endif // SEND_HITACHI_AC344
-
295 #if SEND_HITACHI_AC424
-
296  void hitachi424(IRHitachiAc424 *ac,
-
297  const bool on, const stdAc::opmode_t mode,
-
298  const float degrees, const stdAc::fanspeed_t fan,
-
299  const stdAc::swingv_t swingv);
-
300 #endif // SEND_HITACHI_AC424
-
301 #if SEND_KELON
-
302  void kelon(IRKelonAc *ac, const bool togglePower, const stdAc::opmode_t mode,
-
303  const int8_t dryGrade, const float degrees,
-
304  const stdAc::fanspeed_t fan, const bool toggleSwing,
-
305  const bool superCool, const int16_t sleep);
-
306 #endif // SEND_KELON
-
307 #if SEND_KELVINATOR
-
308  void kelvinator(IRKelvinatorAC *ac,
-
309  const bool on, const stdAc::opmode_t mode,
-
310  const float degrees, const stdAc::fanspeed_t fan,
-
311  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
312  const bool quiet, const bool turbo, const bool light,
-
313  const bool filter, const bool clean);
-
314 #endif // SEND_KELVINATOR
-
315 #if SEND_LG
-
316  void lg(IRLgAc *ac, const lg_ac_remote_model_t model,
-
317  const bool on, const stdAc::opmode_t mode,
-
318  const float degrees, const stdAc::fanspeed_t fan,
-
319  const stdAc::swingv_t swingv, const stdAc::swingv_t swingv_prev,
-
320  const stdAc::swingh_t swingh, const bool light);
-
321 #endif // SEND_LG
-
322 #if SEND_MIDEA
-
323  void midea(IRMideaAC *ac,
-
324  const bool on, const stdAc::opmode_t mode, const bool celsius,
-
325  const float degrees, const stdAc::fanspeed_t fan,
-
326  const stdAc::swingv_t swingv, const bool turbo, const bool econo,
-
327  const bool light, const int16_t sleep = -1);
-
328 #endif // SEND_MIDEA
-
329 #if SEND_MITSUBISHI_AC
-
330  void mitsubishi(IRMitsubishiAC *ac,
-
331  const bool on, const stdAc::opmode_t mode,
-
332  const float degrees,
-
333  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
334  const stdAc::swingh_t swingh,
-
335  const bool quiet, const int16_t clock = -1);
-
336 #endif // SEND_MITSUBISHI_AC
-
337 #if SEND_MITSUBISHI112
-
338  void mitsubishi112(IRMitsubishi112 *ac,
-
339  const bool on, const stdAc::opmode_t mode,
-
340  const float degrees, const stdAc::fanspeed_t fan,
-
341  const stdAc::swingv_t swingv,
-
342  const stdAc::swingh_t swingh,
-
343  const bool quiet);
-
344 #endif // SEND_MITSUBISHI112
-
345 #if SEND_MITSUBISHI136
-
346  void mitsubishi136(IRMitsubishi136 *ac,
-
347  const bool on, const stdAc::opmode_t mode,
-
348  const float degrees, const stdAc::fanspeed_t fan,
-
349  const stdAc::swingv_t swingv, const bool quiet);
-
350 #endif // SEND_MITSUBISHI136
-
351 #if SEND_MITSUBISHIHEAVY
-
352  void mitsubishiHeavy88(IRMitsubishiHeavy88Ac *ac,
-
353  const bool on, const stdAc::opmode_t mode,
-
354  const float degrees, const stdAc::fanspeed_t fan,
-
355  const stdAc::swingv_t swingv,
-
356  const stdAc::swingh_t swingh,
-
357  const bool turbo, const bool econo, const bool clean);
-
358  void mitsubishiHeavy152(IRMitsubishiHeavy152Ac *ac,
-
359  const bool on, const stdAc::opmode_t mode,
-
360  const float degrees, const stdAc::fanspeed_t fan,
-
361  const stdAc::swingv_t swingv,
-
362  const stdAc::swingh_t swingh,
-
363  const bool quiet, const bool turbo, const bool econo,
-
364  const bool filter, const bool clean,
-
365  const int16_t sleep = -1);
-
366 #endif // SEND_MITSUBISHIHEAVY
-
367 #if SEND_NEOCLIMA
-
368  void neoclima(IRNeoclimaAc *ac, const bool on, const stdAc::opmode_t mode,
-
369  const bool celsius, const float degrees,
-
370  const stdAc::fanspeed_t fan,
-
371  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
372  const bool turbo, const bool econo, const bool light,
-
373  const bool filter, const int16_t sleep = -1);
-
374 #endif // SEND_NEOCLIMA
-
375 #if SEND_PANASONIC_AC
-
376  void panasonic(IRPanasonicAc *ac, const panasonic_ac_remote_model_t model,
-
377  const bool on, const stdAc::opmode_t mode, const float degrees,
-
378  const stdAc::fanspeed_t fan,
-
379  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
380  const bool quiet, const bool turbo, const bool filter,
-
381  const int16_t clock = -1);
-
382 #endif // SEND_PANASONIC_AC
-
383 #if SEND_PANASONIC_AC32
-
384  void panasonic32(IRPanasonicAc32 *ac,
-
385  const bool on, const stdAc::opmode_t mode,
-
386  const float degrees, const stdAc::fanspeed_t fan,
-
387  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh);
-
388 #endif // SEND_PANASONIC_AC32
-
389 #if SEND_SAMSUNG_AC
-
390  void samsung(IRSamsungAc *ac,
-
391  const bool on, const stdAc::opmode_t mode, const float degrees,
-
392  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
393  const bool quiet, const bool turbo, const bool light,
-
394  const bool filter, const bool clean,
-
395  const bool beep, const bool prevpower = true,
-
396  const bool forcepower = true);
-
397 #endif // SEND_SAMSUNG_AC
-
398 #if SEND_SANYO_AC
-
399  void sanyo(IRSanyoAc *ac,
-
400  const bool on, const stdAc::opmode_t mode, const float degrees,
-
401  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
402  const bool beep, const int16_t sleep = -1);
-
403 #endif // SEND_SANYO_AC
-
404 #if SEND_SANYO_AC88
-
405  void sanyo88(IRSanyoAc88 *ac,
-
406  const bool on, const stdAc::opmode_t mode,
-
407  const float degrees, const stdAc::fanspeed_t fan,
-
408  const stdAc::swingv_t swingv, const bool turbo,
-
409  const bool filter,
-
410  const int16_t sleep = -1, const int16_t clock = -1);
-
411 #endif // SEND_SANYO_AC88
-
412 #if SEND_SHARP_AC
-
413  void sharp(IRSharpAc *ac, const sharp_ac_remote_model_t model,
-
414  const bool on, const bool prev_power, const stdAc::opmode_t mode,
-
415  const float degrees, const stdAc::fanspeed_t fan,
-
416  const stdAc::swingv_t swingv, const bool turbo, const bool light,
-
417  const bool filter, const bool clean);
-
418 #endif // SEND_SHARP_AC
-
419 #if SEND_TCL112AC
-
420  void tcl112(IRTcl112Ac *ac,
-
421  const bool on, const stdAc::opmode_t mode, const float degrees,
-
422  const stdAc::fanspeed_t fan,
-
423  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
424  const bool quiet, const bool turbo, const bool light,
-
425  const bool econo, const bool filter);
-
426 #endif // SEND_TCL112AC
-
427 #if SEND_TECHNIBEL_AC
-
428  void technibel(IRTechnibelAc *ac,
-
429  const bool on, const stdAc::opmode_t mode, const bool celsius,
-
430  const float degrees, const stdAc::fanspeed_t fan,
-
431  const stdAc::swingv_t swingv, const int16_t sleep = -1);
-
432 #endif // SEND_TECHNIBEL_AC
-
433 #if SEND_TECO
-
434  void teco(IRTecoAc *ac,
-
435  const bool on, const stdAc::opmode_t mode, const float degrees,
-
436  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
437  const bool light, const int16_t sleep = -1);
-
438 #endif // SEND_TECO
-
439 #if SEND_TOSHIBA_AC
-
440  void toshiba(IRToshibaAC *ac,
-
441  const bool on, const stdAc::opmode_t mode, const float degrees,
-
442  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
443  const bool turbo, const bool econo);
-
444 #endif // SEND_TOSHIBA_AC
-
445 #if SEND_TROTEC
-
446  void trotec(IRTrotecESP *ac,
-
447  const bool on, const stdAc::opmode_t mode, const float degrees,
-
448  const stdAc::fanspeed_t fan, const int16_t sleep = -1);
-
449 #endif // SEND_TROTEC
-
450 #if SEND_TROTEC_3550
-
451  void trotec3550(IRTrotec3550 *ac,
-
452  const bool on, const stdAc::opmode_t mode,
-
453  const bool celsius, const float degrees,
-
454  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv);
-
455 #endif // SEND_TROTEC_3550
-
456 #if SEND_TRUMA
-
457  void truma(IRTrumaAc *ac,
-
458  const bool on, const stdAc::opmode_t mode, const float degrees,
-
459  const stdAc::fanspeed_t fan, const bool quiet);
-
460 #endif // SEND_TRUMA
-
461 #if SEND_VESTEL_AC
-
462  void vestel(IRVestelAc *ac,
-
463  const bool on, const stdAc::opmode_t mode, const float degrees,
-
464  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
465  const bool turbo, const bool filter,
-
466  const int16_t sleep = -1, const int16_t clock = -1,
-
467  const bool sendNormal = true);
-
468 #endif // SEND_VESTEL_AC
-
469 #if SEND_VOLTAS
-
470  void voltas(IRVoltas *ac, const voltas_ac_remote_model_t model,
-
471  const bool on, const stdAc::opmode_t mode,
-
472  const float degrees, const stdAc::fanspeed_t fan,
-
473  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
-
474  const bool turbo, const bool econo, const bool light,
-
475  const int16_t sleep = -1);
-
476 #endif // SEND_VOLTAS
-
477 #if SEND_WHIRLPOOL_AC
-
478  void whirlpool(IRWhirlpoolAc *ac, const whirlpool_ac_remote_model_t model,
-
479  const bool on, const stdAc::opmode_t mode, const float degrees,
-
480  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
-
481  const bool turbo, const bool light,
-
482  const int16_t sleep = -1, const int16_t clock = -1);
-
483 #endif // SEND_WHIRLPOOL_AC
-
484 #if SEND_TRANSCOLD
-
485  void transcold(IRTranscoldAc *ac,
-
486  const bool on, const stdAc::opmode_t mode, const float degrees,
-
487  const stdAc::fanspeed_t fan,
-
488  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh);
-
489 #endif // SEND_TRANSCOLD
-
490 static stdAc::state_t cleanState(const stdAc::state_t state);
-
491 static stdAc::state_t handleToggles(const stdAc::state_t desired,
-
492  const stdAc::state_t *prev = NULL);
-
493 }; // IRac class
-
494 
-
496 namespace IRAcUtils {
-
497  String resultAcToString(const decode_results * const results);
-
498  bool decodeToState(const decode_results *decode, stdAc::state_t *result,
-
499  const stdAc::state_t *prev = NULL);
-
500 } // namespace IRAcUtils
-
501 #endif // IRAC_H_
+
29 #include "ir_Mirage.h"
+
30 #include "ir_Mitsubishi.h"
+
31 #include "ir_MitsubishiHeavy.h"
+
32 #include "ir_Neoclima.h"
+
33 #include "ir_Panasonic.h"
+
34 #include "ir_Rhoss.h"
+
35 #include "ir_Samsung.h"
+
36 #include "ir_Sanyo.h"
+
37 #include "ir_Sharp.h"
+
38 #include "ir_Tcl.h"
+
39 #include "ir_Technibel.h"
+
40 #include "ir_Teco.h"
+
41 #include "ir_Toshiba.h"
+
42 #include "ir_Transcold.h"
+
43 #include "ir_Trotec.h"
+
44 #include "ir_Truma.h"
+
45 #include "ir_Vestel.h"
+
46 #include "ir_Voltas.h"
+
47 #include "ir_Whirlpool.h"
+
48 
+
49 // Constants
+
50 const int8_t kGpioUnused = -1;
+
51 
+
52 // Class
+
54 class IRac {
+
55  public:
+
56  explicit IRac(const uint16_t pin, const bool inverted = false,
+
57  const bool use_modulation = true);
+
58  static bool isProtocolSupported(const decode_type_t protocol);
+
59  static void initState(stdAc::state_t *state,
+
60  const decode_type_t vendor, const int16_t model,
+
61  const bool power, const stdAc::opmode_t mode,
+
62  const float degrees, const bool celsius,
+
63  const stdAc::fanspeed_t fan,
+
64  const stdAc::swingv_t swingv,
+
65  const stdAc::swingh_t swingh,
+
66  const bool quiet, const bool turbo, const bool econo,
+
67  const bool light, const bool filter, const bool clean,
+
68  const bool beep, const int16_t sleep,
+
69  const int16_t clock);
+
70  static void initState(stdAc::state_t *state);
+
71  void markAsSent(void);
+
72  bool sendAc(void);
+
73  bool sendAc(const stdAc::state_t desired, const stdAc::state_t *prev = NULL);
+
74  bool sendAc(const decode_type_t vendor, const int16_t model,
+
75  const bool power, const stdAc::opmode_t mode, const float degrees,
+
76  const bool celsius, const stdAc::fanspeed_t fan,
+
77  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
78  const bool quiet, const bool turbo, const bool econo,
+
79  const bool light, const bool filter, const bool clean,
+
80  const bool beep, const int16_t sleep = -1,
+
81  const int16_t clock = -1);
+
82  static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b);
+
83  static bool strToBool(const char *str, const bool def = false);
+
84  static int16_t strToModel(const char *str, const int16_t def = -1);
+
85  static stdAc::opmode_t strToOpmode(
+
86  const char *str, const stdAc::opmode_t def = stdAc::opmode_t::kAuto);
+
87  static stdAc::fanspeed_t strToFanspeed(
+
88  const char *str,
+
89  const stdAc::fanspeed_t def = stdAc::fanspeed_t::kAuto);
+
90  static stdAc::swingv_t strToSwingV(
+
91  const char *str, const stdAc::swingv_t def = stdAc::swingv_t::kOff);
+
92  static stdAc::swingh_t strToSwingH(
+
93  const char *str, const stdAc::swingh_t def = stdAc::swingh_t::kOff);
+
94  static String boolToString(const bool value);
+
95  static String opmodeToString(const stdAc::opmode_t mode,
+
96  const bool ha = false);
+
97  static String fanspeedToString(const stdAc::fanspeed_t speed);
+
98  static String swingvToString(const stdAc::swingv_t swingv);
+
99  static String swinghToString(const stdAc::swingh_t swingh);
+
100  stdAc::state_t getState(void);
+
101  stdAc::state_t getStatePrev(void);
+
102  bool hasStateChanged(void);
+
103  stdAc::state_t next;
+
104 #ifndef UNIT_TEST
+
105 
+
106  private:
+
107 #endif
+
108  uint16_t _pin;
+
109  bool _inverted;
+
110  bool _modulation;
+
111  stdAc::state_t _prev;
+
112 #if SEND_AIRWELL
+
113  void airwell(IRAirwellAc *ac,
+
114  const bool on, const stdAc::opmode_t mode, const float degrees,
+
115  const stdAc::fanspeed_t fan);
+
116 #endif // SEND_AIRWELL
+
117 #if SEND_AMCOR
+
118  void amcor(IRAmcorAc *ac,
+
119  const bool on, const stdAc::opmode_t mode, const float degrees,
+
120  const stdAc::fanspeed_t fan);
+
121 #endif // SEND_AMCOR
+
122 #if SEND_ARGO
+
123  void argo(IRArgoAC *ac,
+
124  const bool on, const stdAc::opmode_t mode, const float degrees,
+
125  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
126  const bool turbo, const int16_t sleep = -1);
+
127 #endif // SEND_ARGO
+
128 #if SEND_CARRIER_AC64
+
129 void carrier64(IRCarrierAc64 *ac,
+
130  const bool on, const stdAc::opmode_t mode,
+
131  const float degrees, const stdAc::fanspeed_t fan,
+
132  const stdAc::swingv_t swingv, const int16_t sleep = -1);
+
133 #endif // SEND_CARRIER_AC64
+
134 #if SEND_COOLIX
+
135  void coolix(IRCoolixAC *ac,
+
136  const bool on, const stdAc::opmode_t mode, const float degrees,
+
137  const stdAc::fanspeed_t fan,
+
138  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
139  const bool turbo, const bool light, const bool clean,
+
140  const int16_t sleep = -1);
+
141 #endif // SEND_COOLIX
+
142 #if SEND_CORONA_AC
+
143  void corona(IRCoronaAc *ac,
+
144  const bool on, const stdAc::opmode_t mode,
+
145  const float degrees, const stdAc::fanspeed_t fan,
+
146  const stdAc::swingv_t swingv, const bool econo);
+
147 #endif // SEND_CORONA_AC
+
148 #if SEND_DAIKIN
+
149  void daikin(IRDaikinESP *ac,
+
150  const bool on, const stdAc::opmode_t mode, const float degrees,
+
151  const stdAc::fanspeed_t fan,
+
152  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
153  const bool quiet, const bool turbo, const bool econo,
+
154  const bool clean);
+
155 #endif // SEND_DAIKIN
+
156 #if SEND_DAIKIN128
+
157  void daikin128(IRDaikin128 *ac,
+
158  const bool on, const stdAc::opmode_t mode,
+
159  const float degrees, const stdAc::fanspeed_t fan,
+
160  const stdAc::swingv_t swingv,
+
161  const bool quiet, const bool turbo, const bool light,
+
162  const bool econo, const int16_t sleep = -1,
+
163  const int16_t clock = -1);
+
164 #endif // SEND_DAIKIN128
+
165 #if SEND_DAIKIN152
+
166  void daikin152(IRDaikin152 *ac,
+
167  const bool on, const stdAc::opmode_t mode,
+
168  const float degrees, const stdAc::fanspeed_t fan,
+
169  const stdAc::swingv_t swingv,
+
170  const bool quiet, const bool turbo, const bool econo);
+
171 #endif // SEND_DAIKIN152
+
172 #if SEND_DAIKIN160
+
173  void daikin160(IRDaikin160 *ac,
+
174  const bool on, const stdAc::opmode_t mode,
+
175  const float degrees, const stdAc::fanspeed_t fan,
+
176  const stdAc::swingv_t swingv);
+
177 #endif // SEND_DAIKIN160
+
178 #if SEND_DAIKIN176
+
179  void daikin176(IRDaikin176 *ac,
+
180  const bool on, const stdAc::opmode_t mode,
+
181  const float degrees, const stdAc::fanspeed_t fan,
+
182  const stdAc::swingh_t swingh);
+
183 #endif // SEND_DAIKIN176
+
184 #if SEND_DAIKIN2
+
185  void daikin2(IRDaikin2 *ac,
+
186  const bool on, const stdAc::opmode_t mode,
+
187  const float degrees, const stdAc::fanspeed_t fan,
+
188  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
189  const bool quiet, const bool turbo, const bool light,
+
190  const bool econo, const bool filter, const bool clean,
+
191  const bool beep, const int16_t sleep = -1,
+
192  const int16_t clock = -1);
+
193 #endif // SEND_DAIKIN2
+
194 #if SEND_DAIKIN216
+
195 void daikin216(IRDaikin216 *ac,
+
196  const bool on, const stdAc::opmode_t mode,
+
197  const float degrees, const stdAc::fanspeed_t fan,
+
198  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
199  const bool quiet, const bool turbo);
+
200 #endif // SEND_DAIKIN216
+
201 #if SEND_DAIKIN64
+
202  void daikin64(IRDaikin64 *ac,
+
203  const bool on, const stdAc::opmode_t mode,
+
204  const float degrees, const stdAc::fanspeed_t fan,
+
205  const stdAc::swingv_t swingv,
+
206  const bool quiet, const bool turbo,
+
207  const int16_t sleep = -1, const int16_t clock = -1);
+
208 #endif // SEND_DAIKIN64
+
209 #if SEND_DELONGHI_AC
+
210  void delonghiac(IRDelonghiAc *ac,
+
211  const bool on, const stdAc::opmode_t mode, const bool celsius,
+
212  const float degrees, const stdAc::fanspeed_t fan,
+
213  const bool turbo, const int16_t sleep = -1);
+
214 #endif // SEND_DELONGHI_AC
+
215 #if SEND_ECOCLIM
+
216 void ecoclim(IREcoclimAc *ac,
+
217  const bool on, const stdAc::opmode_t mode,
+
218  const float degrees, const stdAc::fanspeed_t fan,
+
219  const int16_t sleep = -1, const int16_t clock = -1);
+
220 #endif // SEND_ECOCLIM
+
221 #if SEND_ELECTRA_AC
+
222 void electra(IRElectraAc *ac,
+
223  const bool on, const stdAc::opmode_t mode,
+
224  const float degrees, const stdAc::fanspeed_t fan,
+
225  const stdAc::swingv_t swingv,
+
226  const stdAc::swingh_t swingh, const bool turbo,
+
227  const bool lighttoggle, const bool clean);
+
228 #endif // SEND_ELECTRA_AC
+
229 #if SEND_FUJITSU_AC
+
230  void fujitsu(IRFujitsuAC *ac, const fujitsu_ac_remote_model_t model,
+
231  const bool on, const stdAc::opmode_t mode,
+
232  const bool celsius, const float degrees,
+
233  const stdAc::fanspeed_t fan,
+
234  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
235  const bool quiet, const bool turbo, const bool econo,
+
236  const bool filter, const bool clean, const int16_t sleep = -1);
+
237 #endif // SEND_FUJITSU_AC
+
238 #if SEND_GOODWEATHER
+
239  void goodweather(IRGoodweatherAc *ac,
+
240  const bool on, const stdAc::opmode_t mode,
+
241  const float degrees,
+
242  const stdAc::fanspeed_t fan,
+
243  const stdAc::swingv_t swingv,
+
244  const bool turbo, const bool light,
+
245  const int16_t sleep = -1);
+
246 #endif // SEND_GOODWEATHER
+
247 #if SEND_GREE
+
248  void gree(IRGreeAC *ac, const gree_ac_remote_model_t model,
+
249  const bool on, const stdAc::opmode_t mode, const bool celsius,
+
250  const float degrees, const stdAc::fanspeed_t fan,
+
251  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
252  const bool turbo, const bool econo, const bool light,
+
253  const bool clean, const int16_t sleep = -1);
+
254 #endif // SEND_GREE
+
255 #if SEND_HAIER_AC
+
256  void haier(IRHaierAC *ac,
+
257  const bool on, const stdAc::opmode_t mode, const float degrees,
+
258  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
259  const bool filter, const int16_t sleep = -1,
+
260  const int16_t clock = -1);
+
261 #endif // SEND_HAIER_AC
+
262 #if SEND_HAIER_AC176
+
263  void haier176(IRHaierAC176 *ac,
+
264  const haier_ac176_remote_model_t model, const bool on,
+
265  const stdAc::opmode_t mode, const bool celsius,
+
266  const float degrees, const stdAc::fanspeed_t fan,
+
267  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
268  const bool turbo, const bool quiet, const bool filter,
+
269  const int16_t sleep = -1);
+
270 #endif // SEND_HAIER_AC176
+
271 #if SEND_HAIER_AC_YRW02
+
272  void haierYrwo2(IRHaierACYRW02 *ac,
+
273  const bool on, const stdAc::opmode_t mode,
+
274  const bool celsius, const float degrees,
+
275  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
276  const stdAc::swingh_t swingh, const bool turbo,
+
277  const bool quiet, const bool filter,
+
278  const int16_t sleep = -1);
+
279 #endif // SEND_HAIER_AC_YRW02
+
280 #if SEND_HITACHI_AC
+
281  void hitachi(IRHitachiAc *ac,
+
282  const bool on, const stdAc::opmode_t mode,
+
283  const float degrees, const stdAc::fanspeed_t fan,
+
284  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh);
+
285 #endif // SEND_HITACHI_AC
+
286 #if SEND_HITACHI_AC1
+
287  void hitachi1(IRHitachiAc1 *ac, const hitachi_ac1_remote_model_t model,
+
288  const bool on, const bool power_toggle,
+
289  const stdAc::opmode_t mode,
+
290  const float degrees, const stdAc::fanspeed_t fan,
+
291  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
292  const bool swing_toggle, const int16_t sleep = -1);
+
293 #endif // SEND_HITACHI_AC1
+
294 #if SEND_HITACHI_AC344
+
295  void hitachi344(IRHitachiAc344 *ac,
+
296  const bool on, const stdAc::opmode_t mode,
+
297  const float degrees, const stdAc::fanspeed_t fan,
+
298  const stdAc::swingv_t swingv,
+
299  const stdAc::swingh_t swingh);
+
300 #endif // SEND_HITACHI_AC344
+
301 #if SEND_HITACHI_AC424
+
302  void hitachi424(IRHitachiAc424 *ac,
+
303  const bool on, const stdAc::opmode_t mode,
+
304  const float degrees, const stdAc::fanspeed_t fan,
+
305  const stdAc::swingv_t swingv);
+
306 #endif // SEND_HITACHI_AC424
+
307 #if SEND_KELON
+
308  void kelon(IRKelonAc *ac, const bool togglePower, const stdAc::opmode_t mode,
+
309  const int8_t dryGrade, const float degrees,
+
310  const stdAc::fanspeed_t fan, const bool toggleSwing,
+
311  const bool superCool, const int16_t sleep);
+
312 #endif // SEND_KELON
+
313 #if SEND_KELVINATOR
+
314  void kelvinator(IRKelvinatorAC *ac,
+
315  const bool on, const stdAc::opmode_t mode,
+
316  const float degrees, const stdAc::fanspeed_t fan,
+
317  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
318  const bool quiet, const bool turbo, const bool light,
+
319  const bool filter, const bool clean);
+
320 #endif // SEND_KELVINATOR
+
321 #if SEND_LG
+
322  void lg(IRLgAc *ac, const lg_ac_remote_model_t model,
+
323  const bool on, const stdAc::opmode_t mode,
+
324  const float degrees, const stdAc::fanspeed_t fan,
+
325  const stdAc::swingv_t swingv, const stdAc::swingv_t swingv_prev,
+
326  const stdAc::swingh_t swingh, const bool light);
+
327 #endif // SEND_LG
+
328 #if SEND_MIDEA
+
329  void midea(IRMideaAC *ac,
+
330  const bool on, const stdAc::opmode_t mode, const bool celsius,
+
331  const float degrees, const stdAc::fanspeed_t fan,
+
332  const stdAc::swingv_t swingv, const bool turbo, const bool econo,
+
333  const bool light, const int16_t sleep = -1);
+
334 #endif // SEND_MIDEA
+
335 #if SEND_MIRAGE
+
336  void mirage(IRMirageAc *ac, const stdAc::state_t state);
+
337 #endif // SEND_MIRAGE
+
338 #if SEND_MITSUBISHI_AC
+
339  void mitsubishi(IRMitsubishiAC *ac,
+
340  const bool on, const stdAc::opmode_t mode,
+
341  const float degrees,
+
342  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
343  const stdAc::swingh_t swingh,
+
344  const bool quiet, const int16_t clock = -1);
+
345 #endif // SEND_MITSUBISHI_AC
+
346 #if SEND_MITSUBISHI112
+
347  void mitsubishi112(IRMitsubishi112 *ac,
+
348  const bool on, const stdAc::opmode_t mode,
+
349  const float degrees, const stdAc::fanspeed_t fan,
+
350  const stdAc::swingv_t swingv,
+
351  const stdAc::swingh_t swingh,
+
352  const bool quiet);
+
353 #endif // SEND_MITSUBISHI112
+
354 #if SEND_MITSUBISHI136
+
355  void mitsubishi136(IRMitsubishi136 *ac,
+
356  const bool on, const stdAc::opmode_t mode,
+
357  const float degrees, const stdAc::fanspeed_t fan,
+
358  const stdAc::swingv_t swingv, const bool quiet);
+
359 #endif // SEND_MITSUBISHI136
+
360 #if SEND_MITSUBISHIHEAVY
+
361  void mitsubishiHeavy88(IRMitsubishiHeavy88Ac *ac,
+
362  const bool on, const stdAc::opmode_t mode,
+
363  const float degrees, const stdAc::fanspeed_t fan,
+
364  const stdAc::swingv_t swingv,
+
365  const stdAc::swingh_t swingh,
+
366  const bool turbo, const bool econo, const bool clean);
+
367  void mitsubishiHeavy152(IRMitsubishiHeavy152Ac *ac,
+
368  const bool on, const stdAc::opmode_t mode,
+
369  const float degrees, const stdAc::fanspeed_t fan,
+
370  const stdAc::swingv_t swingv,
+
371  const stdAc::swingh_t swingh,
+
372  const bool quiet, const bool turbo, const bool econo,
+
373  const bool filter, const bool clean,
+
374  const int16_t sleep = -1);
+
375 #endif // SEND_MITSUBISHIHEAVY
+
376 #if SEND_NEOCLIMA
+
377  void neoclima(IRNeoclimaAc *ac, const bool on, const stdAc::opmode_t mode,
+
378  const bool celsius, const float degrees,
+
379  const stdAc::fanspeed_t fan,
+
380  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
381  const bool turbo, const bool econo, const bool light,
+
382  const bool filter, const int16_t sleep = -1);
+
383 #endif // SEND_NEOCLIMA
+
384 #if SEND_PANASONIC_AC
+
385  void panasonic(IRPanasonicAc *ac, const panasonic_ac_remote_model_t model,
+
386  const bool on, const stdAc::opmode_t mode, const float degrees,
+
387  const stdAc::fanspeed_t fan,
+
388  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
389  const bool quiet, const bool turbo, const bool filter,
+
390  const int16_t clock = -1);
+
391 #endif // SEND_PANASONIC_AC
+
392 #if SEND_PANASONIC_AC32
+
393  void panasonic32(IRPanasonicAc32 *ac,
+
394  const bool on, const stdAc::opmode_t mode,
+
395  const float degrees, const stdAc::fanspeed_t fan,
+
396  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh);
+
397 #endif // SEND_PANASONIC_AC32
+
398 #if SEND_RHOSS
+
399  void rhoss(IRRhossAc *ac,
+
400  const bool on, const stdAc::opmode_t mode, const float degrees,
+
401  const stdAc::fanspeed_t fan, const stdAc::swingv_t swing);
+
402 #endif // SEND_RHOSS
+
403 #if SEND_SAMSUNG_AC
+
404  void samsung(IRSamsungAc *ac,
+
405  const bool on, const stdAc::opmode_t mode, const float degrees,
+
406  const stdAc::fanspeed_t fan,
+
407  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
408  const bool quiet, const bool turbo, const bool econo,
+
409  const bool light, const bool filter, const bool clean,
+
410  const bool beep, const int16_t sleep = -1,
+
411  const bool prevpower = true, const int16_t prevsleep = -1,
+
412  const bool forceextended = true);
+
413 #endif // SEND_SAMSUNG_AC
+
414 #if SEND_SANYO_AC
+
415  void sanyo(IRSanyoAc *ac,
+
416  const bool on, const stdAc::opmode_t mode, const float degrees,
+
417  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
418  const bool beep, const int16_t sleep = -1);
+
419 #endif // SEND_SANYO_AC
+
420 #if SEND_SANYO_AC88
+
421  void sanyo88(IRSanyoAc88 *ac,
+
422  const bool on, const stdAc::opmode_t mode,
+
423  const float degrees, const stdAc::fanspeed_t fan,
+
424  const stdAc::swingv_t swingv, const bool turbo,
+
425  const bool filter,
+
426  const int16_t sleep = -1, const int16_t clock = -1);
+
427 #endif // SEND_SANYO_AC88
+
428 #if SEND_SHARP_AC
+
429  void sharp(IRSharpAc *ac, const sharp_ac_remote_model_t model,
+
430  const bool on, const bool prev_power, const stdAc::opmode_t mode,
+
431  const float degrees, const stdAc::fanspeed_t fan,
+
432  const stdAc::swingv_t swingv, const stdAc::swingv_t swingv_prev,
+
433  const bool turbo, const bool light,
+
434  const bool filter, const bool clean);
+
435 #endif // SEND_SHARP_AC
+
436 #if SEND_TCL112AC
+
437  void tcl112(IRTcl112Ac *ac, const tcl_ac_remote_model_t model,
+
438  const bool on, const stdAc::opmode_t mode, const float degrees,
+
439  const stdAc::fanspeed_t fan,
+
440  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
441  const bool quiet, const bool turbo, const bool light,
+
442  const bool econo, const bool filter);
+
443 #endif // SEND_TCL112AC
+
444 #if SEND_TECHNIBEL_AC
+
445  void technibel(IRTechnibelAc *ac,
+
446  const bool on, const stdAc::opmode_t mode, const bool celsius,
+
447  const float degrees, const stdAc::fanspeed_t fan,
+
448  const stdAc::swingv_t swingv, const int16_t sleep = -1);
+
449 #endif // SEND_TECHNIBEL_AC
+
450 #if SEND_TECO
+
451  void teco(IRTecoAc *ac,
+
452  const bool on, const stdAc::opmode_t mode, const float degrees,
+
453  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
454  const bool light, const int16_t sleep = -1);
+
455 #endif // SEND_TECO
+
456 #if SEND_TOSHIBA_AC
+
457  void toshiba(IRToshibaAC *ac,
+
458  const bool on, const stdAc::opmode_t mode, const float degrees,
+
459  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
460  const bool turbo, const bool econo);
+
461 #endif // SEND_TOSHIBA_AC
+
462 #if SEND_TROTEC
+
463  void trotec(IRTrotecESP *ac,
+
464  const bool on, const stdAc::opmode_t mode, const float degrees,
+
465  const stdAc::fanspeed_t fan, const int16_t sleep = -1);
+
466 #endif // SEND_TROTEC
+
467 #if SEND_TROTEC_3550
+
468  void trotec3550(IRTrotec3550 *ac,
+
469  const bool on, const stdAc::opmode_t mode,
+
470  const bool celsius, const float degrees,
+
471  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv);
+
472 #endif // SEND_TROTEC_3550
+
473 #if SEND_TRUMA
+
474  void truma(IRTrumaAc *ac,
+
475  const bool on, const stdAc::opmode_t mode, const float degrees,
+
476  const stdAc::fanspeed_t fan, const bool quiet);
+
477 #endif // SEND_TRUMA
+
478 #if SEND_VESTEL_AC
+
479  void vestel(IRVestelAc *ac,
+
480  const bool on, const stdAc::opmode_t mode, const float degrees,
+
481  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
482  const bool turbo, const bool filter,
+
483  const int16_t sleep = -1, const int16_t clock = -1,
+
484  const bool sendNormal = true);
+
485 #endif // SEND_VESTEL_AC
+
486 #if SEND_VOLTAS
+
487  void voltas(IRVoltas *ac, const voltas_ac_remote_model_t model,
+
488  const bool on, const stdAc::opmode_t mode,
+
489  const float degrees, const stdAc::fanspeed_t fan,
+
490  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh,
+
491  const bool turbo, const bool econo, const bool light,
+
492  const int16_t sleep = -1);
+
493 #endif // SEND_VOLTAS
+
494 #if SEND_WHIRLPOOL_AC
+
495  void whirlpool(IRWhirlpoolAc *ac, const whirlpool_ac_remote_model_t model,
+
496  const bool on, const stdAc::opmode_t mode, const float degrees,
+
497  const stdAc::fanspeed_t fan, const stdAc::swingv_t swingv,
+
498  const bool turbo, const bool light,
+
499  const int16_t sleep = -1, const int16_t clock = -1);
+
500 #endif // SEND_WHIRLPOOL_AC
+
501 #if SEND_TRANSCOLD
+
502  void transcold(IRTranscoldAc *ac,
+
503  const bool on, const stdAc::opmode_t mode, const float degrees,
+
504  const stdAc::fanspeed_t fan,
+
505  const stdAc::swingv_t swingv, const stdAc::swingh_t swingh);
+
506 #endif // SEND_TRANSCOLD
+
507 static stdAc::state_t cleanState(const stdAc::state_t state);
+
508 static stdAc::state_t handleToggles(const stdAc::state_t desired,
+
509  const stdAc::state_t *prev = NULL);
+
510 }; // IRac class
+
511 
+
513 namespace IRAcUtils {
+
514  String resultAcToString(const decode_results * const results);
+
515  bool decodeToState(const decode_results *decode, stdAc::state_t *result,
+
516  const stdAc::state_t *prev = NULL);
+
517 } // namespace IRAcUtils
+
518 #endif // IRAC_H_
Class for handling detailed Panasonic A/C messages.
Definition: ir_Panasonic.h:104
-
void airwell(IRAirwellAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send an Airwell A/C message with the supplied settings.
Definition: IRac.cpp:315
+
void airwell(IRAirwellAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan)
Send an Airwell A/C message with the supplied settings.
Definition: IRac.cpp:336
Support for Kelvinator A/C protocols.
-
Class for handling detailed Samsung A/C messages.
Definition: ir_Samsung.h:173
-
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:1166
+
Class for handling detailed Samsung A/C messages.
Definition: ir_Samsung.h:185
+
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:1207
Class for handling detailed Toshiba A/C messages.
Definition: ir_Toshiba.h:121
-
decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition: IRremoteESP8266.h:845
-
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:136
-
stdAc::state_t getState(void)
Get the current internal A/C climate state.
Definition: IRac.cpp:131
+
decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition: IRremoteESP8266.h:866
+
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:148
+
stdAc::state_t getState(void)
Get the current internal A/C climate state.
Definition: IRac.cpp:143
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:3151
-
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:1900
-
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:1242
+
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:3282
+
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:1283
@ kAuto
Support for Electra A/C protocols.
-
void ecoclim(IREcoclimAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const int16_t sleep=-1, const int16_t clock=-1)
Send an EcoClim A/C message with the supplied settings.
Definition: IRac.cpp:833
-
void markAsSent(void)
Update the previous state to the current one.
Definition: IRac.cpp:3014
+
void ecoclim(IREcoclimAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const int16_t sleep=-1, const int16_t clock=-1)
Send an EcoClim A/C message with the supplied settings.
Definition: IRac.cpp:854
+
void markAsSent(void)
Update the previous state to the current one.
Definition: IRac.cpp:3139
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:710
+
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:731
Support for Trotec protocols.
-
void haier176(IRHaierAC176 *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 176 bit A/C message with the supplied settings.
Definition: IRac.cpp:1100
-
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 Sanyo A/C message with the supplied settings.
Definition: IRac.cpp:1818
+
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 Sanyo A/C message with the supplied settings.
Definition: IRac.cpp:1877
Class for handling detailed Daikin 280-bit A/C messages.
Definition: ir_Daikin.h:693
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:1345
+
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:1386
Class for handling detailed Daikin 312-bit A/C messages.
Definition: ir_Daikin.h:775
-
void fujitsu(IRFujitsuAC *ac, const fujitsu_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 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:918
+
void fujitsu(IRFujitsuAC *ac, const fujitsu_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 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:939
Support for Neoclima protocols. Analysis by crankyoldgit & AndreyShpilevoy.
Class for handling detailed Daikin 128-bit A/C messages.
Definition: ir_Daikin.h:1040
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:3305
-
whirlpool_ac_remote_model_t
Whirlpool A/C model numbers.
Definition: IRsend.h:170
+
static String fanspeedToString(const stdAc::fanspeed_t speed)
Convert the supplied fan speed enum into the appropriate String.
Definition: IRac.cpp:3457
+
whirlpool_ac_remote_model_t
Whirlpool A/C model numbers.
Definition: IRsend.h:188
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:2276
+
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:2339
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:779
-
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:2235
-
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:2313
-
bool sendAc(void)
Send an A/C message based soley on our internal state.
Definition: IRac.cpp:3020
-
static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b)
Compare two AirCon states.
Definition: IRac.cpp:3031
+
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:800
+
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 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=-1, const bool prevpower=true, const int16_t prevsleep=-1, const bool forceextended=true)
Send a Samsung A/C message with the supplied settings.
Definition: IRac.cpp:1833
+
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:2298
+
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:2376
+
tcl_ac_remote_model_t
TCL A/C model numbers.
Definition: IRsend.h:176
+
bool sendAc(void)
Send an A/C message based soley on our internal state.
Definition: IRac.cpp:3145
+
static bool cmpStates(const stdAc::state_t a, const stdAc::state_t b)
Compare two AirCon states.
Definition: IRac.cpp:3156
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:134
Class for handling detailed Daikin 64-bit A/C messages.
Definition: ir_Daikin.h:1170
+
void haierYrwo2(IRHaierACYRW02 *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 quiet, const bool filter, const int16_t sleep=-1)
Send a Haier YRWO2 A/C message with the supplied settings.
Definition: IRac.cpp:1171
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:2193
+
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:2256
+
Class for handling detailed Rhoss A/C messages.
Definition: ir_Rhoss.h:94
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:546
-
IRac(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: IRac.cpp:57
+
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:567
+
IRac(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: IRac.cpp:69
Class for handling detailed Daikin 216-bit A/C messages.
Definition: ir_Daikin.h:873
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:140
-
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:1777
-
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:586
+
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 stdAc::swingv_t swingv_prev, 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:1960
+
hitachi_ac1_remote_model_t
HITACHI_AC1 A/C model numbers.
Definition: IRsend.h:146
+
void haier176(IRHaierAC176 *ac, const haier_ac176_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 stdAc::swingh_t swingh, const bool turbo, const bool quiet, const bool filter, const int16_t sleep=-1)
Send a Haier 176 bit A/C message with the supplied settings.
Definition: IRac.cpp:1129
+
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:607
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:48
-
Common functions for use with all A/Cs supported by the IRac class.
Definition: IRac.cpp:3374
+
const int8_t kGpioUnused
A placeholder for not using an actual GPIO.
Definition: IRac.h:50
+
Common functions for use with all A/Cs supported by the IRac class.
Definition: IRac.cpp:3502
Class for handling detailed Sanyo A/C messages.
Definition: ir_Sanyo.h:108
-
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:1063
+
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:1088
Definition: ir_Kelon.h:70
Class for handling detailed Whirlpool A/C messages.
Definition: ir_Whirlpool.h:132
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:3276
-
stdAc::state_t next
The state we want the device to be in after we send.
Definition: IRac.h:100
-
std::string String
Definition: IRremoteESP8266.h:1279
+
static String boolToString(const bool value)
Convert the supplied boolean into the appropriate String.
Definition: IRac.cpp:3434
+
stdAc::state_t next
The state we want the device to be in after we send.
Definition: IRac.h:103
+
std::string String
Definition: IRremoteESP8266.h:1309
Class for handling detailed Mitsubishi 144-bit A/C messages.
Definition: ir_Mitsubishi.h:252
-
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:2092
-
static int16_t strToModel(const char *str, const int16_t def=-1)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:3191
+
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:2155
+
static int16_t strToModel(const char *str, const int16_t def=-1)
Convert the supplied str into the appropriate enum.
Definition: IRac.cpp:3323
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:374
EcoClim A/C protocol.
-
Class for handling detailed TCL A/C messages.
Definition: ir_Tcl.h:99
-
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:678
-
Class for handling detailed Electra A/C messages.
Definition: ir_Electra.h:99
+
Class for handling detailed TCL A/C messages.
Definition: ir_Tcl.h:122
+
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:699
+
Class for handling detailed Electra A/C messages.
Definition: ir_Electra.h:112
Support for TCL protocols.
-
bool hasStateChanged(void)
Check if the internal state has changed from what was previously sent.
Definition: IRac.cpp:3043
-
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:1134
-
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:749
+
bool hasStateChanged(void)
Check if the internal state has changed from what was previously sent.
Definition: IRac.cpp:3168
+
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:770
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:2362
+
void rhoss(IRRhossAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const stdAc::swingv_t swing)
Send an Rhoss A/C message with the supplied settings.
Definition: IRac.cpp:2415
+
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:2454
Class for handling detailed Mitsubishi 136-bit A/C messages.
Definition: ir_Mitsubishi.h:320
-
panasonic_ac_remote_model_t
Panasonic A/C model numbers.
Definition: IRsend.h:146
+
panasonic_ac_remote_model_t
Panasonic A/C model numbers.
Definition: IRsend.h:158
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:1502
-
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:3781
+
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:1554
+
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:3924
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:1276
+
Class for handling detailed Mirage 120-bit A/C messages.
Definition: ir_Mirage.h:196
+
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:1317
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:3380
-
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:623
+
static String opmodeToString(const stdAc::opmode_t mode, const bool ha=false)
Convert the supplied operation mode into the appropriate String.
Definition: IRac.cpp:3442
+
String resultAcToString(const decode_results *const result)
Display the human readable state of an A/C message if we can.
Definition: IRac.cpp:3508
+
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:644
fujitsu_ac_remote_model_t
Fujitsu A/C model numbers.
Definition: IRsend.h:120
Support for Gree A/C protocols.
Class for handling detailed Carrier 64 bit A/C messages.
Definition: ir_Carrier.h:84
-
Class for handling detailed Midea A/C messages.
Definition: ir_Midea.h:151
+
Support for Mirage protocol.
+
Class for handling detailed Midea A/C messages.
Definition: ir_Midea.h:153
Class for handling detailed Kelvinator A/C messages.
Definition: ir_Kelvinator.h:121
-
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 quiet, 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:1954
-
bool _inverted
IR LED is lit when GPIO is LOW (true) or HIGH (false)?
Definition: IRac.h:106
+
bool _inverted
IR LED is lit when GPIO is LOW (true) or HIGH (false)?
Definition: IRac.h:109
Class for handling detailed Fujitsu A/C messages.
Definition: ir_Fujitsu.h:169
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:116
-
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:1427
-
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:1699
-
static String swingvToString(const stdAc::swingv_t swingv)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3327
+
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:1468
+
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:1751
+
static String swingvToString(const stdAc::swingv_t swingv)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3472
Support for Mitsubishi protocols. Mitsubishi (TV) decoding added from https://github....
-
A universal/common/generic interface for controling supported A/Cs.
Definition: IRac.h:52
+
A universal/common/generic interface for controling supported A/Cs.
Definition: IRac.h:54
Support for Teco protocols.
-
Class for handling detailed Trotec 3550 A/C messages.
Definition: ir_Trotec.h:197
-
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:1025
+
Class for handling detailed Trotec 3550 A/C messages.
Definition: ir_Trotec.h:198
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:875
-
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:2349
+
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:896
+
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:2441
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:1465
-
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:343
+
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:1517
+
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:364
Class for handling detailed Technibel A/C messages.
Definition: ir_Technibel.h:77
Class for handling detailed EcoClim A/C 56 bit messages.
Definition: ir_Ecoclim.h:84
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:1110
-
Class for handling detailed LG A/C messages.
Definition: ir_LG.h:110
+
Class for handling detailed LG A/C messages.
Definition: ir_LG.h:112
Support for Fujitsu A/C protocols. Fujitsu A/C support added by Jonny Graham.
-
void trotec3550(IRTrotec3550 *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)
Send a Trotec 3550 A/C message with the supplied settings.
Definition: IRac.cpp:2124
-
Class for handling detailed Haier A/C messages.
Definition: ir_Haier.h:317
-
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:1658
+
void trotec3550(IRTrotec3550 *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)
Send a Trotec 3550 A/C message with the supplied settings.
Definition: IRac.cpp:2187
+
Class for handling detailed Haier A/C messages.
Definition: ir_Haier.h:292
+
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:1710
Class for handling detailed Daikin 160-bit A/C messages.
Definition: ir_Daikin.h:929
-
static String opmodeToString(const stdAc::opmode_t mode)
Convert the supplied operation mode into the appropriate String.
Definition: IRac.cpp:3283
-
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:2056
-
Class for handling detailed Haier 176 bit A/C messages.
Definition: ir_Haier.h:387
+
Class for handling detailed Sharp A/C messages.
Definition: ir_Sharp.h:153
+
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:2119
+
Class for handling detailed Haier 176 bit A/C messages.
Definition: ir_Haier.h:362
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:375
-
lg_ac_remote_model_t
LG A/C model numbers.
Definition: IRsend.h:176
-
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:1538
+
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:396
+
lg_ac_remote_model_t
LG A/C model numbers.
Definition: IRsend.h:194
+
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:1590
@ kAuto
-
bool _modulation
Is frequency modulation to be used?
Definition: IRac.h:107
-
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:2023
-
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:3049
+
Support for Rhoss A/C protocol.
+
bool _modulation
Is frequency modulation to be used?
Definition: IRac.h:110
+
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:2086
+
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:3174
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:1203
+
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:1244
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:1735
+
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:1787
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:3258
-
void sanyo88(IRSanyoAc88 *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)
Send a Sanyo 88-bit A/C message with the supplied settings.
Definition: IRac.cpp:1859
-
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:1573
-
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:3110
+
static bool strToBool(const char *str, const bool def=false)
Convert the supplied str into the appropriate boolean value.
Definition: IRac.cpp:3416
+
void sanyo88(IRSanyoAc88 *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)
Send a Sanyo 88-bit A/C message with the supplied settings.
Definition: IRac.cpp:1918
+
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:1625
+
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:3241
Class for handling detailed Vestel A/C messages.
Definition: ir_Vestel.h:100
Class for handling detailed Panasonic 32bit A/C messages.
Definition: ir_Panasonic.h:223
-
Class for handling detailed Trotec A/C messages.
Definition: ir_Trotec.h:132
+
void tcl112(IRTcl112Ac *ac, const tcl_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 light, const bool econo, const bool filter)
Send a TCL 112-bit A/C message with the supplied settings.
Definition: IRac.cpp:2016
+
void mirage(IRMirageAc *ac, const stdAc::state_t state)
Send a Mirage 120-bit A/C message with the supplied settings.
Definition: IRac.cpp:1498
+
Class for handling detailed Trotec A/C messages.
Definition: ir_Trotec.h:133
Support for Truma protocol.
Class for handling detailed Teco A/C messages.
Definition: ir_Teco.h:62
-
void truma(IRTrumaAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const bool quiet)
Send a Truma A/C message with the supplied settings.
Definition: IRac.cpp:2156
-
static String swinghToString(const stdAc::swingh_t swingh)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3351
+
void truma(IRTrumaAc *ac, const bool on, const stdAc::opmode_t mode, const float degrees, const stdAc::fanspeed_t fan, const bool quiet)
Send a Truma A/C message with the supplied settings.
Definition: IRac.cpp:2219
+
static String swinghToString(const stdAc::swingh_t swingh)
Convert the supplied enum into the appropriate String.
Definition: IRac.cpp:3488
Class for handling detailed Truma A/C messages.
Definition: ir_Truma.h:69
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:809
-
void kelon(IRKelonAc *ac, const bool togglePower, const stdAc::opmode_t mode, const int8_t dryGrade, const float degrees, const stdAc::fanspeed_t fan, const bool toggleSwing, const bool superCool, const int16_t sleep)
Send a Kelon A/C message with the supplied settings.
Definition: IRac.cpp:1311
+
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:830
+
void kelon(IRKelonAc *ac, const bool togglePower, const stdAc::opmode_t mode, const int8_t dryGrade, const float degrees, const stdAc::fanspeed_t fan, const bool toggleSwing, const bool superCool, const int16_t sleep)
Send a Kelon A/C message with the supplied settings.
Definition: IRac.cpp:1352
Support for Kelan AC protocol. Both sending and decoding should be functional for models of series KE...
-
stdAc::state_t _prev
The state we expect the device to currently be in.
Definition: IRac.h:108
-
Class for handling detailed Haier ACYRW02 A/C messages.
Definition: ir_Haier.h:464
-
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:656
-
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:511
-
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:88
-
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, const stdAc::swingv_t swingv, const stdAc::swingv_t swingv_prev, const stdAc::swingh_t swingh, const bool light)
Send a LG A/C message with the supplied settings.
Definition: IRac.cpp:1383
-
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:1614
+
stdAc::state_t _prev
The state we expect the device to currently be in.
Definition: IRac.h:111
+
Class for handling detailed Haier ACYRW02 A/C messages.
Definition: ir_Haier.h:460
+
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:677
+
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:532
+
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:100
+
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, const stdAc::swingv_t swingv, const stdAc::swingv_t swingv_prev, const stdAc::swingh_t swingh, const bool light)
Send a LG A/C message with the supplied settings.
Definition: IRac.cpp:1424
+
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:1666
@ 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:136
-
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:444
-
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:3079
+
Class for handling detailed Gree A/C messages.
Definition: ir_Gree.h:152
+
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:465
+
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:3210
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:983
+
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 stdAc::swingh_t swingh, const bool turbo, const bool econo, const bool light, const bool clean, const int16_t sleep=-1)
Send a Gree A/C message with the supplied settings.
Definition: IRac.cpp:1048
+
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:1004
Structure to hold a common A/C state.
Definition: IRsend.h:97
Class for handling detailed Goodweather A/C messages.
Definition: ir_Goodweather.h:100
Support for Vestel protocols. Vestel added by Erdem U. Altinyurt.
@@ -756,15 +780,16 @@
Class for handling detailed Argo A/C messages.
Definition: ir_Argo.h:127
Class for handling detailed Sanyo A/C messages.
Definition: ir_Sanyo.h:226
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:141
+
static bool isProtocolSupported(const decode_type_t protocol)
Is the given protocol supported by the IRac class?
Definition: IRac.cpp:153
Class for handling detailed Daikin 176-bit A/C messages.
Definition: ir_Daikin.h:981
Amcor A/C protocol.
-
uint16_t _pin
The GPIO to use to transmit messages from.
Definition: IRac.h:105
-
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:1990
-
voltas_ac_remote_model_t
Voltas A/C model numbers.
Definition: IRsend.h:164
-
sharp_ac_remote_model_t
Sharp A/C model numbers.
Definition: IRsend.h:157
+
uint16_t _pin
The GPIO to use to transmit messages from.
Definition: IRac.h:108
+
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:2053
+
voltas_ac_remote_model_t
Voltas A/C model numbers.
Definition: IRsend.h:182
+
sharp_ac_remote_model_t
Sharp A/C model numbers.
Definition: IRsend.h:169
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:407
+
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:428
+
haier_ac176_remote_model_t
HAIER_AC176 A/C model numbers.
Definition: IRsend.h:140
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46