IRremoteESP8266
Classes | Enumerations | Variables
ir_Argo.h File Reference

Support for Argo Ulisse 13 DCI Mobile Split ACs. More...

Go to the source code of this file.

Classes

union  ArgoProtocol
 Native representation of a Argo A/C message for WREM-2 remote. More...
 
union  ArgoProtocolWREM3
 Native representation of A/C IR message for WREM-3 remote. More...
 
struct  ArgoProtocolWREM3::Timer
 
struct  ArgoProtocolWREM3::Config
 
class  IRArgoACBase< ARGO_PROTOCOL_T >
 Base class for handling common support for Argo remote protocols (functionality is shared across WREM-2 and WREM-3 IR protocols) More...
 
class  IRArgoAC
 Supports Argo A/C SAC-WREM2 IR remote protocol. More...
 
class  IRArgoAC_WREM3
 Supports Argo A/C SAC-WREM3 IR remote protocol. More...
 

Enumerations

enum  argoIrMessageType_t : uint8_t { argoIrMessageType_t::AC_CONTROL = 0b00, argoIrMessageType_t::IFEEL_TEMP_REPORT = 0b01, argoIrMessageType_t::TIMER_COMMAND = 0b10, argoIrMessageType_t::CONFIG_PARAM_SET = 0b11 }
 IR message type (determines the payload part of IR command) More...
 
enum  argoMode_t : uint8_t {
  argoMode_t::COOL = 0b001, argoMode_t::DRY = 0b010, argoMode_t::HEAT = 0b011, argoMode_t::FAN = 0b100,
  argoMode_t::AUTO = 0b101
}
 A/C operation mode. More...
 
enum  argoFan_t : uint8_t {
  argoFan_t::FAN_AUTO = 0b000, argoFan_t::FAN_LOWEST = 0b001, argoFan_t::FAN_LOWER = 0b010, argoFan_t::FAN_LOW = 0b011,
  argoFan_t::FAN_MEDIUM = 0b100, argoFan_t::FAN_HIGH = 0b101, argoFan_t::FAN_HIGHEST = 0b110
}
 Fan speed. More...
 
enum  argoFlap_t : uint8_t {
  argoFlap_t::FLAP_AUTO = 0, argoFlap_t::FLAP_1 = 1, argoFlap_t::FLAP_2 = 2, argoFlap_t::FLAP_3 = 3,
  argoFlap_t::FLAP_4 = 4, argoFlap_t::FLAP_5 = 5, argoFlap_t::FLAP_6 = 6, argoFlap_t::FLAP_FULL = 7
}
 Flap position (swing-V) More...
 
enum  argoTimerType_t : uint8_t {
  argoTimerType_t::NO_TIMER = 0b000, argoTimerType_t::DELAY_TIMER = 0b001, argoTimerType_t::SCHEDULE_TIMER_1 = 0b010, argoTimerType_t::SCHEDULE_TIMER_2 = 0b011,
  argoTimerType_t::SCHEDULE_TIMER_3 = 0b100
}
 Timer type to set (for argoIrMessageType_t::TIMER_COMMAND) More...
 
enum  argoWeekday : uint8_t {
  argoWeekday::SUNDAY = 0b000, argoWeekday::MONDAY = 0b001, argoWeekday::TUESDAY = 0b010, argoWeekday::WEDNESDAY = 0b011,
  argoWeekday::THURSDAY = 0b100, argoWeekday::FRIDAY = 0b101, argoWeekday::SATURDAY = 0b110
}
 Day type to set (for argoIrMessageType_t::TIMER_COMMAND) More...
 

Variables

const uint8_t kArgoHeatBit = 0b00100000
 
const uint8_t kArgoPreamble1 = 0b10101100
 
const uint8_t kArgoPreamble2 = 0b11110101
 
const uint8_t kArgoPost = 0b00000010
 
const uint16_t kArgoFrequency = 38000
 
const uint8_t kArgoTempDelta = 4
 
const uint8_t kArgoMaxRoomTemp = 35
 
const uint8_t kArgoMinTemp = 10
 
const uint8_t kArgoMaxTemp = 32
 
const uint8_t kArgoMaxChannel = 3
 
const uint8_t kArgoCool = 0b000
 
const uint8_t kArgoDry = 0b001
 
const uint8_t kArgoAuto = 0b010
 
const uint8_t kArgoOff = 0b011
 
const uint8_t kArgoHeat = 0b100
 
const uint8_t kArgoHeatAuto = 0b101
 
const uint8_t kArgoHeatBlink = 0b110
 
const uint8_t kArgoFanAuto = 0
 
const uint8_t kArgoFan1 = 1
 
const uint8_t kArgoFan2 = 2
 
const uint8_t kArgoFan3 = 3
 
const uint8_t kArgoFlapAuto = 0
 
const uint8_t kArgoFlap1 = 1
 
const uint8_t kArgoFlap2 = 2
 
const uint8_t kArgoFlap3 = 3
 
