IRremoteESP8266
ir_Hitachi.h
Go to the documentation of this file.
1 // Copyright 2018-2020 David Conran
10 
11 // Supports:
12 // Brand: Hitachi, Model: RAS-35THA6 remote
13 // Brand: Hitachi, Model: LT0541-HTA remote (HITACHI_AC1)
14 // Brand: Hitachi, Model: Series VI A/C (Circa 2007) (HITACHI_AC1)
15 // Brand: Hitachi, Model: RAR-8P2 remote (HITACHI_AC424)
16 // Brand: Hitachi, Model: RAS-AJ25H A/C (HITACHI_AC424)
17 // Brand: Hitachi, Model: PC-LH3B (HITACHI_AC3)
18 // Brand: Hitachi, Model: KAZE-312KSDP A/C (HITACHI_AC1)
19 // Brand: Hitachi, Model: R-LT0541-HTA/Y.K.1.1-1 V2.3 remote (HITACHI_AC1)
20 // Brand: Hitachi, Model: RAS-22NK A/C (HITACHI_AC344)
21 // Brand: Hitachi, Model: RF11T1 remote (HITACHI_AC344)
22 
23 #ifndef IR_HITACHI_H_
24 #define IR_HITACHI_H_
25 
26 #define __STDC_LIMIT_MACROS
27 #include <stdint.h>
28 #ifndef UNIT_TEST
29 #include <Arduino.h>
30 #endif
31 #include "IRremoteESP8266.h"
32 #include "IRsend.h"
33 #ifdef UNIT_TEST
34 #include "IRsend_test.h"
35 #endif
36 
37 // Constants
38 const uint16_t kHitachiAcFreq = 38000; // Hz.
39 const uint8_t kHitachiAcAuto = 2;
40 const uint8_t kHitachiAcHeat = 3;
41 const uint8_t kHitachiAcCool = 4;
42 const uint8_t kHitachiAcDry = 5;
43 const uint8_t kHitachiAcFan = 0xC;
44 const uint8_t kHitachiAcFanAuto = 1;
45 const uint8_t kHitachiAcFanLow = 2;
46 const uint8_t kHitachiAcFanMed = 3;
47 const uint8_t kHitachiAcFanHigh = 5;
48 const uint8_t kHitachiAcMinTemp = 16; // 16C
49 const uint8_t kHitachiAcMaxTemp = 32; // 32C
50 const uint8_t kHitachiAcAutoTemp = 23; // 23C
51 const uint8_t kHitachiAcPowerOffset = 0;
52 const uint8_t kHitachiAcSwingOffset = 7;
53 
54 // HitachiAc424 & HitachiAc344
55 // Byte[11]
56 const uint8_t kHitachiAc424ButtonByte = 11;
57 const uint8_t kHitachiAc424ButtonPowerMode = 0x13;
58 const uint8_t kHitachiAc424ButtonFan = 0x42;
59 const uint8_t kHitachiAc424ButtonTempDown = 0x43;
60 const uint8_t kHitachiAc424ButtonTempUp = 0x44;
61 const uint8_t kHitachiAc424ButtonSwingV = 0x81;
62 const uint8_t kHitachiAc424ButtonSwingH = 0x8C;
69 
70 // Byte[13]
71 const uint8_t kHitachiAc424TempByte = 13;
72 const uint8_t kHitachiAc424TempOffset = 2;
73 const uint8_t kHitachiAc424TempSize = 6;
74 const uint8_t kHitachiAc424MinTemp = 16; // 16C
75 const uint8_t kHitachiAc424MaxTemp = 32; // 32C
78 const uint8_t kHitachiAc424FanTemp = 27; // 27C
79 
80 // Byte[25]
81 const uint8_t kHitachiAc424ModeByte = 25;
82 const uint8_t kHitachiAc424Fan = 1;
83 const uint8_t kHitachiAc424Cool = 3;
84 const uint8_t kHitachiAc424Dry = 5;
85 const uint8_t kHitachiAc424Heat = 6;
90 
92 const uint8_t kHitachiAc424FanMin = 1;
93 const uint8_t kHitachiAc424FanLow = 2;
94 const uint8_t kHitachiAc424FanMedium = 3;
95 const uint8_t kHitachiAc424FanHigh = 4;
96 const uint8_t kHitachiAc424FanAuto = 5;
97 const uint8_t kHitachiAc424FanMax = 6;
98 const uint8_t kHitachiAc424FanMaxDry = 2;
105 
106 // Byte[27]
107 const uint8_t kHitachiAc424PowerByte = 27;
108 const uint8_t kHitachiAc424PowerOn = 0xF1;
109 const uint8_t kHitachiAc424PowerOff = 0xE1;
110 
111 // Byte[35]
112 const uint8_t kHitachiAc344SwingHByte = 35;
113 const uint8_t kHitachiAc344SwingHOffset = 0; // Mask 0b00000xxx
114 const uint8_t kHitachiAc344SwingHSize = 3; // Mask 0b00000xxx
115 const uint8_t kHitachiAc344SwingHAuto = 0; // 0b000
116 const uint8_t kHitachiAc344SwingHRightMax = 1; // 0b001
117 const uint8_t kHitachiAc344SwingHRight = 2; // 0b010
118 const uint8_t kHitachiAc344SwingHMiddle = 3; // 0b011
119 const uint8_t kHitachiAc344SwingHLeft = 4; // 0b100
120 const uint8_t kHitachiAc344SwingHLeftMax = 5; // 0b101
121 
122 // Byte[37]
123 const uint8_t kHitachiAc344SwingVByte = 37;
124 const uint8_t kHitachiAc344SwingVOffset = 5; // Mask 0b00x00000
125 
126 // HitachiAc1
127 // Byte[3] (Model)
128 const uint8_t kHitachiAc1ModelByte = 3;
129 const uint8_t kHitachiAc1ModelOffset = 6; // Mask 0b11000000
130 const uint8_t kHitachiAc1Model_A = 0b10;
131 const uint8_t kHitachiAc1Model_B = 0b01;
132 const uint8_t kHitachiAc1ModelSize = 2;
133 
134 // Byte[5] (Mode & Fan)
135 const uint8_t kHitachiAc1ModeByte = 5;
136 const uint8_t kHitachiAc1ModeOffset = 4;
137 const uint8_t kHitachiAc1ModeSize = 4; // Mask 0b11110000
138 const uint8_t kHitachiAc1Dry = 0b0010; // 2
139 const uint8_t kHitachiAc1Fan = 0b0100; // 4
140 const uint8_t kHitachiAc1Cool = 0b0110; // 6
141 const uint8_t kHitachiAc1Heat = 0b1001; // 9
142 const uint8_t kHitachiAc1Auto = 0b1110; // 14
144 const uint8_t kHitachiAc1FanOffset = 0;
145 const uint8_t kHitachiAc1FanSize = 4; // Mask 0b0001111
146 const uint8_t kHitachiAc1FanAuto = 1; // 0b0001
147 const uint8_t kHitachiAc1FanHigh = 2; // 0b0010
148 const uint8_t kHitachiAc1FanMed = 4; // 0b0100
149 const uint8_t kHitachiAc1FanLow = 8; // 0b1000
150 // Byte[6] (Temperature)
151 // Note: Temp is stored in LSB order.
152 const uint8_t kHitachiAc1TempByte = 6;
153 const uint8_t kHitachiAc1TempOffset = 2;
154 const uint8_t kHitachiAc1TempSize = 5; // Mask 0b01111100
155 const uint8_t kHitachiAc1TempDelta = 7;
156 const uint8_t kHitachiAc1TempAuto = 25; // Celsius
157 // Note: Timers are nr. of minutes & stored in LSB order.
158 // Byte[7-8] (Off Timer)
159 const uint8_t kHitachiAc1TimerSize = 16; // Mask 0b1111111111111111
160 const uint8_t kHitachiAc1OffTimerLowByte = 7;
161 const uint8_t kHitachiAc1OffTimerHighByte = 8;
162 // Byte[9-10] (On Timer)
163 const uint8_t kHitachiAc1OnTimerLowByte = 9;
164 const uint8_t kHitachiAc1OnTimerHighByte = 10;
165 // Byte[11] (Power/Swing/Sleep)
166 const uint8_t kHitachiAc1PowerByte = 11;
167 const uint8_t kHitachiAc1PowerOffset = 5; // Mask 0b00100000
168 const uint8_t kHitachiAc1PowerToggleOffset = 4; // Mask 0b00010000
170 const uint8_t kHitachiAc1SwingHOffset = 7; // Mask 0b10000000
171 const uint8_t kHitachiAc1SwingVOffset = 6; // Mask 0b01000000
172 const uint8_t kHitachiAc1SwingToggleOffset = 0; // Mask 0b00000001
174 const uint8_t kHitachiAc1SleepOffset = 1; // Mask 0b00001110
175 const uint8_t kHitachiAc1SleepSize = 3; // Mask 0b00001110
176 const uint8_t kHitachiAc1SleepOff = 0b000;
177 const uint8_t kHitachiAc1Sleep1 = 0b001;
178 const uint8_t kHitachiAc1Sleep2 = 0b010;
179 const uint8_t kHitachiAc1Sleep3 = 0b011;
180 const uint8_t kHitachiAc1Sleep4 = 0b100;
181 // Byte[12] (Checksum)
183 
184 
185 // Classes
188 class IRHitachiAc {
189  public:
190  explicit IRHitachiAc(const uint16_t pin, const bool inverted = false,
191  const bool use_modulation = true);
192  void stateReset(void);
193 #if SEND_HITACHI_AC
194  void send(const uint16_t repeat = kHitachiAcDefaultRepeat);
199  int8_t calibrate(void) { return _irsend.calibrate(); }
200 #endif // SEND_HITACHI_AC
201  void begin(void);
202  void on(void);
203  void off(void);
204  void setPower(const bool on);
205  bool getPower(void);
206  void setTemp(const uint8_t temp);
207  uint8_t getTemp(void);
208  void setFan(const uint8_t speed);
209  uint8_t getFan(void);
210  void setMode(const uint8_t mode);
211  uint8_t getMode(void);
212  void setSwingVertical(const bool on);
213  bool getSwingVertical(void);
214  void setSwingHorizontal(const bool on);
215  bool getSwingHorizontal(void);
216  uint8_t* getRaw(void);
217  void setRaw(const uint8_t new_code[],
218  const uint16_t length = kHitachiAcStateLength);
219  static bool validChecksum(const uint8_t state[],
220  const uint16_t length = kHitachiAcStateLength);
221  static uint8_t calcChecksum(const uint8_t state[],
222  const uint16_t length = kHitachiAcStateLength);
223  uint8_t convertMode(const stdAc::opmode_t mode);
224  uint8_t convertFan(const stdAc::fanspeed_t speed);
225  static stdAc::opmode_t toCommonMode(const uint8_t mode);
226  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
227  stdAc::state_t toCommon(void);
228  String toString(void);
229 #ifndef UNIT_TEST
230 
231  private:
233 #else // UNIT_TEST
234  IRsendTest _irsend;
236 #endif // UNIT_TEST
239  void checksum(const uint16_t length = kHitachiAcStateLength);
240  uint8_t _previoustemp;
241 };
242 
246  public:
247  explicit IRHitachiAc1(const uint16_t pin, const bool inverted = false,
248  const bool use_modulation = true);
249 
250  void stateReset(void);
251 #if SEND_HITACHI_AC1
252  void send(const uint16_t repeat = kHitachiAcDefaultRepeat);
257  int8_t calibrate(void) { return _irsend.calibrate(); }
258 #endif // SEND_HITACHI_AC1
259  void begin(void);
260  void on(void);
261  void off(void);
262  void setModel(const hitachi_ac1_remote_model_t model);
264  void setPower(const bool on);
265  bool getPower(void);
266  void setPowerToggle(const bool on);
267  bool getPowerToggle(void);
268  void setTemp(const uint8_t temp);
269  uint8_t getTemp(void);
270  void setFan(const uint8_t speed, const bool force = false);
271  uint8_t getFan(void);
272  void setMode(const uint8_t mode);
273  uint8_t getMode(void);
274  void setSwingToggle(const bool toggle);
275  bool getSwingToggle(void);
276  void setSwingV(const bool on);
277  bool getSwingV(void);
278  void setSwingH(const bool on);
279  bool getSwingH(void);
280  void setSleep(const uint8_t mode);
281  uint8_t getSleep(void);
282  void setOnTimer(const uint16_t mins);
283  uint16_t getOnTimer(void);
284  void setOffTimer(const uint16_t mins);
285  uint16_t getOffTimer(void);
286  uint8_t* getRaw(void);
287  void setRaw(const uint8_t new_code[],
288  const uint16_t length = kHitachiAc1StateLength);
289  static bool validChecksum(const uint8_t state[],
290  const uint16_t length = kHitachiAc1StateLength);
291  static uint8_t calcChecksum(const uint8_t state[],
292  const uint16_t length = kHitachiAc1StateLength);
293  uint8_t convertMode(const stdAc::opmode_t mode);
294  uint8_t convertFan(const stdAc::fanspeed_t speed);
295  static stdAc::opmode_t toCommonMode(const uint8_t mode);
296  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
297  stdAc::state_t toCommon(void);
298  String toString(void);
299 #ifndef UNIT_TEST
300 
301  private:
303 #else // UNIT_TEST
304  IRsendTest _irsend;
306 #endif // UNIT_TEST
309  void checksum(const uint16_t length = kHitachiAc1StateLength);
310 };
311 
314  friend class IRHitachiAc344;
315  public:
316  explicit IRHitachiAc424(const uint16_t pin, const bool inverted = false,
317  const bool use_modulation = true);
318  virtual void stateReset(void);
319 #if SEND_HITACHI_AC424
320  virtual void send(const uint16_t repeat = kHitachiAcDefaultRepeat);
325  int8_t calibrate(void) { return _irsend.calibrate(); }
326 #endif // SEND_HITACHI_AC424
327  void begin(void);
328  void on(void);
329  void off(void);
330  void setPower(const bool on);
331  bool getPower(void);
332  void setTemp(const uint8_t temp, bool setPrevious = true);
333  uint8_t getTemp(void);
334  void setFan(const uint8_t speed);
335  uint8_t getFan(void);
336  uint8_t getButton(void);
337  void setButton(const uint8_t button);
338  void setSwingVToggle(const bool on);
339  bool getSwingVToggle(void);
340  void setMode(const uint8_t mode);
341  uint8_t getMode(void);
342  uint8_t* getRaw(void);
343  virtual void setRaw(const uint8_t new_code[],
344  const uint16_t length = kHitachiAc424StateLength);
345  uint8_t convertMode(const stdAc::opmode_t mode);
346  uint8_t convertFan(const stdAc::fanspeed_t speed);
347  static stdAc::opmode_t toCommonMode(const uint8_t mode);
348  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
349  virtual stdAc::state_t toCommon(void);
350  String toString(void);
351 #ifndef UNIT_TEST
352 
353  private:
355 #else // UNIT_TEST
356  IRsendTest _irsend;
358 #endif // UNIT_TEST
361  void setInvertedStates(void);
362  String _toString(void);
363  uint8_t _previoustemp;
364 };
365 
368  public:
369  explicit IRHitachiAc3(const uint16_t pin, const bool inverted = false,
370  const bool use_modulation = true);
371 
372  void stateReset(void);
373 #if SEND_HITACHI_AC3
374  void send(const uint16_t repeat = kHitachiAcDefaultRepeat);
379  int8_t calibrate(void) { return _irsend.calibrate(); }
380 #endif // SEND_HITACHI_AC3
381  void begin(void);
382  uint8_t getMode(void);
383  uint8_t* getRaw(void);
384  void setRaw(const uint8_t new_code[],
385  const uint16_t length = kHitachiAc3StateLength);
386  static bool hasInvertedStates(const uint8_t state[], const uint16_t length);
387 #ifndef UNIT_TEST
388 
389  private:
391 #else // UNIT_TEST
392  IRsendTest _irsend;
394 #endif // UNIT_TEST
397  void setInvertedStates(const uint16_t length = kHitachiAc3StateLength);
398 };
399 
402  public:
403  explicit IRHitachiAc344(const uint16_t pin, const bool inverted = false,
404  const bool use_modulation = true);
405  void stateReset(void);
406  void setRaw(const uint8_t new_code[],
407  const uint16_t length = kHitachiAc344StateLength);
408  stdAc::state_t toCommon(void);
409 #if SEND_HITACHI_AC344
410  void send(const uint16_t repeat = kHitachiAcDefaultRepeat);
411 #endif // SEND_HITACHI_AC344
412  void setSwingV(const bool on);
413  bool getSwingV(void);
414  void setSwingH(const uint8_t position);
415  uint8_t getSwingH(void);
416  static uint8_t convertSwingH(const stdAc::swingh_t position);
417  static stdAc::swingh_t toCommonSwingH(const uint8_t pos);
418  String toString(void);
419 };
420 #endif // IR_HITACHI_H_
IRHitachiAc344::toCommon
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Hitachi.cpp:1583
IRHitachiAc424::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Hitachi.cpp:1088
IRHitachiAc424::_previoustemp
uint8_t _previoustemp
Definition: ir_Hitachi.h:363
kHitachiAc424Fan
const uint8_t kHitachiAc424Fan
Definition: ir_Hitachi.h:82
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:450
kHitachiAc1TempOffset
const uint8_t kHitachiAc1TempOffset
Definition: ir_Hitachi.h:153
kHitachiAc424ButtonByte
const uint8_t kHitachiAc424ButtonByte
Definition: ir_Hitachi.h:56
kHitachiAc1Fan
const uint8_t kHitachiAc1Fan
Definition: ir_Hitachi.h:139
IRHitachiAc424::getFan
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Hitachi.cpp:1150
kHitachiAc344SwingHRightMax
const uint8_t kHitachiAc344SwingHRightMax
Definition: ir_Hitachi.h:116
IRHitachiAc3::IRHitachiAc3
IRHitachiAc3(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Hitachi.cpp:1379
IRHitachiAc424::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Hitachi.cpp:1108
kHitachiAcMinTemp
const uint8_t kHitachiAcMinTemp
Definition: ir_Hitachi.h:48
IRHitachiAc::getSwingVertical
bool getSwingVertical(void)
Get the Vertical Swing setting of the A/C.
Definition: ir_Hitachi.cpp:300
kHitachiAc344SwingVOffset
const uint8_t kHitachiAc344SwingVOffset
Definition: ir_Hitachi.h:124
IRHitachiAc::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_Hitachi.cpp:365
IRHitachiAc1::getTemp
uint8_t getTemp(void)
Get the current temperature setting.
Definition: ir_Hitachi.cpp:595
IRHitachiAc1::getSleep
uint8_t getSleep(void)
Get the Sleep setting of the A/C.
Definition: ir_Hitachi.cpp:692
IRHitachiAc424::_irsend
IRsend _irsend
Instance of the IR send class.
Definition: ir_Hitachi.h:354
IRHitachiAc424::setTemp
void setTemp(const uint8_t temp, bool setPrevious=true)
Set the temperature.
Definition: ir_Hitachi.cpp:1135
kHitachiAcMaxTemp
const uint8_t kHitachiAcMaxTemp
Definition: ir_Hitachi.h:49
IRHitachiAc1::setSleep
void setSleep(const uint8_t mode)
Set the Sleep setting of the A/C.
Definition: ir_Hitachi.cpp:700
IRHitachiAc::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Hitachi.cpp:140
kHitachiAc1PowerOffset
const uint8_t kHitachiAc1PowerOffset
Definition: ir_Hitachi.h:167
IRHitachiAc424::off
void off(void)
Change the power setting to Off.
Definition: ir_Hitachi.cpp:1098
kHitachiAcAuto
const uint8_t kHitachiAcAuto
Definition: ir_Hitachi.h:39
IRHitachiAc3::_irsend
IRsend _irsend
Instance of the IR send class.
Definition: ir_Hitachi.h:390
IRHitachiAc1::getSwingToggle
bool getSwingToggle(void)
Get the Swing Toggle setting of the A/C.
Definition: ir_Hitachi.cpp:653
kHitachiAc344ButtonFan
const uint8_t kHitachiAc344ButtonFan
Definition: ir_Hitachi.h:64
kHitachiAc1Model_A
const uint8_t kHitachiAc1Model_A
Definition: ir_Hitachi.h:130
kHitachiAc344ButtonPowerMode
const uint8_t kHitachiAc344ButtonPowerMode
Definition: ir_Hitachi.h:63
IRHitachiAc::setFan
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Hitachi.cpp:281
IRHitachiAc1::setPowerToggle
void setPowerToggle(const bool on)
Change the power toggle setting.
Definition: ir_Hitachi.cpp:550
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:1556
IRHitachiAc1::checksum
void checksum(const uint16_t length=kHitachiAc1StateLength)
Calculate and set the checksum values for the internal state.
Definition: ir_Hitachi.cpp:464
kHitachiAcStateLength
const uint16_t kHitachiAcStateLength
Definition: IRremoteESP8266.h:917
kHitachiAcPowerOffset
const uint8_t kHitachiAcPowerOffset
Definition: ir_Hitachi.h:51
stdAc::fanspeed_t
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
kHitachiAc344SwingHRight
const uint8_t kHitachiAc344SwingHRight
Definition: ir_Hitachi.h:117
IRHitachiAc3::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Hitachi.cpp:1420
IRHitachiAc3::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Hitachi.h:379
IRHitachiAc::setSwingVertical
void setSwingVertical(const bool on)
Set the Vertical Swing setting of the A/C.
Definition: ir_Hitachi.cpp:306
IRHitachiAc1::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Hitachi.cpp:429
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:318
IRHitachiAc424::setFan
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Hitachi.cpp:1156
kHitachiAc1ModeOffset
const uint8_t kHitachiAc1ModeOffset
Definition: ir_Hitachi.h:136
kHitachiAc1StateLength
const uint16_t kHitachiAc1StateLength
Definition: IRremoteESP8266.h:920
IRHitachiAc424::setSwingVToggle
void setSwingVToggle(const bool on)
Set the Vertical Swing toggle setting of the A/C.
Definition: ir_Hitachi.cpp:1203
kHitachiAc1ChecksumStartByte
const uint8_t kHitachiAc1ChecksumStartByte
Definition: ir_Hitachi.h:182
kHitachiAc344SwingHSize
const uint8_t kHitachiAc344SwingHSize
Definition: ir_Hitachi.h:114
kHitachiAc344FanHigh
const uint8_t kHitachiAc344FanHigh
Definition: ir_Hitachi.h:102
IRHitachiAc1::setOnTimer
void setOnTimer(const uint16_t mins)
Set the On Timer time.
Definition: ir_Hitachi.cpp:715
kHitachiAcFanHigh
const uint8_t kHitachiAcFanHigh
Definition: ir_Hitachi.h:47
kHitachiAc1Sleep3
const uint8_t kHitachiAc1Sleep3
Definition: ir_Hitachi.h:179
kHitachiAc1TimerSize
const uint8_t kHitachiAc1TimerSize
Definition: ir_Hitachi.h:159
kHitachiAc1ModeSize
const uint8_t kHitachiAc1ModeSize
Definition: ir_Hitachi.h:137
IRHitachiAc1::getMode
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Hitachi.cpp:562
IRHitachiAc344::stateReset
void stateReset(void)
Reset the internal state to auto fan, cooling, 23° Celsius.
Definition: ir_Hitachi.cpp:1501
kHitachiAc344Fan
const uint8_t kHitachiAc344Fan
Definition: ir_Hitachi.h:86
IRHitachiAc::getMode
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Hitachi.cpp:229
IRHitachiAc424
Class for handling detailed Hitachi 53-byte/424-bit A/C messages.
Definition: ir_Hitachi.h:313
IRHitachiAc424::setInvertedStates
void setInvertedStates(void)
Update the internal consistency check for the protocol.
Definition: ir_Hitachi.cpp:1051
IRHitachiAc1::IRHitachiAc1
IRHitachiAc1(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Hitachi.cpp:424
IRHitachiAc1::send
void send(const uint16_t repeat=kHitachiAcDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Hitachi.cpp:494
kHitachiAc1Sleep1
const uint8_t kHitachiAc1Sleep1
Definition: ir_Hitachi.h:177
IRHitachiAc::IRHitachiAc
IRHitachiAc(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Hitachi.cpp:135
kHitachiAc344SwingHOffset
const uint8_t kHitachiAc344SwingHOffset
Definition: ir_Hitachi.h:113
IRsend.h
kHitachiAc1Auto
const uint8_t kHitachiAc1Auto
Definition: ir_Hitachi.h:142
IRHitachiAc344::setSwingV
void setSwingV(const bool on)
Control the vertical swing setting.
Definition: ir_Hitachi.cpp:1524
kHitachiAc344MaxTemp
const uint8_t kHitachiAc344MaxTemp
Definition: ir_Hitachi.h:77
kHitachiAc3StateLength
const uint16_t kHitachiAc3StateLength
Definition: IRremoteESP8266.h:924
IRHitachiAc1::getSwingV
bool getSwingV(void)
Get the Vertical Swing setting of the A/C.
Definition: ir_Hitachi.cpp:667
hitachi_ac1_remote_model_t
hitachi_ac1_remote_model_t
HITACHI_AC1 A/C model numbers.
Definition: IRsend.h:135
IRHitachiAc424::getButton
uint8_t getButton(void)
Get the Button/Command setting of the A/C.
Definition: ir_Hitachi.cpp:1189
IRHitachiAc1::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Hitachi.h:257
kHitachiAc424ButtonSwingH
const uint8_t kHitachiAc424ButtonSwingH
Definition: ir_Hitachi.h:62
kHitachiAc424PowerByte
const uint8_t kHitachiAc424PowerByte
Definition: ir_Hitachi.h:107
kHitachiAc424ButtonTempDown
const uint8_t kHitachiAc424ButtonTempDown
Definition: ir_Hitachi.h:59
IRHitachiAc344::send
void send(const uint16_t repeat=kHitachiAcDefaultRepeat)
Create and send the IR message to the A/C.
Definition: ir_Hitachi.cpp:1510
IRsend
Class for sending all basic IR protocols.
Definition: IRsend.h:176
kHitachiAc344SwingHAuto
const uint8_t kHitachiAc344SwingHAuto
Definition: ir_Hitachi.h:115
IRHitachiAc1::setSwingH
void setSwingH(const bool on)
Set the Horizontal Swing setting of the A/C.
Definition: ir_Hitachi.cpp:685
kHitachiAc344Heat
const uint8_t kHitachiAc344Heat
Definition: ir_Hitachi.h:89
IRHitachiAc
Class for handling detailed Hitachi 224-bit A/C messages.
Definition: ir_Hitachi.h:188
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:120
kHitachiAc424TempSize
const uint8_t kHitachiAc424TempSize
Definition: ir_Hitachi.h:73
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:472
IRHitachiAc1::convertMode
uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Hitachi.cpp:748
kHitachiAc1FanLow
const uint8_t kHitachiAc1FanLow
Definition: ir_Hitachi.h:149
IRHitachiAc344
Class for handling detailed Hitachi 344-bit A/C messages.
Definition: ir_Hitachi.h:401
kHitachiAc424MinTemp
const uint8_t kHitachiAc424MinTemp
Definition: ir_Hitachi.h:74
kHitachiAc344FanAuto
const uint8_t kHitachiAc344FanAuto
Definition: ir_Hitachi.h:103
String
std::string String
Definition: IRremoteESP8266.h:1128
kHitachiAc1Model_B
const uint8_t kHitachiAc1Model_B
Definition: ir_Hitachi.h:131
IRHitachiAc::convertFan
uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Hitachi.cpp:338
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:165
kHitachiAc1FanHigh
const uint8_t kHitachiAc1FanHigh
Definition: ir_Hitachi.h:147
kHitachiAc1SleepSize
const uint8_t kHitachiAc1SleepSize
Definition: ir_Hitachi.h:175
kHitachiAc424ButtonSwingV
const uint8_t kHitachiAc424ButtonSwingV
Definition: ir_Hitachi.h:61
kHitachiAcDry
const uint8_t kHitachiAcDry
Definition: ir_Hitachi.h:42
IRHitachiAc424::setButton
void setButton(const uint8_t button)
Set the Button/Command pressed setting of the A/C.
Definition: ir_Hitachi.cpp:1195
kHitachiAc1Sleep2
const uint8_t kHitachiAc1Sleep2
Definition: ir_Hitachi.h:178
IRHitachiAc344::toString
String toString(void)
Convert the internal state into a human readable string.
Definition: ir_Hitachi.cpp:1593
kHitachiAc424ButtonTempUp
const uint8_t kHitachiAc424ButtonTempUp
Definition: ir_Hitachi.h:60
IRHitachiAc3::stateReset
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Hitachi.cpp:1385
kHitachiAc1PowerByte
const uint8_t kHitachiAc1PowerByte
Definition: ir_Hitachi.h:166
IRHitachiAc424::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Hitachi.cpp:1060
IRHitachiAc344::getSwingV
bool getSwingV(void)
Get the current vertical swing setting.
Definition: ir_Hitachi.cpp:1531
kHitachiAc1SwingVOffset
const uint8_t kHitachiAc1SwingVOffset
Definition: ir_Hitachi.h:171
kHitachiAc424ButtonFan
const uint8_t kHitachiAc424ButtonFan
Definition: ir_Hitachi.h:58
IRHitachiAc::getFan
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Hitachi.cpp:277
kHitachiAcFanAuto
const uint8_t kHitachiAcFanAuto
Definition: ir_Hitachi.h:44
kHitachiAc1OffTimerHighByte
const uint8_t kHitachiAc1OffTimerHighByte
Definition: ir_Hitachi.h:161
kHitachiAc344Dry
const uint8_t kHitachiAc344Dry
Definition: ir_Hitachi.h:88
IRHitachiAc1::getModel
hitachi_ac1_remote_model_t getModel(void)
Get/Detect the model of the A/C.
Definition: ir_Hitachi.cpp:504
IRHitachiAc3
Class for handling detailed Hitachi 15to27-byte/120to216-bit A/C messages.
Definition: ir_Hitachi.h:367
IRremoteESP8266.h
stdAc::swingh_t
swingh_t
Common A/C settings for Horizontal Swing.
Definition: IRsend.h:83
IRHitachiAc1::setModel
void setModel(const hitachi_ac1_remote_model_t model)
Set the model of the A/C to emulate.
Definition: ir_Hitachi.cpp:514
kHitachiAc344FanLow
const uint8_t kHitachiAc344FanLow
Definition: ir_Hitachi.h:100
kHitachiAc424FanMaxDry
const uint8_t kHitachiAc424FanMaxDry
Definition: ir_Hitachi.h:98
kHitachiAc424FanHigh
const uint8_t kHitachiAc424FanHigh
Definition: ir_Hitachi.h:95
IRHitachiAc1::setSwingToggle
void setSwingToggle(const bool toggle)
Set the Swing toggle setting of the A/C.
Definition: ir_Hitachi.cpp:660
IRHitachiAc1::getPower
bool getPower(void)
Get the value of the current power setting.
Definition: ir_Hitachi.cpp:529
IRHitachiAc1
Class for handling detailed Hitachi 104-bit A/C messages.
Definition: ir_Hitachi.h:245
kHitachiAc344SwingHLeft
const uint8_t kHitachiAc344SwingHLeft
Definition: ir_Hitachi.h:119
IRHitachiAc1::getPowerToggle
bool getPowerToggle(void)
Get the value of the current power toggle setting.
Definition: ir_Hitachi.cpp:543
IRHitachiAc424::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_Hitachi.cpp:1249
IRHitachiAc1::on
void on(void)
Change the power setting to On.
Definition: ir_Hitachi.cpp:555
kHitachiAc1TempSize
const uint8_t kHitachiAc1TempSize
Definition: ir_Hitachi.h:154
kHitachiAc1SleepByte
const uint8_t kHitachiAc1SleepByte
Definition: ir_Hitachi.h:173
IRHitachiAc424::convertFan
uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Hitachi.cpp:1235
kHitachiAc1FanSize
const uint8_t kHitachiAc1FanSize
Definition: ir_Hitachi.h:145
kHitachiAcFanMed
const uint8_t kHitachiAcFanMed
Definition: ir_Hitachi.h:46
IRHitachiAc1::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Hitachi.cpp:603
IRHitachiAc::on
void on(void)
Change the power setting to On.
Definition: ir_Hitachi.cpp:222
kHitachiAc424ModeByte
const uint8_t kHitachiAc424ModeByte
Definition: ir_Hitachi.h:81
IRHitachiAc3::getMode
uint8_t getMode(void)
IRHitachiAc::convertMode
uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Hitachi.cpp:325
kHitachiAc1OnTimerLowByte
const uint8_t kHitachiAc1OnTimerLowByte
Definition: ir_Hitachi.h:163
kHitachiAc344SwingHByte
const uint8_t kHitachiAc344SwingHByte
Definition: ir_Hitachi.h:112
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:1414
IRHitachiAc::toString
String toString(void)
Convert the current internal state into a human readable string.
Definition: ir_Hitachi.cpp:405
kHitachiAc424StateLength
const uint16_t kHitachiAc424StateLength
Definition: IRremoteESP8266.h:930
IRHitachiAc3::remote_state
uint8_t remote_state[kHitachiAc3StateLength]
The state in native code.
Definition: ir_Hitachi.h:396
IRHitachiAc1::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_Hitachi.cpp:775
IRHitachiAc::off
void off(void)
Change the power setting to Off.
Definition: ir_Hitachi.cpp:225
kHitachiAc1Heat
const uint8_t kHitachiAc1Heat
Definition: ir_Hitachi.h:141
kHitachiAc1TempByte
const uint8_t kHitachiAc1TempByte
Definition: ir_Hitachi.h:152
kHitachiAcFreq
const uint16_t kHitachiAcFreq
Definition: ir_Hitachi.h:38
IRHitachiAc424::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Hitachi.h:325
kHitachiAc1SleepOffset
const uint8_t kHitachiAc1SleepOffset
Definition: ir_Hitachi.h:174
IRHitachiAc1::getOffTimer
uint16_t getOffTimer(void)
Get the Off Timer vtime of the A/C.
Definition: ir_Hitachi.cpp:739
IRHitachiAc424::getTemp
uint8_t getTemp(void)
Get the current temperature setting.
Definition: ir_Hitachi.cpp:1127
kHitachiAc424TempByte
const uint8_t kHitachiAc424TempByte
Definition: ir_Hitachi.h:71
IRHitachiAc::remote_state
uint8_t remote_state[kHitachiAcStateLength]
The state in native code.
Definition: ir_Hitachi.h:238
kHitachiAcFanLow
const uint8_t kHitachiAcFanLow
Definition: ir_Hitachi.h:45
kHitachiAc344FanMin
const uint8_t kHitachiAc344FanMin
Definition: ir_Hitachi.h:99
kHitachiAc424FanAuto
const uint8_t kHitachiAc424FanAuto
Definition: ir_Hitachi.h:96
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:197
kHitachiAc1FanMed
const uint8_t kHitachiAc1FanMed
Definition: ir_Hitachi.h:148
kHitachiAc424FanByte
const uint8_t kHitachiAc424FanByte
Definition: ir_Hitachi.h:91
IRHitachiAc1::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Hitachi.cpp:535
IRHitachiAc::getPower
bool getPower(void)
Get the value of the current power setting.
Definition: ir_Hitachi.cpp:211
IRHitachiAc424::IRHitachiAc424
IRHitachiAc424(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Hitachi.cpp:1020
kHitachiAcCool
const uint8_t kHitachiAcCool
Definition: ir_Hitachi.h:41
kHitachiAc1Sleep4
const uint8_t kHitachiAc1Sleep4
Definition: ir_Hitachi.h:180
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:1570
kHitachiAc1FanOffset
const uint8_t kHitachiAc1FanOffset
Definition: ir_Hitachi.h:144
kHitachiAc1SwingToggleOffset
const uint8_t kHitachiAc1SwingToggleOffset
Definition: ir_Hitachi.h:172
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:487
kHitachiAcHeat
const uint8_t kHitachiAcHeat
Definition: ir_Hitachi.h:40
IRHitachiAc424::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Hitachi.cpp:1056
IRHitachiAc424::IRHitachiAc344
friend class IRHitachiAc344
Definition: ir_Hitachi.h:314
kHitachiAc1FanByte
const uint8_t kHitachiAc1FanByte
Definition: ir_Hitachi.h:143
kHitachiAc424MaxTemp
const uint8_t kHitachiAc424MaxTemp
Definition: ir_Hitachi.h:75
IRHitachiAc1::remote_state
uint8_t remote_state[kHitachiAc1StateLength]
The state in native code.
Definition: ir_Hitachi.h:308
IRHitachiAc::toCommon
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Hitachi.cpp:377
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:1405
kHitachiAc344StateLength
const uint16_t kHitachiAc344StateLength
Definition: IRremoteESP8266.h:928
IRHitachiAc::_irsend
IRsend _irsend
Instance of the IR send class.
Definition: ir_Hitachi.h:232
kHitachiAc1SwingHOffset
const uint8_t kHitachiAc1SwingHOffset
Definition: ir_Hitachi.h:170
IRHitachiAc::send
void send(const uint16_t repeat=kHitachiAcDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Hitachi.cpp:204
kHitachiAc424FanTemp
const uint8_t kHitachiAc424FanTemp
Definition: ir_Hitachi.h:78
kHitachiAc1Cool
const uint8_t kHitachiAc1Cool
Definition: ir_Hitachi.h:140
IRHitachiAc424::remote_state
uint8_t remote_state[kHitachiAc424StateLength]
The state in native code.
Definition: ir_Hitachi.h:360
IRHitachiAc1::getFan
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Hitachi.cpp:615
IRHitachiAc::_previoustemp
uint8_t _previoustemp
Definition: ir_Hitachi.h:240
kHitachiAc1FanAuto
const uint8_t kHitachiAc1FanAuto
Definition: ir_Hitachi.h:146
IRHitachiAc::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Hitachi.cpp:159
kHitachiAc424TempOffset
const uint8_t kHitachiAc424TempOffset
Definition: ir_Hitachi.h:72
kHitachiAc1ModelByte
const uint8_t kHitachiAc1ModelByte
Definition: ir_Hitachi.h:128
kHitachiAc424PowerOff
const uint8_t kHitachiAc424PowerOff
Definition: ir_Hitachi.h:109
kHitachiAc1PowerToggleOffset
const uint8_t kHitachiAc1PowerToggleOffset
Definition: ir_Hitachi.h:168
kHitachiAc424FanMin
const uint8_t kHitachiAc424FanMin
Definition: ir_Hitachi.h:92
IRHitachiAc424::getMode
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Hitachi.cpp:1102
IRHitachiAc424::stateReset
virtual void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Hitachi.cpp:1026
kHitachiAc344FanMax
const uint8_t kHitachiAc344FanMax
Definition: ir_Hitachi.h:104
IRHitachiAc1::_irsend
IRsend _irsend
Instance of the IR send class.
Definition: ir_Hitachi.h:302
kHitachiAc1ModelOffset
const uint8_t kHitachiAc1ModelOffset
Definition: ir_Hitachi.h:129
IRHitachiAc::getTemp
uint8_t getTemp(void)
Get the current temperature setting.
Definition: ir_Hitachi.cpp:251
kHitachiAc424Dry
const uint8_t kHitachiAc424Dry
Definition: ir_Hitachi.h:84
IRHitachiAc344::setSwingH
void setSwingH(const uint8_t position)
Control the horizontal swing setting.
Definition: ir_Hitachi.cpp:1538
IRHitachiAc1::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Hitachi.cpp:569
kHitachiAcDefaultRepeat
const uint16_t kHitachiAcDefaultRepeat
Definition: IRremoteESP8266.h:919
kHitachiAc424PowerOn
const uint8_t kHitachiAc424PowerOn
Definition: ir_Hitachi.h:108
kHitachiAc344SwingVByte
const uint8_t kHitachiAc344SwingVByte
Definition: ir_Hitachi.h:123
IRHitachiAc424::toString
String toString(void)
Convert the internal state into a human readable string.
Definition: ir_Hitachi.cpp:1344
kHitachiAc344SwingHMiddle
const uint8_t kHitachiAc344SwingHMiddle
Definition: ir_Hitachi.h:118
IRHitachiAc::checksum
void checksum(const uint16_t length=kHitachiAcStateLength)
Calculate and set the checksum values for the internal state.
Definition: ir_Hitachi.cpp:174
IRHitachiAc424::convertMode
uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Hitachi.cpp:1222
IRHitachiAc1::getOnTimer
uint16_t getOnTimer(void)
Get the On Timer vtime of the A/C.
Definition: ir_Hitachi.cpp:723
IRHitachiAc1::setFan
void setFan(const uint8_t speed, const bool force=false)
Set the speed of the fan.
Definition: ir_Hitachi.cpp:623
IRHitachiAc1::convertFan
uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Hitachi.cpp:761
IRHitachiAc1::toString
String toString(void)
Convert the current internal state into a human readable string.
Definition: ir_Hitachi.cpp:827
IRHitachiAc1::setSwingV
void setSwingV(const bool on)
Set the Vertical Swing setting of the A/C.
Definition: ir_Hitachi.cpp:673
kHitachiAc1SwingByte
const uint8_t kHitachiAc1SwingByte
Definition: ir_Hitachi.h:169
kHitachiAc1ModeByte
const uint8_t kHitachiAc1ModeByte
Definition: ir_Hitachi.h:135
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:182
kHitachiAc424FanMedium
const uint8_t kHitachiAc424FanMedium
Definition: ir_Hitachi.h:94
kHitachiAc344ButtonTempUp
const uint8_t kHitachiAc344ButtonTempUp
Definition: ir_Hitachi.h:66
IRHitachiAc::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_Hitachi.cpp:352
kHitachiAc424Cool
const uint8_t kHitachiAc424Cool
Definition: ir_Hitachi.h:83
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:1432
kHitachiAcFan
const uint8_t kHitachiAcFan
Definition: ir_Hitachi.h:43
IRHitachiAc3::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Hitachi.cpp:1424
IRHitachiAc1::toCommon
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Hitachi.cpp:799
IRHitachiAc1::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Hitachi.cpp:444
kHitachiAc1OnTimerHighByte
const uint8_t kHitachiAc1OnTimerHighByte
Definition: ir_Hitachi.h:164
IRHitachiAc::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Hitachi.cpp:189
IRHitachiAc1::setOffTimer
void setOffTimer(const uint16_t mins)
Set the Off Timer time.
Definition: ir_Hitachi.cpp:731
IRHitachiAc1::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_Hitachi.cpp:788
IRHitachiAc424::send
virtual void send(const uint16_t repeat=kHitachiAcDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Hitachi.cpp:1075
kHitachiAc344ButtonSwingH
const uint8_t kHitachiAc344ButtonSwingH
Definition: ir_Hitachi.h:68
IRHitachiAc::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Hitachi.cpp:217
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:1068
kHitachiAc424FanLow
const uint8_t kHitachiAc424FanLow
Definition: ir_Hitachi.h:93
kHitachiAcAutoTemp
const uint8_t kHitachiAcAutoTemp
Definition: ir_Hitachi.h:50
IRHitachiAc::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Hitachi.h:199
IRHitachiAc344::setRaw
void setRaw(const uint8_t new_code[], const uint16_t length=kHitachiAc344StateLength)
Set the internal state from a valid code for this protocol.
Definition: ir_Hitachi.cpp:1518
kHitachiAc344FanMedium
const uint8_t kHitachiAc344FanMedium
Definition: ir_Hitachi.h:101
kHitachiAc1Dry
const uint8_t kHitachiAc1Dry
Definition: ir_Hitachi.h:138
IRHitachiAc1::getSwingH
bool getSwingH(void)
Get the Horizontal Swing setting of the A/C.
Definition: ir_Hitachi.cpp:679
IRHitachiAc::getSwingHorizontal
bool getSwingHorizontal(void)
Get the Horizontal Swing setting of the A/C.
Definition: ir_Hitachi.cpp:312
kHitachiAc344Cool
const uint8_t kHitachiAc344Cool
Definition: ir_Hitachi.h:87
kHitachiAc424FanMax
const uint8_t kHitachiAc424FanMax
Definition: ir_Hitachi.h:97
kHitachiAc424Heat
const uint8_t kHitachiAc424Heat
Definition: ir_Hitachi.h:85
IRHitachiAc424::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_Hitachi.cpp:1262
IRHitachiAc::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Hitachi.cpp:233
kHitachiAc1ModelSize
const uint8_t kHitachiAc1ModelSize
Definition: ir_Hitachi.h:132
stdAc::state_t
Structure to hold a common A/C state.
Definition: IRsend.h:97
kHitachiAc344ButtonTempDown
const uint8_t kHitachiAc344ButtonTempDown
Definition: ir_Hitachi.h:65
kHitachiAc424ButtonPowerMode
const uint8_t kHitachiAc424ButtonPowerMode
Definition: ir_Hitachi.h:57
kHitachiAc1TempAuto
const uint8_t kHitachiAc1TempAuto
Definition: ir_Hitachi.h:156
kHitachiAc1OffTimerLowByte
const uint8_t kHitachiAc1OffTimerLowByte
Definition: ir_Hitachi.h:160
kHitachiAc344MinTemp
const uint8_t kHitachiAc344MinTemp
Definition: ir_Hitachi.h:76
kHitachiAc1TempDelta
const uint8_t kHitachiAc1TempDelta
Definition: ir_Hitachi.h:155
IRHitachiAc424::on
void on(void)
Change the power setting to On.
Definition: ir_Hitachi.cpp:1095
kHitachiAcSwingOffset
const uint8_t kHitachiAcSwingOffset
Definition: ir_Hitachi.h:52
IRHitachiAc1::off
void off(void)
Change the power setting to Off.
Definition: ir_Hitachi.cpp:558
IRHitachiAc424::getPower
bool getPower(void)
Get the value of the current power setting.
Definition: ir_Hitachi.cpp:1082
IRHitachiAc1::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Hitachi.cpp:479
kHitachiAc344ButtonSwingV
const uint8_t kHitachiAc344ButtonSwingV
Definition: ir_Hitachi.h:67
kHitachiAc1SleepOff
const uint8_t kHitachiAc1SleepOff
Definition: ir_Hitachi.h:176
IRHitachiAc::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Hitachi.cpp:257
IRHitachiAc424::toCommon
virtual stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Hitachi.cpp:1275
IRHitachiAc344::getSwingH
uint8_t getSwingH(void)
Get the current horizontal swing setting.
Definition: ir_Hitachi.cpp:1548
IRHitachiAc424::_toString
String _toString(void)
Convert the internal state into a human readable string for the settings that are common to protocols...
Definition: ir_Hitachi.cpp:1303
IRHitachiAc424::getSwingVToggle
bool getSwingVToggle(void)
Get the Vertical Swing toggle setting of the A/C.
Definition: ir_Hitachi.cpp:1215
stdAc::opmode_t
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46