Go to the documentation of this file.
15 #define __STDC_LIMIT_MACROS
23 #include "IRsend_test.h"
82 explicit IRElectraAc(
const uint16_t pin,
const bool inverted =
false,
83 const bool use_modulation =
true);
92 #endif // SEND_ELECTRA_AC
98 void setMode(
const uint8_t mode);
100 void setTemp(
const uint8_t temp);
102 void setFan(
const uint8_t speed);
115 void setRaw(
const uint8_t new_code[],
139 #endif // IR_ELECTRA_H_
bool getSwingV(void)
Get the Vertical Swing mode of the A/C.
Definition: ir_Electra.cpp:263
uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Electra.cpp:167
void checksum(const uint16_t length=kElectraAcStateLength)
Calculate and set the checksum values for the internal state.
Definition: ir_Electra.cpp:96
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Electra.cpp:111
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Electra.cpp:224
const uint8_t kElectraAcMinTemp
Definition: ir_Electra.h:31
bool getLightToggle(void)
Get the Light (LED) Toggle mode of the A/C.
Definition: ir_Electra.cpp:290
bool getTurbo(void)
Get the Turbo mode of the A/C.
Definition: ir_Electra.cpp:315
const uint8_t kElectraAcMaxTemp
Definition: ir_Electra.h:32
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
static bool validChecksum(const uint8_t state[], const uint16_t length=kElectraAcStateLength)
Verify the checksum is valid for a given state.
Definition: ir_Electra.cpp:88
const uint8_t kElectraAcFanAuto
Definition: ir_Electra.h:47
bool getSwingH(void)
Get the Horizontal Swing mode of the A/C.
Definition: ir_Electra.cpp:277
const uint8_t kElectraAcPowerOffset
Definition: ir_Electra.h:66
void on(void)
Change the power setting to On.
Definition: ir_Electra.cpp:124
const uint8_t kElectraAcTurboOffset
Definition: ir_Electra.h:53
void setClean(const bool on)
Set the Clean mode of the A/C.
Definition: ir_Electra.cpp:297
const uint16_t kElectraAcMinRepeat
Definition: IRremoteESP8266.h:898
Class for sending all basic IR protocols.
Definition: IRsend.h:176
IRElectraAc(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Electra.cpp:57
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition: IRsend.cpp:207
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Electra.cpp:321
const uint8_t kElectraAcHeat
Definition: ir_Electra.h:61
std::string String
Definition: IRremoteESP8266.h:1128
const uint8_t kElectraAcCool
Definition: ir_Electra.h:59
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Electra.cpp:208
Class for handling detailed Electra A/C messages.
Definition: ir_Electra.h:80
const uint8_t kElectraAcTempSize
Definition: ir_Electra.h:30
const uint8_t kElectraAcAuto
Definition: ir_Electra.h:58
const uint8_t kElectraAcTempOffset
Definition: ir_Electra.h:29
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_Electra.cpp:180
const uint8_t kElectraAcDry
Definition: ir_Electra.h:60
bool getClean(void)
Get the Clean mode of the A/C.
Definition: ir_Electra.cpp:303
void setRaw(const uint8_t new_code[], const uint16_t length=kElectraAcStateLength)
Set the internal state from a valid code for this protocol.
Definition: ir_Electra.cpp:119
void setPower(const bool on)
Change the power setting.
Definition: ir_Electra.cpp:131
const uint8_t kElectraAcTempDelta
Definition: ir_Electra.h:33
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Electra.h:91
const uint8_t kElectraAcLightToggleOff
Definition: ir_Electra.h:75
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_Electra.cpp:245
bool getPower(void)
Get the value of the current power setting.
Definition: ir_Electra.cpp:137
String toString(void)
Convert the current internal state into a human readable string.
Definition: ir_Electra.cpp:349
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Electra.cpp:192
const uint8_t kElectraAcLightToggleOn
Definition: ir_Electra.h:69
void setLightToggle(const bool on)
Set the Light (LED) Toggle mode of the A/C.
Definition: ir_Electra.cpp:284
const uint8_t kElectraAcFanLow
Definition: ir_Electra.h:48
void setSwingH(const bool on)
Set the Horizontal Swing mode of the A/C.
Definition: ir_Electra.cpp:270
const uint8_t kElectraAcFanOffset
Definition: ir_Electra.h:44
const uint8_t kElectraAcModeOffset
Definition: ir_Electra.h:57
static uint8_t calcChecksum(const uint8_t state[], const uint16_t length=kElectraAcStateLength)
Calculate the checksum for a given state.
Definition: ir_Electra.cpp:78
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Electra.cpp:160
const uint8_t kElectraAcSwingSize
Definition: ir_Electra.h:34
uint8_t getTemp(void)
Get the current temperature setting.
Definition: ir_Electra.cpp:200
const uint8_t kElectraAcSwingHOffset
Definition: ir_Electra.h:41
void off(void)
Change the power setting to Off.
Definition: ir_Electra.cpp:127
void send(const uint16_t repeat=kElectraAcMinRepeat)
Send the current internal state as an IR message.
Definition: ir_Electra.cpp:104
IRsend _irsend
instance of the IR send class
Definition: ir_Electra.h:130
const uint8_t kElectraAcSwingOn
Definition: ir_Electra.h:35
const uint8_t kElectraAcFanMed
Definition: ir_Electra.h:49
const uint8_t kElectraAcFanHigh
Definition: ir_Electra.h:50
uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Electra.cpp:231
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Electra.cpp:72
void setTurbo(const bool on)
Set the Turbo mode of the A/C.
Definition: ir_Electra.cpp:309
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Electra.cpp:143
const uint8_t kElectraAcSwingVOffset
Definition: ir_Electra.h:38
const uint8_t kElectraAcFan
Definition: ir_Electra.h:62
uint8_t remote_state[kElectraAcStateLength]
The state of the IR remote.
Definition: ir_Electra.h:136
const uint8_t kElectraAcLightToggleMask
Definition: ir_Electra.h:73
const uint8_t kElectraAcSwingOff
Definition: ir_Electra.h:36
Structure to hold a common A/C state.
Definition: IRsend.h:97
const uint8_t kElectraAcFanSize
Definition: ir_Electra.h:45
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Electra.cpp:64
void setSwingV(const bool on)
Set the Vertical Swing mode of the A/C.
Definition: ir_Electra.cpp:256
const uint16_t kElectraAcStateLength
Definition: IRremoteESP8266.h:896
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46
const uint8_t kElectraAcCleanOffset
Definition: ir_Electra.h:65