IRremoteESP8266

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

Class for handling detailed Electra A/C messages. More...

`#include <ir_Electra.h>`

Collaboration diagram for IRElectraAc:
[legend]

## Public Member Functions
| IRElectraAc (const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
| Class constructor. More...
void | stateReset (void)
| Reset the internal state to a fixed known good state. More...
void | send (const uint16_t repeat=kElectraAcMinRepeat)
| 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)
| Change the power setting to On. More...
void | off (void)
| Change the power setting 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...
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 | setTemp (const uint8_t temp)
| Set the temperature. More...
uint8_t | getTemp (void) const
| Get the current temperature setting. 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...
void | setSwingV (const bool on)
| Set the Vertical Swing mode of the A/C. More...
bool | getSwingV (void) const
| Get the Vertical Swing mode of the A/C. More...
void | setSwingH (const bool on)
| Set the Horizontal Swing mode of the A/C. More...
bool | getSwingH (void) const
| Get the Horizontal Swing mode of the A/C. More...
void | setClean (const bool on)
| Set the Clean mode of the A/C. More...
bool | getClean (void) const
| Get the Clean mode of the A/C. More...
void | setLightToggle (const bool on)
| Set the Light (LED) Toggle mode of the A/C. More...
bool | getLightToggle (void) const
| Get the Light (LED) Toggle mode of the A/C. More...
void | setTurbo (const bool on)
| Set the Turbo mode of the A/C. More...
bool | getTurbo (void) const
| Get the Turbo mode of the A/C. More...
void | setIFeel (const bool on)
| Set the IFeel mode of the A/C. More...
bool | getIFeel (void) const
| Get the IFeel mode of the A/C. More...
void | setSensorUpdate (const bool on)
| Set the silent Sensor Update setting of the message. i.e. Is this just a sensor temp update message from the remote? More...
bool | getSensorUpdate (void) const
| Get the silent Sensor Update setting of the message. i.e. Is this just a sensor temp update message from the remote? More...
void | setSensorTemp (const uint8_t temp)
| Set the Sensor temperature for the IFeel mode. More...
uint8_t | getSensorTemp (void) const
| Get the current sensor temperature setting for the IFeel mode. More...
uint8_t * | getRaw (void)
| Get a PTR to the internal state/code for this protocol. More...
void | setRaw (const uint8_t new_code[], const uint16_t length=kElectraAcStateLength)
| Set the internal state from a valid code for this protocol. More...
String | toString (void) const
| Convert the current internal state into a human readable string. More...
stdAc::state_t | toCommon (void) const
| Convert the current internal state into its stdAc::state_t equivalent. More...

## Static Public Member Functions
static bool | validChecksum (const uint8_t state[], const uint16_t length=kElectraAcStateLength)
| Verify the checksum is valid for a given state. More...
static uint8_t | calcChecksum (const uint8_t state[], const uint16_t length=kElectraAcStateLength)
| Calculate the checksum 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 (const uint16_t length=kElectraAcStateLength)
| Calculate and set the checksum values for the internal state. More...

## Private Attributes
IRsend | _irsend
| instance of the IR send class More...
ElectraProtocol | _

## Detailed Description

Class for handling detailed Electra A/C messages.

## Constructor & Destructor Documentation

## ◆ IRElectraAc()

