IRremoteESP8266

Classes | Variables
ir_Coolix.h File Reference

Support for Coolix A/C protocols. More...

Go to the source code of this file.

## Classes
union | CoolixProtocol
| Native representation of a Coolix A/C message. More...
class | IRCoolixAC
| Class for handling detailed Coolix A/C messages. More...

## Variables
const uint8_t | kCoolixCool = 0b000
const uint8_t | kCoolixDry = 0b001
const uint8_t | kCoolixAuto = 0b010
const uint8_t | kCoolixHeat = 0b011
const uint8_t | kCoolixFan = 0b100
const uint8_t | kCoolixFanMin = 0b100
const uint8_t | kCoolixFanMed = 0b010
const uint8_t | kCoolixFanMax = 0b001
const uint8_t | kCoolixFanAuto = 0b101
const uint8_t | kCoolixFanAuto0 = 0b000
const uint8_t | kCoolixFanZoneFollow = 0b110
const uint8_t | kCoolixFanFixed = 0b111
const uint8_t | kCoolixTempMin = 17
const uint8_t | kCoolixTempMax = 30
const uint8_t | kCoolixTempRange = kCoolixTempMax - kCoolixTempMin + 1
const uint8_t | kCoolixFanTempCode = 0b1110
const uint8_t | kCoolixTempMap [kCoolixTempRange]
const uint8_t | kCoolixSensorTempMax = 30
const uint8_t | kCoolixSensorTempIgnoreCode = 0b11111
const uint32_t | kCoolixOff = 0b101100100111101111100000
const uint32_t | kCoolixSwing = 0b101100100110101111100000
const uint32_t | kCoolixSwingH = 0b101100101111010110100010
const uint32_t | kCoolixSwingV = 0b101100100000111111100000
const uint32_t | kCoolixSleep = 0b101100101110000000000011
const uint32_t | kCoolixTurbo = 0b101101011111010110100010
const uint32_t | kCoolixLed = 0b101101011111010110100101
const uint32_t | kCoolixClean = 0b101101011111010110101010
const uint32_t | kCoolixCmdFan = 0b101100101011111111100100
const uint32_t | kCoolixDefaultState = 0b101100100001111111001000

## Detailed Description

Support for Coolix A/C protocols.

See also
  https://github.com/crankyoldgit/IRremoteESP8266/issues/484
  https://github.com/crankyoldgit/IRremoteESP8266/issues/1318

Note
  Kudos: Hamper: For the breakdown and mapping of the bit values. fraschizzato: For additional ZoneFollow & SwingVStep analysis.
  Timers seem to use the `COOLIX48` protocol.

See also
  https://github.com/crankyoldgit/IRremoteESP8266/issues/1694

## Variable Documentation

## ◆ kCoolixAuto

const uint8_t kCoolixAuto = 0b010

## ◆ kCoolixClean

const uint32_t kCoolixClean = 0b101101011111010110101010

## ◆ kCoolixCmdFan

const uint32_t kCoolixCmdFan = 0b101100101011111111100100

## ◆ kCoolixCool

const uint8_t kCoolixCool = 0b000

## ◆ kCoolixDefaultState

const uint32_t kCoolixDefaultState = 0b101100100001111111001000

## ◆ kCoolixDry

const uint8_t kCoolixDry = 0b001

## ◆ kCoolixFan

const uint8_t kCoolixFan = 0b100

## ◆ kCoolixFanAuto

const uint8_t kCoolixFanAuto = 0b101

## ◆ kCoolixFanAuto0

const uint8_t kCoolixFanAuto0 = 0b000

## ◆ kCoolixFanFixed

const uint8_t kCoolixFanFixed = 0b111

## ◆ kCoolixFanMax

const uint8_t kCoolixFanMax = 0b001

## ◆ kCoolixFanMed

const uint8_t kCoolixFanMed = 0b010

## ◆ kCoolixFanMin

const uint8_t kCoolixFanMin = 0b100

## ◆ kCoolixFanTempCode

const uint8_t kCoolixFanTempCode = 0b1110

## ◆ kCoolixFanZoneFollow

const uint8_t kCoolixFanZoneFollow = 0b110

## ◆ kCoolixHeat

const uint8_t kCoolixHeat = 0b011

## ◆ kCoolixLed

const uint32_t kCoolixLed = 0b101101011111010110100101

## ◆ kCoolixOff

const uint32_t kCoolixOff = 0b101100100111101111100000

## ◆ kCoolixSensorTempIgnoreCode

const uint8_t kCoolixSensorTempIgnoreCode = 0b11111

## ◆ kCoolixSensorTempMax

const uint8_t kCoolixSensorTempMax = 30

## ◆ kCoolixSleep

const uint32_t kCoolixSleep = 0b101100101110000000000011

## ◆ kCoolixSwing

const uint32_t kCoolixSwing = 0b101100100110101111100000

## ◆ kCoolixSwingH

const uint32_t kCoolixSwingH = 0b101100101111010110100010

## ◆ kCoolixSwingV

const uint32_t kCoolixSwingV = 0b101100100000111111100000

## ◆ kCoolixTempMap

const uint8_t kCoolixTempMap[kCoolixTempRange]

Initial value:
= {
0b0000,
0b0001,
0b0011,
0b0010,
0b0110,
0b0111,
0b0101,
0b0100,
0b1100,
0b1101,
0b1001,
0b1000,
0b1010,
0b1011
}

## ◆ kCoolixTempMax

const uint8_t kCoolixTempMax = 30

## ◆ kCoolixTempMin

const uint8_t kCoolixTempMin = 17

## ◆ kCoolixTempRange

const uint8_t kCoolixTempRange = kCoolixTempMax - kCoolixTempMin + 1

## ◆ kCoolixTurbo

const uint32_t kCoolixTurbo = 0b101101011111010110100010