Go to the documentation of this file.
20 #include "IRsend_test.h"
101 explicit IRTcl112Ac(
const uint16_t pin,
const bool inverted =
false,
102 const bool use_modulation =
true);
114 void setRaw(
const uint8_t new_code[],
120 void setTemp(
const float celsius);
122 void setMode(
const uint8_t mode);
128 void setFan(
const uint8_t speed);
129 uint8_t
getFan(
void)
const;
143 bool getQuiet(
const bool def =
false)
const;
Tcl112Protocol _
Definition: ir_Tcl.h:159
void setSwingHorizontal(const bool on)
Set the horizontal swing setting of the A/C.
Definition: ir_Tcl.cpp:246
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Tcl.cpp:310
static uint8_t calcChecksum(uint8_t state[], const uint16_t length=kTcl112AcStateLength)
Calculate the checksum for a given state.
Definition: ir_Tcl.cpp:84
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Tcl.cpp:154
const float kTcl112AcTempMin
Definition: ir_Tcl.h:89
void setSwingVertical(const bool on)
Set the vertical swing setting of the A/C.
Definition: ir_Tcl.cpp:254
const uint16_t kTcl112AcHdrSpace
Definition: ir_Tcl.h:68
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Tcl.cpp:297
uint8_t SwingH
Definition: ir_Tcl.h:57
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
const uint32_t kDefaultMessageGap
Definition: IRsend.h:41
const uint8_t kTcl112AcFanLow
Definition: ir_Tcl.h:84
void send(const uint16_t repeat=kTcl112AcDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Tcl.cpp:55
uint8_t Quiet
Definition: ir_Tcl.h:38
const uint16_t kTcl112AcBitMark
Definition: ir_Tcl.h:69
bool getEcono(void) const
Get the economy setting of the A/C.
Definition: ir_Tcl.cpp:226
const uint8_t kTcl112AcSpecial
Definition: ir_Tcl.h:95
bool _quiet_prev
Definition: ir_Tcl.h:160
const uint8_t kTcl112AcFanMed
Definition: ir_Tcl.h:85
uint8_t pad0[3]
Definition: ir_Tcl.h:28
uint8_t Temp
Definition: ir_Tcl.h:47
bool getSwingHorizontal(void) const
Get the horizontal swing setting of the A/C.
Definition: ir_Tcl.cpp:250
bool getQuiet(const bool def=false) const
Get the Quiet setting of the A/C.
Definition: ir_Tcl.cpp:287
float getTemp(void) const
Get the current temperature setting.
Definition: ir_Tcl.cpp:194
Class for sending all basic IR protocols.
Definition: IRsend.h:190
void setEcono(const bool on)
Set the economy setting of the A/C.
Definition: ir_Tcl.cpp:222
const uint8_t kTcl112AcNormal
Definition: ir_Tcl.h:94
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition: IRsend.cpp:207
bool getHealth(void) const
Get the Health (Filter) setting of the A/C.
Definition: ir_Tcl.cpp:234
const uint16_t kTcl112AcOneSpace
Definition: ir_Tcl.h:70
std::string String
Definition: IRremoteESP8266.h:1279
void stateReset(void)
Reset the internal state of the emulation. (On, Cool, 24C)
Definition: ir_Tcl.cpp:113
bool _quiet_explictly_set
Definition: ir_Tcl.h:162
Class for handling detailed TCL A/C messages.
Definition: ir_Tcl.h:99
void checksum(const uint16_t length=kTcl112AcStateLength)
Calculate & set the checksum for the current internal state of the remote.
Definition: ir_Tcl.cpp:98
uint8_t Turbo
Definition: ir_Tcl.h:44
Native representation of a TCL 112 A/C message.
Definition: ir_Tcl.h:24
uint8_t HalfDegree
Definition: ir_Tcl.h:59
IRsend _irsend
Instance of the IR send class.
Definition: ir_Tcl.h:153
void setTemp(const float celsius)
Set the temperature.
Definition: ir_Tcl.cpp:180
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Tcl.cpp:126
void setLight(const bool on)
Set the Light (LED/Display) setting of the A/C.
Definition: ir_Tcl.cpp:238
void setPower(const bool on)
Change the power setting.
Definition: ir_Tcl.cpp:146
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Tcl.h:109
uint8_t Light
Definition: ir_Tcl.h:39
const uint32_t kTcl112AcGap
Definition: ir_Tcl.h:72
static bool validChecksum(uint8_t state[], const uint16_t length=kTcl112AcStateLength)
Verify the checksum is valid for a given state.
Definition: ir_Tcl.cpp:108
bool _quiet
Definition: ir_Tcl.h:161
uint8_t Fan
Definition: ir_Tcl.h:50
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Tcl.cpp:50
uint8_t Mode
Definition: ir_Tcl.h:42
uint8_t pad1[3]
Definition: ir_Tcl.h:54
const uint8_t kTcl112AcSwingVOn
Definition: ir_Tcl.h:91
const uint8_t kTcl112AcAuto
Definition: ir_Tcl.h:81
const uint16_t kTcl112AcDefaultRepeat
Definition: IRremoteESP8266.h:1166
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Tcl.cpp:337
const float kTcl112AcTempMax
Definition: ir_Tcl.h:88
const uint16_t kTcl112AcHdrMark
Definition: ir_Tcl.h:67
bool getLight(void) const
Get the Light (LED/Display) setting of the A/C.
Definition: ir_Tcl.cpp:242
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Tcl.cpp:160
const uint8_t kTcl112AcFanAuto
Definition: ir_Tcl.h:83
void setQuiet(const bool on)
Set the Quiet setting of the A/C.
Definition: ir_Tcl.cpp:278
const uint8_t kTcl112AcCool
Definition: ir_Tcl.h:79
void on(void)
Set the requested power state of the A/C to on.
Definition: ir_Tcl.cpp:139
uint8_t SwingV
Definition: ir_Tcl.h:51
uint8_t Health
Definition: ir_Tcl.h:43
uint8_t raw[kTcl112AcStateLength]
The State in IR code form.
Definition: ir_Tcl.h:25
void setHealth(const bool on)
Set the Health (Filter) setting of the A/C.
Definition: ir_Tcl.cpp:230
void off(void)
Set the requested power state of the A/C to off.
Definition: ir_Tcl.cpp:142
void setRaw(const uint8_t new_code[], const uint16_t length=kTcl112AcStateLength)
Set the internal state from a valid code for this protocol.
Definition: ir_Tcl.cpp:134
const uint8_t kTcl112AcSwingVOff
Definition: ir_Tcl.h:92
uint8_t Sum
Definition: ir_Tcl.h:62
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Tcl.cpp:203
const uint8_t kTcl112AcHdrMarkTolerance
Definition: ir_Tcl.h:74
const uint8_t kTcl112AcDry
Definition: ir_Tcl.h:78
uint8_t MsgType
Definition: ir_Tcl.h:30
bool getTurbo(void) const
Get the Turbo setting of the A/C.
Definition: ir_Tcl.cpp:274
const uint8_t kTcl112AcFanHigh
Definition: ir_Tcl.h:86
bool getSwingVertical(void) const
Get the vertical swing setting of the A/C.
Definition: ir_Tcl.cpp:260
const uint16_t kTcl112AcStateLength
Definition: IRremoteESP8266.h:1164
stdAc::state_t toCommon(const stdAc::state_t *prev=NULL) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Tcl.cpp:349
const uint8_t kTcl112AcFan
Definition: ir_Tcl.h:80
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Tcl.cpp:380
const uint16_t kTcl112AcZeroSpace
Definition: ir_Tcl.h:71
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Tcl.cpp:150
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Tcl.cpp:324
void setTurbo(const bool on)
Set the Turbo setting of the A/C.
Definition: ir_Tcl.cpp:264
IRTcl112Ac(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Tcl.cpp:45
const uint8_t kTcl112AcTolerance
Definition: ir_Tcl.h:75
const uint8_t kTcl112AcHeat
Definition: ir_Tcl.h:77
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Tcl.cpp:218
Structure to hold a common A/C state.
Definition: IRsend.h:97
uint8_t Econo
Definition: ir_Tcl.h:40
uint8_t Power
Definition: ir_Tcl.h:36
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46