Go to the documentation of this file.
17 #define __STDC_LIMIT_MACROS
25 #include "IRsend_test.h"
107 explicit IRCoolixAC(
const uint16_t pin,
const bool inverted =
false,
108 const bool use_modulation =
true);
117 #endif // SEND_COOLIX
123 void setTemp(
const uint8_t temp);
128 void setFan(
const uint8_t speed,
const bool modecheck =
true);
130 void setMode(
const uint8_t mode);
144 void setRaw(
const uint32_t new_code);
184 #endif // IR_COOLIX_H_
void setLed()
Toggle the Led (light) mode of the A/C.
Definition: ir_Coolix.cpp:325
const uint8_t kCoolixFanSize
Definition: ir_Coolix.h:48
const uint8_t kCoolixZoneFollowMaskOffset
Definition: ir_Coolix.h:44
bool zoneFollowFlag
Definition: ir_Coolix.h:166
const uint8_t kCoolixFanZoneFollow
Definition: ir_Coolix.h:54
uint32_t getNormalState(void)
void setTempRaw(const uint8_t code)
Set the raw (native) temperature value.
Definition: ir_Coolix.cpp:206
void setSensorTempRaw(const uint8_t code)
Set the raw (native) sensor temperature value.
Definition: ir_Coolix.cpp:237
bool getTurbo()
Get the Turbo setting of the A/C.
Definition: ir_Coolix.cpp:310
const uint8_t kCoolixFanMin
Definition: ir_Coolix.h:49
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Coolix.h:116
void setZoneFollow(const bool on)
Change the Zone Follow setting.
Definition: ir_Coolix.cpp:352
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Coolix.cpp:365
const uint32_t kCoolixSwingH
Definition: ir_Coolix.h:91
uint32_t remote_state
The state of the IR remote in IR code form.
Definition: ir_Coolix.h:171
void send(const uint16_t repeat=kCoolixDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Coolix.cpp:112
bool getZoneFollow()
Get the Zone Follow setting of the A/C.
Definition: ir_Coolix.cpp:345
const uint8_t kCoolixFanAuto0
Definition: ir_Coolix.h:53
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
const uint8_t kCoolixDry
Definition: ir_Coolix.h:36
void setClean()
Toggle the Clean mode of the A/C.
Definition: ir_Coolix.cpp:337
uint8_t getTemp()
Get the current temperature setting.
Definition: ir_Coolix.cpp:227
const uint8_t kCoolixFanMed
Definition: ir_Coolix.h:50
bool getSwing()
Get the Swing setting of the A/C.
Definition: ir_Coolix.cpp:287
const uint8_t kCoolixTempSize
Definition: ir_Coolix.h:63
uint8_t getSensorTemp()
Get the sensor temperature setting.
Definition: ir_Coolix.cpp:253
IRsend _irsend
Instance of the IR send class.
Definition: ir_Coolix.h:154
bool turboFlag
Definition: ir_Coolix.h:162
const uint8_t kCoolixSensorTempMin
Definition: ir_Coolix.h:80
bool ledFlag
Definition: ir_Coolix.h:163
const uint32_t kCoolixSwing
Definition: ir_Coolix.h:90
const uint8_t kCoolixCool
Definition: ir_Coolix.h:35
const uint8_t kCoolixAuto
Definition: ir_Coolix.h:37
Class for sending all basic IR protocols.
Definition: IRsend.h:176
bool cleanFlag
Definition: ir_Coolix.h:164
uint32_t getRaw()
Get a copy of the internal state as a valid code for this protocol.
Definition: ir_Coolix.cpp:122
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_Coolix.cpp:488
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition: IRsend.cpp:207
void updateSavedState(void)
Backup the current internal state as long as it isn't a special state.
Definition: ir_Coolix.cpp:189
const uint8_t kCoolixHeat
Definition: ir_Coolix.h:38
uint8_t convertMode(const stdAc::opmode_t mode)
Convert a standard A/C mode into its native mode.
Definition: ir_Coolix.cpp:448
const uint32_t kCoolixOff
Definition: ir_Coolix.h:89
stdAc::state_t toCommon(const stdAc::state_t *prev=NULL)
Convert the A/C state to it's common stdAc::state_t equivalent.
Definition: ir_Coolix.cpp:500
std::string String
Definition: IRremoteESP8266.h:1128
void recoverSavedState(void)
Restore the current internal state from backup as long as it isn't a special state.
Definition: ir_Coolix.cpp:195
void setTurbo()
Toggle the Turbo mode of the A/C.
Definition: ir_Coolix.cpp:313
const uint8_t kCoolixSensorTempSize
Definition: ir_Coolix.h:85
const uint8_t kCoolixFanTempCode
Definition: ir_Coolix.h:60
bool swingVFlag
Definition: ir_Coolix.h:169
bool getClean()
Get the Clean setting of the A/C.
Definition: ir_Coolix.cpp:334
void on()
Change the power setting to On.
Definition: ir_Coolix.cpp:280
const uint8_t kCoolixTempMap[kCoolixTempRange]
Definition: ir_Coolix.h:64
void clearSensorTemp()
Clear the Sensor Temperature setting..
Definition: ir_Coolix.cpp:358
const uint32_t kCoolixClean
Definition: ir_Coolix.h:96
const uint8_t kCoolixFanFixed
Definition: ir_Coolix.h:55
const uint8_t kCoolixModeSize
Definition: ir_Coolix.h:42
void stateReset()
Reset the internal state to a fixed known good state.
Definition: ir_Coolix.cpp:93
const uint32_t kCoolixDefaultState
Definition: ir_Coolix.h:99
const uint16_t kCoolixDefaultRepeat
Definition: IRremoteESP8266.h:850
uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Coolix.cpp:461
void setSleep()
Toggle the Sleep mode of the A/C.
Definition: ir_Coolix.cpp:302
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode to it's common stdAc::opmode_t equivalent.
Definition: ir_Coolix.cpp:475
uint32_t saved_state
Copy of the state if we required a special mode.
Definition: ir_Coolix.h:172
bool isSpecialState(void)
Is the current state is a special state?
Definition: ir_Coolix.cpp:142
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Coolix.cpp:218
const uint8_t kCoolixTempOffset
Definition: ir_Coolix.h:62
Class for handling detailed Coolix A/C messages.
Definition: ir_Coolix.h:105
uint8_t getMode()
Get the operating mode setting of the A/C.
Definition: ir_Coolix.cpp:393
uint8_t getFan()
Get the current fan speed setting.
Definition: ir_Coolix.cpp:403
const uint32_t kCoolixLed
Definition: ir_Coolix.h:95
const uint8_t kCoolixUnknown
Definition: ir_Coolix.h:88
void begin()
Set up hardware to be able to send a message.
Definition: ir_Coolix.cpp:107
void setRaw(const uint32_t new_code)
Set the internal state from a valid code for this protocol.
Definition: ir_Coolix.cpp:126
uint8_t getTempRaw()
Get the raw (native) temperature value.
Definition: ir_Coolix.cpp:212
const uint8_t kCoolixFanOffset
Definition: ir_Coolix.h:47
const uint32_t kCoolixCmdFan
Definition: ir_Coolix.h:97
const uint8_t kCoolixTempMax
Definition: ir_Coolix.h:58
bool swingFlag
Definition: ir_Coolix.h:167
const uint8_t kCoolixFan
Definition: ir_Coolix.h:39
const uint32_t kCoolixSwingV
Definition: ir_Coolix.h:92
bool swingHFlag
Definition: ir_Coolix.h:168
void off()
Change the power setting to Off.
Definition: ir_Coolix.cpp:283
bool sleepFlag
Definition: ir_Coolix.h:165
const uint32_t kCoolixSleep
Definition: ir_Coolix.h:93
void setSensorTemp(const uint8_t desired)
Set the sensor temperature.
Definition: ir_Coolix.cpp:243
IRCoolixAC(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Coolix.cpp:88
const uint8_t kCoolixPrefix
Definition: ir_Coolix.h:87
const uint8_t kCoolixTempRange
Definition: ir_Coolix.h:59
const uint8_t kCoolixTempMin
Definition: ir_Coolix.h:57
const uint8_t kCoolixSensorTempMax
Definition: ir_Coolix.h:81
const uint8_t kCoolixModeOffset
Definition: ir_Coolix.h:41
const uint8_t kCoolixFanMax
Definition: ir_Coolix.h:51
const uint8_t kCoolixSensorTempOffset
Definition: ir_Coolix.h:84
const uint8_t kCoolixFanAuto
Definition: ir_Coolix.h:52
bool powerFlag
Definition: ir_Coolix.h:161
String toString()
Convert the internal state into a human readable string.
Definition: ir_Coolix.cpp:559
bool getPower()
Get the value of the current power setting.
Definition: ir_Coolix.cpp:260
void setFan(const uint8_t speed, const bool modecheck=true)
Set the speed of the fan.
Definition: ir_Coolix.cpp:410
bool handleSpecialState(const uint32_t data)
Adjust any internal settings based on the type of special state we are supplied. Does nothing if it i...
Definition: ir_Coolix.cpp:160
bool getSleep()
Get the Sleep setting of the A/C.
Definition: ir_Coolix.cpp:299
void setPower(const bool state)
Change the power setting.
Definition: ir_Coolix.cpp:267
Structure to hold a common A/C state.
Definition: IRsend.h:97
void setSwing()
Toggle the Swing mode of the A/C.
Definition: ir_Coolix.cpp:290
const uint8_t kCoolixSensorTempIgnoreCode
Definition: ir_Coolix.h:82
const uint32_t kCoolixTurbo
Definition: ir_Coolix.h:94
bool getLed()
Get the Led (light) setting of the A/C.
Definition: ir_Coolix.cpp:322
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46