IRremoteESP8266
Classes | Variables
ir_MitsubishiHeavy.h File Reference

Support for Mitsubishi Heavy Industry protocols. Code to emulate Mitsubishi Heavy Industries A/C IR remote control units. More...

Go to the source code of this file.

Classes

class  IRMitsubishiHeavy152Ac
 Class for handling detailed Mitsubishi Heavy 152-bit A/C messages. More...
 
class  IRMitsubishiHeavy88Ac
 Class for handling detailed Mitsubishi Heavy 88-bit A/C messages. More...
 

Variables

const uint8_t kMitsubishiHeavySigLength = 5
 
const uint8_t kMitsubishiHeavyZmsSig [kMitsubishiHeavySigLength]
 
const uint8_t kMitsubishiHeavyModeOffset = 0
 
const uint8_t kMitsubishiHeavyAuto = 0
 
const uint8_t kMitsubishiHeavyCool = 1
 
const uint8_t kMitsubishiHeavyDry = 2
 
const uint8_t kMitsubishiHeavyFan = 3
 
const uint8_t kMitsubishiHeavyHeat = 4
 
const uint8_t kMitsubishiHeavyPowerOffset = 3
 
const uint8_t kMitsubishiHeavyCleanOffset = 5
 
const uint8_t kMitsubishiHeavyFilterOffset = 6
 
const uint8_t kMitsubishiHeavyMinTemp = 17
 
const uint8_t kMitsubishiHeavyMaxTemp = 31
 
const uint8_t kMitsubishiHeavy152FanAuto = 0x0
 
const uint8_t kMitsubishiHeavy152FanLow = 0x1
 
const uint8_t kMitsubishiHeavy152FanMed = 0x2
 
const uint8_t kMitsubishiHeavy152FanHigh = 0x3
 
const uint8_t kMitsubishiHeavy152FanMax = 0x4
 
const uint8_t kMitsubishiHeavy152FanEcono = 0x6
 
const uint8_t kMitsubishiHeavy152FanTurbo = 0x8
 
const uint8_t kMitsubishiHeavy3DMask = 0b00010010
 
const uint8_t kMitsubishiHeavy152SwingVOffset = 5
 
const uint8_t kMitsubishiHeavy152SwingVSize = 3
 
const uint8_t kMitsubishiHeavy152SwingVAuto = 0
 
const uint8_t kMitsubishiHeavy152SwingVHighest = 1
 
const uint8_t kMitsubishiHeavy152SwingVHigh = 2
 
const uint8_t kMitsubishiHeavy152SwingVMiddle = 3
 
const uint8_t kMitsubishiHeavy152SwingVLow = 4
 
const uint8_t kMitsubishiHeavy152SwingVLowest = 5
 
const uint8_t kMitsubishiHeavy152SwingVOff = 6
 
const uint8_t kMitsubishiHeavy152SwingHAuto = 0
 
const uint8_t kMitsubishiHeavy152SwingHLeftMax = 1
 
const uint8_t kMitsubishiHeavy152SwingHLeft = 2
 
const uint8_t kMitsubishiHeavy152SwingHMiddle = 3
 
const uint8_t kMitsubishiHeavy152SwingHRight = 4
 
const uint8_t kMitsubishiHeavy152SwingHRightMax = 5
 
const uint8_t kMitsubishiHeavy152SwingHRightLeft = 6
 
const uint8_t kMitsubishiHeavy152SwingHLeftRight = 7
 
const uint8_t kMitsubishiHeavy152SwingHOff = 8
 
const uint8_t kMitsubishiHeavyNightOffset = 6
 
const uint8_t kMitsubishiHeavySilentOffset = 7
 
const uint8_t kMitsubishiHeavyZjsSig [kMitsubishiHeavySigLength]
 
const uint8_t kMitsubishiHeavy88CleanOffset = 5
 
const uint8_t kMitsubishiHeavy88SwingHOffset1 = 2
 
const uint8_t kMitsubishiHeavy88SwingHOffset2 = 6
 
const uint8_t kMitsubishiHeavy88SwingHSize = 2
 
const uint8_t kMitsubishiHeavy88SwingHOff = 0b0000
 
const uint8_t kMitsubishiHeavy88SwingHAuto = 0b1000
 
