Go to the documentation of this file.
19 #define __STDC_LIMIT_MACROS
28 #include "IRsend_test.h"
66 explicit IRLgAc(
const uint16_t pin,
const bool inverted =
false,
67 const bool use_modulation =
true);
85 void setTemp(
const uint8_t degrees);
87 void setFan(
const uint8_t speed);
89 void setMode(
const uint8_t mode);
92 void setRaw(
const uint32_t new_code);
const uint8_t kLgAcFanMedium
Definition: ir_LG.h:37
void _setTemp(const uint8_t value)
Set the temperature.
Definition: ir_LG.cpp:375
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_LG.cpp:458
decode_type_t
Enumerator for defining and numbering of supported IR protocol.
Definition: IRremoteESP8266.h:736
uint32_t getRaw(void)
Get a copy of the internal state/code for this protocol.
Definition: ir_LG.cpp:314
decode_type_t _protocol
Definition: ir_LG.h:112
const uint8_t kLgAcFanSize
Definition: ir_LG.h:34
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_LG.h:78
const uint8_t kLgAcFanAuto
Definition: ir_LG.h:39
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
const uint8_t kLgAcFanOffset
Definition: ir_LG.h:33
const uint8_t kLgAcPowerOff
Definition: ir_LG.h:54
lg_ac_remote_model_t getModel(void)
Get the model of the A/C.
Definition: ir_LG.cpp:301
const uint8_t kLgAcFanLowest
Definition: ir_LG.h:35
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_LG.cpp:400
String toString(void)
Convert the current internal state into a human readable string.
Definition: ir_LG.cpp:523
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_LG.cpp:422
const uint8_t kLgAcFanHigh
Definition: ir_LG.h:38
const uint8_t kLgAcPowerOffset
Definition: ir_LG.h:52
Class for sending all basic IR protocols.
Definition: IRsend.h:176
const uint8_t kLgAcDry
Definition: ir_LG.h:48
void setTemp(const uint8_t degrees)
Set the temperature.
Definition: ir_LG.cpp:381
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 kLgAcTempOffset
Definition: ir_LG.h:40
const uint32_t kLgAcOffCommand
Definition: ir_LG.h:60
std::string String
Definition: IRremoteESP8266.h:1128
const uint8_t kNibbleSize
Definition: IRutils.h:17
static uint8_t calcChecksum(const uint32_t state)
Calculate the checksum for a given state.
Definition: ir_LG.cpp:330
const uint8_t kLgAcFanLow
Definition: ir_LG.h:36
void setModel(const lg_ac_remote_model_t model)
Set the model of the A/C to emulate.
Definition: ir_LG.cpp:287
const uint16_t kLgDefaultRepeat
Definition: IRremoteESP8266.h:944
const uint8_t kLgAcMaxTemp
Definition: ir_LG.h:44
IRLgAc(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_LG.cpp:259
const uint8_t kLgAcSignature
Definition: ir_LG.h:58
const uint8_t kLgAcSignatureSize
Definition: ir_LG.h:57
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_LG.cpp:471
const uint8_t kLgAcTempSize
Definition: ir_LG.h:41
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_LG.cpp:485
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_LG.cpp:497
const uint8_t kLgAcCool
Definition: ir_LG.h:47
const uint8_t kLgAcHeat
Definition: ir_LG.h:51
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_LG.cpp:270
const uint8_t kLgAcChecksumSize
Definition: ir_LG.h:32
const uint8_t kLgAcPowerSize
Definition: ir_LG.h:53
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_LG.cpp:416
Class for handling detailed LG A/C messages.
Definition: ir_LG.h:64
const uint8_t kLgAcSignatureOffset
Definition: ir_LG.h:56
const uint8_t kLgAcModeSize
Definition: ir_LG.h:46
uint32_t remote_state
The state of the IR remote in IR code form.
Definition: ir_LG.h:110
lg_ac_remote_model_t
LG A/C model numbers.
Definition: IRsend.h:164
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_LG.cpp:428
uint8_t _temp
Definition: ir_LG.h:111
const uint8_t kLgAcModeOffset
Definition: ir_LG.h:45
const uint8_t kLgAcAuto
Definition: ir_LG.h:50
void setRaw(const uint32_t new_code)
Set the internal state from a valid code for this protocol.
Definition: ir_LG.cpp:321
const uint8_t kLgAcPowerOn
Definition: ir_LG.h:55
uint8_t getTemp(void)
Get the current temperature setting.
Definition: ir_LG.cpp:390
void off(void)
Change the power setting to Off.
Definition: ir_LG.cpp:352
bool getPower(void)
Get the value of the current power setting.
Definition: ir_LG.cpp:367
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_LG.cpp:343
void stateReset(void)
Reset the internals of the object to a known good state.
Definition: ir_LG.cpp:264
const uint8_t kLgAcChecksumOffset
Definition: ir_LG.h:31
const uint8_t kLgAcMinTemp
Definition: ir_LG.h:43
const uint8_t kLgAcTempAdjust
Definition: ir_LG.h:42
uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_LG.cpp:445
void setPower(const bool on)
Change the power setting.
Definition: ir_LG.cpp:356
Structure to hold a common A/C state.
Definition: IRsend.h:97
void send(const uint16_t repeat=kLgDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_LG.cpp:275
static bool validChecksum(const uint32_t state)
Verify the checksum is valid for a given state.
Definition: ir_LG.cpp:337
const uint8_t kLgAcFan
Definition: ir_LG.h:49
void on(void)
Change the power setting to On.
Definition: ir_LG.cpp:349
bool isValidLgAc(void)
Check if the internal state looks like a valud LG A/C message.
Definition: ir_LG.cpp:540
IRsend _irsend
Instance of the IR send class.
Definition: ir_LG.h:104
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46