IRremoteESP8266
ir_Hitachi.h
Go to the documentation of this file.
1 // Copyright 2018-2020 David Conran
12 
13 // Supports:
14 // Brand: Hitachi, Model: RAS-35THA6 remote
15 // Brand: Hitachi, Model: LT0541-HTA remote (HITACHI_AC1)
16 // Brand: Hitachi, Model: Series VI A/C (Circa 2007) (HITACHI_AC1)
17 // Brand: Hitachi, Model: RAR-8P2 remote (HITACHI_AC424)
18 // Brand: Hitachi, Model: RAS-AJ25H A/C (HITACHI_AC424)
19 // Brand: Hitachi, Model: PC-LH3B (HITACHI_AC3)
20 // Brand: Hitachi, Model: KAZE-312KSDP A/C (HITACHI_AC1)
21 // Brand: Hitachi, Model: R-LT0541-HTA/Y.K.1.1-1 V2.3 remote (HITACHI_AC1)
22 // Brand: Hitachi, Model: RAS-22NK A/C (HITACHI_AC344)
23 // Brand: Hitachi, Model: RF11T1 remote (HITACHI_AC344)
24 // Brand: Hitachi, Model: RAR-2P2 remote (HITACHI_AC264)
25 // Brand: Hitachi, Model: RAK-25NH5 A/C (HITACHI_AC264)
26 // Brand: Hitachi, Model: RAR-3U3 remote (HITACHI_AC296)
27 // Brand: Hitachi, Model: RAS-70YHA3 A/C (HITACHI_AC296)
28 
29 #ifndef IR_HITACHI_H_
30 #define IR_HITACHI_H_
31 
32 #define __STDC_LIMIT_MACROS
33 #include <stdint.h>
34 #ifndef UNIT_TEST
35 #include <Arduino.h>
36 #endif
37 #include "IRremoteESP8266.h"
38 #include "IRsend.h"
39 #ifdef UNIT_TEST
40 #include "IRsend_test.h"
41 #endif
42 
46  struct {
47  // Byte 0~9
48  uint8_t pad0[10];
49  // Byte 10
50  uint8_t Mode :8;
51  // Byte 11
52  uint8_t Temp :8;
53  // Byte 12
54  uint8_t :8;
55  // Byte 13
56  uint8_t Fan :8;
57  // Byte 14
58  uint8_t :7;
59  uint8_t SwingV :1;
60  // Byte 15
61  uint8_t :7;
62  uint8_t SwingH :1;
63  // Byte 16
64  uint8_t :8;
65  // Byte 17
66  uint8_t Power :1;
67  uint8_t :7;
68  // Byte 18~26
69  uint8_t pad1[9];
70  // Byte 27
71  uint8_t Sum :8;
72  };
73 };
74 
75 // Constants
76 const uint16_t kHitachiAcFreq = 38000; // Hz.
77 const uint8_t kHitachiAcAuto = 2;
78 const uint8_t kHitachiAcHeat = 3;
79 const uint8_t kHitachiAcCool = 4;
80 const uint8_t kHitachiAcDry = 5;
81 const uint8_t kHitachiAcFan = 0xC;
82 const uint8_t kHitachiAcFanAuto = 1;
83 const uint8_t kHitachiAcFanLow = 2;
84 const uint8_t kHitachiAcFanMed = 3;
85 const uint8_t kHitachiAcFanHigh = 5;
86 const uint8_t kHitachiAcMinTemp = 16; // 16C
87 const uint8_t kHitachiAcMaxTemp = 32; // 32C
88 const uint8_t kHitachiAcAutoTemp = 23; // 23C
89 
93  struct {
94  // Byte 0~10
95  uint8_t pad0[11];
96  // Byte 11
97  uint8_t Button :8;
98  // Byte 12
99  uint8_t :8;
100  // Byte 13
101  uint8_t :2;
102  uint8_t Temp :6;
103  // Byte 14~24
104  uint8_t pad1[11];
105  // Byte 25
106  uint8_t Mode :4;
107  uint8_t Fan :4;
108  // Byte 26
109  uint8_t :8;
110  // Byte 27
111  uint8_t :4;
112  uint8_t Power :1;
113  uint8_t :3;
114  // Byte 28~34
115  uint8_t pad2[7];
116  // Byte 35
117  uint8_t SwingH :3;
118  uint8_t :5;
119  // Byte 36
120  uint8_t :8;
121  // Byte 37
122  uint8_t :5;
123  uint8_t SwingV :1;
124  uint8_t :2;
125  };
126 };
127 
128 // HitachiAc424 & HitachiAc344
129 const uint8_t kHitachiAc424ButtonPowerMode = 0x13;
130 const uint8_t kHitachiAc424ButtonFan = 0x42;
131 const uint8_t kHitachiAc424ButtonTempDown = 0x43;
132 const uint8_t kHitachiAc424ButtonTempUp = 0x44;
133 const uint8_t kHitachiAc424ButtonSwingV = 0x81;
134 const uint8_t kHitachiAc424ButtonSwingH = 0x8C;
141 
142 const uint8_t kHitachiAc424MinTemp = 16; // 16C
143 const uint8_t kHitachiAc424MaxTemp = 32; // 32C
146 const uint8_t kHitachiAc424FanTemp = 27; // 27C
147 
148 const uint8_t kHitachiAc424Fan = 1;
149 const uint8_t kHitachiAc424Cool = 3;
150 const uint8_t kHitachiAc424Dry = 5;
151 const uint8_t kHitachiAc424Heat = 6;
156 
157 const uint8_t kHitachiAc424FanMin = 1;
158 const uint8_t kHitachiAc424FanLow = 2;
159 const uint8_t kHitachiAc424FanMedium = 3;
160 const uint8_t kHitachiAc424FanHigh = 4;
161 const uint8_t kHitachiAc424FanAuto = 5;
162 const uint8_t kHitachiAc424FanMax = 6;
163 const uint8_t kHitachiAc424FanMaxDry = 2;
170 
171 const uint8_t kHitachiAc344SwingHAuto = 0; // 0b000
172 const uint8_t kHitachiAc344SwingHRightMax = 1; // 0b001
173 const uint8_t kHitachiAc344SwingHRight = 2; // 0b010
174 const uint8_t kHitachiAc344SwingHMiddle = 3; // 0b011
175 const uint8_t kHitachiAc344SwingHLeft = 4; // 0b100
176 const uint8_t kHitachiAc344SwingHLeftMax = 5; // 0b101
177 
178 
182  struct {
183  // Byte 0~2
184  uint8_t pad[3];
185  // Byte 3
186  uint8_t :6;
187  uint8_t Model :2;
188  // Byte 4
189  uint8_t :8;
190  // Byte 5
191  uint8_t Fan :4;
192  uint8_t Mode :4;
193  // Byte 6
194  uint8_t :2;
195  uint8_t Temp :5; // stored in LSB order.
196  uint8_t :1;
197  // Byte 7
198  uint8_t OffTimerLow :8; // nr. of minutes
199  // Byte 8
200  uint8_t OffTimerHigh :8; // & in LSB order.
201  // Byte 9
202  uint8_t OnTimerLow :8; // nr. of minutes
203  // Byte 10
204  uint8_t OnTimerHigh :8; // & in LSB order.
205  // Byte 11
206  uint8_t SwingToggle :1;
207  uint8_t Sleep :3;
208  uint8_t PowerToggle :1;
209  uint8_t Power :1;
210  uint8_t SwingV :1;
211  uint8_t SwingH :1;
212  // Byte 12
213  uint8_t Sum :8;
214  };
215 };
216 // HitachiAc1
217 // Model
218 const uint8_t kHitachiAc1Model_A = 0b10;
219 const uint8_t kHitachiAc1Model_B = 0b01;
220 
221 // Mode & Fan
222 const uint8_t kHitachiAc1Dry = 0b0010; // 2
223 const uint8_t kHitachiAc1Fan = 0b0100; // 4
224 const uint8_t kHitachiAc1Cool = 0b0110; // 6
225 const uint8_t kHitachiAc1Heat = 0b1001; // 9
226 const uint8_t kHitachiAc1Auto = 0b1110; // 14
227 const uint8_t kHitachiAc1FanAuto = 1; // 0b0001
228 const uint8_t kHitachiAc1FanHigh = 2; // 0b0010
229 const uint8_t kHitachiAc1FanMed = 4; // 0b0100
230 const uint8_t kHitachiAc1FanLow = 8; // 0b1000
231 
232 // Temp
233 const uint8_t kHitachiAc1TempSize = 5; // Mask 0b01111100
234 const uint8_t kHitachiAc1TempDelta = 7;
235 const uint8_t kHitachiAc1TempAuto = 25; // Celsius
236 // Timer
237 const uint8_t kHitachiAc1TimerSize = 16; // Mask 0b1111111111111111
238 // Sleep
239 const uint8_t kHitachiAc1SleepOff = 0b000;
240 const uint8_t kHitachiAc1Sleep1 = 0b001;
241 const uint8_t kHitachiAc1Sleep2 = 0b010;
242 const uint8_t kHitachiAc1Sleep3 = 0b011;
243 const uint8_t kHitachiAc1Sleep4 = 0b100;
244 // Checksum
246 
247 
251  struct {
252  // Bytes 0~10
253  uint8_t pad0[11];
254  // Byte 11
255  uint8_t Button :8;
256  // Byte 12
257  uint8_t :8;
258  // Byte 13
259  uint8_t :2;
260  uint8_t Temp :6;
261  // Byte 14
262  uint8_t :8;
263  // Bytes 14~24
264  uint8_t pad1[10];
265  // Byte 25
266  uint8_t Mode :4;
267  uint8_t Fan :4;
268  // Byte 26
269  uint8_t :8;
270  // Byte 27
271  uint8_t :4;
272  uint8_t Power :1;
273  uint8_t :3;
274  // Byte 28
275  uint8_t :8;
276  // Bytes 29~32
277  uint8_t pad2[4];
278  };
279 };
280 
281 // HitachiAc264
298 
299 // HitachiAc296
302  struct {
303  // Byte 0~12
304  uint8_t pad0[13];
305  // Byte 13
306  uint8_t :2;
307  uint8_t Temp :5; // LSB
308  uint8_t :1;
309  uint8_t :8;
310  // Byte 15~16
311  uint8_t :8;
312  uint8_t :8;
313  // Byte 17~24
314  uint8_t OffTimerLow :8; // LSB
315  uint8_t /* Parity */ :8;
316  uint8_t OffTimerHigh :8;
317  uint8_t /* Parity */ :8;
318  uint8_t OnTimerLow :8; // LSB
319  uint8_t /* Parity */ :8;
320  uint8_t OnTimerHigh :4;
321  uint8_t OffTimerActive :1;
322  uint8_t OnTimerActive :1;
323  uint8_t :2;
324  uint8_t /* Parity */ :8;
325  // Byte 25~26
326  uint8_t Mode :4;
327  uint8_t Fan :3;
328  uint8_t :1;
329  uint8_t :8;
330  // Byte 27~28
331  uint8_t :4;
332  uint8_t Power :1;
333  uint8_t :2;
334  uint8_t TimerActive :1;
335  uint8_t :8;
336  // Byte 29~34
337  uint8_t pad1[6];
338  // Byte 35~36
339  uint8_t :4;
340  uint8_t Humidity :4; // LSB
341  uint8_t :8;
342  };
343 };
344 
345 // Mode & Fan
346 const uint8_t kHitachiAc296Cool = 0b0011;
347 const uint8_t kHitachiAc296DryCool = 0b0100;
348 const uint8_t kHitachiAc296Dehumidify = 0b0101;
349 const uint8_t kHitachiAc296Heat = 0b0110;
350 const uint8_t kHitachiAc296Auto = 0b0111;
351 const uint8_t kHitachiAc296AutoDehumidifying = 0b1001;
352 const uint8_t kHitachiAc296QuickLaundry = 0b1010;
353 const uint8_t kHitachiAc296CondensationControl = 0b1100;
354 
355 const uint8_t kHitachiAc296FanSilent = 0b001;
356 const uint8_t kHitachiAc296FanLow = 0b010;
357 const uint8_t kHitachiAc296FanMedium = 0b011;
358 const uint8_t kHitachiAc296FanHigh = 0b100;
359 const uint8_t kHitachiAc296FanAuto = 0b101;
360 
361 const uint8_t kHitachiAc296TempAuto = 1; // Special value for "Auto" op mode.
362 const uint8_t kHitachiAc296MinTemp = 16;
363 const uint8_t kHitachiAc296MaxTemp = 31; // Max value you can store in 5 bits.
364 
365 const uint8_t kHitachiAc296PowerOn = 1;
366 const uint8_t kHitachiAc296PowerOff = 0;
367 
368 
369 // Classes
372 class IRHitachiAc {
373  public:
374  explicit IRHitachiAc(const uint16_t pin, const bool inverted = false,
375  const bool use_modulation = true);
376  void stateReset(void);
377 #if SEND_HITACHI_AC
378  void send(const uint16_t repeat = kHitachiAcDefaultRepeat);
383  int8_t calibrate(void) { return _irsend.calibrate(); }
384 #endif // SEND_HITACHI_AC
385  void begin(void);
386  void on(void);
387  void off(void);
388  void setPower(const bool on);
389  bool getPower(void) const;
390  void setTemp(const uint8_t temp);
391  uint8_t getTemp(void) const;
392  void setFan(const uint8_t speed);
393  uint8_t getFan(void) const;
394  void setMode(const uint8_t mode);
395  uint8_t getMode(void) const;
396  void setSwingVertical(const bool on);
397  bool getSwingVertical(void) const;
398  void setSwingHorizontal(const bool on);
399  bool getSwingHorizontal(void) const;
400  uint8_t* getRaw(void);
401  void setRaw(const uint8_t new_code[],
402  const uint16_t length = kHitachiAcStateLength);
403  static bool validChecksum(const uint8_t state[],
404  const uint16_t length = kHitachiAcStateLength);
405  static uint8_t calcChecksum(const uint8_t state[],
406  const uint16_t length = kHitachiAcStateLength);
407  static uint8_t convertMode(const stdAc::opmode_t mode);
408  static uint8_t convertFan(const stdAc::fanspeed_t speed);
409  static stdAc::opmode_t toCommonMode(const uint8_t mode);
410  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
411  stdAc::state_t toCommon(void) const;
412  String toString(void) const;
413 #ifndef UNIT_TEST
414 
415  private:
417 #else // UNIT_TEST
418  IRsendTest _irsend;
420 #endif // UNIT_TEST
423  void checksum(const uint16_t length = kHitachiAcStateLength);
424  uint8_t _previoustemp;
425 };
426 
430  public:
431  explicit IRHitachiAc1(const uint16_t pin, const bool inverted = false,
432  const bool use_modulation = true);
433 
434  void stateReset(void);
435 #if SEND_HITACHI_AC1
436  void send(const uint16_t repeat = kHitachiAcDefaultRepeat);
441  int8_t calibrate(void) { return _irsend.calibrate(); }
442 #endif // SEND_HITACHI_AC1
443  void begin(void);
444  void on(void);
445  void off(void);
446  void setModel(const hitachi_ac1_remote_model_t model);
448  void setPower(const bool on);
449  bool getPower(void) const;
450  void setPowerToggle(const bool on);
451  bool getPowerToggle(void) const;
452  void setTemp(const uint8_t temp);
453  uint8_t getTemp(void) const;
454  void setFan(const uint8_t speed, const bool force = false);
455  uint8_t getFan(void) const;
456  void setMode(const uint8_t mode);
457  uint8_t getMode(void) const;
458  void setSwingToggle(const bool toggle);
459  bool getSwingToggle(void) const;
460  void setSwingV(const bool on);
461  bool getSwingV(void) const;
462  void setSwingH(const bool on);
463  bool getSwingH(void) const;
464  void setSleep(const uint8_t mode);
465  uint8_t getSleep(void) const;
466  void setOnTimer(const uint16_t mins);
467  uint16_t getOnTimer(void) const;
468  void setOffTimer(const uint16_t mins);
469  uint16_t getOffTimer(void) const;
470  uint8_t* getRaw(void);
471  void setRaw(const uint8_t new_code[],
472  const uint16_t length = kHitachiAc1StateLength);
473  static bool validChecksum(const uint8_t state[],
474  const uint16_t length = kHitachiAc1StateLength);
475  static uint8_t calcChecksum(const uint8_t state[],
476  const uint16_t length = kHitachiAc1StateLength);
477  static uint8_t convertMode(const stdAc::opmode_t mode);
478  static uint8_t convertFan(const stdAc::fanspeed_t speed);
479  static stdAc::opmode_t toCommonMode(const uint8_t mode);
480  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
481  stdAc::state_t toCommon(void) const;
482  String toString(void) const;
483 #ifndef UNIT_TEST
484 
485  private:
487 #else // UNIT_TEST
488  IRsendTest _irsend;
490 #endif // UNIT_TEST
493  void checksum(const uint16_t length = kHitachiAc1StateLength);
494 };
495 
498  friend class IRHitachiAc264;
499  friend class IRHitachiAc344;
500  public:
501  explicit IRHitachiAc424(const uint16_t pin, const bool inverted = false,
502  const bool use_modulation = true);
503  virtual void stateReset(void);
504 #if SEND_HITACHI_AC424
505  virtual void send(const uint16_t repeat = kHitachiAcDefaultRepeat);
510  int8_t calibrate(void) { return _irsend.calibrate(); }
511 #endif // SEND_HITACHI_AC424
512  void begin(void);
513  void on(void);
514  void off(void);
515  void setPower(const bool on);
516  bool getPower(void) const;
517  void setTemp(const uint8_t temp, bool setPrevious = true);
518  uint8_t getTemp(void) const;
519  virtual void setFan(const uint8_t speed);
520  uint8_t getFan(void) const;
521  uint8_t getButton(void) const;
522  void setButton(const uint8_t button);
523  void setSwingVToggle(const bool on);
524  bool getSwingVToggle(void) const;
525  void setMode(const uint8_t mode);
526  uint8_t getMode(void) const;
527  uint8_t* getRaw(void);
528  virtual void setRaw(const uint8_t new_code[],
529  const uint16_t length = kHitachiAc424StateLength);
530  static uint8_t convertMode(const stdAc::opmode_t mode);
531  virtual uint8_t convertFan(const stdAc::fanspeed_t speed) const;
532  static stdAc::opmode_t toCommonMode(const uint8_t mode);
533  virtual stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed) const;
534  virtual stdAc::state_t toCommon(void) const;
535  virtual String toString(void) const;
536 #ifndef UNIT_TEST
537 
538  private:
540 #else // UNIT_TEST
541  IRsendTest _irsend;
543 #endif // UNIT_TEST
546  void setInvertedStates(void);
547  String _toString(void) const;
548  uint8_t _previoustemp;
549 };
550 
553  public:
554  explicit IRHitachiAc3(const uint16_t pin, const bool inverted = false,
555  const bool use_modulation = true);
556 
557  void stateReset(void);
558 #if SEND_HITACHI_AC3
559  void send(const uint16_t repeat = kHitachiAcDefaultRepeat);
564  int8_t calibrate(void) { return _irsend.calibrate(); }
565 #endif // SEND_HITACHI_AC3
566  void begin(void);
567  uint8_t getMode(void);
568  uint8_t* getRaw(void);
569  void setRaw(const uint8_t new_code[],
570  const uint16_t length = kHitachiAc3StateLength);
571  static bool hasInvertedStates(const uint8_t state[], const uint16_t length);
572 #ifndef UNIT_TEST
573 
574  private:
576 #else // UNIT_TEST
577  IRsendTest _irsend;
579 #endif // UNIT_TEST
582  void setInvertedStates(const uint16_t length = kHitachiAc3StateLength);
583 };
584 
587  public:
588  explicit IRHitachiAc344(const uint16_t pin, const bool inverted = false,
589  const bool use_modulation = true);
590  void stateReset(void) override;
591  void setRaw(const uint8_t new_code[],
592  const uint16_t length = kHitachiAc344StateLength) override;
593  stdAc::state_t toCommon(void) const override;
594 #if SEND_HITACHI_AC344
595  void send(const uint16_t repeat = kHitachiAcDefaultRepeat) override;
596 #endif // SEND_HITACHI_AC344
597  void setSwingV(const bool on);
598  bool getSwingV(void) const;
599  void setSwingH(const uint8_t position);
600  uint8_t getSwingH(void) const;
601  static uint8_t convertSwingH(const stdAc::swingh_t position);
602  static stdAc::swingh_t toCommonSwingH(const uint8_t pos);
603  String toString(void) const override;
604 };
605 
608  public:
609  explicit IRHitachiAc264(const uint16_t pin, const bool inverted = false,
610  const bool use_modulation = true);
611  void stateReset(void) override;
612  void setRaw(const uint8_t new_code[],
613  const uint16_t length = kHitachiAc264StateLength) override;
614  void setFan(const uint8_t speed) override;
615  uint8_t convertFan(const stdAc::fanspeed_t speed) const override;
616  stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed) const override;
617  stdAc::state_t toCommon(void) const override;
618 #if SEND_HITACHI_AC264
619  void send(const uint16_t repeat = kHitachiAcDefaultRepeat) override;
620 #endif // SEND_HITACHI_AC264
621  String toString(void) const override;
622 };
623 
625  public:
626  explicit IRHitachiAc296(const uint16_t pin, const bool inverted = false,
627  const bool use_modulation = true);
628  void stateReset(void);
629 
630 #if SEND_HITACHI_AC296
631  void send(const uint16_t repeat = kHitachiAcDefaultRepeat);
632 #endif // SEND_HITACHI_AC296
633  void begin(void);
634  void on(void);
635  void off(void);
636  void setPower(const bool on);
637  bool getPower(void) const;
638  void setTemp(const uint8_t temp);
639  uint8_t getTemp(void) const;
640  void setFan(const uint8_t speed);
641  uint8_t getFan(void) const;
642  void setMode(const uint8_t mode);
643  uint8_t getMode(void) const;
644  static bool hasInvertedStates(const uint8_t state[], const uint16_t length);
645  uint8_t* getRaw(void);
646  void setRaw(const uint8_t new_code[],
647  const uint16_t length = kHitachiAc296StateLength);
648  static uint8_t convertMode(const stdAc::opmode_t mode);
649  static uint8_t convertFan(const stdAc::fanspeed_t speed);
650  static stdAc::opmode_t toCommonMode(const uint8_t mode);
651  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
652  stdAc::state_t toCommon(void) const;
653  String toString(void) const;
654 #ifndef UNIT_TEST
655 
656  private:
658 #else // UNIT_TEST
659  IRsendTest _irsend;
661 #endif // UNIT_TEST
663 
665  void setInvertedStates(void);
666 };
667 #endif // IR_HITACHI_H_
IRHitachiAc424::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Hitachi.cpp:1082
IRHitachiAc424::_previoustemp
uint8_t _previoustemp
Definition: ir_Hitachi.h:548
kHitachiAc424Fan
const uint8_t kHitachiAc424Fan
Definition: ir_Hitachi.h:148
IRHitachiAc1::calcChecksum
static uint8_t calcChecksum(const uint8_t state[], const uint16_t length=kHitachiAc1StateLength)
Calculate the checksum for a given state.
Definition: ir_Hitachi.cpp:456
HitachiProtocol::Mode
uint8_t Mode
Definition: ir_Hitachi.h:50
kHitachiAc1Fan
const uint8_t kHitachiAc1Fan
Definition: ir_Hitachi.h:223
IRHitachiAc296::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Hitachi.cpp:1911
kHitachiAc344SwingHRightMax
const uint8_t kHitachiAc344SwingHRightMax
Definition: ir_Hitachi.h:172
IRHitachiAc3::IRHitachiAc3
IRHitachiAc3(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Hitachi.cpp:1368
IRHitachiAc424::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Hitachi.cpp:1101
kHitachiAcMinTemp
const uint8_t kHitachiAcMinTemp
Definition: ir_Hitachi.h:86
IRHitachiAc::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Hitachi.cpp:373
IRHitachiAc424::_irsend
IRsend _irsend
Instance of the IR send class.
Definition: ir_Hitachi.h:539
IRHitachiAc424::setTemp
void setTemp(const uint8_t temp, bool setPrevious=true)
Set the temperature.
Definition: ir_Hitachi.cpp:1126
kHitachiAcMaxTemp
const uint8_t kHitachiAcMaxTemp
Definition: ir_Hitachi.h:87
IRHitachiAc1::setSleep
void setSleep(const uint8_t mode)
Set the Sleep setting of the A/C.
Definition: ir_Hitachi.cpp:690
IRHitachiAc::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Hitachi.cpp:148
kHitachiAc264FanHigh
const uint8_t kHitachiAc264FanHigh
Definition: ir_Hitachi.h:296
IRHitachiAc424::off
void off(void)
Change the power setting to Off.
Definition: ir_Hitachi.cpp:1091
kHitachiAcAuto
const uint8_t kHitachiAcAuto
Definition: ir_Hitachi.h:77
Hitachi1Protocol::Sleep
uint8_t Sleep
Definition: ir_Hitachi.h:207
IRHitachiAc296::setRaw
void setRaw(const uint8_t new_code[], const uint16_t length=kHitachiAc296StateLength)
Set the internal state from a valid code for this protocol.
Definition: ir_Hitachi.cpp:1919
HitachiAC296Protocol::raw
uint8_t raw[kHitachiAc296StateLength]
Definition: ir_Hitachi.h:301
IRHitachiAc1::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Hitachi.cpp:593
IRHitachiAc3::_irsend
IRsend _irsend
Instance of the IR send class.
Definition: ir_Hitachi.h:575
HitachiProtocol::pad0
uint8_t pad0[10]
Definition: ir_Hitachi.h:48
kHitachiAc344ButtonFan
const uint8_t kHitachiAc344ButtonFan
Definition: ir_Hitachi.h:136
HitachiProtocol
Native representation of a Hitachi 224-bit A/C message.
Definition: ir_Hitachi.h:44
kHitachiAc1Model_A
const uint8_t kHitachiAc1Model_A
Definition: ir_Hitachi.h:218
kHitachiAc344ButtonPowerMode
const uint8_t kHitachiAc344ButtonPowerMode
Definition: ir_Hitachi.h:135
Hitachi1Protocol::Power
uint8_t Power
Definition: ir_Hitachi.h:209
HitachiAC296Protocol::Humidity
uint8_t Humidity
Definition: ir_Hitachi.h:340
IRHitachiAc::setFan
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Hitachi.cpp:289
IRHitachiAc1::setPowerToggle
void setPowerToggle(const bool on)
Change the power toggle setting.
Definition: ir_Hitachi.cpp:553
IRHitachiAc344::convertSwingH
static uint8_t convertSwingH(const stdAc::swingh_t position)
Convert a standard A/C horizontal swing into its native setting.
Definition: ir_Hitachi.cpp:1543
IRHitachiAc1::checksum
void checksum(const uint16_t length=kHitachiAc1StateLength)
Calculate and set the checksum values for the internal state.
Definition: ir_Hitachi.cpp:470
kHitachiAcStateLength
const uint16_t kHitachiAcStateLength
Definition: IRremoteESP8266.h:1264
IRHitachiAc296::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Hitachi.cpp:1952
kHitachiAc264ButtonSwingV
const uint8_t kHitachiAc264ButtonSwingV
Definition: ir_Hitachi.h:286
IRHitachiAc264::send
void send(const uint16_t repeat=kHitachiAcDefaultRepeat) override
Create and send the IR message to the A/C.
Definition: ir_Hitachi.cpp:1635
IRHitachiAc::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Hitachi.cpp:219
stdAc::fanspeed_t
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:61
kHitachiAc344SwingHRight
const uint8_t kHitachiAc344SwingHRight
Definition: ir_Hitachi.h:173
IRHitachiAc3::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Hitachi.cpp:1409
IRHitachiAc3::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Hitachi.h:564
Hitachi1Protocol::OnTimerLow
uint8_t OnTimerLow
Definition: ir_Hitachi.h:202
IRHitachiAc::setSwingVertical
void setSwingVertical(const bool on)
Set the Vertical Swing setting of the A/C.
Definition: ir_Hitachi.cpp:314
IRHitachiAc296::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Hitachi.cpp:1873
Hitachi424Protocol::raw
uint8_t raw[kHitachiAc424StateLength]
The state in native code.
Definition: ir_Hitachi.h:92
IRHitachiAc1::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Hitachi.cpp:435
Hitachi1Protocol
Native representation of a Hitachi 104-bit A/C message.
Definition: ir_Hitachi.h:180
kHitachiAc296FanMedium
const uint8_t kHitachiAc296FanMedium
Definition: ir_Hitachi.h:357
IRHitachiAc3::send
void send(const uint16_t repeat=kHitachiAcDefaultRepeat)
IRHitachiAc::setSwingHorizontal
void setSwingHorizontal(const bool on)
Set the Horizontal Swing setting of the A/C.
Definition: ir_Hitachi.cpp:326
IRHitachiAc424::setFan
virtual void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Hitachi.cpp:1146
IRHitachiAc296::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Hitachi.cpp:1809
IRHitachiAc424::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Hitachi.cpp:1095
Hitachi1Protocol::pad
uint8_t pad[3]
Definition: ir_Hitachi.h:184
IRHitachiAc::getSwingHorizontal
bool getSwingHorizontal(void) const
Get the Horizontal Swing setting of the A/C.
Definition: ir_Hitachi.cpp:320
Hitachi1Protocol::SwingToggle
uint8_t SwingToggle
Definition: ir_Hitachi.h:206
kHitachiAc1StateLength
const uint16_t kHitachiAc1StateLength
Definition: IRremoteESP8266.h:1267
IRHitachiAc424::setSwingVToggle
void setSwingVToggle(const bool on)
Set the Vertical Swing toggle setting of the A/C.
Definition: ir_Hitachi.cpp:1192
kHitachiAc264Cool
const uint8_t kHitachiAc264Cool
Definition: ir_Hitachi.h:290
Hitachi424Protocol::Fan
uint8_t Fan
Definition: ir_Hitachi.h:107
kHitachiAc1ChecksumStartByte
const uint8_t kHitachiAc1ChecksumStartByte
Definition: ir_Hitachi.h:245
Hitachi1Protocol::raw
uint8_t raw[kHitachiAc1StateLength]
The state in native code.
Definition: ir_Hitachi.h:181
kHitachiAc344FanHigh
const uint8_t kHitachiAc344FanHigh
Definition: ir_Hitachi.h:167
IRHitachiAc1::setOnTimer
void setOnTimer(const uint16_t mins)
Set the On Timer time.
Definition: ir_Hitachi.cpp:703
kHitachiAcFanHigh
const uint8_t kHitachiAcFanHigh
Definition: ir_Hitachi.h:85
HitachiProtocol::pad1
uint8_t pad1[9]
Definition: ir_Hitachi.h:69
kHitachiAc1Sleep3
const uint8_t kHitachiAc1Sleep3
Definition: ir_Hitachi.h:242
kHitachiAc296MaxTemp
const uint8_t kHitachiAc296MaxTemp
Definition: ir_Hitachi.h:363
IRHitachiAc1::getModel
hitachi_ac1_remote_model_t getModel(void) const
Get/Detect the model of the A/C.
Definition: ir_Hitachi.cpp:510
kHitachiAc1TimerSize
const uint8_t kHitachiAc1TimerSize
Definition: ir_Hitachi.h:237
HitachiAC296Protocol::Fan
uint8_t Fan
Definition: ir_Hitachi.h:327
kHitachiAc344Fan
const uint8_t kHitachiAc344Fan
Definition: ir_Hitachi.h:152
Hitachi424Protocol::Mode
uint8_t Mode
Definition: ir_Hitachi.h:106
IRHitachiAc424
Class for handling detailed Hitachi 53-byte/424-bit A/C messages.
Definition: ir_Hitachi.h:497
IRHitachiAc424::setInvertedStates
void setInvertedStates(void)
Update the internal consistency check for the protocol.
Definition: ir_Hitachi.cpp:1047
IRHitachiAc1::IRHitachiAc1
IRHitachiAc1(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Hitachi.cpp:430
IRHitachiAc1::send
void send(const uint16_t repeat=kHitachiAcDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Hitachi.cpp:500
kHitachiAc1Sleep1
const uint8_t kHitachiAc1Sleep1
Definition: ir_Hitachi.h:240
kHitachiAc296PowerOn
const uint8_t kHitachiAc296PowerOn
Definition: ir_Hitachi.h:365
IRHitachiAc344::send
void send(const uint16_t repeat=kHitachiAcDefaultRepeat) override
Create and send the IR message to the A/C.
Definition: ir_Hitachi.cpp:1499
IRHitachiAc::IRHitachiAc
IRHitachiAc(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Hitachi.cpp:143
IRHitachiAc264::convertFan
uint8_t convertFan(const stdAc::fanspeed_t speed) const override
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Hitachi.cpp:1665
kHitachiAc264StateLength
const uint16_t kHitachiAc264StateLength
Definition: IRremoteESP8266.h:1275
IRHitachiAc::_
HitachiProtocol _
Definition: ir_Hitachi.h:422
kHitachiAc296AutoDehumidifying
const uint8_t kHitachiAc296AutoDehumidifying
Definition: ir_Hitachi.h:351
IRsend.h
IRHitachiAc296::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Hitachi.cpp:1843
HitachiAC296Protocol::Temp
uint8_t Temp
Definition: ir_Hitachi.h:307
IRHitachiAc296::convertMode
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Hitachi.cpp:1831
Hitachi1Protocol::SwingH
uint8_t SwingH
Definition: ir_Hitachi.h:211
kHitachiAc1Auto
const uint8_t kHitachiAc1Auto
Definition: ir_Hitachi.h:226
IRHitachiAc344::setSwingV
void setSwingV(const bool on)
Control the vertical swing setting.
Definition: ir_Hitachi.cpp:1513
kHitachiAc264ButtonFan
const uint8_t kHitachiAc264ButtonFan
Definition: ir_Hitachi.h:283
kHitachiAc344MaxTemp
const uint8_t kHitachiAc344MaxTemp
Definition: ir_Hitachi.h:145
kHitachiAc3StateLength
const uint16_t kHitachiAc3StateLength
Definition: IRremoteESP8266.h:1271
IRHitachiAc::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Hitachi.cpp:259
hitachi_ac1_remote_model_t
hitachi_ac1_remote_model_t
HITACHI_AC1 A/C model numbers.
Definition: IRsend.h:169
IRHitachiAc1::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Hitachi.h:441
HitachiAC264Protocol
Native representation of a Hitachi 164-bit A/C message.
Definition: ir_Hitachi.h:249
kHitachiAc424ButtonSwingH
const uint8_t kHitachiAc424ButtonSwingH
Definition: ir_Hitachi.h:134
HitachiAC296Protocol::Power
uint8_t Power
Definition: ir_Hitachi.h:332
kHitachiAc424ButtonTempDown
const uint8_t kHitachiAc424ButtonTempDown
Definition: ir_Hitachi.h:131
HitachiAC296Protocol::pad0
uint8_t pad0[13]
Definition: ir_Hitachi.h:304
HitachiAC296Protocol::TimerActive
uint8_t TimerActive
Definition: ir_Hitachi.h:334
IRsend
Class for sending all basic IR protocols.
Definition: IRsend.h:237
IRHitachiAc296::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Hitachi.cpp:1783
kHitachiAc344SwingHAuto
const uint8_t kHitachiAc344SwingHAuto
Definition: ir_Hitachi.h:171
IRHitachiAc1::setSwingH
void setSwingH(const bool on)
Set the Horizontal Swing setting of the A/C.
Definition: ir_Hitachi.cpp:676
kHitachiAc344Heat
const uint8_t kHitachiAc344Heat
Definition: ir_Hitachi.h:155
IRHitachiAc
Class for handling detailed Hitachi 224-bit A/C messages.
Definition: ir_Hitachi.h:372
IRsend::calibrate
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition: IRsend.cpp:207
kHitachiAc344SwingHLeftMax
const uint8_t kHitachiAc344SwingHLeftMax
Definition: ir_Hitachi.h:176
IRHitachiAc1::validChecksum
static bool validChecksum(const uint8_t state[], const uint16_t length=kHitachiAc1StateLength)
Verify the checksum is valid for a given state.
Definition: ir_Hitachi.cpp:478
IRHitachiAc1::convertMode
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Hitachi.cpp:734
Hitachi424Protocol::SwingV
uint8_t SwingV
Definition: ir_Hitachi.h:123
HitachiAC296Protocol::Mode
uint8_t Mode
Definition: ir_Hitachi.h:326
kHitachiAc1FanLow
const uint8_t kHitachiAc1FanLow
Definition: ir_Hitachi.h:230
IRHitachiAc344
Class for handling detailed Hitachi 344-bit A/C messages.
Definition: ir_Hitachi.h:586
kHitachiAc424MinTemp
const uint8_t kHitachiAc424MinTemp
Definition: ir_Hitachi.h:142
kHitachiAc264ButtonTempUp
const uint8_t kHitachiAc264ButtonTempUp
Definition: ir_Hitachi.h:285
IRHitachiAc344::toString
String toString(void) const override
Convert the internal state into a human readable string.
Definition: ir_Hitachi.cpp:1580
IRHitachiAc1::_
Hitachi1Protocol _
Definition: ir_Hitachi.h:492
kHitachiAc344FanAuto
const uint8_t kHitachiAc344FanAuto
Definition: ir_Hitachi.h:168
IRHitachiAc296::stateReset
void stateReset(void)
Reset the internal state to auto fan, heating, & 24° Celsius.
Definition: ir_Hitachi.cpp:1735
String
std::string String
Definition: IRremoteESP8266.h:1521
Hitachi1Protocol::Sum
uint8_t Sum
Definition: ir_Hitachi.h:213
kHitachiAc1Model_B
const uint8_t kHitachiAc1Model_B
Definition: ir_Hitachi.h:219
IRHitachiAc1::getSwingToggle
bool getSwingToggle(void) const
Get the Swing Toggle setting of the A/C.
Definition: ir_Hitachi.cpp:646
IRHitachiAc::convertFan
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Hitachi.cpp:346
IRHitachiAc424::toCommonFanSpeed
virtual stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed) const
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Hitachi.cpp:1251
HitachiAC296Protocol::OffTimerHigh
uint8_t OffTimerHigh
Definition: ir_Hitachi.h:316
IRHitachiAc::calcChecksum
static uint8_t calcChecksum(const uint8_t state[], const uint16_t length=kHitachiAcStateLength)
Calculate the checksum for a given state.
Definition: ir_Hitachi.cpp:173
kHitachiAc1FanHigh
const uint8_t kHitachiAc1FanHigh
Definition: ir_Hitachi.h:228
IRHitachiAc296::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Hitachi.cpp:1899
kHitachiAc424ButtonSwingV
const uint8_t kHitachiAc424ButtonSwingV
Definition: ir_Hitachi.h:133
kHitachiAcDry
const uint8_t kHitachiAcDry
Definition: ir_Hitachi.h:80
IRHitachiAc424::setButton
void setButton(const uint8_t button)
Set the Button/Command pressed setting of the A/C.
Definition: ir_Hitachi.cpp:1184
HitachiAC296Protocol
Definition: ir_Hitachi.h:300
IRHitachiAc296::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Hitachi.cpp:1860
kHitachiAc1Sleep2
const uint8_t kHitachiAc1Sleep2
Definition: ir_Hitachi.h:241
kHitachiAc424ButtonTempUp
const uint8_t kHitachiAc424ButtonTempUp
Definition: ir_Hitachi.h:132
kHitachiAc296MinTemp
const uint8_t kHitachiAc296MinTemp
Definition: ir_Hitachi.h:362
IRHitachiAc3::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Hitachi.cpp:1374
IRHitachiAc296::convertFan
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Hitachi.cpp:1885
HitachiAC296Protocol::OnTimerLow
uint8_t OnTimerLow
Definition: ir_Hitachi.h:318
IRHitachiAc424::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Hitachi.cpp:1056
kHitachiAc424ButtonFan
const uint8_t kHitachiAc424ButtonFan
Definition: ir_Hitachi.h:130
kHitachiAcFanAuto
const uint8_t kHitachiAcFanAuto
Definition: ir_Hitachi.h:82
IRHitachiAc424::IRHitachiAc264
friend class IRHitachiAc264
Definition: ir_Hitachi.h:498
kHitachiAc344Dry
const uint8_t kHitachiAc344Dry
Definition: ir_Hitachi.h:154
IRHitachiAc296::IRHitachiAc296
IRHitachiAc296(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Definition: ir_Hitachi.cpp:1730
IRHitachiAc3
Class for handling detailed Hitachi 15to27-byte/120to216-bit A/C messages.
Definition: ir_Hitachi.h:552
IRremoteESP8266.h
stdAc::swingh_t
swingh_t
Common A/C settings for Horizontal Swing.
Definition: IRsend.h:100
IRHitachiAc1::setModel
void setModel(const hitachi_ac1_remote_model_t model)
Set the model of the A/C to emulate.
Definition: ir_Hitachi.cpp:519
IRHitachiAc264
Class for handling detailed Hitachi 264-bit A/C messages.
Definition: ir_Hitachi.h:607
kHitachiAc296DryCool
const uint8_t kHitachiAc296DryCool
Definition: ir_Hitachi.h:347
kHitachiAc344FanLow
const uint8_t kHitachiAc344FanLow
Definition: ir_Hitachi.h:165
kHitachiAc424FanMaxDry
const uint8_t kHitachiAc424FanMaxDry
Definition: ir_Hitachi.h:163
kHitachiAc424FanHigh
const uint8_t kHitachiAc424FanHigh
Definition: ir_Hitachi.h:160
IRHitachiAc1::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Hitachi.cpp:610
IRHitachiAc424::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Hitachi.cpp:1140
IRHitachiAc1::setSwingToggle
void setSwingToggle(const bool toggle)
Set the Swing toggle setting of the A/C.
Definition: ir_Hitachi.cpp:652
kHitachiAc264Heat
const uint8_t kHitachiAc264Heat
Definition: ir_Hitachi.h:292
IRHitachiAc424::convertFan
virtual uint8_t convertFan(const stdAc::fanspeed_t speed) const
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Hitachi.cpp:1224
IRHitachiAc296::off
void off(void)
Change the power setting to Off.
Definition: ir_Hitachi.cpp:1805
IRHitachiAc1
Class for handling detailed Hitachi 104-bit A/C messages.
Definition: ir_Hitachi.h:429
IRHitachiAc296::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Hitachi.cpp:1799
kHitachiAc344SwingHLeft
const uint8_t kHitachiAc344SwingHLeft
Definition: ir_Hitachi.h:175
IRHitachiAc344::getSwingH
uint8_t getSwingH(void) const
Get the current horizontal swing setting.
Definition: ir_Hitachi.cpp:1536
IRHitachiAc424::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Hitachi.cpp:1238
IRHitachiAc1::on
void on(void)
Change the power setting to On.
Definition: ir_Hitachi.cpp:558
HitachiAC264Protocol::Temp
uint8_t Temp
Definition: ir_Hitachi.h:260
kHitachiAc1TempSize
const uint8_t kHitachiAc1TempSize
Definition: ir_Hitachi.h:233
IRHitachiAc264::toString
String toString(void) const override
Convert the internal state into a human readable string.
Definition: ir_Hitachi.cpp:1699
Hitachi1Protocol::Temp
uint8_t Temp
Definition: ir_Hitachi.h:195
kHitachiAc296FanHigh
const uint8_t kHitachiAc296FanHigh
Definition: ir_Hitachi.h:358
HitachiProtocol::Power
uint8_t Power
Definition: ir_Hitachi.h:66
IRHitachiAc296::on
void on(void)
Change the power setting to On.
Definition: ir_Hitachi.cpp:1802
kHitachiAc296Heat
const uint8_t kHitachiAc296Heat
Definition: ir_Hitachi.h:349
IRHitachiAc1::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Hitachi.cpp:533
kHitachiAc264Fan
const uint8_t kHitachiAc264Fan
Definition: ir_Hitachi.h:289
kHitachiAc296CondensationControl
const uint8_t kHitachiAc296CondensationControl
Definition: ir_Hitachi.h:353
Hitachi424Protocol::pad1
uint8_t pad1[11]
Definition: ir_Hitachi.h:104
kHitachiAcFanMed
const uint8_t kHitachiAcFanMed
Definition: ir_Hitachi.h:84
IRHitachiAc1::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Hitachi.cpp:599
IRHitachiAc296::setFan
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Hitachi.cpp:1877
IRHitachiAc264::setFan
void setFan(const uint8_t speed) override
Set the speed of the fan.
Definition: ir_Hitachi.cpp:1649
IRHitachiAc::on
void on(void)
Change the power setting to On.
Definition: ir_Hitachi.cpp:230
IRHitachiAc296
Definition: ir_Hitachi.h:624
IRHitachiAc296::send
void send(const uint16_t repeat=kHitachiAcDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Hitachi.cpp:1788
IRHitachiAc3::getMode
uint8_t getMode(void)
IRHitachiAc::convertMode
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Hitachi.cpp:333
IRHitachiAc264::setRaw
void setRaw(const uint8_t new_code[], const uint16_t length=kHitachiAc264StateLength) override
Set the internal state from a valid code for this protocol.
Definition: ir_Hitachi.cpp:1643
Hitachi424Protocol::Power
uint8_t Power
Definition: ir_Hitachi.h:112
kHitachiAc264FanMin
const uint8_t kHitachiAc264FanMin
Definition: ir_Hitachi.h:293
IRHitachiAc296::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Hitachi.cpp:1926
IRHitachiAc3::hasInvertedStates
static bool hasInvertedStates(const uint8_t state[], const uint16_t length)
Check if every second byte of the state, after the fixed header is inverted to the previous byte.
Definition: ir_Hitachi.cpp:1403
kHitachiAc424StateLength
const uint16_t kHitachiAc424StateLength
Definition: IRremoteESP8266.h:1281
IRHitachiAc424::toCommon
virtual stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Hitachi.cpp:1264
IRHitachiAc3::remote_state
uint8_t remote_state[kHitachiAc3StateLength]
The state in native code.
Definition: ir_Hitachi.h:581
IRHitachiAc264::toCommon
stdAc::state_t toCommon(void) const override
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Hitachi.cpp:1690
IRHitachiAc1::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Hitachi.cpp:761
IRHitachiAc296::hasInvertedStates
static bool hasInvertedStates(const uint8_t state[], const uint16_t length)
Check if every second byte of the state, after the fixed header is inverted to the previous byte.
Definition: ir_Hitachi.cpp:1777
IRHitachiAc::off
void off(void)
Change the power setting to Off.
Definition: ir_Hitachi.cpp:233
kHitachiAc1Heat
const uint8_t kHitachiAc1Heat
Definition: ir_Hitachi.h:225
HitachiAC264Protocol::raw
uint8_t raw[kHitachiAc264StateLength]
The state in native code.
Definition: ir_Hitachi.h:250
kHitachiAcFreq
const uint16_t kHitachiAcFreq
Definition: ir_Hitachi.h:76
IRHitachiAc::getSwingVertical
bool getSwingVertical(void) const
Get the Vertical Swing setting of the A/C.
Definition: ir_Hitachi.cpp:308
IRHitachiAc424::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Hitachi.h:510
kHitachiAcFanLow
const uint8_t kHitachiAcFanLow
Definition: ir_Hitachi.h:83
IRHitachiAc344::stateReset
void stateReset(void) override
Reset the internal state to auto fan, cooling, 23° Celsius.
Definition: ir_Hitachi.cpp:1490
kHitachiAc344FanMin
const uint8_t kHitachiAc344FanMin
Definition: ir_Hitachi.h:164
kHitachiAc424FanAuto
const uint8_t kHitachiAc424FanAuto
Definition: ir_Hitachi.h:161
IRHitachiAc::setRaw
void setRaw(const uint8_t new_code[], const uint16_t length=kHitachiAcStateLength)
Set the internal state from a valid code for this protocol.
Definition: ir_Hitachi.cpp:205
HitachiAC264Protocol::pad1
uint8_t pad1[10]
Definition: ir_Hitachi.h:264
HitachiAC264Protocol::Mode
uint8_t Mode
Definition: ir_Hitachi.h:266
kHitachiAc1FanMed
const uint8_t kHitachiAc1FanMed
Definition: ir_Hitachi.h:229
IRHitachiAc296::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Hitachi.cpp:1795
kHitachiAc296StateLength
const uint16_t kHitachiAc296StateLength
Definition: IRremoteESP8266.h:1277
IRHitachiAc1::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Hitachi.cpp:539
HitachiAC264Protocol::Button
uint8_t Button
Definition: ir_Hitachi.h:255
IRHitachiAc1::getSwingH
bool getSwingH(void) const
Get the Horizontal Swing setting of the A/C.
Definition: ir_Hitachi.cpp:670
IRHitachiAc1::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Hitachi.cpp:785
IRHitachiAc424::IRHitachiAc424
IRHitachiAc424(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Hitachi.cpp:1015
IRHitachiAc296::_irsend
IRsend _irsend
Instance of the IR send class.
Definition: ir_Hitachi.h:657
kHitachiAc296PowerOff
const uint8_t kHitachiAc296PowerOff
Definition: ir_Hitachi.h:366
kHitachiAcCool
const uint8_t kHitachiAcCool
Definition: ir_Hitachi.h:79
kHitachiAc1Sleep4
const uint8_t kHitachiAc1Sleep4
Definition: ir_Hitachi.h:243
IRHitachiAc344::toCommonSwingH
static stdAc::swingh_t toCommonSwingH(const uint8_t pos)
Convert a native horizontal swing postion to it's common equivalent.
Definition: ir_Hitachi.cpp:1557
IRHitachiAc1::setRaw
void setRaw(const uint8_t new_code[], const uint16_t length=kHitachiAc1StateLength)
Set the internal state from a valid code for this protocol.
Definition: ir_Hitachi.cpp:493
kHitachiAcHeat
const uint8_t kHitachiAcHeat
Definition: ir_Hitachi.h:78
kHitachiAc264MaxTemp
const uint8_t kHitachiAc264MaxTemp
Definition: ir_Hitachi.h:288
IRHitachiAc424::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Hitachi.cpp:1052
IRHitachiAc424::IRHitachiAc344
friend class IRHitachiAc344
Definition: ir_Hitachi.h:499
kHitachiAc424MaxTemp
const uint8_t kHitachiAc424MaxTemp
Definition: ir_Hitachi.h:143
IRHitachiAc3::setInvertedStates
void setInvertedStates(const uint16_t length=kHitachiAc3StateLength)
Invert every second byte of the internal state, after the fixed header.
Definition: ir_Hitachi.cpp:1394
IRHitachiAc1::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Hitachi.cpp:813
kHitachiAc344StateLength
const uint16_t kHitachiAc344StateLength
Definition: IRremoteESP8266.h:1279
IRHitachiAc::_irsend
IRsend _irsend
Instance of the IR send class.
Definition: ir_Hitachi.h:416
IRHitachiAc::send
void send(const uint16_t repeat=kHitachiAcDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Hitachi.cpp:212
IRHitachiAc424::_
Hitachi424Protocol _
Definition: ir_Hitachi.h:545
IRHitachiAc264::stateReset
void stateReset(void) override
Reset the internal state to auto fan, cooling, 23° Celsius.
Definition: ir_Hitachi.cpp:1626
kHitachiAc424FanTemp
const uint8_t kHitachiAc424FanTemp
Definition: ir_Hitachi.h:146
kHitachiAc1Cool
const uint8_t kHitachiAc1Cool
Definition: ir_Hitachi.h:224
IRHitachiAc::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Hitachi.cpp:285
IRHitachiAc::_previoustemp
uint8_t _previoustemp
Definition: ir_Hitachi.h:424
kHitachiAc1FanAuto
const uint8_t kHitachiAc1FanAuto
Definition: ir_Hitachi.h:227
IRHitachiAc::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Hitachi.cpp:167
HitachiAC264Protocol::pad2
uint8_t pad2[4]
Definition: ir_Hitachi.h:277
IRHitachiAc296::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Hitachi.cpp:1856
kHitachiAc264FanAuto
const uint8_t kHitachiAc264FanAuto
Definition: ir_Hitachi.h:297
IRHitachiAc1::getOnTimer
uint16_t getOnTimer(void) const
Get the On Timer vtime of the A/C.
Definition: ir_Hitachi.cpp:711
kHitachiAc264ButtonPowerMode
const uint8_t kHitachiAc264ButtonPowerMode
Definition: ir_Hitachi.h:282
IRHitachiAc424::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Hitachi.cpp:1078
kHitachiAc424FanMin
const uint8_t kHitachiAc424FanMin
Definition: ir_Hitachi.h:157
Hitachi424Protocol::Temp
uint8_t Temp
Definition: ir_Hitachi.h:102
IRHitachiAc424::stateReset
virtual void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Hitachi.cpp:1021
kHitachiAc344FanMax
const uint8_t kHitachiAc344FanMax
Definition: ir_Hitachi.h:169
HitachiProtocol::Temp
uint8_t Temp
Definition: ir_Hitachi.h:52
IRHitachiAc1::_irsend
IRsend _irsend
Instance of the IR send class.
Definition: ir_Hitachi.h:486
HitachiAC296Protocol::pad1
uint8_t pad1[6]
Definition: ir_Hitachi.h:337
kHitachiAc296Cool
const uint8_t kHitachiAc296Cool
Definition: ir_Hitachi.h:346
IRHitachiAc344::getSwingV
bool getSwingV(void) const
Get the current vertical swing setting.
Definition: ir_Hitachi.cpp:1520
kHitachiAc424Dry
const uint8_t kHitachiAc424Dry
Definition: ir_Hitachi.h:150
IRHitachiAc344::setSwingH
void setSwingH(const uint8_t position)
Control the horizontal swing setting.
Definition: ir_Hitachi.cpp:1526
IRHitachiAc296::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Hitachi.cpp:1813
Hitachi424Protocol::pad2
uint8_t pad2[7]
Definition: ir_Hitachi.h:115
IRHitachiAc1::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Hitachi.cpp:571
IRHitachiAc1::getOffTimer
uint16_t getOffTimer(void) const
Get the Off Timer vtime of the A/C.
Definition: ir_Hitachi.cpp:726
kHitachiAcDefaultRepeat
const uint16_t kHitachiAcDefaultRepeat
Definition: IRremoteESP8266.h:1266
Hitachi1Protocol::Fan
uint8_t Fan
Definition: ir_Hitachi.h:191
HitachiAC296Protocol::OnTimerActive
uint8_t OnTimerActive
Definition: ir_Hitachi.h:322
kHitachiAc344SwingHMiddle
const uint8_t kHitachiAc344SwingHMiddle
Definition: ir_Hitachi.h:174
IRHitachiAc::checksum
void checksum(const uint16_t length=kHitachiAcStateLength)
Calculate and set the checksum values for the internal state.
Definition: ir_Hitachi.cpp:182
IRHitachiAc424::convertMode
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Hitachi.cpp:1211
HitachiProtocol::Fan
uint8_t Fan
Definition: ir_Hitachi.h:56
IRHitachiAc296::setInvertedStates
void setInvertedStates(void)
Update the internal consistency check for the protocol.
Definition: ir_Hitachi.cpp:1768
IRHitachiAc1::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Hitachi.cpp:565
IRHitachiAc1::setFan
void setFan(const uint8_t speed, const bool force=false)
Set the speed of the fan.
Definition: ir_Hitachi.cpp:617
IRHitachiAc1::convertFan
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Hitachi.cpp:747
IRHitachiAc::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Hitachi.cpp:385
IRHitachiAc1::setSwingV
void setSwingV(const bool on)
Set the Vertical Swing setting of the A/C.
Definition: ir_Hitachi.cpp:664
HitachiProtocol::SwingV
uint8_t SwingV
Definition: ir_Hitachi.h:59
Hitachi1Protocol::OffTimerHigh
uint8_t OffTimerHigh
Definition: ir_Hitachi.h:200
IRHitachiAc::toString
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Hitachi.cpp:411
IRHitachiAc::validChecksum
static bool validChecksum(const uint8_t state[], const uint16_t length=kHitachiAcStateLength)
Verify the checksum is valid for a given state.
Definition: ir_Hitachi.cpp:190
kHitachiAc424FanMedium
const uint8_t kHitachiAc424FanMedium
Definition: ir_Hitachi.h:159
IRHitachiAc1::getSwingV
bool getSwingV(void) const
Get the Vertical Swing setting of the A/C.
Definition: ir_Hitachi.cpp:658
kHitachiAc344ButtonTempUp
const uint8_t kHitachiAc344ButtonTempUp
Definition: ir_Hitachi.h:138
IRHitachiAc344::toCommon
stdAc::state_t toCommon(void) const override
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Hitachi.cpp:1570
kHitachiAc296FanLow
const uint8_t kHitachiAc296FanLow
Definition: ir_Hitachi.h:356
IRHitachiAc::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Hitachi.cpp:360
kHitachiAc296TempAuto
const uint8_t kHitachiAc296TempAuto
Definition: ir_Hitachi.h:361
kHitachiAc424Cool
const uint8_t kHitachiAc424Cool
Definition: ir_Hitachi.h:149
kHitachiAc296QuickLaundry
const uint8_t kHitachiAc296QuickLaundry
Definition: ir_Hitachi.h:352
IRHitachiAc3::setRaw
void setRaw(const uint8_t new_code[], const uint16_t length=kHitachiAc3StateLength)
Set the internal state from a valid code for this protocol.
Definition: ir_Hitachi.cpp:1421
kHitachiAcFan
const uint8_t kHitachiAcFan
Definition: ir_Hitachi.h:81
IRHitachiAc3::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Hitachi.cpp:1413
HitachiProtocol::Sum
uint8_t Sum
Definition: ir_Hitachi.h:71
IRHitachiAc1::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Hitachi.cpp:450
IRHitachiAc1::getPowerToggle
bool getPowerToggle(void) const
Get the value of the current power toggle setting.
Definition: ir_Hitachi.cpp:547
IRHitachiAc::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Hitachi.cpp:197
IRHitachiAc264::toCommonFanSpeed
stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed) const override
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Hitachi.cpp:1679
IRHitachiAc1::setOffTimer
void setOffTimer(const uint16_t mins)
Set the Off Timer time.
Definition: ir_Hitachi.cpp:718
Hitachi1Protocol::Mode
uint8_t Mode
Definition: ir_Hitachi.h:192
IRHitachiAc1::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Hitachi.cpp:774
HitachiAC296Protocol::OnTimerHigh
uint8_t OnTimerHigh
Definition: ir_Hitachi.h:320
Hitachi1Protocol::Model
uint8_t Model
Definition: ir_Hitachi.h:187
kHitachiAc264ButtonTempDown
const uint8_t kHitachiAc264ButtonTempDown
Definition: ir_Hitachi.h:284
Hitachi1Protocol::OnTimerHigh
uint8_t OnTimerHigh
Definition: ir_Hitachi.h:204
kHitachiAc296FanSilent
const uint8_t kHitachiAc296FanSilent
Definition: ir_Hitachi.h:355
IRHitachiAc1::getSleep
uint8_t getSleep(void) const
Get the Sleep setting of the A/C.
Definition: ir_Hitachi.cpp:683
IRHitachiAc424::send
virtual void send(const uint16_t repeat=kHitachiAcDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Hitachi.cpp:1071
kHitachiAc344ButtonSwingH
const uint8_t kHitachiAc344ButtonSwingH
Definition: ir_Hitachi.h:140
IRHitachiAc::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Hitachi.cpp:225
HitachiAC296Protocol::OffTimerActive
uint8_t OffTimerActive
Definition: ir_Hitachi.h:321
kHitachiAc296FanAuto
const uint8_t kHitachiAc296FanAuto
Definition: ir_Hitachi.h:359
IRHitachiAc::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Hitachi.cpp:237
kHitachiAc296Dehumidify
const uint8_t kHitachiAc296Dehumidify
Definition: ir_Hitachi.h:348
Hitachi1Protocol::SwingV
uint8_t SwingV
Definition: ir_Hitachi.h:210
IRHitachiAc424::setRaw
virtual void setRaw(const uint8_t new_code[], const uint16_t length=kHitachiAc424StateLength)
Set the internal state from a valid code for this protocol.
Definition: ir_Hitachi.cpp:1064
IRHitachiAc344::setRaw
void setRaw(const uint8_t new_code[], const uint16_t length=kHitachiAc344StateLength) override
Set the internal state from a valid code for this protocol.
Definition: ir_Hitachi.cpp:1507
kHitachiAc424FanLow
const uint8_t kHitachiAc424FanLow
Definition: ir_Hitachi.h:158
Hitachi1Protocol::PowerToggle
uint8_t PowerToggle
Definition: ir_Hitachi.h:208
kHitachiAcAutoTemp
const uint8_t kHitachiAcAutoTemp
Definition: ir_Hitachi.h:88
Hitachi424Protocol
Native representation of a Hitachi 53-byte/424-bit A/C message.
Definition: ir_Hitachi.h:91
IRHitachiAc::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Hitachi.h:383
kHitachiAc344FanMedium
const uint8_t kHitachiAc344FanMedium
Definition: ir_Hitachi.h:166
kHitachiAc1Dry
const uint8_t kHitachiAc1Dry
Definition: ir_Hitachi.h:222
HitachiAC264Protocol::Power
uint8_t Power
Definition: ir_Hitachi.h:272
kHitachiAc344Cool
const uint8_t kHitachiAc344Cool
Definition: ir_Hitachi.h:153
kHitachiAc424FanMax
const uint8_t kHitachiAc424FanMax
Definition: ir_Hitachi.h:162
HitachiAC296Protocol::OffTimerLow
uint8_t OffTimerLow
Definition: ir_Hitachi.h:314
IRHitachiAc424::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Hitachi.cpp:1119
kHitachiAc424Heat
const uint8_t kHitachiAc424Heat
Definition: ir_Hitachi.h:151
IRHitachiAc::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Hitachi.cpp:241
HitachiProtocol::raw
uint8_t raw[kHitachiAcStateLength]
The state in native code.
Definition: ir_Hitachi.h:45
HitachiProtocol::SwingH
uint8_t SwingH
Definition: ir_Hitachi.h:62
Hitachi424Protocol::Button
uint8_t Button
Definition: ir_Hitachi.h:97
kHitachiAc296Auto
const uint8_t kHitachiAc296Auto
Definition: ir_Hitachi.h:350
Hitachi1Protocol::OffTimerLow
uint8_t OffTimerLow
Definition: ir_Hitachi.h:198
IRHitachiAc424::getSwingVToggle
bool getSwingVToggle(void) const
Get the Vertical Swing toggle setting of the A/C.
Definition: ir_Hitachi.cpp:1204
stdAc::state_t
Structure to hold a common A/C state.
Definition: IRsend.h:114
kHitachiAc344ButtonTempDown
const uint8_t kHitachiAc344ButtonTempDown
Definition: ir_Hitachi.h:137
kHitachiAc424ButtonPowerMode
const uint8_t kHitachiAc424ButtonPowerMode
Definition: ir_Hitachi.h:129
kHitachiAc1TempAuto
const uint8_t kHitachiAc1TempAuto
Definition: ir_Hitachi.h:235
kHitachiAc344MinTemp
const uint8_t kHitachiAc344MinTemp
Definition: ir_Hitachi.h:144
kHitachiAc264Dry
const uint8_t kHitachiAc264Dry
Definition: ir_Hitachi.h:291
kHitachiAc1TempDelta
const uint8_t kHitachiAc1TempDelta
Definition: ir_Hitachi.h:234
HitachiAC264Protocol::Fan
uint8_t Fan
Definition: ir_Hitachi.h:267
IRHitachiAc424::on
void on(void)
Change the power setting to On.
Definition: ir_Hitachi.cpp:1088
IRHitachiAc424::getButton
uint8_t getButton(void) const
Get the Button/Command setting of the A/C.
Definition: ir_Hitachi.cpp:1178
IRHitachiAc1::off
void off(void)
Change the power setting to Off.
Definition: ir_Hitachi.cpp:561
IRHitachiAc424::_toString
String _toString(void) const
Convert the internal state into a human readable string for the settings that are common to protocols...
Definition: ir_Hitachi.cpp:1292
IRHitachiAc1::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Hitachi.cpp:485
IRHitachiAc296::_
HitachiAC296Protocol _
Definition: ir_Hitachi.h:664
kHitachiAc344ButtonSwingV
const uint8_t kHitachiAc344ButtonSwingV
Definition: ir_Hitachi.h:139
kHitachiAc1SleepOff
const uint8_t kHitachiAc1SleepOff
Definition: ir_Hitachi.h:239
HitachiAC264Protocol::pad0
uint8_t pad0[11]
Definition: ir_Hitachi.h:253
IRHitachiAc::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Hitachi.cpp:265
kHitachiAc264FanMedium
const uint8_t kHitachiAc264FanMedium
Definition: ir_Hitachi.h:295
kHitachiAc264MinTemp
const uint8_t kHitachiAc264MinTemp
Definition: ir_Hitachi.h:287
Hitachi424Protocol::SwingH
uint8_t SwingH
Definition: ir_Hitachi.h:117
kHitachiAc264FanLow
const uint8_t kHitachiAc264FanLow
Definition: ir_Hitachi.h:294
Hitachi424Protocol::pad0
uint8_t pad0[11]
Definition: ir_Hitachi.h:95
IRHitachiAc424::toString
virtual String toString(void) const
Convert the internal state into a human readable string.
Definition: ir_Hitachi.cpp:1333
stdAc::opmode_t
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:49