const uint8_t kMitsubishiHeavy88SwingHLeftMax = 0b0001
 
const uint8_t kMitsubishiHeavy88SwingHLeft = 0b0101
 
const uint8_t kMitsubishiHeavy88SwingHMiddle = 0b1001
 
const uint8_t kMitsubishiHeavy88SwingHRight = 0b1101
 
const uint8_t kMitsubishiHeavy88SwingHRightMax = 0b0010
 
const uint8_t kMitsubishiHeavy88SwingHRightLeft = 0b1010
 
const uint8_t kMitsubishiHeavy88SwingHLeftRight = 0b0110
 
const uint8_t kMitsubishiHeavy88SwingH3D = 0b1110
 
const uint8_t kMitsubishiHeavy88FanOffset = 5
 
const uint8_t kMitsubishiHeavy88FanSize = 3
 
const uint8_t kMitsubishiHeavy88FanAuto = 0
 
const uint8_t kMitsubishiHeavy88FanLow = 2
 
const uint8_t kMitsubishiHeavy88FanMed = 3
 
const uint8_t kMitsubishiHeavy88FanHigh = 4
 
const uint8_t kMitsubishiHeavy88FanTurbo = 6
 
const uint8_t kMitsubishiHeavy88FanEcono = 7
 
const uint8_t kMitsubishiHeavy88SwingVByte5Offset = 1
 
const uint8_t kMitsubishiHeavy88SwingVByte5Size = 1
 
const uint8_t kMitsubishiHeavy88SwingVByte7Offset = 3
 
const uint8_t kMitsubishiHeavy88SwingVByte7Size = 2
 
const uint8_t kMitsubishiHeavy88SwingVOff = 0b000
 
const uint8_t kMitsubishiHeavy88SwingVAuto = 0b100
 
const uint8_t kMitsubishiHeavy88SwingVHighest = 0b110
 
const uint8_t kMitsubishiHeavy88SwingVHigh = 0b001
 
const uint8_t kMitsubishiHeavy88SwingVMiddle = 0b011
 
const uint8_t kMitsubishiHeavy88SwingVLow = 0b101
 
const uint8_t kMitsubishiHeavy88SwingVLowest = 0b111
 

Detailed Description

Support for Mitsubishi Heavy Industry protocols. Code to emulate Mitsubishi Heavy Industries A/C IR remote control units.

Note
This code was heavily influenced by ToniA's great work & code, but it has been written from scratch. Nothing was copied other than constants and message analysis.
See also
https://github.com/crankyoldgit/IRremoteESP8266/issues/660
https://github.com/ToniA/Raw-IR-decoder-for-Arduino/blob/master/MitsubishiHeavy.cpp
https://github.com/ToniA/arduino-heatpumpir/blob/master/MitsubishiHeavyHeatpumpIR.cpp

Variable Documentation

◆ kMitsubishiHeavy152FanAuto

const uint8_t kMitsubishiHeavy152FanAuto = 0x0

◆ kMitsubishiHeavy152FanEcono

const uint8_t kMitsubishiHeavy152FanEcono = 0x6

◆ kMitsubishiHeavy152FanHigh

const uint8_t kMitsubishiHeavy152FanHigh = 0x3

◆ kMitsubishiHeavy152FanLow

const uint8_t kMitsubishiHeavy152FanLow = 0x1

◆ kMitsubishiHeavy152FanMax

const uint8_t kMitsubishiHeavy152FanMax = 0x4

◆ kMitsubishiHeavy152FanMed

const uint8_t kMitsubishiHeavy152FanMed = 0x2

◆ kMitsubishiHeavy152FanTurbo

const uint8_t kMitsubishiHeavy152FanTurbo = 0x8

◆ kMitsubishiHeavy152SwingHAuto

const uint8_t kMitsubishiHeavy152SwingHAuto = 0

◆ kMitsubishiHeavy152SwingHLeft

const uint8_t kMitsubishiHeavy152SwingHLeft = 2

◆ kMitsubishiHeavy152SwingHLeftMax

const uint8_t kMitsubishiHeavy152SwingHLeftMax = 1

◆ kMitsubishiHeavy152SwingHLeftRight

const uint8_t kMitsubishiHeavy152SwingHLeftRight = 7

