Go to the documentation of this file.
17 #include "IRsend_test.h"
103 #define ARGO_COOL_ON kArgoCoolOn
104 #define ARGO_COOL_OFF kArgoCoolOff
105 #define ARGO_COOL_AUTO kArgoCoolAuto
106 #define ARGO_COOL_HUM kArgoCoolHum
107 #define ARGO_HEAT_ON kArgoHeatOn
108 #define ARGO_HEAT_AUTO kArgoHeatAuto
109 #define ARGO_HEAT_BLINK kArgoHeatBlink
110 #define ARGO_MIN_TEMP kArgoMinTemp
111 #define ARGO_MAX_TEMP kArgoMaxTemp
112 #define ARGO_FAN_AUTO kArgoFanAuto
113 #define ARGO_FAN_3 kArgoFan3
114 #define ARGO_FAN_2 kArgoFan2
115 #define ARGO_FAN_1 kArgoFan1
116 #define ARGO_FLAP_AUTO kArgoFlapAuto
117 #define ARGO_FLAP_1 kArgoFlap1
118 #define ARGO_FLAP_2 kArgoFlap2
119 #define ARGO_FLAP_3 kArgoFlap3
120 #define ARGO_FLAP_4 kArgoFlap4
121 #define ARGO_FLAP_5 kArgoFlap5
122 #define ARGO_FLAP_6 kArgoFlap6
123 #define ARGO_FLAP_FULL kArgoFlapFull
129 explicit IRArgoAC(
const uint16_t pin,
const bool inverted =
false,
130 const bool use_modulation =
true);
147 void setTemp(
const uint8_t degrees);
150 void setFan(
const uint8_t fan);
151 uint8_t
getFan(
void)
const;
153 void setFlap(
const uint8_t flap);
156 void setMode(
const uint8_t mode);
173 void setRaw(
const uint8_t state[]);
void setTime(void)
Set the time for the A/C.
Definition: ir_Argo.cpp:244
static uint8_t calcChecksum(const uint8_t state[], const uint16_t length=kArgoStateLength)
Verify the checksum is valid for a given state.
Definition: ir_Argo.cpp:72
uint32_t Sum
Definition: ir_Argo.h:61
uint8_t flap_mode
Definition: ir_Argo.h:200
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Argo.cpp:176
IRsend _irsend
instance of the IR send class
Definition: ir_Argo.h:188
const uint8_t kArgoHeatBlink
Definition: ir_Argo.h:78
swingv_t
Common A/C settings for Vertical Swing.
Definition: IRsend.h:70
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Argo.cpp:182
const uint8_t kArgoMaxTemp
Definition: ir_Argo.h:90
const uint16_t kArgoDefaultRepeat
Definition: IRremoteESP8266.h:912
void setTemp(const uint8_t degrees)
Set the temperature.
Definition: ir_Argo.cpp:159
void setFlap(const uint8_t flap)
Set the flap position. i.e. Swing.
Definition: ir_Argo.cpp:189
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Argo.cpp:372
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Argo.cpp:265
uint8_t getRoomTemp(void) const
Get the currently stored value for the room temperature setting.
Definition: ir_Argo.cpp:258
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
const uint8_t kArgoFlap2
Definition: ir_Argo.h:95
uint8_t getFlap(void) const
Get the flap position. i.e. Swing.
Definition: ir_Argo.cpp:197
void stateReset(void)
Reset the internals of the object to a known good state.
Definition: ir_Argo.cpp:98
uint32_t Night
Definition: ir_Argo.h:53
const uint8_t kArgoFlap4
Definition: ir_Argo.h:97
const uint8_t kArgoHeatBit
Definition: ir_Argo.h:68
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Argo.h:138
bool getPower(void) const
Get the power setting from the internal state.
Definition: ir_Argo.cpp:144
const uint8_t kArgoFlap3
Definition: ir_Argo.h:96
Class for sending all basic IR protocols.
Definition: IRsend.h:187
static bool validChecksum(const uint8_t state[], const uint16_t length=kArgoStateLength)
Verify the checksum is valid for a given state.
Definition: ir_Argo.cpp:83
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition: IRsend.cpp:207
const uint16_t kArgoStateLength
Definition: IRremoteESP8266.h:910
std::string String
Definition: IRremoteESP8266.h:1208
const uint8_t kArgoFan1
Definition: ir_Argo.h:82
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Argo.cpp:322
const uint8_t kArgoOff
Definition: ir_Argo.h:74
uint64_t Flap
Definition: ir_Argo.h:37
bool getiFeel(void) const
Get the status of iFeel mode.
Definition: ir_Argo.cpp:240
static uint8_t convertSwingV(const stdAc::swingv_t position)
Convert a stdAc::swingv_t enum into it's native setting.
Definition: ir_Argo.cpp:302
const uint8_t kArgoFlapFull
Definition: ir_Argo.h:100
uint64_t Mode
Definition: ir_Argo.h:33
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Argo.cpp:170
const uint8_t kArgoDry
Definition: ir_Argo.h:72
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Argo.cpp:346
const uint8_t kArgoAuto
Definition: ir_Argo.h:73
void setRoomTemp(const uint8_t degrees)
Set the value for the current room temperature.
Definition: ir_Argo.cpp:250
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Argo.cpp:284
void off(void)
Set the internal state to have the power off.
Definition: ir_Argo.cpp:134
uint64_t Temp
Definition: ir_Argo.h:34
uint32_t Power
Definition: ir_Argo.h:56
void setPower(const bool on)
Set the internal state to have the desired power.
Definition: ir_Argo.cpp:138
const uint8_t kArgoFlap1
Definition: ir_Argo.h:94
uint8_t raw[kArgoStateLength]
The state in native IR code form.
Definition: ir_Argo.h:25
uint8_t * getRaw(void)
Get the raw state of the object, suitable to be sent with the appropriate IRsend object method.
Definition: ir_Argo.cpp:119
uint64_t Fan
Definition: ir_Argo.h:35
uint8_t heat_mode
Definition: ir_Argo.h:201
uint32_t Max
Definition: ir_Argo.h:54
uint64_t RoomTemp
Definition: ir_Argo.h:36
const uint8_t kArgoMinTemp
Definition: ir_Argo.h:89
void on(void)
Set the internal state to have the power on.
Definition: ir_Argo.cpp:131
void setNight(const bool on)
Turn on/off the Night mode. i.e. Sleep.
Definition: ir_Argo.cpp:224
const uint8_t kArgoFan2
Definition: ir_Argo.h:83
const uint8_t kArgoCool
Definition: ir_Argo.h:71
void send(const uint16_t repeat=kArgoDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Argo.cpp:63
ArgoProtocol _
Definition: ir_Argo.h:195
const uint8_t kArgoHeatAuto
Definition: ir_Argo.h:76
Native representation of a Argo A/C message.
Definition: ir_Argo.h:24
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Argo.cpp:335
const uint8_t kArgoHeat
Definition: ir_Argo.h:75
void setRaw(const uint8_t state[])
Set the raw state of the object.
Definition: ir_Argo.cpp:126
uint8_t getMode(void) const
Get the current operation mode setting.
Definition: ir_Argo.cpp:201
const uint8_t kArgoFlap5
Definition: ir_Argo.h:98
IRArgoAC(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Argo.cpp:53
const uint8_t kArgoTempDelta
Definition: ir_Argo.h:87
void checksum(void)
Update the checksum for the internal state.
Definition: ir_Argo.cpp:89
const uint8_t kArgoFlap6
Definition: ir_Argo.h:99
uint8_t cool_mode
Definition: ir_Argo.h:202
bool getMax(void) const
Is the Max (i.e. Turbo) setting on?
Definition: ir_Argo.cpp:154
bool getNight(void) const
Get the status of Night mode. i.e. Sleep.
Definition: ir_Argo.cpp:230
void setiFeel(const bool on)
Turn on/off the iFeel mode.
Definition: ir_Argo.cpp:234
uint32_t iFeel
Definition: ir_Argo.h:58
void setMax(const bool on)
Control the current Max setting. (i.e. Turbo)
Definition: ir_Argo.cpp:148
const uint8_t kArgoFlapAuto
Definition: ir_Argo.h:93
Structure to hold a common A/C state.
Definition: IRsend.h:97
const uint8_t kArgoFan3
Definition: ir_Argo.h:84
Class for handling detailed Argo A/C messages.
Definition: ir_Argo.h:127
const uint8_t kArgoFanAuto
Definition: ir_Argo.h:81
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Argo.cpp:58
void setMode(const uint8_t mode)
Set the desired operation mode.
Definition: ir_Argo.cpp:207
const uint8_t kArgoMaxRoomTemp
Definition: ir_Argo.h:88
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46