Go to the documentation of this file.
11 #ifndef IR_GOODWEATHER_H_
12 #define IR_GOODWEATHER_H_
14 #define __STDC_LIMIT_MACROS
22 #include "IRsend_test.h"
102 explicit IRGoodweatherAc(
const uint16_t pin,
const bool inverted =
false,
103 const bool use_modulation =
true);
112 #endif // SEND_GOODWEATHER
118 void setTemp(
const uint8_t temp);
120 void setFan(
const uint8_t speed);
121 uint8_t
getFan(
void)
const;
122 void setMode(
const uint8_t mode);
135 void setRaw(
const uint64_t state);
154 #endif // IR_GOODWEATHER_H_
const uint8_t kGoodweatherCmdLight
Definition: ir_Goodweather.h:93
uint8_t Power
Definition: ir_Goodweather.h:41
const uint8_t kGoodweatherCmdDownTemp
Definition: ir_Goodweather.h:85
void off(void)
Change the power setting to Off.
Definition: ir_Goodweather.cpp:95
void on(void)
Change the power setting to On.
Definition: ir_Goodweather.cpp:92
const uint16_t kGoodweatherOneSpace
Definition: ir_Goodweather.h:57
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition: ir_Goodweather.cpp:70
uint8_t Sleep
Definition: ir_Goodweather.h:40
const uint8_t kGoodweatherTempMin
Definition: ir_Goodweather.h:79
IRsend _irsend
Instance of the IR send class.
Definition: ir_Goodweather.h:146
const uint8_t kGoodweatherCmdPower
Definition: ir_Goodweather.h:82
swingv_t
Common A/C settings for Vertical Swing.
Definition: IRsend.h:74
const uint8_t kGoodweatherCmdAirFlow
Definition: ir_Goodweather.h:89
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Goodweather.cpp:144
Native representation of a Goodweather A/C message.
Definition: ir_Goodweather.h:26
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:61
bool getLight(void) const
Get the Light (LED) Toggle setting of the A/C.
Definition: ir_Goodweather.cpp:180
void setTurbo(const bool toggle)
Set the Turbo Toggle setting of the A/C.
Definition: ir_Goodweather.cpp:199
void setLight(const bool toggle)
Set the Light (LED) Toggle setting of the A/C.
Definition: ir_Goodweather.cpp:173
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Goodweather.cpp:122
const uint8_t kGoodweatherCmdSwing
Definition: ir_Goodweather.h:86
const uint8_t kGoodweatherFanMed
Definition: ir_Goodweather.h:76
static uint8_t convertSwingV(const stdAc::swingv_t swingv)
Convert a stdAc::swingv_t enum into it's native setting.
Definition: ir_Goodweather.cpp:274
const uint8_t kGoodweatherCmdUpTemp
Definition: ir_Goodweather.h:84
const uint16_t kGoodweatherHdrSpace
Definition: ir_Goodweather.h:60
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Goodweather.h:111
uint8_t Turbo
Definition: ir_Goodweather.h:34
Class for sending all basic IR protocols.
Definition: IRsend.h:237
const uint8_t kGoodweatherFanAuto
Definition: ir_Goodweather.h:74
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition: IRsend.cpp:207
IRGoodweatherAc(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Goodweather.cpp:65
const uint16_t kGoodweatherZeroSpace
Definition: ir_Goodweather.h:58
void setRaw(const uint64_t state)
Set the internal state from a valid code for this protocol.
Definition: ir_Goodweather.cpp:89
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Goodweather.cpp:167
uint8_t Swing
Definition: ir_Goodweather.h:42
const uint8_t kGoodweatherAuto
Definition: ir_Goodweather.h:64
std::string String
Definition: IRremoteESP8266.h:1521
void send(const uint16_t repeat=kGoodweatherMinRepeat)
Send the current internal state as an IR message.
Definition: ir_Goodweather.cpp:78
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Goodweather.cpp:289
const uint8_t kGoodweatherExtraTolerance
Definition: ir_Goodweather.h:61
uint8_t getCommand(void) const
Get the Command type/button pressed from the current settings.
Definition: ir_Goodweather.cpp:240
const uint8_t kGoodweatherSwingSlow
Definition: ir_Goodweather.h:71
const uint8_t kGoodweatherSwingOff
Definition: ir_Goodweather.h:72
const uint8_t kGoodweatherDry
Definition: ir_Goodweather.h:66
uint8_t getSwing(void) const
Get the Vertical Swing speed of the A/C.
Definition: ir_Goodweather.cpp:227
const uint8_t kGoodweatherSwingFast
Definition: ir_Goodweather.h:70
const uint8_t kGoodweatherCmdSleep
Definition: ir_Goodweather.h:91
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Goodweather.cpp:313
const uint8_t kGoodweatherCool
Definition: ir_Goodweather.h:65
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Goodweather.cpp:112
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Goodweather.cpp:73
const uint8_t kGoodweatherCmdFan
Definition: ir_Goodweather.h:87
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Goodweather.cpp:106
const uint8_t kGoodweatherCmdHold
Definition: ir_Goodweather.h:90
uint8_t Mode
Definition: ir_Goodweather.h:49
void setSwing(const uint8_t speed)
Set the Vertical Swing speed of the A/C.
Definition: ir_Goodweather.cpp:212
const uint8_t kGoodweatherFan
Definition: ir_Goodweather.h:67
const uint8_t kGoodweatherCmdTurbo
Definition: ir_Goodweather.h:92
void setCommand(const uint8_t cmd)
Set the remote Command type/button pressed.
Definition: ir_Goodweather.cpp:233
uint8_t Light
Definition: ir_Goodweather.h:32
uint8_t Command
Definition: ir_Goodweather.h:37
const uint64_t kGoodweatherStateInit
Definition: ir_Goodweather.h:95
const uint8_t kGoodweatherCmdTimer
Definition: ir_Goodweather.h:88
uint8_t Temp
Definition: ir_Goodweather.h:47
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Goodweather.cpp:150
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Goodweather.cpp:340
bool getTurbo(void) const
Get the Turbo Toggle setting of the A/C.
Definition: ir_Goodweather.cpp:206
const uint8_t kGoodweatherTempMax
Definition: ir_Goodweather.h:80
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Goodweather.cpp:302
const uint8_t kGoodweatherFanLow
Definition: ir_Goodweather.h:77
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Goodweather.cpp:128
const uint8_t kGoodweatherHeat
Definition: ir_Goodweather.h:68
const uint16_t kGoodweatherBitMark
Definition: ir_Goodweather.h:56
bool getSleep(void) const
Get the Sleep Toggle setting of the A/C.
Definition: ir_Goodweather.cpp:193
const uint8_t kGoodweatherFanHigh
Definition: ir_Goodweather.h:75
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Goodweather.cpp:260
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Goodweather.cpp:247
uint64_t raw
The state of the IR remote in IR code form.
Definition: ir_Goodweather.h:27
const uint16_t kGoodweatherHdrMark
Definition: ir_Goodweather.h:59
uint8_t AirFlow
Definition: ir_Goodweather.h:43
void setPower(const bool on)
Change the power setting.
Definition: ir_Goodweather.cpp:99
void setSleep(const bool toggle)
Set the Sleep Toggle setting of the A/C.
Definition: ir_Goodweather.cpp:186
Structure to hold a common A/C state.
Definition: IRsend.h:114
Class for handling detailed Goodweather A/C messages.
Definition: ir_Goodweather.h:100
GoodweatherProtocol _
Definition: ir_Goodweather.h:152
uint8_t Fan
Definition: ir_Goodweather.h:44
uint64_t getRaw(void)
Get a copy of the internal state as a valid code for this protocol.
Definition: ir_Goodweather.cpp:85
const uint16_t kGoodweatherMinRepeat
Definition: IRremoteESP8266.h:1247
const uint8_t kGoodweatherCmdMode
Definition: ir_Goodweather.h:83
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:49