IRremoteESP8266

Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
IRHaierAC160 Class Reference

Class for handling detailed Haier 160 bit A/C messages. More...

`#include <ir_Haier.h>`

Collaboration diagram for IRHaierAC160:
[legend]

## 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 | _

## Detailed Description

Class for handling detailed Haier 160 bit A/C messages.

## Constructor & Destructor Documentation

## ◆ IRHaierAC160()

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?

## Member Function Documentation

## ◆ 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()

uint8_t IRHaierAC160::convertFan | ( | const stdAc::fanspeed_t | speed | ) |
| static

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()

uint8_t IRHaierAC160::convertMode | ( | const stdAc::opmode_t | mode | ) |
| static

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()

void IRHaierAC160::send | ( | const uint16_t | repeat = `kHaierAc160DefaultRepeat` | ) |
| virtual

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()

stdAc::state_t IRHaierAC160::toCommon | ( | const stdAc::state_t * | prev = `NULL` | ) | const

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()

stdAc::fanspeed_t IRHaierAC160::toCommonFanSpeed | ( | const uint8_t | speed | ) |
| static

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()

stdAc::opmode_t IRHaierAC160::toCommonMode | ( | const uint8_t | mode | ) |
| static

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()

stdAc::swingv_t IRHaierAC160::toCommonSwingV | ( | const uint8_t | pos | ) |
| static

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

## Member Data Documentation

## ◆ _

HaierAc160Protocol IRHaierAC160::_
| private

## ◆ _irsend

IRsend IRHaierAC160::_irsend
| private

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