IRremoteESP8266
ir_Mirage.h
Go to the documentation of this file.
1 // Copyright 2020-2021 David Conran (crankyoldgit)
6 
7 
8 // Supports:
9 // Brand: Mirage, Model: VLU series A/C
10 // Brand: Maxell, Model: MX-CH18CF A/C
11 // Brand: Maxell, Model: KKG9A-C1 remote
12 // Brand: Tronitechnik, Model: Reykir 9000 A/C
13 // Brand: Tronitechnik, Model: KKG29A-C1 remote
14 
15 #ifndef IR_MIRAGE_H_
16 #define IR_MIRAGE_H_
17 
18 #define __STDC_LIMIT_MACROS
19 #include <stdint.h>
20 #ifndef UNIT_TEST
21 #include <Arduino.h>
22 #endif
23 #include "IRremoteESP8266.h"
24 #include "IRsend.h"
25 #ifdef UNIT_TEST
26 #include "IRsend_test.h"
27 #endif
28 
33  struct { // Common
34  // Byte 0
35  uint8_t Header :8; // Header. (0x56)
36  // Byte 1
37  uint8_t Temp :8; // Celsius minus 0x5C.
38  // Byte 2
39  uint8_t :8; // Unknown / Unused.
40  // Byte 3
41  uint8_t :8; // Unknown / Unused.
42  // Byte 4
43  uint8_t Fan :2; // Fan Speed.
44  uint8_t :2; // Unknown / Unused.
45  uint8_t Mode :4; // Cool, Heat, Dry, Fan, Recycle
46  // Byte 5
47  uint8_t :8;
48  // Byte 6
49  uint8_t :8;
50  // Byte 7
51  uint8_t :8;
52  // Byte 8
53  uint8_t :8;
54  // Byte 9
55  uint8_t :8;
56  // Byte 10
57  uint8_t :8;
58  // Byte 11
59  uint8_t :8;
60  // Byte 12
61  uint8_t :8;
62  // Byte 13
63  uint8_t :8;
64  // Byte 14
65  uint8_t Sum :8; // Sum of all the previous nibbles.
66  };
67  struct { // KKG9AC1 remote
68  // Byte 0
69  uint8_t :8; // Header
70  // Byte 1
71  uint8_t :8; // Temp
72  // Byte 2
73  uint8_t :8; // Unknown / Unused.
74  // Byte 3
75  uint8_t :3; // Unknown / Unused.
76  uint8_t Light_Kkg9ac1 :1; // Aka. Display. Seems linked to Sleep mode.
77  uint8_t :4; // Unknown / Unused.
78  // Byte 4
79  uint8_t :8; // Fan & Mode
80  // Byte 5
81  uint8_t :1; // Unknown
82  uint8_t SwingAndPower :7;
83  // Byte 6
84  uint8_t :7; // Unknown / Unused.
85  uint8_t Sleep_Kkg9ac1 :1; // Sleep mode on or off.
86  // Byte 7
87  uint8_t :3; // Unknown / Unused.
88  uint8_t Turbo_Kkg9ac1 :1; // Turbo mode on or off. Only works in Cool mode.
89  uint8_t :4; // Unknown / Unused.
90  // Byte 8
91  uint8_t :8; // Unknown / Unused.
92  // Byte 9
93  uint8_t :8; // Unknown / Unused.
94  // Byte 10
95  uint8_t :8; // Unknown / Unused.
96  // Byte 11
97  uint8_t Seconds :8; // Nr. of Seconds in BCD.
98  // Byte 12
99  uint8_t Minutes :8; // Nr. of Minutes in BCD.
100  // Byte 13
101  uint8_t Hours :8; // Nr. of Hours in BCD.
102  // Byte 14
103  uint8_t :8; // Sum
104  };
105  struct { // KKG29A-C1 remote
106  // Byte 0
107  uint8_t :8; // Header
108  // Byte 1
109  uint8_t :8; // Temp
110  // Byte 2
111  uint8_t :8;
112  // Byte 3
113  uint8_t Quiet :1;
114  uint8_t :7;
115  // Byte 4
116  uint8_t :2; // Fan
117  uint8_t OffTimerEnable :1;
118  uint8_t OnTimerEnable :1;
119  uint8_t :3; // Mode
120  uint8_t :1;
121  // Byte 5
122  uint8_t SwingH :1;
123  uint8_t SwingV :1;
124  uint8_t LightToggle_Kkg29ac1 :1; // Aka. Display Toggle.
125  uint8_t :3;
126  uint8_t Power :2;
127  // Byte 6
128  uint8_t :1;
129  uint8_t Filter :1; // Aka. UVC
130  uint8_t :1;
131  uint8_t Sleep_Kkg29ac1 :1; // Sleep mode on or off.
132  uint8_t :2;
133  uint8_t RecycleHeat :1;
134  uint8_t :1;
135  // Byte 7
136  uint8_t SensorTemp :6; // Temperature at the remote
137  uint8_t CleanToggle :1;
138  uint8_t IFeel :1;
139  // Byte 8
140  uint8_t OnTimerHours :5;
141  uint8_t :2;
142  uint8_t Turbo_Kkg29ac1 :1; // Turbo mode on or off.
143  // Byte 9
144  uint8_t OnTimerMins :6;
145  uint8_t :2;
146  // Byte 10
147  uint8_t OffTimerHours :5;
148  uint8_t :3;
149  // Byte 11
150  uint8_t OffTimerMins :6;
151  uint8_t :2;
152  // Byte 12
153  uint8_t :8;
154  // Byte 13
155  uint8_t :8;
156  // Byte 14
157  uint8_t :8; // Sum
158  };
159 };
160 
161 // Constants
162 const uint8_t kMirageAcHeat = 0b001; // 1
163 const uint8_t kMirageAcCool = 0b010; // 2
164 const uint8_t kMirageAcDry = 0b011; // 3
165 const uint8_t kMirageAcRecycle = 0b100; // 4
166 const uint8_t kMirageAcFan = 0b101; // 5
167 
168 const uint8_t kMirageAcFanAuto = 0b00; // 0
169 const uint8_t kMirageAcFanHigh = 0b01; // 1
170 const uint8_t kMirageAcFanMed = 0b10; // 2
171 const uint8_t kMirageAcFanLow = 0b11; // 3
172 const uint8_t kMirageAcKKG29AC1FanAuto = 0b00; // 0
173 const uint8_t kMirageAcKKG29AC1FanHigh = 0b01; // 1
174 const uint8_t kMirageAcKKG29AC1FanLow = 0b10; // 2
175 const uint8_t kMirageAcKKG29AC1FanMed = 0b11; // 3
176 
177 const uint8_t kMirageAcMinTemp = 16; // 16C
178 const uint8_t kMirageAcMaxTemp = 32; // 32C
179 const uint8_t kMirageAcTempOffset = 0x5C;
180 const uint8_t kMirageAcSensorTempOffset = 20;
181 const uint8_t kMirageAcSensorTempMax = 43; // Celsius
182 
183 const uint8_t kMirageAcPowerOff = 0x5F;
184 const uint8_t kMirageAcSwingVOff = 0b0000; // 0
185 const uint8_t kMirageAcSwingVLowest = 0b0011; // 3
186 const uint8_t kMirageAcSwingVLow = 0b0101; // 5
187 const uint8_t kMirageAcSwingVMiddle = 0b0111; // 7
188 const uint8_t kMirageAcSwingVHigh = 0b1001; // 9
189 const uint8_t kMirageAcSwingVHighest = 0b1011; // 11
190 const uint8_t kMirageAcSwingVAuto = 0b1101; // 13
191 
192 
196 class IRMirageAc {
197  public:
198  explicit IRMirageAc(const uint16_t pin, const bool inverted = false,
199  const bool use_modulation = true);
200  void stateReset(void);
201 #if SEND_MIRAGE
202  void send(const uint16_t repeat = kMirageMinRepeat);
207  int8_t calibrate(void) { return _irsend.calibrate(); }
208 #endif // SEND_MIRAGE
209  void begin(void);
210  void on(void);
211  void off(void);
212  void setPower(const bool on);
213  bool getPower(void) const;
214  void setTemp(const uint8_t degrees);
215  uint8_t getTemp(void) const;
216  void setFan(const uint8_t speed);
217  uint8_t getFan(void) const;
218  void setMode(const uint8_t mode);
219  uint8_t getMode(void) const;
220  uint8_t* getRaw(void);
221  void setRaw(const uint8_t* data);
222  uint32_t getClock(void) const;
223  void setClock(const uint32_t nr_of_seconds);
224  void setTurbo(const bool on);
225  bool getTurbo(void) const;
226  void setLight(const bool on);
227  bool getLight(void) const;
228  void setSleep(const bool on);
229  bool getSleep(void) const;
230  void setSwingV(const uint8_t position);
231  uint8_t getSwingV(void) const;
232  void setSwingH(const bool on);
233  bool getSwingH(void) const;
234  void setQuiet(const bool on);
235  bool getQuiet(void) const;
236  void setCleanToggle(const bool on);
237  bool getCleanToggle(void) const;
238  void setFilter(const bool on);
239  bool getFilter(void) const;
240  void setIFeel(const bool on);
241  bool getIFeel(void) const;
242  void setSensorTemp(const uint8_t degrees);
243  uint16_t getSensorTemp(void) const;
244  uint16_t getOnTimer(void) const;
245  uint16_t getOffTimer(void) const;
246  void setOnTimer(const uint16_t nr_of_mins);
247  void setOffTimer(const uint16_t nr_of_mins);
248  mirage_ac_remote_model_t getModel(const bool useRaw = false) const;
249  void setModel(const mirage_ac_remote_model_t model);
250  static mirage_ac_remote_model_t getModel(const uint8_t *state);
251  static bool validChecksum(const uint8_t* data);
252  static uint8_t calculateChecksum(const uint8_t* data);
253  static uint8_t convertMode(const stdAc::opmode_t mode);
254  static uint8_t convertFan(const stdAc::fanspeed_t speed,
256  static uint8_t convertSwingV(const stdAc::swingv_t position);
257  static stdAc::opmode_t toCommonMode(const uint8_t mode);
258  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed,
260  static stdAc::swingv_t toCommonSwingV(const uint8_t pos);
261  stdAc::state_t toCommon(void) const;
262  void fromCommon(const stdAc::state_t state);
263  String toString(void) const;
264 #ifndef UNIT_TEST
265 
266  private:
268 #else // UNIT_TEST
269  IRsendTest _irsend;
271 #endif // UNIT_TEST
275  void checksum(void);
276 };
277 #endif // IR_MIRAGE_H_
IRMirageAc::setIFeel
void setIFeel(const bool on)
Set the IFeel setting of the A/C.
Definition: ir_Mirage.cpp:526
Mirage120Protocol::LightToggle_Kkg29ac1
uint8_t LightToggle_Kkg29ac1
Definition: ir_Mirage.h:124
IRMirageAc::getCleanToggle
bool getCleanToggle(void) const
Get the Clean Toggle setting of the A/C.
Definition: ir_Mirage.cpp:496
IRMirageAc::setTemp
void setTemp(const uint8_t degrees)
Set the temperature.
Definition: ir_Mirage.cpp:286
IRMirageAc::getLight
bool getLight(void) const
Get the value of the current Light/Display setting.
Definition: ir_Mirage.cpp:365
Mirage120Protocol::Sleep_Kkg9ac1
uint8_t Sleep_Kkg9ac1
Definition: ir_Mirage.h:85
Mirage120Protocol::IFeel
uint8_t IFeel
Definition: ir_Mirage.h:138
IRMirageAc::_model
mirage_ac_remote_model_t _model
Definition: ir_Mirage.h:274
Mirage120Protocol::Power
uint8_t Power
Definition: ir_Mirage.h:126
IRMirageAc::toCommon
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Mirage.cpp:735
stdAc::swingv_t
swingv_t
Common A/C settings for Vertical Swing.
Definition: IRsend.h:74
IRMirageAc::getFan
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Mirage.cpp:304
IRMirageAc::setCleanToggle
void setCleanToggle(const bool on)
Set the CleanToggle setting of the A/C.
Definition: ir_Mirage.cpp:484
kMirageAcSwingVMiddle
const uint8_t kMirageAcSwingVMiddle
Definition: ir_Mirage.h:187
Mirage120Protocol::Quiet
uint8_t Quiet
Definition: ir_Mirage.h:113
IRMirageAc::setSleep
void setSleep(const bool on)
Change the Sleep setting.
Definition: ir_Mirage.cpp:330
IRMirageAc::getOffTimer
uint16_t getOffTimer(void) const
Get the number of minutes the Off Timer is currently set for.
Definition: ir_Mirage.cpp:603
KKG9AC1
@ KKG9AC1
Definition: IRsend.h:176
stdAc::fanspeed_t
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:61
kMirageAcSwingVHighest
const uint8_t kMirageAcSwingVHighest
Definition: ir_Mirage.h:189
kMirageAcFanHigh
const uint8_t kMirageAcFanHigh
Definition: ir_Mirage.h:169
Mirage120Protocol::RecycleHeat
uint8_t RecycleHeat
Definition: ir_Mirage.h:133
IRMirageAc::getQuiet
bool getQuiet(void) const
Get the Quiet setting of the A/C.
Definition: ir_Mirage.cpp:475
Mirage120Protocol::SwingH
uint8_t SwingH
Definition: ir_Mirage.h:122
IRMirageAc::setFan
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Mirage.cpp:298
kMirageAcSwingVLowest
const uint8_t kMirageAcSwingVLowest
Definition: ir_Mirage.h:185
Mirage120Protocol::OnTimerEnable
uint8_t OnTimerEnable
Definition: ir_Mirage.h:118
kMirageStateLength
const uint16_t kMirageStateLength
Definition: IRremoteESP8266.h:1307
IRMirageAc::_
Mirage120Protocol _
Definition: ir_Mirage.h:273
Mirage120Protocol::OnTimerMins
uint8_t OnTimerMins
Definition: ir_Mirage.h:144
Mirage120Protocol::Sleep_Kkg29ac1
uint8_t Sleep_Kkg29ac1
Definition: ir_Mirage.h:131
Mirage120Protocol::Sum
uint8_t Sum
Definition: ir_Mirage.h:65
IRMirageAc::setTurbo
void setTurbo(const bool on)
Change the Turbo setting.
Definition: ir_Mirage.cpp:308
Mirage120Protocol::SensorTemp
uint8_t SensorTemp
Definition: ir_Mirage.h:136
kMirageMinRepeat
const uint16_t kMirageMinRepeat
Definition: IRremoteESP8266.h:1309
IRMirageAc::IRMirageAc
IRMirageAc(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Mirage.cpp:102
Mirage120Protocol::Minutes
uint8_t Minutes
Definition: ir_Mirage.h:99
Mirage120Protocol::Seconds
uint8_t Seconds
Definition: ir_Mirage.h:97
kMirageAcSwingVOff
const uint8_t kMirageAcSwingVOff
Definition: ir_Mirage.h:184
IRsend.h
IRMirageAc::setQuiet
void setQuiet(const bool on)
Set the Quiet setting of the A/C.
Definition: ir_Mirage.cpp:463
IRMirageAc::convertSwingV
static uint8_t convertSwingV(const stdAc::swingv_t position)
Convert a stdAc::swingv_t enum into it's native setting.
Definition: ir_Mirage.cpp:706
IRMirageAc::checksum
void checksum(void)
Calculate and set the checksum values for the internal state.
Definition: ir_Mirage.cpp:203
IRMirageAc::getPower
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Mirage.cpp:253
Mirage120Protocol::raw
uint8_t raw[kMirageStateLength]
The state in code form.
Definition: ir_Mirage.h:32
IRMirageAc::getOnTimer
uint16_t getOnTimer(void) const
Get the number of minutes the On Timer is currently set for.
Definition: ir_Mirage.cpp:577
IRsend
Class for sending all basic IR protocols.
Definition: IRsend.h:237
kMirageAcPowerOff
const uint8_t kMirageAcPowerOff
Definition: ir_Mirage.h:183
IRsend::calibrate
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition: IRsend.cpp:207
IRMirageAc::off
void off(void)
Set the requested power state of the A/C to off.
Definition: ir_Mirage.cpp:223
String
std::string String
Definition: IRremoteESP8266.h:1521
IRMirageAc::getTurbo
bool getTurbo(void) const
Get the value of the current Turbo setting.
Definition: ir_Mirage.cpp:321
Mirage120Protocol::Turbo_Kkg29ac1
uint8_t Turbo_Kkg29ac1
Definition: ir_Mirage.h:142
kMirageAcSensorTempOffset
const uint8_t kMirageAcSensorTempOffset
Definition: ir_Mirage.h:180
kMirageAcFan
const uint8_t kMirageAcFan
Definition: ir_Mirage.h:166
IRMirageAc::setLight
void setLight(const bool on)
Change the Light/Display setting.
Definition: ir_Mirage.cpp:352
IRremoteESP8266.h
IRMirageAc::setSensorTemp
void setSensorTemp(const uint8_t degrees)
Set the Sensor Temp setting of the A/C's remote.
Definition: ir_Mirage.cpp:553
kMirageAcKKG29AC1FanAuto
const uint8_t kMirageAcKKG29AC1FanAuto
Definition: ir_Mirage.h:172
IRMirageAc::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Mirage.cpp:138
IRMirageAc
Class for handling detailed Mirage 120-bit A/C messages.
Definition: ir_Mirage.h:196
IRMirageAc::toCommonSwingV
static stdAc::swingv_t toCommonSwingV(const uint8_t pos)
Convert a native vertical swing postion to it's common equivalent.
Definition: ir_Mirage.cpp:721
Mirage120Protocol::Hours
uint8_t Hours
Definition: ir_Mirage.h:101
IRMirageAc::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Mirage.h:207
IRMirageAc::getSwingH
bool getSwingH(void) const
Get the Horizontal Swing setting of the A/C.
Definition: ir_Mirage.cpp:454
Mirage120Protocol::OffTimerEnable
uint8_t OffTimerEnable
Definition: ir_Mirage.h:117
Mirage120Protocol::SwingV
uint8_t SwingV
Definition: ir_Mirage.h:123
IRMirageAc::on
void on(void)
Set the requested power state of the A/C to on.
Definition: ir_Mirage.cpp:220
kMirageAcDry
const uint8_t kMirageAcDry
Definition: ir_Mirage.h:164
kMirageAcSwingVAuto
const uint8_t kMirageAcSwingVAuto
Definition: ir_Mirage.h:190
Mirage120Protocol::OffTimerMins
uint8_t OffTimerMins
Definition: ir_Mirage.h:150
IRMirageAc::convertFan
static uint8_t convertFan(const stdAc::fanspeed_t speed, const mirage_ac_remote_model_t model=mirage_ac_remote_model_t::KKG9AC1)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Mirage.cpp:680
IRMirageAc::fromCommon
void fromCommon(const stdAc::state_t state)
Convert & set a stdAc::state_t to its equivalent internal settings.
Definition: ir_Mirage.cpp:763
IRMirageAc::stateReset
void stateReset(void)
Reset the state of the remote to a known good state/sequence.
Definition: ir_Mirage.cpp:107
kMirageAcSwingVHigh
const uint8_t kMirageAcSwingVHigh
Definition: ir_Mirage.h:188
Mirage120Protocol::Filter
uint8_t Filter
Definition: ir_Mirage.h:129
IRMirageAc::getTemp
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Mirage.cpp:294
IRMirageAc::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed, const mirage_ac_remote_model_t model=mirage_ac_remote_model_t::KKG9AC1)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Mirage.cpp:643
IRMirageAc::setModel
void setModel(const mirage_ac_remote_model_t model)
Set the model code of the interal message state.
Definition: ir_Mirage.cpp:183
IRMirageAc::getIFeel
bool getIFeel(void) const
Get the IFeel setting of the A/C.
Definition: ir_Mirage.cpp:544
IRMirageAc::getModel
mirage_ac_remote_model_t getModel(const bool useRaw=false) const
Get the model code of the interal message state.
Definition: ir_Mirage.cpp:177
IRMirageAc::getSensorTemp
uint16_t getSensorTemp(void) const
Get the Sensor Temp setting of the A/C's remote.
Definition: ir_Mirage.cpp:566
kMirageAcSensorTempMax
const uint8_t kMirageAcSensorTempMax
Definition: ir_Mirage.h:181
Mirage120Protocol::OnTimerHours
uint8_t OnTimerHours
Definition: ir_Mirage.h:140
Mirage120Protocol::Light_Kkg9ac1
uint8_t Light_Kkg9ac1
Definition: ir_Mirage.h:76
Mirage120Protocol::Fan
uint8_t Fan
Definition: ir_Mirage.h:43
kMirageAcKKG29AC1FanLow
const uint8_t kMirageAcKKG29AC1FanLow
Definition: ir_Mirage.h:174
IRMirageAc::validChecksum
static bool validChecksum(const uint8_t *data)
Verify the checksum is valid for a given state.
Definition: ir_Mirage.cpp:208
kMirageAcMaxTemp
const uint8_t kMirageAcMaxTemp
Definition: ir_Mirage.h:178
IRMirageAc::calculateChecksum
static uint8_t calculateChecksum(const uint8_t *data)
Calculate the checksum for a given state.
Definition: ir_Mirage.cpp:215
Mirage120Protocol::Mode
uint8_t Mode
Definition: ir_Mirage.h:45
kMirageAcKKG29AC1FanMed
const uint8_t kMirageAcKKG29AC1FanMed
Definition: ir_Mirage.h:175
IRMirageAc::setSwingH
void setSwingH(const bool on)
Set the Horizontal Swing setting of the A/C.
Definition: ir_Mirage.cpp:442
IRMirageAc::convertMode
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Mirage.cpp:667
kMirageAcHeat
const uint8_t kMirageAcHeat
Definition: ir_Mirage.h:162
IRMirageAc::setClock
void setClock(const uint32_t nr_of_seconds)
Set the clock time on the A/C unit.
Definition: ir_Mirage.cpp:386
IRMirageAc::toString
String toString(void) const
Convert the internal state into a human readable string.
Definition: ir_Mirage.cpp:792
kMirageAcSwingVLow
const uint8_t kMirageAcSwingVLow
Definition: ir_Mirage.h:186
kMirageAcMinTemp
const uint8_t kMirageAcMinTemp
Definition: ir_Mirage.h:177
kMirageAcCool
const uint8_t kMirageAcCool
Definition: ir_Mirage.h:163
IRMirageAc::getSleep
bool getSleep(void) const
Get the value of the current Sleep setting.
Definition: ir_Mirage.cpp:342
kMirageAcFanAuto
const uint8_t kMirageAcFanAuto
Definition: ir_Mirage.h:168
Mirage120Protocol
Native representation of a Mirage 120-bit A/C message.
Definition: ir_Mirage.h:31
IRMirageAc::getFilter
bool getFilter(void) const
Get the Filter setting of the A/C.
Definition: ir_Mirage.cpp:517
mirage_ac_remote_model_t
mirage_ac_remote_model_t
MIRAGE A/C model numbers.
Definition: IRsend.h:175
IRMirageAc::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Mirage.cpp:630
kMirageAcKKG29AC1FanHigh
const uint8_t kMirageAcKKG29AC1FanHigh
Definition: ir_Mirage.h:173
Mirage120Protocol::CleanToggle
uint8_t CleanToggle
Definition: ir_Mirage.h:137
IRMirageAc::setOnTimer
void setOnTimer(const uint16_t nr_of_mins)
Set the number of minutes for the On Timer.
Definition: ir_Mirage.cpp:588
IRMirageAc::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Mirage.cpp:268
kMirageAcFanLow
const uint8_t kMirageAcFanLow
Definition: ir_Mirage.h:171
IRMirageAc::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Mirage.cpp:117
IRMirageAc::setSwingV
void setSwingV(const uint8_t position)
Set the Vertical Swing setting/position of the A/C.
Definition: ir_Mirage.cpp:404
IRMirageAc::getClock
uint32_t getClock(void) const
Get the clock time of the A/C unit.
Definition: ir_Mirage.cpp:374
IRMirageAc::setRaw
void setRaw(const uint8_t *data)
Set the internal state from a valid code for this protocol.
Definition: ir_Mirage.cpp:145
IRMirageAc::_irsend
IRsend _irsend
Instance of the IR send class.
Definition: ir_Mirage.h:267
kMirageAcTempOffset
const uint8_t kMirageAcTempOffset
Definition: ir_Mirage.h:179
kMirageAcFanMed
const uint8_t kMirageAcFanMed
Definition: ir_Mirage.h:170
IRMirageAc::getSwingV
uint8_t getSwingV(void) const
Get the Vertical Swing setting/position of the A/C.
Definition: ir_Mirage.cpp:431
IRMirageAc::send
void send(const uint16_t repeat=kMirageMinRepeat)
Send the current internal state as an IR message.
Definition: ir_Mirage.cpp:122
Mirage120Protocol::Temp
uint8_t Temp
Definition: ir_Mirage.h:37
stdAc::state_t
Structure to hold a common A/C state.
Definition: IRsend.h:114
Mirage120Protocol::Header
uint8_t Header
Definition: ir_Mirage.h:35
Mirage120Protocol::OffTimerHours
uint8_t OffTimerHours
Definition: ir_Mirage.h:147
kMirageAcRecycle
const uint8_t kMirageAcRecycle
Definition: ir_Mirage.h:165
IRMirageAc::setFilter
void setFilter(const bool on)
Set the Filter setting of the A/C.
Definition: ir_Mirage.cpp:505
IRMirageAc::getMode
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Mirage.cpp:264
IRMirageAc::setOffTimer
void setOffTimer(const uint16_t nr_of_mins)
Set the number of minutes for the Off Timer.
Definition: ir_Mirage.cpp:614
IRMirageAc::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Mirage.cpp:227
Mirage120Protocol::SwingAndPower
uint8_t SwingAndPower
Definition: ir_Mirage.h:82
Mirage120Protocol::Turbo_Kkg9ac1
uint8_t Turbo_Kkg9ac1
Definition: ir_Mirage.h:88
stdAc::opmode_t
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:49