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

Class for handling detailed Mitsubishi Heavy 152-bit A/C messages. More...

#include <ir_MitsubishiHeavy.h>

Collaboration diagram for IRMitsubishiHeavy152Ac:
Collaboration graph
[legend]

Public Member Functions

 IRMitsubishiHeavy152Ac (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=kMitsubishiHeavy152MinRepeat)
 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...
 
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 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 setSwingVertical (const uint8_t pos)
 Set the Vertical Swing mode of the A/C. More...
 
uint8_t getSwingVertical (void) const
 Get the Vertical Swing mode of the A/C. More...
 
void setSwingHorizontal (const uint8_t pos)
 Set the Horizontal Swing mode of the A/C. More...
 
uint8_t getSwingHorizontal (void) const
 Get the Horizontal Swing mode of the A/C. More...
 
void setNight (const bool on)
 Set the Night (Sleep) mode of the A/C. More...
 
bool getNight (void) const
 Get the Night (Sleep) mode of the A/C. More...
 
void set3D (const bool on)
 Set the 3D mode of the A/C. More...
 
bool get3D (void) const
 Get the 3D mode of the A/C. More...
 
void setSilent (const bool on)
 Set the Silent (Quiet) mode of the A/C. More...
 
bool getSilent (void) const
 Get the Silent (Quiet) mode of the A/C. More...
 
void setFilter (const bool on)
 Set the Filter mode of the A/C. More...
 
bool getFilter (void) const
 Get the Filter 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 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 setEcono (const bool on)
 Set the Economical mode of the A/C. More...
 
bool getEcono (void) const
 Get the Economical mode of the A/C. More...
 
uint8_t * getRaw (void)
 Get a PTR to the internal state/code for this protocol. More...
 
void setRaw (const uint8_t *data)
 Set the internal state from a valid code for this protocol. More...
 
stdAc::state_t toCommon (void) const
 Convert the current internal state into its stdAc::state_t equivalent. More...
 
String toString (void) const
 Convert the internal state into a human readable string. More...
 

Static Public Member Functions

static bool checkZmsSig (const uint8_t *state)
 Verify the given state has a ZM-S signature. More...
 
static bool validChecksum (const uint8_t *state, const uint16_t length=kMitsubishiHeavy152StateLength)
 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 uint8_t convertSwingV (const stdAc::swingv_t position)
 Convert a stdAc::swingv_t enum into it's native setting. More...
 
static uint8_t convertSwingH (const stdAc::swingh_t position)
 Convert a stdAc::swingh_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 native vertical swing postion to it's common equivalent. More...
 
static stdAc::swingh_t toCommonSwingH (const uint8_t pos)
 Convert a native horizontal swing postion to it's common equivalent. More...
 

Private Member Functions

void checksum (void)
 Calculate the checksum for the current internal state of the remote. Note: Technically it has no checksum, but does have inverted byte pairs. More...
 

Private Attributes

IRsend _irsend
 Instance of the IR send class. More...
 
Mitsubishi152Protocol _
 

Detailed Description

Class for handling detailed Mitsubishi Heavy 152-bit A/C messages.

Constructor & Destructor Documentation

◆ IRMitsubishiHeavy152Ac()

IRMitsubishiHeavy152Ac::IRMitsubishiHeavy152Ac ( const uint16_t  pin,
const bool  inverted = false,
const bool  use_modulation = true 
)
explicit

Class constructor.

Parameters
[in]pinGPIO to be used when sending.
[in]invertedIs the output signal to be inverted?
[in]use_modulationIs frequency modulation to be used?

Member Function Documentation

◆ begin()

void IRMitsubishiHeavy152Ac::begin ( void  )

Set up hardware to be able to send a message.

◆ calibrate()

int8_t IRMitsubishiHeavy152Ac::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 IRMitsubishiHeavy152Ac::checksum ( void  )
private

Calculate the checksum for the current internal state of the remote. Note: Technically it has no checksum, but does have inverted byte pairs.

◆ checkZmsSig()

bool IRMitsubishiHeavy152Ac::checkZmsSig ( const uint8_t *  state)
static

Verify the given state has a ZM-S signature.

Parameters
[in]stateA ptr to a state to be checked.
Returns
true, the check passed. Otherwise, false.

◆ convertFan()

uint8_t IRMitsubishiHeavy152Ac::convertFan ( const stdAc::fanspeed_t  speed)
static

