IRremoteESP8266
|
Class for handling detailed Midea A/C messages. More...
#include <ir_Midea.h>
Public Member Functions | |
IRMideaAC (const uint16_t pin, const bool inverted=false, const bool use_modulation=true) | |
Class constructor. More... | |
void | stateReset (void) |
Reset the state of the remote to a known good state/sequence. More... | |
void | send (const uint16_t repeat=kMideaMinRepeat) |
Send the current internal state as an IR message. More... | |
int8_t | calibrate (void) |
Run the calibration to calculate uSec timing offsets for this platform. More... | |
void | begin (void) |
Set up hardware to be able to send a message. More... | |
void | on (void) |
Set the requested power state of the A/C to on. More... | |
void | off (void) |
Set the requested power state of the A/C to off. More... | |
void | setPower (const bool on) |
Change the power setting. More... | |
bool | getPower (void) const |
Get the value of the current power setting. More... | |
bool | getUseCelsius (void) const |
Is the device currently using Celsius or the Fahrenheit temp scale? More... | |
void | setUseCelsius (const bool celsius) |
Set the A/C unit to use Celsius natively. More... | |
void | setTemp (const uint8_t temp, const bool useCelsius=false) |
Set the temperature. More... | |
uint8_t | getTemp (const bool useCelsius=false) const |
Get the current temperature setting. More... | |
void | setSensorTemp (const uint8_t temp, const bool useCelsius=false) |
Set the Sensor temperature. More... | |
uint8_t | getSensorTemp (const bool useCelsius=false) const |
Get the current Sensor temperature setting. More... | |
void | setEnableSensorTemp (const bool on) |
Enable the remote's Sensor temperature. More... | |
bool | getEnableSensorTemp (void) const |
Is the remote temperature sensor enabled? More... | |
void | setFan (const uint8_t fan) |
Set the speed of the fan. More... | |
uint8_t | getFan (void) const |
Get the current fan speed setting. More... | |
void | setMode (const uint8_t mode) |
Set the operating mode of the A/C. More... | |
uint8_t | getMode (void) const |
Get the operating mode setting of the A/C. More... | |
void | setRaw (const uint64_t newState) |
Set the internal state from a valid code for this protocol. More... | |
uint64_t | getRaw (void) |
Get a copy of the internal state/code for this protocol. More... | |
void | setSleep (const bool on) |
Set the Sleep setting of the A/C. More... | |
bool | getSleep (void) const |
Get the Sleep setting of the A/C. More... | |
bool | isSwingVToggle (void) const |
Is the current state a vertical swing toggle message? More... | |
void | setSwingVToggle (const bool on) |
Set the A/C to toggle the vertical swing toggle for the next send. More... | |
bool | getSwingVToggle (void) |
bool | isSwingVStep (void) const |
Is the current state a step vertical swing message? More... | |
void | setSwingVStep (const bool on) |
Set the A/C to step the vertical swing for the next send. More... | |
bool | getSwingVStep (void) |
bool | isEconoToggle (void) const |
Is the current state an Econo (energy saver) toggle message? More... | |
void | setEconoToggle (const bool on) |
Set the A/C to toggle the Econo (energy saver) mode for the next send. More... | |
bool | getEconoToggle (void) |
bool | isTurboToggle (void) const |
Is the current state a Turbo toggle message? More... | |
void | setTurboToggle (const bool on) |
Set the A/C to toggle the Turbo mode for the next send. More... | |
bool | getTurboToggle (void) |
bool | isLightToggle (void) const |
Is the current state a Light (LED) toggle message? More... | |
void | setLightToggle (const bool on) |
Set the A/C to toggle the Light (LED) mode for the next send. More... | |
bool | getLightToggle (void) |
bool | isCleanToggle (void) const |
Is the current state a Self-Clean toggle message? More... | |
void | setCleanToggle (const bool on) |
Set the A/C to toggle the Self Clean mode for the next send. More... | |
bool | getCleanToggle (void) |
bool | is8CHeatToggle (void) const |
Is the current state a 8C Heat (Freeze Protect) toggle message? More... | |
void | set8CHeatToggle (const bool on) |
Set the A/C to toggle the 8C Heat (Freeze Protect) mode for the next send. More... | |
bool | get8CHeatToggle (void) |
bool | isQuiet (void) const |
Is the current state a Quiet(Silent) message? More... | |
void | setQuiet (const bool on) |
Set the Quiet (Silent) mode for the next send. More... | |
void | setQuiet (const bool on, const bool prev) |
Set the Quiet (Silent) mode for the next send. More... | |
bool | getQuiet (void) const |
uint8_t | getType (void) const |
Get the message type setting of the A/C message. More... | |
bool | isOnTimerEnabled (void) const |
Is the OnTimer enabled? More... | |
uint16_t | getOnTimer (void) const |
Get the value of the OnTimer is currently set to. More... | |
void | setOnTimer (const uint16_t mins) |
Set the value of the On Timer. More... | |
bool | isOffTimerEnabled (void) const |
Is the OffTimer enabled? More... | |
uint16_t | getOffTimer (void) const |
Get the value of the OffTimer is currently set to. More... | |
void | setOffTimer (const uint16_t mins) |
Set the value of the Off Timer. More... | |
stdAc::state_t | toCommon (const stdAc::state_t *prev=NULL) |
Convert the current internal state into its stdAc::state_t equivalent. More... | |
String | toString (void) |
Convert the current internal state into a human readable string. More... | |
Static Public Member Functions | |
static bool | validChecksum (const uint64_t state) |
Verify the checksum is valid for a given state. More... | |
static uint8_t | convertMode (const stdAc::opmode_t mode) |
Convert a stdAc::opmode_t enum into its native mode. More... | |
static uint8_t | convertFan (const stdAc::fanspeed_t speed) |
Convert a stdAc::fanspeed_t enum into it's native speed. More... | |
static stdAc::opmode_t | toCommonMode (const uint8_t mode) |
Convert a native mode into its stdAc equivalent. More... | |
static stdAc::fanspeed_t | toCommonFanSpeed (const uint8_t speed) |
Convert a native fan speed into its stdAc equivalent. More... | |
Private Member Functions | |
void | checksum (void) |
Calculate & set the checksum for the current internal state of the remote. More... | |
void | setType (const uint8_t type) |
Set the message type setting of the A/C message. More... | |
Static Private Member Functions | |
static uint8_t | calcChecksum (const uint64_t state) |
Calculate the checksum for a given state. More... | |
Private Attributes | |
IRsend | _irsend |
Instance of the IR send class. More... | |
MideaProtocol | _ |
bool | _CleanToggle |
bool | _EconoToggle |
bool | _8CHeatToggle |
bool | _LightToggle |
bool | _Quiet |
bool | _Quiet_prev |
bool | _SwingVToggle |
bool | _SwingVStep |
bool | _TurboToggle |
Class for handling detailed Midea A/C messages.
|
explicit |
Class constructor.
[in] | pin | GPIO to be used when sending. |
[in] | inverted | Is the output signal to be inverted? |
[in] | use_modulation | Is frequency modulation to be used? |
void IRMideaAC::begin | ( | void | ) |
Set up hardware to be able to send a message.
|
staticprivate |
Calculate the checksum for a given state.
[in] | state | The value to calc the checksum of. |
|
inline |
Run the calibration to calculate uSec timing offsets for this platform.
|
private |
Calculate & set the checksum for the current internal state of the remote.
|
static |
Convert a stdAc::fanspeed_t enum into it's native speed.
[in] | speed | The enum to be converted. |
|
static |
Convert a stdAc::opmode_t enum into its native mode.
[in] | mode | The enum to be converted. |
bool IRMideaAC::get8CHeatToggle | ( | void | ) |
bool IRMideaAC::getCleanToggle | ( | void | ) |
bool IRMideaAC::getEconoToggle | ( | void | ) |
bool IRMideaAC::getEnableSensorTemp | ( | void | ) | const |
Is the remote temperature sensor enabled?
uint8_t IRMideaAC::getFan | ( | void | ) | const |
Get the current fan speed setting.
bool IRMideaAC::getLightToggle | ( | void | ) |
uint8_t IRMideaAC::getMode | ( | void | ) | const |
Get the operating mode setting of the A/C.
uint16_t IRMideaAC::getOffTimer | ( | void | ) | const |
Get the value of the OffTimer is currently set to.
uint16_t IRMideaAC::getOnTimer | ( | void | ) | const |
Get the value of the OnTimer is currently set to.
bool IRMideaAC::getPower | ( | void | ) | const |
Get the value of the current power setting.
bool IRMideaAC::getQuiet | ( | void | ) | const |
uint64_t IRMideaAC::getRaw | ( | void | ) |
Get a copy of the internal state/code for this protocol.
uint8_t IRMideaAC::getSensorTemp | ( | const bool | celsius = false | ) | const |
Get the current Sensor temperature setting.
[in] | celsius | true, the results are in Celsius. false, in Fahrenheit. |
bool IRMideaAC::getSleep | ( | void | ) | const |
Get the Sleep setting of the A/C.
bool IRMideaAC::getSwingVStep | ( | void | ) |
bool IRMideaAC::getSwingVToggle | ( | void | ) |
uint8_t IRMideaAC::getTemp | ( | const bool | celsius = false | ) | const |
Get the current temperature setting.
[in] | celsius | true, the results are in Celsius. false, in Fahrenheit. |
bool IRMideaAC::getTurboToggle | ( | void | ) |
uint8_t IRMideaAC::getType | ( | void | ) | const |
Get the message type setting of the A/C message.
bool IRMideaAC::getUseCelsius | ( | void | ) | const |
Is the device currently using Celsius or the Fahrenheit temp scale?
bool IRMideaAC::is8CHeatToggle | ( | void | ) | const |
Is the current state a 8C Heat (Freeze Protect) toggle message?
bool IRMideaAC::isCleanToggle | ( | void | ) | const |
Is the current state a Self-Clean toggle message?
bool IRMideaAC::isEconoToggle | ( | void | ) | const |
Is the current state an Econo (energy saver) toggle message?
bool IRMideaAC::isLightToggle | ( | void | ) | const |
Is the current state a Light (LED) toggle message?
bool IRMideaAC::isOffTimerEnabled | ( | void | ) | const |
Is the OffTimer enabled?
bool IRMideaAC::isOnTimerEnabled | ( | void | ) | const |
Is the OnTimer enabled?
bool IRMideaAC::isQuiet | ( | void | ) | const |
Is the current state a Quiet(Silent) message?
bool IRMideaAC::isSwingVStep | ( | void | ) | const |
Is the current state a step vertical swing message?
bool IRMideaAC::isSwingVToggle | ( | void | ) | const |
Is the current state a vertical swing toggle message?
bool IRMideaAC::isTurboToggle | ( | void | ) | const |
Is the current state a Turbo toggle message?
void IRMideaAC::off | ( | void | ) |
Set the requested power state of the A/C to off.
void IRMideaAC::on | ( | void | ) |
Set the requested power state of the A/C to on.
void IRMideaAC::send | ( | const uint16_t | repeat = kMideaMinRepeat | ) |
Send the current internal state as an IR message.
[in] | repeat | Nr. of times the message will be repeated. |
void IRMideaAC::set8CHeatToggle | ( | const bool | on | ) |
Set the A/C to toggle the 8C Heat (Freeze Protect) mode for the next send.
[in] | on | true, the setting is on. false, the setting is off. |
void IRMideaAC::setCleanToggle | ( | const bool | on | ) |
Set the A/C to toggle the Self Clean mode for the next send.
[in] | on | true, the setting is on. false, the setting is off. |
void IRMideaAC::setEconoToggle | ( | const bool | on | ) |
Set the A/C to toggle the Econo (energy saver) mode for the next send.
[in] | on | true, the setting is on. false, the setting is off. |
void IRMideaAC::setEnableSensorTemp | ( | const bool | on | ) |
Enable the remote's Sensor temperature.
[in] | on | true, the setting is on. false, the setting is off. |
void IRMideaAC::setFan | ( | const uint8_t | fan | ) |
Set the speed of the fan.
[in] | fan | The desired setting. 1-3 set the speed, 0 for auto. |
void IRMideaAC::setLightToggle | ( | const bool | on | ) |
Set the A/C to toggle the Light (LED) mode for the next send.
[in] | on | true, the setting is on. false, the setting is off. |
void IRMideaAC::setMode | ( | const uint8_t | mode | ) |
Set the operating mode of the A/C.
[in] | mode | The desired operating mode. |
void IRMideaAC::setOffTimer | ( | const uint16_t | mins | ) |
Set the value of the Off Timer.
[in] | mins | The number of minutes for the timer. |
void IRMideaAC::setOnTimer | ( | const uint16_t | mins | ) |
Set the value of the On Timer.
[in] | mins | The number of minutes for the timer. |
void IRMideaAC::setPower | ( | const bool | on | ) |
Change the power setting.
[in] | on | true, the setting is on. false, the setting is off. |
void IRMideaAC::setQuiet | ( | const bool | on | ) |
Set the Quiet (Silent) mode for the next send.
[in] | on | true, the setting is on. false, the setting is off. |
void IRMideaAC::setQuiet | ( | const bool | on, |
const bool | prev | ||
) |
Set the Quiet (Silent) mode for the next send.
[in] | on | true, the setting is on. false, the setting is off. |
[in] | prev | true, previously the setting was on. false, setting was off. |
void IRMideaAC::setRaw | ( | const uint64_t | newState | ) |
Set the internal state from a valid code for this protocol.
[in] | newState | A valid code for this protocol. |
void IRMideaAC::setSensorTemp | ( | const uint8_t | temp, |
const bool | useCelsius = false |
||
) |
Set the Sensor temperature.
[in] | temp | The temperature in degrees celsius. |
[in] | useCelsius | true, use the Celsius temp scale. false, is Fahrenheit |
void IRMideaAC::setSleep | ( | const bool | on | ) |
Set the Sleep setting of the A/C.
[in] | on | true, the setting is on. false, the setting is off. |
void IRMideaAC::setSwingVStep | ( | const bool | on | ) |
Set the A/C to step the vertical swing for the next send.
[in] | on | true, the setting is on. false, the setting is off. |
void IRMideaAC::setSwingVToggle | ( | const bool | on | ) |
Set the A/C to toggle the vertical swing toggle for the next send.
[in] | on | true, the setting is on. false, the setting is off. |
void IRMideaAC::setTemp | ( | const uint8_t | temp, |
const bool | useCelsius = false |
||
) |
Set the temperature.
[in] | temp | The temperature in degrees celsius. |
[in] | useCelsius | true, use the Celsius temp scale. false, is Fahrenheit |
void IRMideaAC::setTurboToggle | ( | const bool | on | ) |
Set the A/C to toggle the Turbo mode for the next send.
[in] | on | true, the setting is on. false, the setting is off. |
|
private |
Set the message type setting of the A/C message.
[in] | setting | The desired message type setting. |
void IRMideaAC::setUseCelsius | ( | const bool | on | ) |
Set the A/C unit to use Celsius natively.
[in] | on | true, the setting is on. false, the setting is off. |
void IRMideaAC::stateReset | ( | void | ) |
Reset the state of the remote to a known good state/sequence.
stdAc::state_t IRMideaAC::toCommon | ( | const stdAc::state_t * | prev = NULL | ) |
Convert the current internal state into its stdAc::state_t equivalent.
[in] | prev | A Ptr to the previous state. |
|
static |
|
static |
String IRMideaAC::toString | ( | void | ) |
Convert the current internal state into a human readable string.
|
static |
Verify the checksum is valid for a given state.
[in] | state | The state to verify the checksum of. |
|
private |
|
private |
|
private |
|
private |
|
private |
Instance of the IR send class.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |