# IRremoteESP8266: src/ir_Sharp.h File Reference

ir_Sharp.h File Reference

Support for Sharp protocols. More...

Go to the source code of this file.

## Classes

union | SharpProtocol
| Native representation of a Sharp A/C message. More...
class | IRSharpAc
| Class for handling detailed Sharp A/C messages. More...

## Variables

const uint16_t | kSharpAcHdrMark = 3800
const uint16_t | kSharpAcHdrSpace = 1900
const uint16_t | kSharpAcBitMark = 470
const uint16_t | kSharpAcZeroSpace = 500
const uint16_t | kSharpAcOneSpace = 1400
const uint32_t | kSharpAcGap = kDefaultMessageGap
const uint8_t | kSharpAcByteTemp = 4
const uint8_t | kSharpAcMinTemp = 15
const uint8_t | kSharpAcMaxTemp = 30
const uint8_t | kSharpAcPowerUnknown = 0
const uint8_t | kSharpAcPowerOnFromOff = 1
const uint8_t | kSharpAcPowerOff = 2
const uint8_t | kSharpAcPowerOn = 3
const uint8_t | kSharpAcPowerSetSpecialOn = 6
const uint8_t | kSharpAcPowerSetSpecialOff = 7
const uint8_t | kSharpAcPowerTimerSetting = 8
const uint8_t | kSharpAcAuto = 0b00
const uint8_t | kSharpAcFan = 0b00
const uint8_t | kSharpAcDry = 0b11
const uint8_t | kSharpAcCool = 0b10
const uint8_t | kSharpAcHeat = 0b01
const uint8_t | kSharpAcFanAuto = 0b010
const uint8_t | kSharpAcFanMin = 0b100
const uint8_t | kSharpAcFanMed = 0b011
const uint8_t | kSharpAcFanA705Low = 0b011
const uint8_t | kSharpAcFanHigh = 0b101
const uint8_t | kSharpAcFanA705Med = 0b101
const uint8_t | kSharpAcFanMax = 0b111
const uint8_t | kSharpAcTimerIncrement = 30
const uint8_t | kSharpAcTimerHoursOff = 0b0000
const uint8_t | kSharpAcTimerHoursMax = 0b1100
const uint8_t | kSharpAcOffTimerType = 0b0
const uint8_t | kSharpAcOnTimerType = 0b1
const uint8_t | kSharpAcSwingToggle = 0b111
const uint8_t | kSharpAcSwingNoToggle = 0b000
const uint8_t | kSharpAcSpecialPower = 0x00
const uint8_t | kSharpAcSpecialTurbo = 0x01
const uint8_t | kSharpAcSpecialTempEcono = 0x04
const uint8_t | kSharpAcSpecialFan = 0x05
const uint8_t | kSharpAcSpecialSwing = 0x06
const uint8_t | kSharpAcSpecialTimer = 0xC0
const uint8_t | kSharpAcSpecialTimerHalfHour = 0xDE

## Detailed Description

Support for Sharp protocols.

See also
  http://www.sbprojects.com/knowledge/ir/sharp.htm
  http://lirc.sourceforge.net/remotes/sharp/GA538WJSA
  http://www.mwftr.com/ucF08/LEC14%20PIC%20IR.pdf
  http://www.hifi-remote.com/johnsfine/DecodeIR.html#Sharp
  GlobalCache's IR Control Tower data.
  https://github.com/crankyoldgit/IRremoteESP8266/issues/638
  https://github.com/ToniA/arduino-heatpumpir/blob/master/SharpHeatpumpIR.cpp

## Variable Documentation

## kSharpAcAuto

const uint8_t kSharpAcAuto = 0b00

## kSharpAcBitMark

const uint16_t kSharpAcBitMark = 470

## kSharpAcByteTemp

const uint8_t kSharpAcByteTemp = 4

## kSharpAcCool

const uint8_t kSharpAcCool = 0b10

## kSharpAcDry

const uint8_t kSharpAcDry = 0b11

## kSharpAcFan

const uint8_t kSharpAcFan = 0b00

## kSharpAcFanA705Low

const uint8_t kSharpAcFanA705Low = 0b011

## kSharpAcFanA705Med

const uint8_t kSharpAcFanA705Med = 0b101

## kSharpAcFanAuto

const uint8_t kSharpAcFanAuto = 0b010

## kSharpAcFanHigh

const uint8_t kSharpAcFanHigh = 0b101

## kSharpAcFanMax

const uint8_t kSharpAcFanMax = 0b111

## kSharpAcFanMed

const uint8_t kSharpAcFanMed = 0b011

## kSharpAcFanMin

const uint8_t kSharpAcFanMin = 0b100

## kSharpAcGap

const uint32_t kSharpAcGap = kDefaultMessageGap

## kSharpAcHdrMark

const uint16_t kSharpAcHdrMark = 3800

## kSharpAcHdrSpace

const uint16_t kSharpAcHdrSpace = 1900

## kSharpAcHeat

const uint8_t kSharpAcHeat = 0b01

## kSharpAcMaxTemp

const uint8_t kSharpAcMaxTemp = 30

## kSharpAcMinTemp

const uint8_t kSharpAcMinTemp = 15

## kSharpAcOffTimerType

const uint8_t kSharpAcOffTimerType = 0b0

## kSharpAcOneSpace

const uint16_t kSharpAcOneSpace = 1400

## kSharpAcOnTimerType

const uint8_t kSharpAcOnTimerType = 0b1

## kSharpAcPowerOff

const uint8_t kSharpAcPowerOff = 2

## kSharpAcPowerOn

const uint8_t kSharpAcPowerOn = 3

## kSharpAcPowerOnFromOff

const uint8_t kSharpAcPowerOnFromOff = 1

## kSharpAcPowerSetSpecialOff

const uint8_t kSharpAcPowerSetSpecialOff = 7

## kSharpAcPowerSetSpecialOn

const uint8_t kSharpAcPowerSetSpecialOn = 6

## kSharpAcPowerTimerSetting

const uint8_t kSharpAcPowerTimerSetting = 8

## kSharpAcPowerUnknown

const uint8_t kSharpAcPowerUnknown = 0

## kSharpAcSpecialFan

const uint8_t kSharpAcSpecialFan = 0x05

## kSharpAcSpecialPower

const uint8_t kSharpAcSpecialPower = 0x00

## kSharpAcSpecialSwing

const uint8_t kSharpAcSpecialSwing = 0x06

## kSharpAcSpecialTempEcono

const uint8_t kSharpAcSpecialTempEcono = 0x04

## kSharpAcSpecialTimer

const uint8_t kSharpAcSpecialTimer = 0xC0

## kSharpAcSpecialTimerHalfHour

const uint8_t kSharpAcSpecialTimerHalfHour = 0xDE

## kSharpAcSpecialTurbo

const uint8_t kSharpAcSpecialTurbo = 0x01

## kSharpAcSwingNoToggle

const uint8_t kSharpAcSwingNoToggle = 0b000

## kSharpAcSwingToggle

const uint8_t kSharpAcSwingToggle = 0b111

## kSharpAcTimerHoursMax

const uint8_t kSharpAcTimerHoursMax = 0b1100

## kSharpAcTimerHoursOff

const uint8_t kSharpAcTimerHoursOff = 0b0000

## kSharpAcTimerIncrement

const uint8_t kSharpAcTimerIncrement = 30

## kSharpAcZeroSpace

const uint16_t kSharpAcZeroSpace = 500