Convert a stdAc::fanspeed_t enum into it's native speed.

Parameters
[in]speedThe enum to be converted.
Returns
The native equivalent of the enum.

◆ convertMode()

uint8_t IRMitsubishiHeavy152Ac::convertMode ( const stdAc::opmode_t  mode)
static

Convert a stdAc::opmode_t enum into its native mode.

Parameters
[in]modeThe enum to be converted.
Returns
The native equivalent of the enum.

◆ convertSwingH()

uint8_t IRMitsubishiHeavy152Ac::convertSwingH ( const stdAc::swingh_t  position)
static

Convert a stdAc::swingh_t enum into it's native setting.

Parameters
[in]positionThe enum to be converted.
Returns
The native equivalent of the enum.

◆ convertSwingV()

uint8_t IRMitsubishiHeavy152Ac::convertSwingV ( const stdAc::swingv_t  position)
static

Convert a stdAc::swingv_t enum into it's native setting.

Parameters
[in]positionThe enum to be converted.
Returns
The native equivalent of the enum.

◆ get3D()

bool IRMitsubishiHeavy152Ac::get3D ( void  ) const

Get the 3D mode of the A/C.

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

◆ getClean()

bool IRMitsubishiHeavy152Ac::getClean ( void  ) const

Get the Clean mode of the A/C.

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

◆ getEcono()

bool IRMitsubishiHeavy152Ac::getEcono ( void  ) const

Get the Economical mode of the A/C.

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

◆ getFan()

uint8_t IRMitsubishiHeavy152Ac::getFan ( void  ) const

Get the current fan speed setting.

Returns
The current fan speed/mode.

◆ getFilter()

bool IRMitsubishiHeavy152Ac::getFilter ( void  ) const

Get the Filter mode of the A/C.

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

◆ getMode()

uint8_t IRMitsubishiHeavy152Ac::getMode ( void  ) const

Get the operating mode setting of the A/C.

Returns
The current operating mode setting.

◆ getNight()

bool IRMitsubishiHeavy152Ac::getNight ( void  ) const

Get the Night (Sleep) mode of the A/C.

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

◆ getPower()

bool IRMitsubishiHeavy152Ac::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 * IRMitsubishiHeavy152Ac::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.

◆ getSilent()

bool IRMitsubishiHeavy152Ac::getSilent ( void  ) const

Get the Silent (Quiet) mode of the A/C.

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

◆ getSwingHorizontal()

uint8_t IRMitsubishiHeavy152Ac::getSwingHorizontal ( void  ) const

Get the Horizontal Swing mode of the A/C.

Returns
The native position/mode setting.

◆ getSwingVertical()

uint8_t IRMitsubishiHeavy152Ac::getSwingVertical ( void  ) const

Get the Vertical Swing mode of the A/C.

Returns
The native position/mode setting.

◆ getTemp()

uint8_t IRMitsubishiHeavy152Ac::getTemp ( void  ) const

Get the current temperature setting.

Returns
The current setting for temp. in degrees celsius.

◆ getTurbo()

bool IRMitsubishiHeavy152Ac::getTurbo ( void  ) const

Get the Turbo mode of the A/C.

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

◆ off()

void IRMitsubishiHeavy152Ac::off ( void  )

Set the requested power state of the A/C to off.

◆ on()

void IRMitsubishiHeavy152Ac::on ( void  )

Set the requested power state of the A/C to on.

◆ send()

void IRMitsubishiHeavy152Ac::send ( const uint16_t  repeat = kMitsubishiHeavy152MinRepeat)

Send the current internal state as an IR message.

Parameters
[in]repeatNr. of times the message will be repeated.

◆ set3D()

void IRMitsubishiHeavy152Ac::set3D ( const bool  on)

Set the 3D mode of the A/C.

Parameters
[in]ontrue, the setting is on. false, the setting is off.

◆ setClean()

void IRMitsubishiHeavy152Ac::setClean ( const bool  on)

Set the Clean mode of the A/C.

Parameters
[in]ontrue, the setting is on. false, the setting is off.

◆ setEcono()

void IRMitsubishiHeavy152Ac::setEcono ( const bool  on)

Set the Economical mode of the A/C.

Parameters
[in]ontrue, the setting is on. false, the setting is off.

◆ setFan()

void IRMitsubishiHeavy152Ac::setFan ( const uint8_t  speed)

Set the speed of the fan.