const uint8_t kArgoFlap4 = 4
 
const uint8_t kArgoFlap5 = 5
 
const uint8_t kArgoFlap6 = 6
 
const uint8_t kArgoFlapFull = 7
 

Detailed Description

Support for Argo Ulisse 13 DCI Mobile Split ACs.

Enumeration Type Documentation

◆ argoFan_t

enum argoFan_t : uint8_t
strong

Fan speed.

Note
Raw values match WREM-3 protocol, but the enum is used in generic context
Enumerator
FAN_AUTO 
FAN_LOWEST 
FAN_LOWER 
FAN_LOW 
FAN_MEDIUM 
FAN_HIGH 
FAN_HIGHEST 

◆ argoFlap_t

enum argoFlap_t : uint8_t
strong

Flap position (swing-V)

Note
Raw values match WREM-3 protocol, but the enum is used in generic context
Enumerator
FLAP_AUTO 
FLAP_1 
FLAP_2 
FLAP_3 
FLAP_4 
FLAP_5 
FLAP_6 
FLAP_FULL 

◆ argoIrMessageType_t

enum argoIrMessageType_t : uint8_t
strong

IR message type (determines the payload part of IR command)

Note
Raw values match WREM-3 protocol, but the enum is used in generic context
WREM-3 remote supports all commands separately, whereas WREM-2 (allegedly) only has the AC_CONTROL and IFEEL_TEMP_REPORT (timers are part of AC_CONTROL command), and there's no config.
Enumerator
AC_CONTROL 
IFEEL_TEMP_REPORT 
TIMER_COMMAND 
CONFIG_PARAM_SET 

◆ argoMode_t

enum argoMode_t : uint8_t
strong

A/C operation mode.

Note
Raw values match WREM-3 protocol, but the enum is used in generic context
Enumerator
COOL 
DRY 
HEAT 
FAN 
AUTO 

◆ argoTimerType_t

enum argoTimerType_t : uint8_t
strong

Timer type to set (for argoIrMessageType_t::TIMER_COMMAND)

Note
Raw values match WREM-3 protocol
Enumerator
NO_TIMER 
DELAY_TIMER 
SCHEDULE_TIMER_1 
SCHEDULE_TIMER_2 
SCHEDULE_TIMER_3 

◆ argoWeekday

enum argoWeekday : uint8_t
strong

Day type to set (for argoIrMessageType_t::TIMER_COMMAND)

Note
Raw values match WREM-3 protocol
Enumerator
SUNDAY 
MONDAY 
TUESDAY 
WEDNESDAY 
THURSDAY 
FRIDAY 
SATURDAY 

Variable Documentation

◆ kArgoAuto

const uint8_t kArgoAuto = 0b010

◆ kArgoCool

const uint8_t kArgoCool = 0b000

◆ kArgoDry

const uint8_t kArgoDry = 0b001

◆ kArgoFan1

const uint8_t kArgoFan1 = 1

◆ kArgoFan2

const uint8_t kArgoFan2 = 2

◆ kArgoFan3

const uint8_t kArgoFan3 = 3

◆ kArgoFanAuto

const uint8_t kArgoFanAuto = 0

◆ kArgoFlap1

const uint8_t kArgoFlap1 = 1

◆ kArgoFlap2

const uint8_t kArgoFlap2 = 2

◆ kArgoFlap3

const uint8_t kArgoFlap3 = 3

◆ kArgoFlap4

const uint8_t kArgoFlap4 = 4

◆ kArgoFlap5

const uint8_t kArgoFlap5 = 5

◆ kArgoFlap6

const uint8_t kArgoFlap6 = 6

◆ kArgoFlapAuto

const uint8_t kArgoFlapAuto = 0

◆ kArgoFlapFull

const uint8_t kArgoFlapFull = 7

◆ kArgoFrequency

const uint16_t kArgoFrequency = 38000

◆ kArgoHeat

const uint8_t kArgoHeat = 0b100

◆ kArgoHeatAuto

const uint8_t kArgoHeatAuto = 0b101

◆ kArgoHeatBit

const uint8_t kArgoHeatBit = 0b00100000

◆ kArgoHeatBlink

const uint8_t kArgoHeatBlink = 0b110

◆ kArgoMaxChannel

const uint8_t kArgoMaxChannel = 3

◆ kArgoMaxRoomTemp

const uint8_t kArgoMaxRoomTemp = 35

◆ kArgoMaxTemp

const uint8_t kArgoMaxTemp = 32

◆ kArgoMinTemp

const uint8_t kArgoMinTemp = 10

◆ kArgoOff

const uint8_t kArgoOff = 0b011

◆ kArgoPost

const uint8_t kArgoPost = 0b00000010

◆ kArgoPreamble1

const uint8_t kArgoPreamble1 = 0b10101100

◆ kArgoPreamble2

const uint8_t kArgoPreamble2 = 0b11110101

◆ kArgoTempDelta

const uint8_t kArgoTempDelta = 4