◆ kMitsubishiHeavy152SwingHMiddle

const uint8_t kMitsubishiHeavy152SwingHMiddle = 3

◆ kMitsubishiHeavy152SwingHOff

const uint8_t kMitsubishiHeavy152SwingHOff = 8

◆ kMitsubishiHeavy152SwingHRight

const uint8_t kMitsubishiHeavy152SwingHRight = 4

◆ kMitsubishiHeavy152SwingHRightLeft

const uint8_t kMitsubishiHeavy152SwingHRightLeft = 6

◆ kMitsubishiHeavy152SwingHRightMax

const uint8_t kMitsubishiHeavy152SwingHRightMax = 5

◆ kMitsubishiHeavy152SwingVAuto

const uint8_t kMitsubishiHeavy152SwingVAuto = 0

◆ kMitsubishiHeavy152SwingVHigh

const uint8_t kMitsubishiHeavy152SwingVHigh = 2

◆ kMitsubishiHeavy152SwingVHighest

const uint8_t kMitsubishiHeavy152SwingVHighest = 1

◆ kMitsubishiHeavy152SwingVLow

const uint8_t kMitsubishiHeavy152SwingVLow = 4

◆ kMitsubishiHeavy152SwingVLowest

const uint8_t kMitsubishiHeavy152SwingVLowest = 5

◆ kMitsubishiHeavy152SwingVMiddle

const uint8_t kMitsubishiHeavy152SwingVMiddle = 3

◆ kMitsubishiHeavy152SwingVOff

const uint8_t kMitsubishiHeavy152SwingVOff = 6

◆ kMitsubishiHeavy152SwingVOffset

const uint8_t kMitsubishiHeavy152SwingVOffset = 5

◆ kMitsubishiHeavy152SwingVSize

const uint8_t kMitsubishiHeavy152SwingVSize = 3

◆ kMitsubishiHeavy3DMask

const uint8_t kMitsubishiHeavy3DMask = 0b00010010

◆ kMitsubishiHeavy88CleanOffset

const uint8_t kMitsubishiHeavy88CleanOffset = 5

◆ kMitsubishiHeavy88FanAuto

const uint8_t kMitsubishiHeavy88FanAuto = 0

◆ kMitsubishiHeavy88FanEcono

const uint8_t kMitsubishiHeavy88FanEcono = 7

◆ kMitsubishiHeavy88FanHigh

const uint8_t kMitsubishiHeavy88FanHigh = 4

◆ kMitsubishiHeavy88FanLow

const uint8_t kMitsubishiHeavy88FanLow = 2

◆ kMitsubishiHeavy88FanMed

const uint8_t kMitsubishiHeavy88FanMed = 3

◆ kMitsubishiHeavy88FanOffset

const uint8_t kMitsubishiHeavy88FanOffset = 5

◆ kMitsubishiHeavy88FanSize

const uint8_t kMitsubishiHeavy88FanSize = 3

◆ kMitsubishiHeavy88FanTurbo

const uint8_t kMitsubishiHeavy88FanTurbo = 6

◆ kMitsubishiHeavy88SwingH3D

const uint8_t kMitsubishiHeavy88SwingH3D = 0b1110

◆ kMitsubishiHeavy88SwingHAuto

const uint8_t kMitsubishiHeavy88SwingHAuto = 0b1000

◆ kMitsubishiHeavy88SwingHLeft

const uint8_t kMitsubishiHeavy88SwingHLeft = 0b0101

◆ kMitsubishiHeavy88SwingHLeftMax

const uint8_t kMitsubishiHeavy88SwingHLeftMax = 0b0001

◆ kMitsubishiHeavy88SwingHLeftRight

const uint8_t kMitsubishiHeavy88SwingHLeftRight = 0b0110

◆ kMitsubishiHeavy88SwingHMiddle

const uint8_t kMitsubishiHeavy88SwingHMiddle = 0b1001

◆ kMitsubishiHeavy88SwingHOff

const uint8_t kMitsubishiHeavy88SwingHOff = 0b0000

◆ kMitsubishiHeavy88SwingHOffset1

const uint8_t kMitsubishiHeavy88SwingHOffset1 = 2

◆ kMitsubishiHeavy88SwingHOffset2

