| 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 | 
 1.8.17
 1.8.17