IRElectraAc::IRElectraAc | ( | 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 IRElectraAc::begin | ( | void |  | ) |

Set up hardware to be able to send a message.

## ◆ calcChecksum()

uint8_t IRElectraAc::calcChecksum | ( | const uint8_t | state[],
|  | const uint16_t | length = `kElectraAcStateLength`
| ) |  |
| static

Calculate the checksum for a given state.

Parameters

  [in] | state | The value to calc the checksum of.
  [in] | length | The length of the state array.

Returns
  The calculated checksum stored in a uint_8.

## ◆ calibrate()

int8_t IRElectraAc::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 IRElectraAc::checksum | ( | const uint16_t | length = `kElectraAcStateLength` | ) |
| private

Calculate and set the checksum values for the internal state.

Parameters

  [in] | length | The length of the state array.

## ◆ convertFan()

uint8_t IRElectraAc::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 IRElectraAc::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.

## ◆ getClean()

bool IRElectraAc::getClean | ( | void |  | ) | const

Get the Clean mode of the A/C.

Returns
  true, the setting is on. false, the setting is off.

## ◆ getFan()

uint8_t IRElectraAc::getFan | ( | void |  | ) | const

Get the current fan speed setting.

Returns
  The current fan speed.

## ◆ getIFeel()

bool IRElectraAc::getIFeel | ( | void |  | ) | const

Get the IFeel mode of the A/C.

Returns
  true, the setting is on. false, the setting is off.

## ◆ getLightToggle()

bool IRElectraAc::getLightToggle | ( | void |  | ) | const

Get the Light (LED) Toggle mode of the A/C.

Returns
  true, the setting is on. false, the setting is off.

## ◆ getMode()

uint8_t IRElectraAc::getMode | ( | void |  | ) | const

Get the operating mode setting of the A/C.

Returns
  The current operating mode setting.

## ◆ getPower()

bool IRElectraAc::getPower | ( | void |  | ) | const

Get the value of the current power setting.

Returns
  true, the setting is on. false, the setting is off.

## ◆ getRaw()

uint8_t * IRElectraAc::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.

## ◆ getSensorTemp()

uint8_t IRElectraAc::getSensorTemp | ( | void |  | ) | const

Get the current sensor temperature setting for the IFeel mode.

Returns
  The current setting for temp. in degrees celsius.

## ◆ getSensorUpdate()

bool IRElectraAc::getSensorUpdate | ( | void |  | ) | const

Get the silent Sensor Update setting of the message. i.e. Is this just a sensor temp update message from the remote?

Note
  The A/C just takes the sensor temp value from the message and will not follow any of the other settings in the message.

Returns
  true, the setting is on. false, the setting is off.

## ◆ getSwingH()

bool IRElectraAc::getSwingH | ( | void |  | ) | const

Get the Horizontal Swing mode of the A/C.

Returns
  true, the setting is on. false, the setting is off.

## ◆ getSwingV()

bool IRElectraAc::getSwingV | ( | void |  | ) | const

Get the Vertical Swing mode of the A/C.

Returns
  true, the setting is on. false, the setting is off.

## ◆ getTemp()

uint8_t IRElectraAc::getTemp | ( | void |  | ) | const

Get the current temperature setting.

Returns
  The current setting for temp. in degrees celsius.

## ◆ getTurbo()

bool IRElectraAc::getTurbo | ( | void |  | ) | const

Get the Turbo mode of the A/C.

Returns
  true, the setting is on. false, the setting is off.

## ◆ off()

void IRElectraAc::off | ( | void |  | ) |

Change the power setting to Off.

## ◆ on()

void IRElectraAc::on | ( | void |  | ) |

Change the power setting to On.

## ◆ send()

void IRElectraAc::send | ( | const uint16_t | repeat = `kElectraAcMinRepeat` | ) |

Send the current internal state as an IR message.

Parameters

  [in] | repeat | Nr. of times the message will be repeated.

## ◆ setClean()

void IRElectraAc::setClean | ( | const bool | on | ) |

Set the Clean mode of the A/C.

Parameters

  [in] | on | true, the setting is on. false, the setting is off.

## ◆ setFan()

void IRElectraAc::setFan | ( | const uint8_t | speed | ) |

Set the speed of the fan.

Parameters

  [in] | speed | The desired setting.

Note
  0 is auto, 1-3 is the speed

## ◆ setIFeel()

void IRElectraAc::setIFeel | ( | const bool | on | ) |

Set the IFeel mode of the A/C.

Parameters

  [in] | on | true, the setting is on. false, the setting is off.

## ◆ setLightToggle()

void IRElectraAc::setLightToggle | ( | const bool | on | ) |

Set the Light (LED) Toggle mode of the A/C.

Parameters

  [in] | on | true, the setting is on. false, the setting is off.

## ◆ setMode()

void IRElectraAc::setMode | ( | const uint8_t | mode | ) |

Set the operating mode of the A/C.

Parameters

  [in] | mode | The desired operating mode.

## ◆ setPower()

void IRElectraAc::setPower | ( | const bool | on | ) |

Change the power setting.

Parameters

  [in] | on | true, the setting is on. false, the setting is off.

## ◆ setRaw()

void IRElectraAc::setRaw | ( | const uint8_t | new_code[],
|  | const uint16_t | length = `kElectraAcStateLength`
| ) |  |

Set the internal state from a valid code for this protocol.

Parameters

  [in] | new_code | A valid code for this protocol.
  [in] | length | The length of the code array.

## ◆ setSensorTemp()

void IRElectraAc::setSensorTemp | ( | const uint8_t | temp | ) |

Set the Sensor temperature for the IFeel mode.

Parameters

  [in] | temp | The temperature in degrees celsius.

## ◆ setSensorUpdate()

void IRElectraAc::setSensorUpdate | ( | const bool | on | ) |

Set the silent Sensor Update setting of the message. i.e. Is this just a sensor temp update message from the remote?

Note
  The A/C will just take the sensor temp value from the message and will not follow any of the other settings in the message. If set, the A/C unit will also not beep in response to the message.

Parameters

  [in] | on | true, the setting is on. false, the setting is off.

## ◆ setSwingH()

void IRElectraAc::setSwingH | ( | const bool | on | ) |

Set the Horizontal Swing mode of the A/C.

Parameters

  [in] | on | true, the setting is on. false, the setting is off.

## ◆ setSwingV()

void IRElectraAc::setSwingV | ( | const bool | on | ) |

Set the Vertical Swing mode of the A/C.

Parameters

  [in] | on | true, the setting is on. false, the setting is off.

## ◆ setTemp()

void IRElectraAc::setTemp | ( | const uint8_t | temp | ) |

Set the temperature.

Parameters

  [in] | temp | The temperature in degrees celsius.

## ◆ setTurbo()

void IRElectraAc::setTurbo | ( | const bool | on | ) |

Set the Turbo mode of the A/C.

Parameters

  [in] | on | true, the setting is on. false, the setting is off.

## ◆ stateReset()

void IRElectraAc::stateReset | ( | void |  | ) |

Reset the internal state to a fixed known good state.

## ◆ toCommon()

stdAc::state_t IRElectraAc::toCommon | ( | void |  | ) | const

Convert the current internal state into its stdAc::state_t equivalent.

Returns
  The stdAc equivalent of the native settings.

## ◆ toCommonFanSpeed()

stdAc::fanspeed_t IRElectraAc::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 IRElectraAc::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.

## ◆ toString()

String IRElectraAc::toString | ( | void |  | ) | const

Convert the current internal state into a human readable string.

Returns
  A human readable string.

## ◆ validChecksum()

bool IRElectraAc::validChecksum | ( | const uint8_t | state[],
|  | const uint16_t | length = `kElectraAcStateLength`
| ) |  |
| static

Verify the checksum is valid for a given state.

Parameters

  [in] | state | The state to verify the checksum of.
  [in] | length | The length of the state array.

Returns
  true, if the state has a valid checksum. Otherwise, false.

## Member Data Documentation

## ◆ _

ElectraProtocol IRElectraAc::_
| private

## ◆ _irsend

IRsend IRElectraAc::_irsend
| private

instance of the IR send class

The documentation for this class was generated from the following files:

- src/ir_Electra.h
- src/ir_Electra.cpp