const uint8_t kMitsubishiHeavy88SwingHOffset2 = 6

◆ kMitsubishiHeavy88SwingHRight

const uint8_t kMitsubishiHeavy88SwingHRight = 0b1101

◆ kMitsubishiHeavy88SwingHRightLeft

const uint8_t kMitsubishiHeavy88SwingHRightLeft = 0b1010

◆ kMitsubishiHeavy88SwingHRightMax

const uint8_t kMitsubishiHeavy88SwingHRightMax = 0b0010

◆ kMitsubishiHeavy88SwingHSize

const uint8_t kMitsubishiHeavy88SwingHSize = 2

◆ kMitsubishiHeavy88SwingVAuto

const uint8_t kMitsubishiHeavy88SwingVAuto = 0b100

◆ kMitsubishiHeavy88SwingVByte5Offset

const uint8_t kMitsubishiHeavy88SwingVByte5Offset = 1

◆ kMitsubishiHeavy88SwingVByte5Size

const uint8_t kMitsubishiHeavy88SwingVByte5Size = 1

◆ kMitsubishiHeavy88SwingVByte7Offset

const uint8_t kMitsubishiHeavy88SwingVByte7Offset = 3

◆ kMitsubishiHeavy88SwingVByte7Size

const uint8_t kMitsubishiHeavy88SwingVByte7Size = 2

◆ kMitsubishiHeavy88SwingVHigh

const uint8_t kMitsubishiHeavy88SwingVHigh = 0b001

◆ kMitsubishiHeavy88SwingVHighest

const uint8_t kMitsubishiHeavy88SwingVHighest = 0b110

◆ kMitsubishiHeavy88SwingVLow

const uint8_t kMitsubishiHeavy88SwingVLow = 0b101

◆ kMitsubishiHeavy88SwingVLowest

const uint8_t kMitsubishiHeavy88SwingVLowest = 0b111

◆ kMitsubishiHeavy88SwingVMiddle

const uint8_t kMitsubishiHeavy88SwingVMiddle = 0b011

◆ kMitsubishiHeavy88SwingVOff

const uint8_t kMitsubishiHeavy88SwingVOff = 0b000

◆ kMitsubishiHeavyAuto

const uint8_t kMitsubishiHeavyAuto = 0

◆ kMitsubishiHeavyCleanOffset

const uint8_t kMitsubishiHeavyCleanOffset = 5

◆ kMitsubishiHeavyCool

const uint8_t kMitsubishiHeavyCool = 1

◆ kMitsubishiHeavyDry

const uint8_t kMitsubishiHeavyDry = 2

◆ kMitsubishiHeavyFan

const uint8_t kMitsubishiHeavyFan = 3

◆ kMitsubishiHeavyFilterOffset

const uint8_t kMitsubishiHeavyFilterOffset = 6

◆ kMitsubishiHeavyHeat

const uint8_t kMitsubishiHeavyHeat = 4

◆ kMitsubishiHeavyMaxTemp

const uint8_t kMitsubishiHeavyMaxTemp = 31

◆ kMitsubishiHeavyMinTemp

const uint8_t kMitsubishiHeavyMinTemp = 17

◆ kMitsubishiHeavyModeOffset

const uint8_t kMitsubishiHeavyModeOffset = 0

◆ kMitsubishiHeavyNightOffset

const uint8_t kMitsubishiHeavyNightOffset = 6

◆ kMitsubishiHeavyPowerOffset

const uint8_t kMitsubishiHeavyPowerOffset = 3

◆ kMitsubishiHeavySigLength

const uint8_t kMitsubishiHeavySigLength = 5

◆ kMitsubishiHeavySilentOffset

const uint8_t kMitsubishiHeavySilentOffset = 7

◆ kMitsubishiHeavyZjsSig

const uint8_t kMitsubishiHeavyZjsSig[kMitsubishiHeavySigLength]
Initial value:
= {
0xAD, 0x51, 0x3C, 0xD9, 0x26}

◆ kMitsubishiHeavyZmsSig

const uint8_t kMitsubishiHeavyZmsSig[kMitsubishiHeavySigLength]
Initial value:
= {
0xAD, 0x51, 0x3C, 0xE5, 0x1A}