# IRremoteESP8266: src/ir_MitsubishiHeavy.h File Reference

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

union | Mitsubishi152Protocol
| Native representation of a Mitsubishi Heavy 152-bit A/C message. More...
union | Mitsubishi88Protocol
| Native representation of a Mitsubishi Heavy 88-bit A/C message. More...
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 | 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 | 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 | 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 | kMitsubishiHeavyZjsSig [kMitsubishiHeavySigLength]
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 | 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 | kMitsubishiHeavy88SwingVByte5Size = 1
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

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

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

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

## kMitsubishiHeavy88SwingVByte5Size

const uint8_t kMitsubishiHeavy88SwingVByte5Size = 1

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

## kMitsubishiHeavyCool

const uint8_t kMitsubishiHeavyCool = 1

## kMitsubishiHeavyDry

const uint8_t kMitsubishiHeavyDry = 2

## kMitsubishiHeavyFan

const uint8_t kMitsubishiHeavyFan = 3

## kMitsubishiHeavyHeat

const uint8_t kMitsubishiHeavyHeat = 4

## kMitsubishiHeavyMaxTemp

const uint8_t kMitsubishiHeavyMaxTemp = 31

## kMitsubishiHeavyMinTemp

const uint8_t kMitsubishiHeavyMinTemp = 17

## kMitsubishiHeavySigLength

const uint8_t kMitsubishiHeavySigLength = 5

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