Go to the documentation of this file.
26 #define __STDC_LIMIT_MACROS
34 #include "IRsend_test.h"
190 explicit IRHitachiAc(
const uint16_t pin,
const bool inverted =
false,
191 const bool use_modulation =
true);
200 #endif // SEND_HITACHI_AC
206 void setTemp(
const uint8_t temp);
208 void setFan(
const uint8_t speed);
210 void setMode(
const uint8_t mode);
217 void setRaw(
const uint8_t new_code[],
247 explicit IRHitachiAc1(
const uint16_t pin,
const bool inverted =
false,
248 const bool use_modulation =
true);
258 #endif // SEND_HITACHI_AC1
268 void setTemp(
const uint8_t temp);
270 void setFan(
const uint8_t speed,
const bool force =
false);
272 void setMode(
const uint8_t mode);
287 void setRaw(
const uint8_t new_code[],
316 explicit IRHitachiAc424(
const uint16_t pin,
const bool inverted =
false,
317 const bool use_modulation =
true);
319 #if SEND_HITACHI_AC424
326 #endif // SEND_HITACHI_AC424
332 void setTemp(
const uint8_t temp,
bool setPrevious =
true);
334 void setFan(
const uint8_t speed);
340 void setMode(
const uint8_t mode);
343 virtual void setRaw(
const uint8_t new_code[],
369 explicit IRHitachiAc3(
const uint16_t pin,
const bool inverted =
false,
370 const bool use_modulation =
true);
380 #endif // SEND_HITACHI_AC3
384 void setRaw(
const uint8_t new_code[],
403 explicit IRHitachiAc344(
const uint16_t pin,
const bool inverted =
false,
404 const bool use_modulation =
true);
406 void setRaw(
const uint8_t new_code[],
409 #if SEND_HITACHI_AC344
411 #endif // SEND_HITACHI_AC344
420 #endif // IR_HITACHI_H_
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Hitachi.cpp:1583
void setPower(const bool on)
Change the power setting.
Definition: ir_Hitachi.cpp:1088
uint8_t _previoustemp
Definition: ir_Hitachi.h:363
const uint8_t kHitachiAc424Fan
Definition: ir_Hitachi.h:82
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
const uint8_t kHitachiAc1TempOffset
Definition: ir_Hitachi.h:153
const uint8_t kHitachiAc424ButtonByte
Definition: ir_Hitachi.h:56
const uint8_t kHitachiAc1Fan
Definition: ir_Hitachi.h:139
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Hitachi.cpp:1150
const uint8_t kHitachiAc344SwingHRightMax
Definition: ir_Hitachi.h:116
IRHitachiAc3(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Hitachi.cpp:1379
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Hitachi.cpp:1108
const uint8_t kHitachiAcMinTemp
Definition: ir_Hitachi.h:48
bool getSwingVertical(void)
Get the Vertical Swing setting of the A/C.
Definition: ir_Hitachi.cpp:300
const uint8_t kHitachiAc344SwingVOffset
Definition: ir_Hitachi.h:124
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_Hitachi.cpp:365
uint8_t getTemp(void)
Get the current temperature setting.
Definition: ir_Hitachi.cpp:595
uint8_t getSleep(void)
Get the Sleep setting of the A/C.
Definition: ir_Hitachi.cpp:692
IRsend _irsend
Instance of the IR send class.
Definition: ir_Hitachi.h:354
void setTemp(const uint8_t temp, bool setPrevious=true)
Set the temperature.
Definition: ir_Hitachi.cpp:1135
const uint8_t kHitachiAcMaxTemp
Definition: ir_Hitachi.h:49
void setSleep(const uint8_t mode)
Set the Sleep setting of the A/C.
Definition: ir_Hitachi.cpp:700
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Hitachi.cpp:140
const uint8_t kHitachiAc1PowerOffset
Definition: ir_Hitachi.h:167
void off(void)
Change the power setting to Off.
Definition: ir_Hitachi.cpp:1098
const uint8_t kHitachiAcAuto
Definition: ir_Hitachi.h:39
IRsend _irsend
Instance of the IR send class.
Definition: ir_Hitachi.h:390
bool getSwingToggle(void)
Get the Swing Toggle setting of the A/C.
Definition: ir_Hitachi.cpp:653
const uint8_t kHitachiAc344ButtonFan
Definition: ir_Hitachi.h:64
const uint8_t kHitachiAc1Model_A
Definition: ir_Hitachi.h:130
const uint8_t kHitachiAc344ButtonPowerMode
Definition: ir_Hitachi.h:63
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Hitachi.cpp:281
void setPowerToggle(const bool on)
Change the power toggle setting.
Definition: ir_Hitachi.cpp:550
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
void checksum(const uint16_t length=kHitachiAc1StateLength)
Calculate and set the checksum values for the internal state.
Definition: ir_Hitachi.cpp:464
const uint16_t kHitachiAcStateLength
Definition: IRremoteESP8266.h:917
const uint8_t kHitachiAcPowerOffset
Definition: ir_Hitachi.h:51
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
const uint8_t kHitachiAc344SwingHRight
Definition: ir_Hitachi.h:117
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Hitachi.cpp:1420
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Hitachi.h:379
void setSwingVertical(const bool on)
Set the Vertical Swing setting of the A/C.
Definition: ir_Hitachi.cpp:306
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Hitachi.cpp:429
void send(const uint16_t repeat=kHitachiAcDefaultRepeat)
void setSwingHorizontal(const bool on)
Set the Horizontal Swing setting of the A/C.
Definition: ir_Hitachi.cpp:318
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Hitachi.cpp:1156
const uint8_t kHitachiAc1ModeOffset
Definition: ir_Hitachi.h:136
const uint16_t kHitachiAc1StateLength
Definition: IRremoteESP8266.h:920
void setSwingVToggle(const bool on)
Set the Vertical Swing toggle setting of the A/C.
Definition: ir_Hitachi.cpp:1203
const uint8_t kHitachiAc1ChecksumStartByte
Definition: ir_Hitachi.h:182
const uint8_t kHitachiAc344SwingHSize
Definition: ir_Hitachi.h:114
const uint8_t kHitachiAc344FanHigh
Definition: ir_Hitachi.h:102
void setOnTimer(const uint16_t mins)
Set the On Timer time.
Definition: ir_Hitachi.cpp:715
const uint8_t kHitachiAcFanHigh
Definition: ir_Hitachi.h:47
const uint8_t kHitachiAc1Sleep3
Definition: ir_Hitachi.h:179
const uint8_t kHitachiAc1TimerSize
Definition: ir_Hitachi.h:159
const uint8_t kHitachiAc1ModeSize
Definition: ir_Hitachi.h:137
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Hitachi.cpp:562
void stateReset(void)
Reset the internal state to auto fan, cooling, 23° Celsius.
Definition: ir_Hitachi.cpp:1501
const uint8_t kHitachiAc344Fan
Definition: ir_Hitachi.h:86
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Hitachi.cpp:229
Class for handling detailed Hitachi 53-byte/424-bit A/C messages.
Definition: ir_Hitachi.h:313
void setInvertedStates(void)
Update the internal consistency check for the protocol.
Definition: ir_Hitachi.cpp:1051
IRHitachiAc1(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Hitachi.cpp:424
void send(const uint16_t repeat=kHitachiAcDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Hitachi.cpp:494
const uint8_t kHitachiAc1Sleep1
Definition: ir_Hitachi.h:177
IRHitachiAc(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Hitachi.cpp:135
const uint8_t kHitachiAc344SwingHOffset
Definition: ir_Hitachi.h:113
const uint8_t kHitachiAc1Auto
Definition: ir_Hitachi.h:142
void setSwingV(const bool on)
Control the vertical swing setting.
Definition: ir_Hitachi.cpp:1524
const uint8_t kHitachiAc344MaxTemp
Definition: ir_Hitachi.h:77
const uint16_t kHitachiAc3StateLength
Definition: IRremoteESP8266.h:924
bool getSwingV(void)
Get the Vertical Swing setting of the A/C.
Definition: ir_Hitachi.cpp:667
hitachi_ac1_remote_model_t
HITACHI_AC1 A/C model numbers.
Definition: IRsend.h:135
uint8_t getButton(void)
Get the Button/Command setting of the A/C.
Definition: ir_Hitachi.cpp:1189
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Hitachi.h:257
const uint8_t kHitachiAc424ButtonSwingH
Definition: ir_Hitachi.h:62
const uint8_t kHitachiAc424PowerByte
Definition: ir_Hitachi.h:107
const uint8_t kHitachiAc424ButtonTempDown
Definition: ir_Hitachi.h:59
void send(const uint16_t repeat=kHitachiAcDefaultRepeat)
Create and send the IR message to the A/C.
Definition: ir_Hitachi.cpp:1510
Class for sending all basic IR protocols.
Definition: IRsend.h:176
const uint8_t kHitachiAc344SwingHAuto
Definition: ir_Hitachi.h:115
void setSwingH(const bool on)
Set the Horizontal Swing setting of the A/C.
Definition: ir_Hitachi.cpp:685
const uint8_t kHitachiAc344Heat
Definition: ir_Hitachi.h:89
Class for handling detailed Hitachi 224-bit A/C messages.
Definition: ir_Hitachi.h:188
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition: IRsend.cpp:207
const uint8_t kHitachiAc344SwingHLeftMax
Definition: ir_Hitachi.h:120
const uint8_t kHitachiAc424TempSize
Definition: ir_Hitachi.h:73
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
uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Hitachi.cpp:748
const uint8_t kHitachiAc1FanLow
Definition: ir_Hitachi.h:149
Class for handling detailed Hitachi 344-bit A/C messages.
Definition: ir_Hitachi.h:401
const uint8_t kHitachiAc424MinTemp
Definition: ir_Hitachi.h:74
const uint8_t kHitachiAc344FanAuto
Definition: ir_Hitachi.h:103
std::string String
Definition: IRremoteESP8266.h:1128
const uint8_t kHitachiAc1Model_B
Definition: ir_Hitachi.h:131
uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Hitachi.cpp:338
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
const uint8_t kHitachiAc1FanHigh
Definition: ir_Hitachi.h:147
const uint8_t kHitachiAc1SleepSize
Definition: ir_Hitachi.h:175
const uint8_t kHitachiAc424ButtonSwingV
Definition: ir_Hitachi.h:61
const uint8_t kHitachiAcDry
Definition: ir_Hitachi.h:42
void setButton(const uint8_t button)
Set the Button/Command pressed setting of the A/C.
Definition: ir_Hitachi.cpp:1195
const uint8_t kHitachiAc1Sleep2
Definition: ir_Hitachi.h:178
String toString(void)
Convert the internal state into a human readable string.
Definition: ir_Hitachi.cpp:1593
const uint8_t kHitachiAc424ButtonTempUp
Definition: ir_Hitachi.h:60
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Hitachi.cpp:1385
const uint8_t kHitachiAc1PowerByte
Definition: ir_Hitachi.h:166
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Hitachi.cpp:1060
bool getSwingV(void)
Get the current vertical swing setting.
Definition: ir_Hitachi.cpp:1531
const uint8_t kHitachiAc1SwingVOffset
Definition: ir_Hitachi.h:171
const uint8_t kHitachiAc424ButtonFan
Definition: ir_Hitachi.h:58
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Hitachi.cpp:277
const uint8_t kHitachiAcFanAuto
Definition: ir_Hitachi.h:44
const uint8_t kHitachiAc1OffTimerHighByte
Definition: ir_Hitachi.h:161
const uint8_t kHitachiAc344Dry
Definition: ir_Hitachi.h:88
hitachi_ac1_remote_model_t getModel(void)
Get/Detect the model of the A/C.
Definition: ir_Hitachi.cpp:504
Class for handling detailed Hitachi 15to27-byte/120to216-bit A/C messages.
Definition: ir_Hitachi.h:367
swingh_t
Common A/C settings for Horizontal Swing.
Definition: IRsend.h:83
void setModel(const hitachi_ac1_remote_model_t model)
Set the model of the A/C to emulate.
Definition: ir_Hitachi.cpp:514
const uint8_t kHitachiAc344FanLow
Definition: ir_Hitachi.h:100
const uint8_t kHitachiAc424FanMaxDry
Definition: ir_Hitachi.h:98
const uint8_t kHitachiAc424FanHigh
Definition: ir_Hitachi.h:95
void setSwingToggle(const bool toggle)
Set the Swing toggle setting of the A/C.
Definition: ir_Hitachi.cpp:660
bool getPower(void)
Get the value of the current power setting.
Definition: ir_Hitachi.cpp:529
Class for handling detailed Hitachi 104-bit A/C messages.
Definition: ir_Hitachi.h:245
const uint8_t kHitachiAc344SwingHLeft
Definition: ir_Hitachi.h:119
bool getPowerToggle(void)
Get the value of the current power toggle setting.
Definition: ir_Hitachi.cpp:543
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_Hitachi.cpp:1249
void on(void)
Change the power setting to On.
Definition: ir_Hitachi.cpp:555
const uint8_t kHitachiAc1TempSize
Definition: ir_Hitachi.h:154
const uint8_t kHitachiAc1SleepByte
Definition: ir_Hitachi.h:173
uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Hitachi.cpp:1235
const uint8_t kHitachiAc1FanSize
Definition: ir_Hitachi.h:145
const uint8_t kHitachiAcFanMed
Definition: ir_Hitachi.h:46
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Hitachi.cpp:603
void on(void)
Change the power setting to On.
Definition: ir_Hitachi.cpp:222
const uint8_t kHitachiAc424ModeByte
Definition: ir_Hitachi.h:81
uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Hitachi.cpp:325
const uint8_t kHitachiAc1OnTimerLowByte
Definition: ir_Hitachi.h:163
const uint8_t kHitachiAc344SwingHByte
Definition: ir_Hitachi.h:112
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
String toString(void)
Convert the current internal state into a human readable string.
Definition: ir_Hitachi.cpp:405
const uint16_t kHitachiAc424StateLength
Definition: IRremoteESP8266.h:930
uint8_t remote_state[kHitachiAc3StateLength]
The state in native code.
Definition: ir_Hitachi.h:396
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_Hitachi.cpp:775
void off(void)
Change the power setting to Off.
Definition: ir_Hitachi.cpp:225
const uint8_t kHitachiAc1Heat
Definition: ir_Hitachi.h:141
const uint8_t kHitachiAc1TempByte
Definition: ir_Hitachi.h:152
const uint16_t kHitachiAcFreq
Definition: ir_Hitachi.h:38
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Hitachi.h:325
const uint8_t kHitachiAc1SleepOffset
Definition: ir_Hitachi.h:174
uint16_t getOffTimer(void)
Get the Off Timer vtime of the A/C.
Definition: ir_Hitachi.cpp:739
uint8_t getTemp(void)
Get the current temperature setting.
Definition: ir_Hitachi.cpp:1127
const uint8_t kHitachiAc424TempByte
Definition: ir_Hitachi.h:71
uint8_t remote_state[kHitachiAcStateLength]
The state in native code.
Definition: ir_Hitachi.h:238
const uint8_t kHitachiAcFanLow
Definition: ir_Hitachi.h:45
const uint8_t kHitachiAc344FanMin
Definition: ir_Hitachi.h:99
const uint8_t kHitachiAc424FanAuto
Definition: ir_Hitachi.h:96
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
const uint8_t kHitachiAc1FanMed
Definition: ir_Hitachi.h:148
const uint8_t kHitachiAc424FanByte
Definition: ir_Hitachi.h:91
void setPower(const bool on)
Change the power setting.
Definition: ir_Hitachi.cpp:535
bool getPower(void)
Get the value of the current power setting.
Definition: ir_Hitachi.cpp:211
IRHitachiAc424(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Hitachi.cpp:1020
const uint8_t kHitachiAcCool
Definition: ir_Hitachi.h:41
const uint8_t kHitachiAc1Sleep4
Definition: ir_Hitachi.h:180
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
const uint8_t kHitachiAc1FanOffset
Definition: ir_Hitachi.h:144
const uint8_t kHitachiAc1SwingToggleOffset
Definition: ir_Hitachi.h:172
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
const uint8_t kHitachiAcHeat
Definition: ir_Hitachi.h:40
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Hitachi.cpp:1056
friend class IRHitachiAc344
Definition: ir_Hitachi.h:314
const uint8_t kHitachiAc1FanByte
Definition: ir_Hitachi.h:143
const uint8_t kHitachiAc424MaxTemp
Definition: ir_Hitachi.h:75
uint8_t remote_state[kHitachiAc1StateLength]
The state in native code.
Definition: ir_Hitachi.h:308
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Hitachi.cpp:377
void setInvertedStates(const uint16_t length=kHitachiAc3StateLength)
Invert every second byte of the internal state, after the fixed header.
Definition: ir_Hitachi.cpp:1405
const uint16_t kHitachiAc344StateLength
Definition: IRremoteESP8266.h:928
IRsend _irsend
Instance of the IR send class.
Definition: ir_Hitachi.h:232
const uint8_t kHitachiAc1SwingHOffset
Definition: ir_Hitachi.h:170
void send(const uint16_t repeat=kHitachiAcDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Hitachi.cpp:204
const uint8_t kHitachiAc424FanTemp
Definition: ir_Hitachi.h:78
const uint8_t kHitachiAc1Cool
Definition: ir_Hitachi.h:140
uint8_t remote_state[kHitachiAc424StateLength]
The state in native code.
Definition: ir_Hitachi.h:360
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Hitachi.cpp:615
uint8_t _previoustemp
Definition: ir_Hitachi.h:240
const uint8_t kHitachiAc1FanAuto
Definition: ir_Hitachi.h:146
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Hitachi.cpp:159
const uint8_t kHitachiAc424TempOffset
Definition: ir_Hitachi.h:72
const uint8_t kHitachiAc1ModelByte
Definition: ir_Hitachi.h:128
const uint8_t kHitachiAc424PowerOff
Definition: ir_Hitachi.h:109
const uint8_t kHitachiAc1PowerToggleOffset
Definition: ir_Hitachi.h:168
const uint8_t kHitachiAc424FanMin
Definition: ir_Hitachi.h:92
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Hitachi.cpp:1102
virtual void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Hitachi.cpp:1026
const uint8_t kHitachiAc344FanMax
Definition: ir_Hitachi.h:104
IRsend _irsend
Instance of the IR send class.
Definition: ir_Hitachi.h:302
const uint8_t kHitachiAc1ModelOffset
Definition: ir_Hitachi.h:129
uint8_t getTemp(void)
Get the current temperature setting.
Definition: ir_Hitachi.cpp:251
const uint8_t kHitachiAc424Dry
Definition: ir_Hitachi.h:84
void setSwingH(const uint8_t position)
Control the horizontal swing setting.
Definition: ir_Hitachi.cpp:1538
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Hitachi.cpp:569
const uint16_t kHitachiAcDefaultRepeat
Definition: IRremoteESP8266.h:919
const uint8_t kHitachiAc424PowerOn
Definition: ir_Hitachi.h:108
const uint8_t kHitachiAc344SwingVByte
Definition: ir_Hitachi.h:123
String toString(void)
Convert the internal state into a human readable string.
Definition: ir_Hitachi.cpp:1344
const uint8_t kHitachiAc344SwingHMiddle
Definition: ir_Hitachi.h:118
void checksum(const uint16_t length=kHitachiAcStateLength)
Calculate and set the checksum values for the internal state.
Definition: ir_Hitachi.cpp:174
uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Hitachi.cpp:1222
uint16_t getOnTimer(void)
Get the On Timer vtime of the A/C.
Definition: ir_Hitachi.cpp:723
void setFan(const uint8_t speed, const bool force=false)
Set the speed of the fan.
Definition: ir_Hitachi.cpp:623
uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Hitachi.cpp:761
String toString(void)
Convert the current internal state into a human readable string.
Definition: ir_Hitachi.cpp:827
void setSwingV(const bool on)
Set the Vertical Swing setting of the A/C.
Definition: ir_Hitachi.cpp:673
const uint8_t kHitachiAc1SwingByte
Definition: ir_Hitachi.h:169
const uint8_t kHitachiAc1ModeByte
Definition: ir_Hitachi.h:135
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
const uint8_t kHitachiAc424FanMedium
Definition: ir_Hitachi.h:94
const uint8_t kHitachiAc344ButtonTempUp
Definition: ir_Hitachi.h:66
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_Hitachi.cpp:352
const uint8_t kHitachiAc424Cool
Definition: ir_Hitachi.h:83
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
const uint8_t kHitachiAcFan
Definition: ir_Hitachi.h:43
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Hitachi.cpp:1424
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Hitachi.cpp:799
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Hitachi.cpp:444
const uint8_t kHitachiAc1OnTimerHighByte
Definition: ir_Hitachi.h:164
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Hitachi.cpp:189
void setOffTimer(const uint16_t mins)
Set the Off Timer time.
Definition: ir_Hitachi.cpp:731
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_Hitachi.cpp:788
virtual void send(const uint16_t repeat=kHitachiAcDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Hitachi.cpp:1075
const uint8_t kHitachiAc344ButtonSwingH
Definition: ir_Hitachi.h:68
void setPower(const bool on)
Change the power setting.
Definition: ir_Hitachi.cpp:217
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
const uint8_t kHitachiAc424FanLow
Definition: ir_Hitachi.h:93
const uint8_t kHitachiAcAutoTemp
Definition: ir_Hitachi.h:50
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Hitachi.h:199
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
const uint8_t kHitachiAc344FanMedium
Definition: ir_Hitachi.h:101
const uint8_t kHitachiAc1Dry
Definition: ir_Hitachi.h:138
bool getSwingH(void)
Get the Horizontal Swing setting of the A/C.
Definition: ir_Hitachi.cpp:679
bool getSwingHorizontal(void)
Get the Horizontal Swing setting of the A/C.
Definition: ir_Hitachi.cpp:312
const uint8_t kHitachiAc344Cool
Definition: ir_Hitachi.h:87
const uint8_t kHitachiAc424FanMax
Definition: ir_Hitachi.h:97
const uint8_t kHitachiAc424Heat
Definition: ir_Hitachi.h:85
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_Hitachi.cpp:1262
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Hitachi.cpp:233
const uint8_t kHitachiAc1ModelSize
Definition: ir_Hitachi.h:132
Structure to hold a common A/C state.
Definition: IRsend.h:97
const uint8_t kHitachiAc344ButtonTempDown
Definition: ir_Hitachi.h:65
const uint8_t kHitachiAc424ButtonPowerMode
Definition: ir_Hitachi.h:57
const uint8_t kHitachiAc1TempAuto
Definition: ir_Hitachi.h:156
const uint8_t kHitachiAc1OffTimerLowByte
Definition: ir_Hitachi.h:160
const uint8_t kHitachiAc344MinTemp
Definition: ir_Hitachi.h:76
const uint8_t kHitachiAc1TempDelta
Definition: ir_Hitachi.h:155
void on(void)
Change the power setting to On.
Definition: ir_Hitachi.cpp:1095
const uint8_t kHitachiAcSwingOffset
Definition: ir_Hitachi.h:52
void off(void)
Change the power setting to Off.
Definition: ir_Hitachi.cpp:558
bool getPower(void)
Get the value of the current power setting.
Definition: ir_Hitachi.cpp:1082
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Hitachi.cpp:479
const uint8_t kHitachiAc344ButtonSwingV
Definition: ir_Hitachi.h:67
const uint8_t kHitachiAc1SleepOff
Definition: ir_Hitachi.h:176
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Hitachi.cpp:257
virtual stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Hitachi.cpp:1275
uint8_t getSwingH(void)
Get the current horizontal swing setting.
Definition: ir_Hitachi.cpp:1548
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
bool getSwingVToggle(void)
Get the Vertical Swing toggle setting of the A/C.
Definition: ir_Hitachi.cpp:1215
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46