Parameters
[in]speedThe desired setting.

◆ setFilter()

void IRMitsubishiHeavy152Ac::setFilter ( const bool  on)

Set the Filter mode of the A/C.

Parameters
[in]ontrue, the setting is on. false, the setting is off.

◆ setMode()

void IRMitsubishiHeavy152Ac::setMode ( const uint8_t  mode)

Set the operating mode of the A/C.

Parameters
[in]modeThe desired operating mode.

◆ setNight()

void IRMitsubishiHeavy152Ac::setNight ( const bool  on)

Set the Night (Sleep) mode of the A/C.

Parameters
[in]ontrue, the setting is on. false, the setting is off.

◆ setPower()

void IRMitsubishiHeavy152Ac::setPower ( const bool  on)

Change the power setting.

Parameters
[in]ontrue, the setting is on. false, the setting is off.

◆ setRaw()

void IRMitsubishiHeavy152Ac::setRaw ( const uint8_t *  data)

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

Parameters
[in]dataA valid code for this protocol.

◆ setSilent()

void IRMitsubishiHeavy152Ac::setSilent ( const bool  on)

Set the Silent (Quiet) mode of the A/C.

Parameters
[in]ontrue, the setting is on. false, the setting is off.

◆ setSwingHorizontal()

void IRMitsubishiHeavy152Ac::setSwingHorizontal ( const uint8_t  pos)

Set the Horizontal Swing mode of the A/C.

Parameters
[in]posThe position/mode to set the swing to.

◆ setSwingVertical()

void IRMitsubishiHeavy152Ac::setSwingVertical ( const uint8_t  pos)

Set the Vertical Swing mode of the A/C.

Parameters
[in]posThe position/mode to set the swing to.

◆ setTemp()

void IRMitsubishiHeavy152Ac::setTemp ( const uint8_t  temp)

Set the temperature.

Parameters
[in]tempThe temperature in degrees celsius.

◆ setTurbo()

void IRMitsubishiHeavy152Ac::setTurbo ( const bool  on)

Set the Turbo mode of the A/C.

Parameters
[in]ontrue, the setting is on. false, the setting is off.

◆ stateReset()

void IRMitsubishiHeavy152Ac::stateReset ( void  )

Reset the state of the remote to a known good state/sequence.

◆ toCommon()

stdAc::state_t IRMitsubishiHeavy152Ac::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 IRMitsubishiHeavy152Ac::toCommonFanSpeed ( const uint8_t  spd)
static

Convert a native fan speed into its stdAc equivalent.

Parameters
[in]spdThe native setting to be converted.
Returns
The stdAc equivalent of the native setting.

◆ toCommonMode()

stdAc::opmode_t IRMitsubishiHeavy152Ac::toCommonMode ( const uint8_t  mode)
static

Convert a native mode into its stdAc equivalent.

Parameters
[in]modeThe native setting to be converted.
Returns
The stdAc equivalent of the native setting.

◆ toCommonSwingH()

stdAc::swingh_t IRMitsubishiHeavy152Ac::toCommonSwingH ( const uint8_t  pos)
static

Convert a native horizontal swing postion to it's common equivalent.

Parameters
[in]posA native position to convert.
Returns
The common horizontal swing position.

◆ toCommonSwingV()

stdAc::swingv_t IRMitsubishiHeavy152Ac::toCommonSwingV ( const uint8_t  pos)
static

Convert a native vertical swing postion to it's common equivalent.

Parameters
[in]posA native position to convert.
Returns
The common vertical swing position.

◆ toString()

String IRMitsubishiHeavy152Ac::toString ( void  ) const

Convert the internal state into a human readable string.

Returns
A string containing the settings in human-readable form.

◆ validChecksum()

bool IRMitsubishiHeavy152Ac::validChecksum ( const uint8_t *  state,
const uint16_t  length = kMitsubishiHeavy152StateLength 
)
static

Verify the checksum is valid for a given state.

Parameters
[in]stateThe array to verify the checksum of.
[in]lengthThe length/size of the state array.
Returns
true, if the state has a valid checksum. Otherwise, false. Note: Technically it has no checksum, but does have inverted byte pairs.

Member Data Documentation

◆ _

Mitsubishi152Protocol IRMitsubishiHeavy152Ac::_
private

◆ _irsend

IRsend IRMitsubishiHeavy152Ac::_irsend
private

Instance of the IR send class.


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