IRremoteESP8266: src/ir_Whirlpool.h Source File

IRremoteESP8266

ir_Whirlpool.h
Go to the documentation of this file.
1 // Copyright 2018 David Conran
2
10
11 // Supports:
12 // Brand: Whirlpool, Model: DG11J1-3A remote
13 // Brand: Whirlpool, Model: DG11J1-04 remote
14 // Brand: Whirlpool, Model: DG11J1-91 remote
15 // Brand: Whirlpool, Model: SPIS409L A/C
16 // Brand: Whirlpool, Model: SPIS412L A/C
17 // Brand: Whirlpool, Model: SPIW409L A/C
18 // Brand: Whirlpool, Model: SPIW412L A/C
19 // Brand: Whirlpool, Model: SPIW418L A/C
20
21 #ifndef IR_WHIRLPOOL_H_
22 #define IR_WHIRLPOOL_H_
23
24 #define __STDC_LIMIT_MACROS
25 #include <stdint.h>
26 #ifndef UNIT_TEST
27 #include <Arduino.h>
28 #endif
29 #include "IRremoteESP8266.h"
30 #include "IRsend.h"
31 #ifdef UNIT_TEST
32 #include "IRsend_test.h"
33 #endif
34
35 // Constants
36 const uint8_t kWhirlpoolAcChecksumByte1 = 13;
37 const uint8_t kWhirlpoolAcChecksumByte2 = kWhirlpoolAcStateLength - 1;
38 const uint8_t kWhirlpoolAcHeat = 0;
39 const uint8_t kWhirlpoolAcAuto = 1;
40 const uint8_t kWhirlpoolAcCool = 2;
41 const uint8_t kWhirlpoolAcDry = 3;
42 const uint8_t kWhirlpoolAcFan = 4;
43 const uint8_t kWhirlpoolAcModeOffset = 0;
44 const uint8_t kWhirlpoolAcModePos = 3;
45 const uint8_t kWhirlpoolAcFanOffset = 0; // Mask 0b00000011
46 const uint8_t kWhirlpoolAcFanSize = 2; // Nr. of bits
47 const uint8_t kWhirlpoolAcFanAuto = 0;
48 const uint8_t kWhirlpoolAcFanHigh = 1;
49 const uint8_t kWhirlpoolAcFanMedium = 2;
50 const uint8_t kWhirlpoolAcFanLow = 3;
51 const uint8_t kWhirlpoolAcFanPos = 2;
52 const uint8_t kWhirlpoolAcMinTemp = 18; // 18C (DG11J1-3A), 16C (DG11J1-91)
53 const uint8_t kWhirlpoolAcMaxTemp = 32; // 32C (DG11J1-3A), 30C (DG11J1-91)
54 const uint8_t kWhirlpoolAcAutoTemp = 23; // 23C
55 const uint8_t kWhirlpoolAcTempPos = 3;
56 const uint8_t kWhirlpoolAcSwing1Offset = 7;
57 const uint8_t kWhirlpoolAcSwing2Offset = 6;
58 const uint8_t kWhirlpoolAcLightOffset = 5;
59 const uint8_t kWhirlpoolAcPowerToggleOffset = 2; // 0b00000100
60 const uint8_t kWhirlpoolAcPowerTogglePos = 2;
61 const uint8_t kWhirlpoolAcSleepOffset = 3;
62 const uint8_t kWhirlpoolAcSleepPos = 2;
63 const uint8_t kWhirlpoolAcSuperMask = 0b10010000;
64 const uint8_t kWhirlpoolAcSuperPos = 5;
65 const uint8_t kWhirlpoolAcHourOffset = 0; // Mask 0b00011111
66 const uint8_t kWhirlpoolAcHourSize = 5; // Nr. of bits
67 const uint8_t kWhirlpoolAcMinuteOffset = 0; // Mask 0b00111111
68 const uint8_t kWhirlpoolAcMinuteSize = 6; // Nr. of bits
69 const uint8_t kWhirlpoolAcTimerEnableOffset = 7; // 0b10000000
70 const uint8_t kWhirlpoolAcClockPos = 6;
71 const uint8_t kWhirlpoolAcOffTimerPos = 8;
72 const uint8_t kWhirlpoolAcOnTimerPos = 10;
73 const uint8_t kWhirlpoolAcCommandPos = 15;
74 const uint8_t kWhirlpoolAcCommandLight = 0x00;
75 const uint8_t kWhirlpoolAcCommandPower = 0x01;
76 const uint8_t kWhirlpoolAcCommandTemp = 0x02;
77 const uint8_t kWhirlpoolAcCommandSleep = 0x03;
78 const uint8_t kWhirlpoolAcCommandSuper = 0x04;
79 const uint8_t kWhirlpoolAcCommandOnTimer = 0x05;
80 const uint8_t kWhirlpoolAcCommandMode = 0x06;
81 const uint8_t kWhirlpoolAcCommandSwing = 0x07;
82 const uint8_t kWhirlpoolAcCommandIFeel = 0x0D;
83 const uint8_t kWhirlpoolAcCommandFanSpeed = 0x11;
84 const uint8_t kWhirlpoolAcCommand6thSense = 0x17;
85 const uint8_t kWhirlpoolAcCommandOffTimer = 0x1D;
86 const uint8_t kWhirlpoolAcAltTempOffset = 3;
87 const uint8_t kWhirlpoolAcAltTempPos = 18;
88
89 // Classes
91 class IRWhirlpoolAc {
92 public:
93 explicit IRWhirlpoolAc(const uint16_t pin, const bool inverted = false,
94 const bool use_modulation = true);
95 void stateReset(void);
96 #if SEND_WHIRLPOOL_AC
97 void send(const uint16_t repeat = kWhirlpoolAcDefaultRepeat,
98 const bool calcchecksum = true);
103 int8_t calibrate(void) { return _irsend.calibrate(); }
104 #endif // SEND_WHIRLPOOL_AC
105 void begin(void);
106 void setPowerToggle(const bool on);
107 bool getPowerToggle(void);
108 void setSleep(const bool on);
109 bool getSleep(void);
110 void setSuper(const bool on);
111 bool getSuper(void);
112 void setTemp(const uint8_t temp);
113 uint8_t getTemp(void);
114 void setFan(const uint8_t speed);
115 uint8_t getFan(void);
116 void setMode(const uint8_t mode);
117 uint8_t getMode(void);
118 void setSwing(const bool on);
119 bool getSwing(void);
120 void setLight(const bool on);
121 bool getLight(void);
122 uint16_t getClock(void);
123 void setClock(const uint16_t minspastmidnight);
124 uint16_t getOnTimer(void);
125 void setOnTimer(const uint16_t minspastmidnight);
126 void enableOnTimer(const bool on);
127 bool isOnTimerEnabled(void);
128 uint16_t getOffTimer(void);
129 void setOffTimer(const uint16_t minspastmidnight);
130 void enableOffTimer(const bool on);
131 bool isOffTimerEnabled(void);
132 void setCommand(const uint8_t code);
133 uint8_t getCommand(void);
134 whirlpool_ac_remote_model_t getModel(void);
135 void setModel(const whirlpool_ac_remote_model_t model);
136 uint8_t* getRaw(const bool calcchecksum = true);
137 void setRaw(const uint8_t new_code[],
138 const uint16_t length = kWhirlpoolAcStateLength);
139 static bool validChecksum(const uint8_t state[],
140 const uint16_t length = kWhirlpoolAcStateLength);
141 static uint8_t convertMode(const stdAc::opmode_t mode);
142 static uint8_t convertFan(const stdAc::fanspeed_t speed);
143 static stdAc::opmode_t toCommonMode(const uint8_t mode);
144 static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
145 stdAc::state_t toCommon(const stdAc::state_t *prev = NULL);
146 String toString(void);
147 #ifndef UNIT_TEST
148
149 private:
150 IRsend _irsend;
151 #else // UNIT_TEST
152 IRsendTest _irsend;
154 #endif // UNIT_TEST
156 uint8_t remote_state[kWhirlpoolAcStateLength];
157 uint8_t _desiredtemp;
158 void checksum(const uint16_t length = kWhirlpoolAcStateLength);
159 uint16_t getTime(const uint16_t pos);
160 void setTime(const uint16_t pos, const uint16_t minspastmidnight);
161 bool isTimerEnabled(const uint16_t pos);
162 void enableTimer(const uint16_t pos, const bool state);
163 void _setTemp(const uint8_t temp, const bool remember = true);
164 void _setMode(const uint8_t mode);
165 int8_t getTempOffset(void);
166 };
167
168 #endif // IR_WHIRLPOOL_H_
kWhirlpoolAcLightOffset
const uint8_t kWhirlpoolAcLightOffset
Definition: ir_Whirlpool.h:58
IRWhirlpoolAc::send
void send(const uint16_t repeat=kWhirlpoolAcDefaultRepeat, const bool calcchecksum=true)
Send the current internal state as an IR message.
Definition: ir_Whirlpool.cpp:139
kWhirlpoolAcOnTimerPos
const uint8_t kWhirlpoolAcOnTimerPos
Definition: ir_Whirlpool.h:72
IRWhirlpoolAc::stateReset
void stateReset(void)
Reset the state of the remote to a known good state/sequence.
Definition: ir_Whirlpool.cpp:89
IRWhirlpoolAc::getClock
uint16_t getClock(void)
Get the clock time in nr. of minutes past midnight.
Definition: ir_Whirlpool.cpp:357
kWhirlpoolAcCommandSuper
const uint8_t kWhirlpoolAcCommandSuper
Definition: ir_Whirlpool.h:78
IRWhirlpoolAc::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Whirlpool.h:103
kWhirlpoolAcFanSize
const uint8_t kWhirlpoolAcFanSize
Definition: ir_Whirlpool.h:46
IRWhirlpoolAc::convertMode
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Whirlpool.cpp:485
kWhirlpoolAcSuperPos
const uint8_t kWhirlpoolAcSuperPos
Definition: ir_Whirlpool.h:64
IRWhirlpoolAc::_setTemp
void _setTemp(const uint8_t temp, const bool remember=true)
Set the temperature.
Definition: ir_Whirlpool.cpp:198
stdAc::fanspeed_t
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
whirlpool_ac_remote_model_t
whirlpool_ac_remote_model_t
Whirlpool A/C model numbers.
Definition: IRsend.h:169
kWhirlpoolAcAutoTemp
const uint8_t kWhirlpoolAcAutoTemp
Definition: ir_Whirlpool.h:54
kWhirlpoolAcModePos
const uint8_t kWhirlpoolAcModePos
Definition: ir_Whirlpool.h:44
kWhirlpoolAcFanHigh
const uint8_t kWhirlpoolAcFanHigh
Definition: ir_Whirlpool.h:48
kWhirlpoolAcPowerTogglePos
const uint8_t kWhirlpoolAcPowerTogglePos
Definition: ir_Whirlpool.h:60
kWhirlpoolAcMaxTemp
const uint8_t kWhirlpoolAcMaxTemp
Definition: ir_Whirlpool.h:53
kWhirlpoolAcAltTempPos
const uint8_t kWhirlpoolAcAltTempPos
Definition: ir_Whirlpool.h:87
kWhirlpoolAcAuto
const uint8_t kWhirlpoolAcAuto
Definition: ir_Whirlpool.h:39
kWhirlpoolAcFanPos
const uint8_t kWhirlpoolAcFanPos
Definition: ir_Whirlpool.h:51
IRWhirlpoolAc::convertFan
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Whirlpool.cpp:500
IRWhirlpoolAc::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Whirlpool.cpp:527
IRWhirlpoolAc::isOnTimerEnabled
bool isOnTimerEnabled(void)
Is the On timer enabled?
Definition: ir_Whirlpool.cpp:400
IRWhirlpoolAc::IRWhirlpoolAc
IRWhirlpoolAc(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Whirlpool.cpp:84
IRWhirlpoolAc::getMode
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Whirlpool.cpp:255
kWhirlpoolAcCommandOnTimer
const uint8_t kWhirlpoolAcCommandOnTimer
Definition: ir_Whirlpool.h:79
IRsend.h
kWhirlpoolAcTempPos
const uint8_t kWhirlpoolAcTempPos
Definition: ir_Whirlpool.h:55
IRWhirlpoolAc::getLight
bool getLight(void)
Get the Light (Display/LED) setting of the A/C.
Definition: ir_Whirlpool.cpp:308
IRWhirlpoolAc::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Whirlpool.cpp:209
kWhirlpoolAcTimerEnableOffset
const uint8_t kWhirlpoolAcTimerEnableOffset
Definition: ir_Whirlpool.h:69
kWhirlpoolAcCommandIFeel
const uint8_t kWhirlpoolAcCommandIFeel
Definition: ir_Whirlpool.h:82
IRWhirlpoolAc::getSwing
bool getSwing(void)
Get the (vertical) swing setting of the A/C.
Definition: ir_Whirlpool.cpp:293
kWhirlpoolAcModeOffset
const uint8_t kWhirlpoolAcModeOffset
Definition: ir_Whirlpool.h:43
IRWhirlpoolAc::setClock
void setClock(const uint16_t minspastmidnight)
Set the clock time in nr. of minutes past midnight.
Definition: ir_Whirlpool.cpp:351
IRsend
Class for sending all basic IR protocols.
Definition: IRsend.h:187
kWhirlpoolAcSuperMask
const uint8_t kWhirlpoolAcSuperMask
Definition: ir_Whirlpool.h:63
IRsend::calibrate
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition: IRsend.cpp:207
kWhirlpoolAcChecksumByte1
const uint8_t kWhirlpoolAcChecksumByte1
Definition: ir_Whirlpool.h:36
IRWhirlpoolAc::getSleep
bool getSleep(void)
Get the Sleep setting of the A/C.
Definition: ir_Whirlpool.cpp:444
kWhirlpoolAcMinuteSize
const uint8_t kWhirlpoolAcMinuteSize
Definition: ir_Whirlpool.h:68
IRWhirlpoolAc::getTime
uint16_t getTime(const uint16_t pos)
Get the time in nr. of minutes past midnight.
Definition: ir_Whirlpool.cpp:328
IRWhirlpoolAc::enableTimer
void enableTimer(const uint16_t pos, const bool state)
Enable the timer enabled at the given byte offset.
Definition: ir_Whirlpool.cpp:345
IRWhirlpoolAc
Class for handling detailed Whirlpool A/C messages.
Definition: ir_Whirlpool.h:91
String
std::string String
Definition: IRremoteESP8266.h:1199
kWhirlpoolAcCommandPos
const uint8_t kWhirlpoolAcCommandPos
Definition: ir_Whirlpool.h:73
kWhirlpoolAcCommandMode
const uint8_t kWhirlpoolAcCommandMode
Definition: ir_Whirlpool.h:80
IRWhirlpoolAc::getTemp
uint8_t getTemp(void)
Get the current temperature setting.
Definition: ir_Whirlpool.cpp:217
IRWhirlpoolAc::getTempOffset
int8_t getTempOffset(void)
Calculate the temp. offset in deg C for the current model.
Definition: ir_Whirlpool.cpp:187
IRWhirlpoolAc::getFan
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Whirlpool.cpp:278
kWhirlpoolAcCool
const uint8_t kWhirlpoolAcCool
Definition: ir_Whirlpool.h:40
kWhirlpoolAcSleepPos
const uint8_t kWhirlpoolAcSleepPos
Definition: ir_Whirlpool.h:62
IRWhirlpoolAc::getModel
whirlpool_ac_remote_model_t getModel(void)
Get/Detect the model of the A/C.
Definition: ir_Whirlpool.cpp:162
kWhirlpoolAcCommandOffTimer
const uint8_t kWhirlpoolAcCommandOffTimer
Definition: ir_Whirlpool.h:85
kWhirlpoolAcSwing1Offset
const uint8_t kWhirlpoolAcSwing1Offset
Definition: ir_Whirlpool.h:56
IRremoteESP8266.h
kWhirlpoolAcCommandSwing
const uint8_t kWhirlpoolAcCommandSwing
Definition: ir_Whirlpool.h:81
IRWhirlpoolAc::isOffTimerEnabled
bool isOffTimerEnabled(void)
Is the Off timer enabled?
Definition: ir_Whirlpool.cpp:375
kWhirlpoolAcMinuteOffset
const uint8_t kWhirlpoolAcMinuteOffset
Definition: ir_Whirlpool.h:67
IRWhirlpoolAc::validChecksum
static bool validChecksum(const uint8_t state[], const uint16_t length=kWhirlpoolAcStateLength)
Verify the checksum is valid for a given state.
Definition: ir_Whirlpool.cpp:104
kWhirlpoolAcFanMedium
const uint8_t kWhirlpoolAcFanMedium
Definition: ir_Whirlpool.h:49
kWhirlpoolAcDry
const uint8_t kWhirlpoolAcDry
Definition: ir_Whirlpool.h:41
kWhirlpoolAcAltTempOffset
const uint8_t kWhirlpoolAcAltTempOffset
Definition: ir_Whirlpool.h:86
IRWhirlpoolAc::setPowerToggle
void setPowerToggle(const bool on)
Change the power toggle setting.
Definition: ir_Whirlpool.cpp:413
IRWhirlpoolAc::setOffTimer
void setOffTimer(const uint16_t minspastmidnight)
Set the Off Timer time.
Definition: ir_Whirlpool.cpp:363
kWhirlpoolAcSwing2Offset
const uint8_t kWhirlpoolAcSwing2Offset
Definition: ir_Whirlpool.h:57
kWhirlpoolAcCommandLight
const uint8_t kWhirlpoolAcCommandLight
Definition: ir_Whirlpool.h:74
IRWhirlpoolAc::getCommand
uint8_t getCommand(void)
Get the Command (Button) setting of the A/C.
Definition: ir_Whirlpool.cpp:429
IRWhirlpoolAc::_setMode
void _setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Whirlpool.cpp:225
kWhirlpoolAcFanLow
const uint8_t kWhirlpoolAcFanLow
Definition: ir_Whirlpool.h:50
kWhirlpoolAcDefaultRepeat
const uint16_t kWhirlpoolAcDefaultRepeat
Definition: IRremoteESP8266.h:1108
kWhirlpoolAcOffTimerPos
const uint8_t kWhirlpoolAcOffTimerPos
Definition: ir_Whirlpool.h:71
IRWhirlpoolAc::getOffTimer
uint16_t getOffTimer(void)
Get the Off Timer time..
Definition: ir_Whirlpool.cpp:369
IRWhirlpoolAc::setModel
void setModel(const whirlpool_ac_remote_model_t model)
Set the model of the A/C to emulate.
Definition: ir_Whirlpool.cpp:171
IRWhirlpoolAc::setSuper
void setSuper(const bool on)
Set the Super (Turbo/Jet) setting of the A/C.
Definition: ir_Whirlpool.cpp:450
kWhirlpoolAcChecksumByte2
const uint8_t kWhirlpoolAcChecksumByte2
Definition: ir_Whirlpool.h:37
kWhirlpoolAcFan
const uint8_t kWhirlpoolAcFan
Definition: ir_Whirlpool.h:42
IRWhirlpoolAc::getOnTimer
uint16_t getOnTimer(void)
Get the On Timer time..
Definition: ir_Whirlpool.cpp:394
kWhirlpoolAcCommandFanSpeed
const uint8_t kWhirlpoolAcCommandFanSpeed
Definition: ir_Whirlpool.h:83
IRWhirlpoolAc::setCommand
void setCommand(const uint8_t code)
Set the Command (Button) setting of the A/C.
Definition: ir_Whirlpool.cpp:478
kWhirlpoolAcStateLength
const uint16_t kWhirlpoolAcStateLength
Definition: IRremoteESP8266.h:1106
IRWhirlpoolAc::toCommon
stdAc::state_t toCommon(const stdAc::state_t *prev=NULL)
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Whirlpool.cpp:539
kWhirlpoolAcHourOffset
const uint8_t kWhirlpoolAcHourOffset
Definition: ir_Whirlpool.h:65
IRWhirlpoolAc::setRaw
void setRaw(const uint8_t new_code[], const uint16_t length=kWhirlpoolAcStateLength)
Set the internal state from a valid code for this protocol.
Definition: ir_Whirlpool.cpp:156
kWhirlpoolAcMinTemp
const uint8_t kWhirlpoolAcMinTemp
Definition: ir_Whirlpool.h:52
IRWhirlpoolAc::getSuper
bool getSuper(void)
Get the Super (Turbo/Jet) setting of the A/C.
Definition: ir_Whirlpool.cpp:472
IRWhirlpoolAc::setSleep
void setSleep(const bool on)
Set the Sleep setting of the A/C.
Definition: ir_Whirlpool.cpp:435
IRWhirlpoolAc::remote_state
uint8_t remote_state[kWhirlpoolAcStateLength]
The state in IR code form.
Definition: ir_Whirlpool.h:156
IRWhirlpoolAc::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Whirlpool.cpp:248
IRWhirlpoolAc::toString
String toString(void)
Convert the current internal state into a human readable string.
Definition: ir_Whirlpool.cpp:574
kWhirlpoolAcHeat
const uint8_t kWhirlpoolAcHeat
Definition: ir_Whirlpool.h:38
IRWhirlpoolAc::checksum
void checksum(const uint16_t length=kWhirlpoolAcStateLength)
Calculate & set the checksum for the current internal state of the remote.
Definition: ir_Whirlpool.cpp:125
IRWhirlpoolAc::enableOffTimer
void enableOffTimer(const bool on)
Enable the Off Timer.
Definition: ir_Whirlpool.cpp:381
kWhirlpoolAcCommandPower
const uint8_t kWhirlpoolAcCommandPower
Definition: ir_Whirlpool.h:75
IRWhirlpoolAc::enableOnTimer
void enableOnTimer(const bool on)
Enable the On Timer.
Definition: ir_Whirlpool.cpp:406
IRWhirlpoolAc::_irsend
IRsend _irsend
Instance of the IR send class.
Definition: ir_Whirlpool.h:150
IRWhirlpoolAc::setOnTimer
void setOnTimer(const uint16_t minspastmidnight)
Set the On Timer time.
Definition: ir_Whirlpool.cpp:388
IRWhirlpoolAc::_desiredtemp
uint8_t _desiredtemp
The last user explicitly set temperature.
Definition: ir_Whirlpool.h:157
IRWhirlpoolAc::getPowerToggle
bool getPowerToggle(void)
Get the value of the current power toggle setting.
Definition: ir_Whirlpool.cpp:422
kWhirlpoolAcCommandTemp
const uint8_t kWhirlpoolAcCommandTemp
Definition: ir_Whirlpool.h:76
kWhirlpoolAcFanOffset
const uint8_t kWhirlpoolAcFanOffset
Definition: ir_Whirlpool.h:45
kWhirlpoolAcCommand6thSense
const uint8_t kWhirlpoolAcCommand6thSense
Definition: ir_Whirlpool.h:84
kWhirlpoolAcCommandSleep
const uint8_t kWhirlpoolAcCommandSleep
Definition: ir_Whirlpool.h:77
kWhirlpoolAcClockPos
const uint8_t kWhirlpoolAcClockPos
Definition: ir_Whirlpool.h:70
kWhirlpoolAcPowerToggleOffset
const uint8_t kWhirlpoolAcPowerToggleOffset
Definition: ir_Whirlpool.h:59
IRWhirlpoolAc::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Whirlpool.cpp:98
kWhirlpoolAcSleepOffset
const uint8_t kWhirlpoolAcSleepOffset
Definition: ir_Whirlpool.h:61
stdAc::state_t
Structure to hold a common A/C state.
Definition: IRsend.h:97
IRWhirlpoolAc::setFan
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Whirlpool.cpp:262
IRWhirlpoolAc::setLight
void setLight(const bool on)
Set the Light (Display/LED) setting of the A/C.
Definition: ir_Whirlpool.cpp:301
IRWhirlpoolAc::setTime
void setTime(const uint16_t pos, const uint16_t minspastmidnight)
Set the time in nr. of minutes past midnight.
Definition: ir_Whirlpool.cpp:315
IRWhirlpoolAc::setSwing
void setSwing(const bool on)
Set the (vertical) swing setting of the A/C.
Definition: ir_Whirlpool.cpp:285
IRWhirlpoolAc::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Whirlpool.cpp:514
kWhirlpoolAcHourSize
const uint8_t kWhirlpoolAcHourSize
Definition: ir_Whirlpool.h:66
kWhirlpoolAcFanAuto
const uint8_t kWhirlpoolAcFanAuto
Definition: ir_Whirlpool.h:47
IRWhirlpoolAc::getRaw
uint8_t * getRaw(const bool calcchecksum=true)
Get a copy of the internal state/code for this protocol.
Definition: ir_Whirlpool.cpp:148
IRWhirlpoolAc::isTimerEnabled
bool isTimerEnabled(const uint16_t pos)
Is the timer enabled at the given byte offset?
Definition: ir_Whirlpool.cpp:338
stdAc::opmode_t
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46