IRremoteESP8266: IRHaierAC160 Class Reference (original) (raw)
Class for handling detailed Haier 160 bit A/C messages. More...
#include <[ir_Haier.h](ir%5F%5FHaier%5F8h%5Fsource.html)>
Public Member Functions | |
---|---|
IRHaierAC160 (const uint16_t pin, const bool inverted=false, const bool use_modulation=true) | |
Class constructor. More... | |
virtual void | send (const uint16_t repeat=kHaierAc160DefaultRepeat) |
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 | stateReset (void) |
Reset the internal state to a fixed known good state. More... | |
void | setButton (const uint8_t button) |
Set the Button/Command setting of the A/C. More... | |
uint8_t | getButton (void) const |
Get the Button/Command setting of the A/C. More... | |
void | setUseFahrenheit (const bool on) |
Set the default temperature units to use. More... | |
bool | getUseFahrenheit (void) const |
Get the default temperature units in use. More... | |
void | setTemp (const uint8_t temp, const bool fahrenheit=false) |
Set the temperature. More... | |
uint8_t | getTemp (void) const |
Get the current temperature setting. The unit of temperature is specified by UseFahrenheit value. More... | |
void | setFan (const uint8_t speed) |
Set the speed of the fan. More... | |
uint8_t | getFan (void) const |
Get the current fan speed setting. More... | |
uint8_t | getMode (void) const |
Get the operating mode setting of the A/C. More... | |
void | setMode (const uint8_t mode) |
Set the operating mode of the A/C. More... | |
bool | getPower (void) const |
Get the value of the current power setting. More... | |
void | setPower (const bool on) |
Change the power setting. More... | |
void | on (void) |
Change the power setting to On. More... | |
void | off (void) |
Change the power setting to Off. More... | |
bool | getSleep (void) const |
Get the Sleep setting of the A/C. More... | |
void | setSleep (const bool on) |
Set the Sleep setting of the A/C. More... | |
bool | getClean (void) const |
Get the Clean setting of the A/C. More... | |
void | setClean (const bool on) |
Set the Clean setting of the A/C. More... | |
bool | getLightToggle (void) const |
Get the value of the current Light toggle setting. More... | |
void | setLightToggle (const bool on) |
Set the Light Toggle setting of the A/C. More... | |
bool | getTurbo (void) const |
Get the Turbo setting of the A/C. More... | |
void | setTurbo (const bool on) |
Set the Turbo setting of the A/C. More... | |
bool | getQuiet (void) const |
Get the Quiet setting of the A/C. More... | |
void | setQuiet (const bool on) |
Set the Quiet setting of the A/C. More... | |
bool | getAuxHeating (void) const |
Get the value of the Aux Heating setting. More... | |
void | setAuxHeating (const bool on) |
Change the Aux Heating setting. More... | |
uint8_t | getSwingV (void) const |
Get the Vertical Swing position setting of the A/C. More... | |
void | setSwingV (const uint8_t pos) |
Set the Vertical Swing mode of the A/C. More... | |
void | setTimerMode (const uint8_t setting) |
Set the Timer operating mode. More... | |
uint8_t | getTimerMode (void) const |
Get the Timer operating mode. More... | |
void | setOnTimer (const uint16_t mins) |
Set the number of minutes of the On Timer setting. More... | |
uint16_t | getOnTimer (void) const |
Get the number of minutes of the On Timer setting. More... | |
void | setOffTimer (const uint16_t mins) |
Set the number of minutes of the Off Timer setting. More... | |
uint16_t | getOffTimer (void) const |
Get the number of minutes of the Off Timer setting. More... | |
bool | getLock (void) const |
Get the Lock setting of the A/C. More... | |
void | setLock (const bool on) |
Set the Lock setting of the A/C. More... | |
bool | getHealth (void) const |
Get the Health (filter) setting of the A/C. More... | |
void | setHealth (const bool on) |
Set the Health (filter) setting of the A/C. More... | |
uint8_t * | getRaw (void) |
Get a PTR to the internal state/code for this protocol. More... | |
virtual void | setRaw (const uint8_t new_code[]) |
Set the internal state from a valid code for this protocol. More... | |
stdAc::state_t | toCommon (const stdAc::state_t *prev=NULL) const |
Convert the current internal state into its stdAc::state_t equivalent. More... | |
String | toString (void) const |
Convert the current internal state into a human readable string. More... | |
Static Public Member Functions | |
---|---|
static bool | validChecksum (const uint8_t state[], const uint16_t length=kHaierAC160StateLength) |
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 uint8_t | convertSwingV (const stdAc::swingv_t position) |
Convert a stdAc::swingv_t enum into it's native setting. 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... | |
static stdAc::swingv_t | toCommonSwingV (const uint8_t pos) |
Convert a stdAc::swingv_t enum into it's native setting. More... | |
static bool | toCommonTurbo (const uint8_t speed) |
static bool | toCommonQuiet (const uint8_t speed) |
Private Member Functions | |
---|---|
void | checksum (void) |
Calculate and set the checksum values for the internal state. More... | |
Private Attributes | |
---|---|
IRsend | _irsend |
Instance of the IR send class. More... | |
HaierAc160Protocol | _ |
Class for handling detailed Haier 160 bit A/C messages.
IRHaierAC160::IRHaierAC160 ( const uint16_t pin, const bool inverted = false, const bool use_modulation = true ) | explicit |
---|
Class constructor.
Parameters
[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? |
◆ begin()
void IRHaierAC160::begin | ( | void | ) |
---|
Set up hardware to be able to send a message.
◆ calibrate()
int8_t IRHaierAC160::calibrate ( void ) | inline |
---|
Run the calibration to calculate uSec timing offsets for this platform.
Returns
The uSec timing offset needed per modulation of the IR Led.
Note
This will produce a 65ms IR signal pulse at 38kHz. Only ever needs to be run once per object instantiation, if at all.
◆ checksum()
void IRHaierAC160::checksum ( void ) | private |
---|
Calculate and set the checksum values for the internal state.
◆ convertFan()
Convert a stdAc::fanspeed_t enum into it's native speed.
Parameters
[in] | speed | The enum to be converted. |
---|
Returns
The native equivalent of the enum.
◆ convertMode()
Convert a stdAc::opmode_t enum into its native mode.
Parameters
[in] | mode | The enum to be converted. |
---|
Returns
The native equivalent of the enum.
◆ convertSwingV()
uint8_t IRHaierAC160::convertSwingV ( const stdAc::swingv_t position) | static |
---|
Convert a stdAc::swingv_t enum into it's native setting.
Parameters
[in] | position | The enum to be converted. |
---|
Returns
The native equivalent of the enum.
◆ getAuxHeating()
bool IRHaierAC160::getAuxHeating | ( | void | ) | const |
---|
Get the value of the Aux Heating setting.
Returns
true, the setting is on. false, the setting is off.
◆ getButton()
uint8_t IRHaierAC160::getButton | ( | void | ) | const |
---|
Get the Button/Command setting of the A/C.
Returns
The value of the button/command that was pressed.
◆ getClean()
bool IRHaierAC160::getClean | ( | void | ) | const |
---|
Get the Clean setting of the A/C.
Returns
true, the setting is on. false, the setting is off.
◆ getFan()
uint8_t IRHaierAC160::getFan | ( | void | ) | const |
---|
Get the current fan speed setting.
Returns
The current fan speed.
◆ getHealth()
bool IRHaierAC160::getHealth | ( | void | ) | const |
---|
Get the Health (filter) setting of the A/C.
Returns
true, the setting is on. false, the setting is off.
◆ getLightToggle()
bool IRHaierAC160::getLightToggle | ( | void | ) | const |
---|
Get the value of the current Light toggle setting.
Returns
true, the setting is on. false, the setting is off.
Note
This setting seems to be controlled just by the button setting.
◆ getLock()
bool IRHaierAC160::getLock | ( | void | ) | const |
---|
Get the Lock setting of the A/C.
Returns
true, the setting is on. false, the setting is off.
◆ getMode()
uint8_t IRHaierAC160::getMode | ( | void | ) | const |
---|
Get the operating mode setting of the A/C.
Returns
The current operating mode setting.
◆ getOffTimer()
uint16_t IRHaierAC160::getOffTimer | ( | void | ) | const |
---|
Get the number of minutes of the Off Timer setting.
Returns
Nr of minutes.
◆ getOnTimer()
uint16_t IRHaierAC160::getOnTimer | ( | void | ) | const |
---|
Get the number of minutes of the On Timer setting.
Returns
Nr of minutes.
◆ getPower()
bool IRHaierAC160::getPower | ( | void | ) | const |
---|
Get the value of the current power setting.
Returns
true, the setting is on. false, the setting is off.
◆ getQuiet()
bool IRHaierAC160::getQuiet | ( | void | ) | const |
---|
Get the Quiet setting of the A/C.
Returns
The current Quiet setting.
◆ getRaw()
uint8_t * IRHaierAC160::getRaw | ( | void | ) |
---|
Get a PTR to the internal state/code for this protocol.
Returns
PTR to a code for this protocol based on the current internal state.
◆ getSleep()
bool IRHaierAC160::getSleep | ( | void | ) | const |
---|
Get the Sleep setting of the A/C.
Returns
true, the setting is on. false, the setting is off.
◆ getSwingV()
uint8_t IRHaierAC160::getSwingV | ( | void | ) | const |
---|
Get the Vertical Swing position setting of the A/C.
Returns
The native position/mode.
◆ getTemp()
uint8_t IRHaierAC160::getTemp | ( | void | ) | const |
---|
Get the current temperature setting. The unit of temperature is specified by UseFahrenheit value.
Returns
The current setting for temperature.
◆ getTimerMode()
uint8_t IRHaierAC160::getTimerMode | ( | void | ) | const |
---|
Get the Timer operating mode.
Returns
The mode of the timer is currently configured to.
◆ getTurbo()
bool IRHaierAC160::getTurbo | ( | void | ) | const |
---|
Get the Turbo setting of the A/C.
Returns
The current turbo setting.
◆ getUseFahrenheit()
bool IRHaierAC160::getUseFahrenheit | ( | void | ) | const |
---|
Get the default temperature units in use.
Returns
true is Fahrenheit, false is Celsius.
◆ off()
void IRHaierAC160::off | ( | void | ) |
---|
Change the power setting to Off.
◆ on()
void IRHaierAC160::on | ( | void | ) |
---|
Change the power setting to On.
◆ send()
Send the current internal state as an IR message.
Parameters
[in] | repeat | Nr. of times the message will be repeated. |
---|
◆ setAuxHeating()
void IRHaierAC160::setAuxHeating | ( | const bool | on | ) |
---|
Change the Aux Heating setting.
Parameters
[in] | on | true, the setting is on. false, the setting is off. |
---|
◆ setButton()
void IRHaierAC160::setButton | ( | const uint8_t | button | ) |
---|
Set the Button/Command setting of the A/C.
Parameters
[in] | button | The value of the button/command that was pressed. |
---|
◆ setClean()
void IRHaierAC160::setClean | ( | const bool | on | ) |
---|
Set the Clean setting of the A/C.
Parameters
[in] | on | true, the setting is on. false, the setting is off. |
---|
◆ setFan()
void IRHaierAC160::setFan | ( | const uint8_t | speed | ) |
---|
Set the speed of the fan.
Parameters
[in] | speed | The desired setting. |
---|
◆ setHealth()
void IRHaierAC160::setHealth | ( | const bool | on | ) |
---|
Set the Health (filter) setting of the A/C.
Parameters
[in] | on | true, the setting is on. false, the setting is off. |
---|
◆ setLightToggle()
void IRHaierAC160::setLightToggle | ( | const bool | on | ) |
---|
Set the Light Toggle setting of the A/C.
Parameters
[in] | on | true, the setting is on. false, the setting is off. |
---|
Note
This setting seems to be controlled just by the button setting.
◆ setLock()
void IRHaierAC160::setLock | ( | const bool | on | ) |
---|
Set the Lock setting of the A/C.
Parameters
[in] | on | true, the setting is on. false, the setting is off. |
---|
◆ setMode()
void IRHaierAC160::setMode | ( | const uint8_t | mode | ) |
---|
Set the operating mode of the A/C.
Parameters
[in] | mode | The desired operating mode. |
---|
◆ setOffTimer()
void IRHaierAC160::setOffTimer | ( | const uint16_t | mins | ) |
---|
Set the number of minutes of the Off Timer setting.
Parameters
[in] | mins | Nr. of Minutes for the Timer. 0 means disable the timer. |
---|
◆ setOnTimer()
void IRHaierAC160::setOnTimer | ( | const uint16_t | mins | ) |
---|
Set the number of minutes of the On Timer setting.
Parameters
[in] | mins | Nr. of Minutes for the Timer. 0 means disable the timer. |
---|
◆ setPower()
void IRHaierAC160::setPower | ( | const bool | on | ) |
---|
Change the power setting.
Parameters
[in] | on | true, the setting is on. false, the setting is off. |
---|
◆ setQuiet()
void IRHaierAC160::setQuiet | ( | const bool | on | ) |
---|
Set the Quiet setting of the A/C.
Parameters
[in] | on | The desired Quiet setting. |
---|
Note
Turbo & Quiet can't be on at the same time, and only in Heat/Cool mode
◆ setRaw()
void IRHaierAC160::setRaw ( const uint8_t _new_code_[]) | virtual |
---|
Set the internal state from a valid code for this protocol.
Parameters
[in] | new_code | A valid code for this protocol. |
---|
◆ setSleep()
void IRHaierAC160::setSleep | ( | const bool | on | ) |
---|
Set the Sleep setting of the A/C.
Parameters
[in] | on | true, the setting is on. false, the setting is off. |
---|
◆ setSwingV()
void IRHaierAC160::setSwingV | ( | const uint8_t | pos | ) |
---|
Set the Vertical Swing mode of the A/C.
Parameters
[in] | pos | The position/mode to set the vanes to. |
---|
◆ setTemp()
void IRHaierAC160::setTemp | ( | const uint8_t | degree, |
---|---|---|---|
const bool | fahrenheit = false | ||
) |
Set the temperature.
Parameters
[in] | degree | The temperature in degrees. |
---|---|---|
[in] | fahrenheit | Use units of Fahrenheit and set that as units used. |
◆ setTimerMode()
void IRHaierAC160::setTimerMode | ( | const uint8_t | mode | ) |
---|
Set the Timer operating mode.
Parameters
[in] | mode | The timer mode to use. |
---|
◆ setTurbo()
void IRHaierAC160::setTurbo | ( | const bool | on | ) |
---|
Set the Turbo setting of the A/C.
Parameters
[in] | on | The desired turbo setting. |
---|
Note
Turbo & Quiet can't be on at the same time, and only in Heat/Cool mode
◆ setUseFahrenheit()
void IRHaierAC160::setUseFahrenheit | ( | const bool | on | ) |
---|
Set the default temperature units to use.
Parameters
[in] | on | Use Fahrenheit as the units. true is Fahrenheit, false is Celsius. |
---|
◆ stateReset()
void IRHaierAC160::stateReset | ( | void | ) |
---|
Reset the internal state to a fixed known good state.
◆ toCommon()
Convert the current internal state into its stdAc::state_t equivalent.
Parameters
[in] | prev | Ptr to the previous state if required. |
---|
Returns
The stdAc equivalent of the native settings.
◆ toCommonFanSpeed()
Convert a native fan speed into its stdAc equivalent.
Parameters
[in] | speed | The native setting to be converted. |
---|
Returns
The stdAc equivalent of the native setting.
◆ toCommonMode()
Convert a native mode into its stdAc equivalent.
Parameters
[in] | mode | The native setting to be converted. |
---|
Returns
The stdAc equivalent of the native setting.
◆ toCommonQuiet()
static bool IRHaierAC160::toCommonQuiet ( const uint8_t speed) | static |
---|
◆ toCommonSwingV()
Convert a stdAc::swingv_t enum into it's native setting.
Parameters
[in] | pos | The enum to be converted. |
---|
Returns
The native equivalent of the enum.
◆ toCommonTurbo()
static bool IRHaierAC160::toCommonTurbo ( const uint8_t speed) | static |
---|
◆ toString()
String IRHaierAC160::toString | ( | void | ) | const |
---|
Convert the current internal state into a human readable string.
Returns
A human readable string.
◆ validChecksum()
static bool IRHaierAC160::validChecksum ( const uint8_t _state_[], const uint16_t length = kHaierAC160StateLength ) | static |
---|
◆ _
◆ _irsend
Instance of the IR send class.
The documentation for this class was generated from the following files:
- src/ir_Haier.h
- src/ir_Haier.cpp