Go to the documentation of this file.
19 #include "IRsend_test.h"
65 explicit IRTcl112Ac(
const uint16_t pin,
const bool inverted =
false,
66 const bool use_modulation =
true);
78 void setRaw(
const uint8_t new_code[],
84 void setTemp(
const float celsius);
86 void setMode(
const uint8_t mode);
92 void setFan(
const uint8_t speed);
bool getSwingHorizontal(void)
Get the horizontal swing setting of the A/C.
Definition: ir_Tcl.cpp:248
void setSwingHorizontal(const bool on)
Set the horizontal swing setting of the A/C.
Definition: ir_Tcl.cpp:242
const uint8_t kTcl112AcBitSwingHOffset
Definition: ir_Tcl.h:54
uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Tcl.cpp:297
static uint8_t calcChecksum(uint8_t state[], const uint16_t length=kTcl112AcStateLength)
Calculate the checksum for a given state.
Definition: ir_Tcl.cpp:66
const float kTcl112AcTempMin
Definition: ir_Tcl.h:48
void setSwingVertical(const bool on)
Set the vertical swing setting of the A/C.
Definition: ir_Tcl.cpp:254
bool getEcono(void)
Get the economy setting of the A/C.
Definition: ir_Tcl.cpp:212
const uint16_t kTcl112AcHdrSpace
Definition: ir_Tcl.h:24
uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Tcl.cpp:284
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
const uint32_t kDefaultMessageGap
Definition: IRsend.h:41
String toString(void)
Convert the current internal state into a human readable string.
Definition: ir_Tcl.cpp:363
const uint8_t kTcl112AcFanLow
Definition: ir_Tcl.h:42
void send(const uint16_t repeat=kTcl112AcDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Tcl.cpp:57
const uint16_t kTcl112AcBitMark
Definition: ir_Tcl.h:25
const uint8_t kTcl112AcSwingVOffset
Definition: ir_Tcl.h:55
const uint8_t kTcl112AcFanMed
Definition: ir_Tcl.h:43
bool getLight(void)
Get the Light (LED/Display) setting of the A/C.
Definition: ir_Tcl.cpp:236
bool getHealth(void)
Get the Health (Filter) setting of the A/C.
Definition: ir_Tcl.cpp:224
Class for sending all basic IR protocols.
Definition: IRsend.h:176
void setEcono(const bool on)
Set the economy setting of the A/C.
Definition: ir_Tcl.cpp:206
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Tcl.cpp:200
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 kTcl112AcBitLightOffset
Definition: ir_Tcl.h:52
const uint16_t kTcl112AcOneSpace
Definition: ir_Tcl.h:26
std::string String
Definition: IRremoteESP8266.h:1128
void stateReset(void)
Reset the internal state of the emulation. (On, Cool, 24C)
Definition: ir_Tcl.cpp:90
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Tcl.cpp:132
Class for handling detailed TCL A/C messages.
Definition: ir_Tcl.h:63
void checksum(const uint16_t length=kTcl112AcStateLength)
Calculate & set the checksum for the current internal state of the remote.
Definition: ir_Tcl.cpp:75
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Tcl.cpp:335
IRsend _irsend
Instance of the IR send class.
Definition: ir_Tcl.h:115
void setTemp(const float celsius)
Set the temperature.
Definition: ir_Tcl.cpp:160
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Tcl.cpp:100
void setLight(const bool on)
Set the Light (LED/Display) setting of the A/C.
Definition: ir_Tcl.cpp:230
const uint8_t kTcl112AcHalfDegreeOffset
Definition: ir_Tcl.h:46
void setPower(const bool on)
Change the power setting.
Definition: ir_Tcl.cpp:120
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Tcl.h:73
const uint32_t kTcl112AcGap
Definition: ir_Tcl.h:28
static bool validChecksum(uint8_t state[], const uint16_t length=kTcl112AcStateLength)
Verify the checksum is valid for a given state.
Definition: ir_Tcl.cpp:85
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Tcl.cpp:52
const uint8_t kTcl112AcSwingVOn
Definition: ir_Tcl.h:57
const uint8_t kTcl112AcAuto
Definition: ir_Tcl.h:37
const uint16_t kTcl112AcDefaultRepeat
Definition: IRremoteESP8266.h:1025
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_Tcl.cpp:324
const float kTcl112AcTempMax
Definition: ir_Tcl.h:47
const uint16_t kTcl112AcHdrMark
Definition: ir_Tcl.h:23
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Tcl.cpp:140
const uint8_t kTcl112AcBitHealthOffset
Definition: ir_Tcl.h:53
const uint8_t kTcl112AcFanAuto
Definition: ir_Tcl.h:41
const uint8_t kTcl112AcModeSize
Definition: ir_Tcl.h:38
const uint8_t kTcl112AcSwingVSize
Definition: ir_Tcl.h:56
const uint8_t kTcl112AcCool
Definition: ir_Tcl.h:35
float getTemp(void)
Get the current temperature setting.
Definition: ir_Tcl.cpp:175
void on(void)
Set the requested power state of the A/C to on.
Definition: ir_Tcl.cpp:113
const uint8_t kTcl112AcFanSize
Definition: ir_Tcl.h:40
const uint8_t kTcl112AcPowerOffset
Definition: ir_Tcl.h:50
void setHealth(const bool on)
Set the Health (Filter) setting of the A/C.
Definition: ir_Tcl.cpp:218
void off(void)
Set the requested power state of the A/C to off.
Definition: ir_Tcl.cpp:116
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:108
const uint8_t kTcl112AcSwingVOff
Definition: ir_Tcl.h:58
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Tcl.cpp:185
const uint8_t kTcl112AcHdrMarkTolerance
Definition: ir_Tcl.h:30
uint8_t remote_state[kTcl112AcStateLength]
The State in IR code form.
Definition: ir_Tcl.h:121
const uint8_t kTcl112AcDry
Definition: ir_Tcl.h:34
const uint8_t kTcl112AcFanHigh
Definition: ir_Tcl.h:44
const uint16_t kTcl112AcStateLength
Definition: IRremoteESP8266.h:1023
const uint8_t kTcl112AcFan
Definition: ir_Tcl.h:36
const uint8_t kTcl112AcBitTurboOffset
Definition: ir_Tcl.h:59
bool getPower(void)
Get the value of the current power setting.
Definition: ir_Tcl.cpp:126
const uint8_t kTcl112AcBitEconoOffset
Definition: ir_Tcl.h:51
const uint16_t kTcl112AcZeroSpace
Definition: ir_Tcl.h:27
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_Tcl.cpp:311
void setTurbo(const bool on)
Set the Turbo setting of the A/C.
Definition: ir_Tcl.cpp:267
IRTcl112Ac(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Tcl.cpp:47
bool getTurbo(void)
Get the Turbo setting of the A/C.
Definition: ir_Tcl.cpp:277
const uint8_t kTcl112AcTolerance
Definition: ir_Tcl.h:31
const uint8_t kTcl112AcHeat
Definition: ir_Tcl.h:33
Structure to hold a common A/C state.
Definition: IRsend.h:97
bool getSwingVertical(void)
Get the vertical swing setting of the A/C.
Definition: ir_Tcl.cpp:261
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46