Go to the documentation of this file.
11 #ifndef IR_DELONGHI_H_
12 #define IR_DELONGHI_H_
14 #define __STDC_LIMIT_MACROS
22 #include "IRsend_test.h"
104 explicit IRDelonghiAc(
const uint16_t pin,
const bool inverted =
false,
105 const bool use_modulation =
true);
114 #endif // SEND_DELONGHI_AC
124 void setTemp(
const uint8_t temp,
const bool fahrenheit =
false,
125 const bool force =
false);
127 void setFan(
const uint8_t speed);
129 void setMode(
const uint8_t mode);
144 void setRaw(
const uint64_t state);
165 #endif // IR_DELONGHI_H_
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_Delonghi.cpp:274
const uint8_t kDelonghiAcCool
Definition: ir_Delonghi.h:70
uint16_t getOnTimer(void)
Get the On timer time.
Definition: ir_Delonghi.cpp:393
const uint8_t kDelonghiAcTempOffset
Definition: ir_Delonghi.h:50
void begin()
Set up hardware to be able to send a message.
Definition: ir_Delonghi.cpp:100
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Delonghi.cpp:221
void send(const uint16_t repeat=kDelonghiAcDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Delonghi.cpp:105
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_Delonghi.cpp:333
uint8_t getTemp()
Get the current temperature setting.
Definition: ir_Delonghi.cpp:214
void setRaw(const uint64_t state)
Set the internal state from a valid code for this protocol.
Definition: ir_Delonghi.cpp:153
const uint8_t kDelonghiAcTempFanMode
Definition: ir_Delonghi.h:57
const uint8_t kDelonghiAcOnTimerHoursOffset
Definition: ir_Delonghi.h:82
Class for handling detailed Delonghi A/C messages.
Definition: ir_Delonghi.h:102
IRDelonghiAc(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Delonghi.cpp:95
const uint8_t kDelonghiAcModeOffset
Definition: ir_Delonghi.h:68
const uint8_t kDelonghiAcTempMinC
Definition: ir_Delonghi.h:52
const uint8_t kDelonghiAcFanHigh
Definition: ir_Delonghi.h:62
void setOnTimer(const uint16_t nr_of_mins)
Set the On timer to activate in nr of minutes.
Definition: ir_Delonghi.cpp:381
void setPower(const bool on)
Change the power setting.
Definition: ir_Delonghi.cpp:163
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
uint8_t _saved_temp
The previously user requested temp value.
Definition: ir_Delonghi.h:161
const uint8_t kDelonghiAcOnTimerMinsOffset
Definition: ir_Delonghi.h:84
void setOffTimerEnabled(const bool on)
Set the enable status of the Off Timer.
Definition: ir_Delonghi.cpp:402
const uint8_t kDelonghiAcFanMedium
Definition: ir_Delonghi.h:63
const uint8_t kDelonghiAcTempAutoDryMode
Definition: ir_Delonghi.h:56
const uint8_t kDelonghiAcFanLow
Definition: ir_Delonghi.h:64
static bool validChecksum(const uint64_t state)
Verify the checksum is valid for a given state.
Definition: ir_Delonghi.cpp:125
void on()
Change the power setting to On.
Definition: ir_Delonghi.cpp:156
uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Delonghi.cpp:317
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Delonghi.h:113
void stateReset()
Reset the internal state to a fixed known good state.
Definition: ir_Delonghi.cpp:138
bool getPower()
Get the value of the current power setting.
Definition: ir_Delonghi.cpp:169
Class for sending all basic IR protocols.
Definition: IRsend.h:176
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition: IRsend.cpp:207
bool getOnTimerEnabled(void)
Get the enable status of the On Timer.
Definition: ir_Delonghi.cpp:374
uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Delonghi.cpp:256
std::string String
Definition: IRremoteESP8266.h:1128
const uint8_t kDelonghiAcModeSize
Definition: ir_Delonghi.h:69
const uint8_t kDelonghiAcFanAuto
Definition: ir_Delonghi.h:61
const uint8_t kDelonghiAcChecksumOffset
Definition: ir_Delonghi.h:94
void setOnTimerEnabled(const bool on)
Set the enable status of the On Timer.
Definition: ir_Delonghi.cpp:368
const uint8_t kDelonghiAcTempSize
Definition: ir_Delonghi.h:51
const uint8_t kDelonghiAcTempMaxF
Definition: ir_Delonghi.h:55
uint16_t getOffTimer(void)
Get the Off timer time.
Definition: ir_Delonghi.cpp:427
bool getBoost()
Get the Boost (Turbo) mode of the A/C.
Definition: ir_Delonghi.cpp:350
const uint8_t kDelonghiAcAuto
Definition: ir_Delonghi.h:73
const uint8_t kDelonghiAcOffTimerMinsOffset
Definition: ir_Delonghi.h:91
const uint8_t kDelonghiAcBoostBit
Definition: ir_Delonghi.h:74
const uint8_t kDelonghiAcSleepBit
Definition: ir_Delonghi.h:76
const uint8_t kDelonghiAcPowerBit
Definition: ir_Delonghi.h:67
const uint8_t kDelonghiAcFanSize
Definition: ir_Delonghi.h:60
bool getTempUnit(void)
Get the temperature scale unit of measure currently in use.
Definition: ir_Delonghi.cpp:181
const uint8_t kDelonghiAcOnTimerEnableBit
Definition: ir_Delonghi.h:78
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Delonghi.cpp:132
void setSleep(const bool on)
Set the Sleep mode of the A/C.
Definition: ir_Delonghi.cpp:356
const uint16_t kDelonghiAcDefaultRepeat
Definition: IRremoteESP8266.h:887
uint8_t _saved_temp_units
The previously user requested temp units.
Definition: ir_Delonghi.h:162
const uint16_t kDelonghiAcTimerMax
Definition: ir_Delonghi.h:81
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Delonghi.cpp:291
void setTemp(const uint8_t temp, const bool fahrenheit=false, const bool force=false)
Set the temperature.
Definition: ir_Delonghi.cpp:189
void setOffTimer(const uint16_t nr_of_mins)
Set the Off timer to activate in nr of minutes.
Definition: ir_Delonghi.cpp:415
bool getOffTimerEnabled(void)
Get the enable status of the Off Timer.
Definition: ir_Delonghi.cpp:408
const uint8_t kDelonghiAcMinsSize
Definition: ir_Delonghi.h:80
static uint8_t calcChecksum(const uint64_t state)
Calculate the checksum for a given state.
Definition: ir_Delonghi.cpp:113
IRsend _irsend
instance of the IR send class
Definition: ir_Delonghi.h:154
const uint8_t kDelonghiAcTempUnitBit
Definition: ir_Delonghi.h:65
void setTempUnit(const bool celsius)
Change the temperature scale units.
Definition: ir_Delonghi.cpp:175
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Delonghi.cpp:436
bool getSleep()
Get the Sleep mode status of the A/C.
Definition: ir_Delonghi.cpp:362
uint64_t remote_state
The state of the IR remote.
Definition: ir_Delonghi.h:160
uint8_t getFan()
Get the current native fan speed setting.
Definition: ir_Delonghi.cpp:249
const uint8_t kDelonghiAcOffTimerEnableBit
Definition: ir_Delonghi.h:87
const uint8_t kDelonghiAcDry
Definition: ir_Delonghi.h:71
const uint8_t kDelonghiAcFan
Definition: ir_Delonghi.h:72
uint64_t getRaw()
Get a copy of the internal state as a valid code for this protocol.
Definition: ir_Delonghi.cpp:146
const uint8_t kDelonghiAcChecksumSize
Definition: ir_Delonghi.h:96
const uint8_t kDelonghiAcHoursSize
Definition: ir_Delonghi.h:79
uint8_t getMode()
Get the operating mode setting of the A/C.
Definition: ir_Delonghi.cpp:285
String toString()
Convert the current internal state into a human readable string.
Definition: ir_Delonghi.cpp:462
const uint8_t kDelonghiAcFanOffset
Definition: ir_Delonghi.h:58
void setBoost(const bool on)
Set the Boost (Turbo) mode of the A/C.
Definition: ir_Delonghi.cpp:344
Structure to hold a common A/C state.
Definition: IRsend.h:97
void off()
Change the power setting to Off.
Definition: ir_Delonghi.cpp:159
const uint8_t kDelonghiAcTempMinF
Definition: ir_Delonghi.h:54
const uint8_t kDelonghiAcOffTimerHoursOffset
Definition: ir_Delonghi.h:89
const uint8_t kDelonghiAcTempMaxC
Definition: ir_Delonghi.h:53
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46