IRremoteESP8266
Loading...
Searching...
No Matches
ir_Sanyo.h
Go to the documentation of this file.
1// Copyright 2020-2021 David Conran
2
17
18// Supports:
19// Brand: Sanyo, Model: SA 8650B - disabled
20// Brand: Sanyo, Model: LC7461 transmitter IC (SANYO_LC7461)
21// Brand: Sanyo, Model: SAP-K121AHA A/C (SANYO_AC)
22// Brand: Sanyo, Model: RCS-2HS4E remote (SANYO_AC)
23// Brand: Sanyo, Model: SAP-K242AH A/C (SANYO_AC)
24// Brand: Sanyo, Model: RCS-2S4E remote (SANYO_AC)
25// Brand: Sanyo, Model: RCS-4MHVPIS4EE remote (SANYO_AC152)
26// Brand: Sanyo, Model: SAP-KMRV124EHE A/C (SANYO_AC152)
27
28#ifndef IR_SANYO_H_
29#define IR_SANYO_H_
30
31#define __STDC_LIMIT_MACROS
32#include <stdint.h>
33#ifdef ARDUINO
34#include <Arduino.h>
35#endif
36#include "IRremoteESP8266.h"
37#include "IRsend.h"
38#ifdef UNIT_TEST
39#include "IRsend_test.h"
40#endif
41
45 // Ref: https://docs.google.com/spreadsheets/d/1dYfLsnYvpjV-SgO8pdinpfuBIpSzm8Q1R5SabrLeskw/edit?usp=sharing
46 struct {
47 // Byte 0
48 uint8_t :8; // 0x6A (Fixed?)
49 // Byte 1
50 uint8_t Temp :5;
51 uint8_t :3;
52 // Byte 2
53 uint8_t SensorTemp :5;
54 uint8_t Sensor :1;
55 uint8_t Beep :1;
56 uint8_t :1;
57 // Byte 3
58 uint8_t OffHour :4;
59 uint8_t :4;
60 // Byte 4
61 uint8_t Fan :2;
62 uint8_t OffTimer :1;
63 uint8_t :1;
64 uint8_t Mode :3;
65 uint8_t :1;
66 // Byte 5
67 uint8_t SwingV :3;
68 uint8_t :3;
69 uint8_t Power :2;
70 // Byte 6
71 uint8_t :3;
72 uint8_t Sleep :1;
73 uint8_t :4;
74 // Byte 7
75 uint8_t :8;
76 // Byte 8
77 uint8_t Sum :8;
78 };
79};
80
81// Constants
82
83const uint8_t kSanyoAcTempMin = 16;
84const uint8_t kSanyoAcTempMax = 30;
85const uint8_t kSanyoAcTempDelta = 4;
86
87const uint8_t kSanyoAcHourMax = 15;
88
89const uint8_t kSanyoAcHeat = 1;
90const uint8_t kSanyoAcCool = 2;
91const uint8_t kSanyoAcDry = 3;
92const uint8_t kSanyoAcAuto = 4;
93const uint8_t kSanyoAcFanAuto = 0;
94const uint8_t kSanyoAcFanHigh = 1;
95const uint8_t kSanyoAcFanLow = 2;
96const uint8_t kSanyoAcFanMedium = 3;
97
98// const uint8_t kSanyoAcPowerStandby = 0b00; ///< Standby?
99const uint8_t kSanyoAcPowerOff = 0b01;
100const uint8_t kSanyoAcPowerOn = 0b10;
101const uint8_t kSanyoAcSwingVAuto = 0;
102const uint8_t kSanyoAcSwingVLowest = 2;
103const uint8_t kSanyoAcSwingVLow = 3;
104const uint8_t kSanyoAcSwingVLowerMiddle = 4;
105const uint8_t kSanyoAcSwingVUpperMiddle = 5;
106const uint8_t kSanyoAcSwingVHigh = 6;
107const uint8_t kSanyoAcSwingVHighest = 7;
108
109// Classes
112 public:
113 explicit IRSanyoAc(const uint16_t pin, const bool inverted = false,
114 const bool use_modulation = true);
115 void stateReset(void);
116#if SEND_SANYO_AC
117 void send(const uint16_t repeat = kNoRepeat);
122 int8_t calibrate(void) { return _irsend.calibrate(); }
123#endif // SEND_SANYO_AC
124 void begin(void);
125 void on(void);
126 void off(void);
127 void setPower(const bool on);
128 bool getPower(void) const;
129 void setTemp(const uint8_t degrees);
130 uint8_t getTemp(void) const;
131 void setSensorTemp(const uint8_t degrees);
132 uint8_t getSensorTemp(void) const;
133 void setFan(const uint8_t speed);
134 uint8_t getFan(void) const;
135 void setMode(const uint8_t mode);
136 uint8_t getMode(void) const;
137 void setSleep(const bool on);
138 bool getSleep(void) const;
139 void setSensor(const bool location);
140 bool getSensor(void) const;
141 void setBeep(const bool on);
142 bool getBeep(void) const;
143 void setSwingV(const uint8_t setting);
144 uint8_t getSwingV(void) const;
145 void setRaw(const uint8_t newState[]);
146 uint8_t* getRaw(void);
147 uint16_t getOffTimer(void) const;
148 void setOffTimer(const uint16_t mins);
149 static bool validChecksum(const uint8_t state[],
150 const uint16_t length = kSanyoAcStateLength);
151 static uint8_t convertMode(const stdAc::opmode_t mode);
152 static uint8_t convertFan(const stdAc::fanspeed_t speed);
153 static uint8_t convertSwingV(const stdAc::swingv_t position);
154 static stdAc::opmode_t toCommonMode(const uint8_t mode);
155 static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
156 static stdAc::swingv_t toCommonSwingV(const uint8_t setting);
157 stdAc::state_t toCommon(void) const;
158 String toString(void) const;
159#ifndef UNIT_TEST
160
161 private:
163#else // UNIT_TEST
165 IRsendTest _irsend;
167#endif // UNIT_TEST
169 void checksum(void);
170 static uint8_t calcChecksum(const uint8_t state[],
171 const uint16_t length = kSanyoAcStateLength);
172};
173
174const uint8_t kSanyoAc88Auto = 0;
175const uint8_t kSanyoAc88FeelCool = 1;
176const uint8_t kSanyoAc88Cool = 2;
177const uint8_t kSanyoAc88FeelHeat = 3;
178const uint8_t kSanyoAc88Heat = 4;
179const uint8_t kSanyoAc88Fan = 5;
180
181const uint8_t kSanyoAc88TempMin = 10;
182const uint8_t kSanyoAc88TempMax = 30;
183
184const uint8_t kSanyoAc88FanAuto = 0;
185const uint8_t kSanyoAc88FanLow = 1;
186const uint8_t kSanyoAc88FanMedium = 2;
187const uint8_t kSanyoAc88FanHigh = 3;
188
192 // Ref: https://docs.google.com/spreadsheets/d/1weUmGAsEpfX38gg5rlDN69Uchnbr6gQl9FqHffLBIRk/edit#gid=0
193 struct {
194 // Byte 0-1
195 uint8_t :8; // 0xAA (Fixed?)
196 uint8_t :8; // 0x55 (Fixed?)
197 // Byte 2
198 uint8_t Fan :2;
199 uint8_t :2;
200 uint8_t Mode :3;
201 uint8_t Power :1;
202 // Byte 3
203 uint8_t Temp :5;
204 uint8_t Filter :1;
205 uint8_t SwingV :1;
206 uint8_t :1;
207 // Byte 4
208 uint8_t ClockSecs :8; // Nr. of Seconds
209 // Byte 5
210 uint8_t ClockMins :8; // Nr. of Minutes
211 // Byte 6
212 uint8_t ClockHrs :8; // Nr. of Hours
213 // Byte 7-9 (Timer times?)
214 uint8_t :8;
215 uint8_t :8;
216 uint8_t :8;
217 // Byte 10
218 uint8_t :3;
219 uint8_t Turbo :1;
221 uint8_t EnableStopTimer :1;
222 uint8_t Sleep :1;
223 uint8_t :1;
224 };
225};
226
227// Classes
230 public:
231 explicit IRSanyoAc88(const uint16_t pin, const bool inverted = false,
232 const bool use_modulation = true);
233 void stateReset(void);
234#if SEND_SANYO_AC88
235 void send(const uint16_t repeat = kSanyoAc88MinRepeat);
240 int8_t calibrate(void) { return _irsend.calibrate(); }
241#endif // SEND_SANYO_AC88
242 void begin(void);
243 void on(void);
244 void off(void);
245 void setPower(const bool on);
246 bool getPower(void) const;
247 void setTemp(const uint8_t degrees);
248 uint8_t getTemp(void) const;
249 void setFan(const uint8_t speed);
250 uint8_t getFan(void) const;
251 void setMode(const uint8_t mode);
252 uint8_t getMode(void) const;
253 void setSleep(const bool on);
254 bool getSleep(void) const;
255 void setTurbo(const bool on);
256 bool getTurbo(void) const;
257 void setFilter(const bool on);
258 bool getFilter(void) const;
259 void setSwingV(const bool on);
260 bool getSwingV(void) const;
261 uint16_t getClock(void) const;
262 void setClock(const uint16_t mins_since_midnight);
263 void setRaw(const uint8_t newState[]);
264 uint8_t* getRaw(void);
265 static uint8_t convertMode(const stdAc::opmode_t mode);
266 static uint8_t convertFan(const stdAc::fanspeed_t speed);
267 static stdAc::opmode_t toCommonMode(const uint8_t mode);
268 static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
269 stdAc::state_t toCommon(void) const;
270 String toString(void) const;
271#ifndef UNIT_TEST
272
273 private:
275#else // UNIT_TEST
277 IRsendTest _irsend;
279#endif // UNIT_TEST
281 void checksum(void);
282 static uint8_t calcChecksum(const uint8_t state[],
283 const uint16_t length = kSanyoAcStateLength);
284};
285#endif // IR_SANYO_H_
const uint16_t kNoRepeat
Definition IRremoteESP8266.h:1172
const uint16_t kSanyoAc88StateLength
Definition IRremoteESP8266.h:1393
const uint16_t kSanyoAcStateLength
Definition IRremoteESP8266.h:1391
std::string String
Definition IRremoteESP8266.h:1564
const uint16_t kSanyoAc88MinRepeat
Definition IRremoteESP8266.h:1395
Class for handling detailed Sanyo A/C messages.
Definition ir_Sanyo.h:229
uint16_t getClock(void) const
Get the current clock time.
Definition ir_Sanyo.cpp:888
void setClock(const uint16_t mins_since_midnight)
Set the current clock time.
Definition ir_Sanyo.cpp:894
void send(const uint16_t repeat=kSanyoAc88MinRepeat)
Send the current internal state as IR messages.
Definition ir_Sanyo.cpp:770
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition ir_Sanyo.cpp:948
void off(void)
Set the requested power state of the A/C to off.
Definition ir_Sanyo.cpp:792
void setFilter(const bool on)
Change the Filter setting.
Definition ir_Sanyo.cpp:932
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition ir_Sanyo.cpp:875
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition ir_Sanyo.cpp:905
uint8_t getFan(void) const
Get the current fan speed setting.
Definition ir_Sanyo.cpp:870
uint8_t getTemp(void) const
Get the current desired temperature setting.
Definition ir_Sanyo.cpp:862
bool getPower(void) const
Get the value of the current power setting.
Definition ir_Sanyo.cpp:800
bool getSwingV(void) const
Get the value of the current SwingV setting.
Definition ir_Sanyo.cpp:920
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition ir_Sanyo.h:240
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition ir_Sanyo.cpp:866
static uint8_t calcChecksum(const uint8_t state[], const uint16_t length=kSanyoAcStateLength)
void setSwingV(const bool on)
Change the SwingV setting.
Definition ir_Sanyo.cpp:916
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition ir_Sanyo.cpp:826
void setTurbo(const bool on)
Change the Turbo setting.
Definition ir_Sanyo.cpp:924
bool getTurbo(void) const
Get the value of the current Turbo setting.
Definition ir_Sanyo.cpp:928
String toString(void) const
Convert the current internal state into a human readable string.
Definition ir_Sanyo.cpp:974
void checksum(void)
bool getSleep(void) const
Get the value of the current Sleep setting.
Definition ir_Sanyo.cpp:944
void setTemp(const uint8_t degrees)
Set the desired temperature.
Definition ir_Sanyo.cpp:855
SanyoAc88Protocol _
Definition ir_Sanyo.h:280
void begin(void)
Set up hardware to be able to send a message.
Definition ir_Sanyo.cpp:765
void stateReset(void)
Reset the state of the remote to a known good state/sequence.
Definition ir_Sanyo.cpp:758
void setPower(const bool on)
Change the power setting.
Definition ir_Sanyo.cpp:796
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition ir_Sanyo.cpp:838
void setRaw(const uint8_t newState[])
Set the internal state from a valid code for this protocol.
Definition ir_Sanyo.cpp:784
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol with all integrity checks passing.
Definition ir_Sanyo.cpp:778
void on(void)
Set the requested power state of the A/C to on.
Definition ir_Sanyo.cpp:789
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition ir_Sanyo.cpp:804
void setSleep(const bool on)
Change the Sleep setting.
Definition ir_Sanyo.cpp:940
bool getFilter(void) const
Get the value of the current Filter setting.
Definition ir_Sanyo.cpp:936
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition ir_Sanyo.cpp:809
IRsend _irsend
Instance of the IR send class.
Definition ir_Sanyo.h:274
Class for handling detailed Sanyo A/C messages.
Definition ir_Sanyo.h:111
uint8_t getFan(void) const
Get the current fan speed setting.
Definition ir_Sanyo.cpp:481
bool getPower(void) const
Get the value of the current power setting.
Definition ir_Sanyo.cpp:396
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol with all integrity checks passing.
Definition ir_Sanyo.cpp:347
void setRaw(const uint8_t newState[])
Set the internal state from a valid code for this protocol.
Definition ir_Sanyo.cpp:354
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition ir_Sanyo.cpp:424
void setPower(const bool on)
Change the power setting.
Definition ir_Sanyo.cpp:390
void setSensorTemp(const uint8_t degrees)
Set the sensor temperature.
Definition ir_Sanyo.cpp:461
static stdAc::swingv_t toCommonSwingV(const uint8_t setting)
Convert a native vertical swing postion to it's common equivalent.
Definition ir_Sanyo.cpp:544
void setSensor(const bool location)
Set the Sensor Location setting of the A/C. i.e. Where the ambient temperature is measured.
Definition ir_Sanyo.cpp:571
void off(void)
Set the requested power state of the A/C to off.
Definition ir_Sanyo.cpp:386
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition ir_Sanyo.cpp:502
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition ir_Sanyo.cpp:475
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition ir_Sanyo.cpp:617
void setBeep(const bool on)
Set the Beep setting of the A/C.
Definition ir_Sanyo.cpp:584
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition ir_Sanyo.cpp:409
void setSwingV(const uint8_t setting)
Set the vertical swing setting of the A/C.
Definition ir_Sanyo.cpp:519
IRsend _irsend
Instance of the IR send class.
Definition ir_Sanyo.h:162
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition ir_Sanyo.h:122
void setOffTimer(const uint16_t mins)
Set the nr of minutes for the Off Timer.
Definition ir_Sanyo.cpp:609
uint16_t getOffTimer(void) const
Get the nr of minutes the Off Timer is set to.
Definition ir_Sanyo.cpp:598
static bool validChecksum(const uint8_t state[], const uint16_t length=kSanyoAcStateLength)
Verify the checksum is valid for a given state.
Definition ir_Sanyo.cpp:371
static uint8_t calcChecksum(const uint8_t state[], const uint16_t length=kSanyoAcStateLength)
Calculate the checksum for a given state.
Definition ir_Sanyo.cpp:362
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition ir_Sanyo.cpp:402
uint8_t getTemp(void) const
Get the current desired temperature setting.
Definition ir_Sanyo.cpp:455
static uint8_t convertSwingV(const stdAc::swingv_t position)
Convert a stdAc::swingv_t enum into it's native setting.
Definition ir_Sanyo.cpp:530
void send(const uint16_t repeat=kNoRepeat)
Send the current internal state as IR messages.
Definition ir_Sanyo.cpp:339
bool getSleep(void) const
Get the Sleep (Night Setback) setting of the A/C.
Definition ir_Sanyo.cpp:564
void setTemp(const uint8_t degrees)
Set the desired temperature.
Definition ir_Sanyo.cpp:447
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition ir_Sanyo.cpp:488
bool getSensor(void) const
Get the Sensor Location setting of the A/C. i.e. Where the ambient temperature is measured.
Definition ir_Sanyo.cpp:578
uint8_t getSwingV(void) const
Get the vertical swing setting of the A/C.
Definition ir_Sanyo.cpp:513
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition ir_Sanyo.cpp:436
void on(void)
Set the requested power state of the A/C to on.
Definition ir_Sanyo.cpp:383
void checksum(void)
Calculate & set the checksum for the current internal state of the remote.
Definition ir_Sanyo.cpp:376
uint8_t getSensorTemp(void) const
Get the current sensor temperature setting.
Definition ir_Sanyo.cpp:469
SanyoProtocol _
Definition ir_Sanyo.h:168
bool getBeep(void) const
Get the Beep setting of the A/C.
Definition ir_Sanyo.cpp:590
void stateReset(void)
Reset the state of the remote to a known state/sequence.
Definition ir_Sanyo.cpp:327
String toString(void) const
Convert the current internal state into a human readable string.
Definition ir_Sanyo.cpp:645
void setSleep(const bool on)
Set the Sleep (Night Setback) setting of the A/C.
Definition ir_Sanyo.cpp:558
void begin(void)
Set up hardware to be able to send a message.
Definition ir_Sanyo.cpp:334
Class for sending all basic IR protocols.
Definition IRsend.h:249
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition IRsend.cpp:209
const uint8_t kSanyoAcSwingVLowerMiddle
0b100
Definition ir_Sanyo.h:104
const uint8_t kSanyoAcPowerOff
Off.
Definition ir_Sanyo.h:99
const uint8_t kSanyoAcSwingVUpperMiddle
0b101
Definition ir_Sanyo.h:105
const uint8_t kSanyoAc88TempMax
Celsius.
Definition ir_Sanyo.h:182
const uint8_t kSanyoAcFanHigh
0b01
Definition ir_Sanyo.h:94
const uint8_t kSanyoAc88FeelHeat
0b011
Definition ir_Sanyo.h:177
const uint8_t kSanyoAcFanLow
0b10
Definition ir_Sanyo.h:95
const uint8_t kSanyoAcSwingVLowest
0b010
Definition ir_Sanyo.h:102
const uint8_t kSanyoAcSwingVHigh
0b110
Definition ir_Sanyo.h:106
const uint8_t kSanyoAc88Auto
0b000
Definition ir_Sanyo.h:174
const uint8_t kSanyoAcFanMedium
0b11
Definition ir_Sanyo.h:96
const uint8_t kSanyoAcTempMin
Celsius.
Definition ir_Sanyo.h:83
const uint8_t kSanyoAcDry
0b011
Definition ir_Sanyo.h:91
const uint8_t kSanyoAcSwingVHighest
0b111
Definition ir_Sanyo.h:107
const uint8_t kSanyoAc88FanMedium
0b10
Definition ir_Sanyo.h:186
const uint8_t kSanyoAcPowerOn
On.
Definition ir_Sanyo.h:100
const uint8_t kSanyoAcFanAuto
0b00
Definition ir_Sanyo.h:93
const uint8_t kSanyoAcAuto
0b100
Definition ir_Sanyo.h:92
const uint8_t kSanyoAc88Heat
0b100
Definition ir_Sanyo.h:178
const uint8_t kSanyoAc88FanAuto
0b00
Definition ir_Sanyo.h:184
const uint8_t kSanyoAc88FanHigh
0b11
Definition ir_Sanyo.h:187
const uint8_t kSanyoAcTempMax
Celsius.
Definition ir_Sanyo.h:84
const uint8_t kSanyoAcHeat
0b001
Definition ir_Sanyo.h:89
const uint8_t kSanyoAcSwingVLow
0b011
Definition ir_Sanyo.h:103
const uint8_t kSanyoAc88Fan
0b101
Definition ir_Sanyo.h:179
const uint8_t kSanyoAc88FeelCool
0b001
Definition ir_Sanyo.h:175
const uint8_t kSanyoAcTempDelta
Celsius to Native Temp difference.
Definition ir_Sanyo.h:85
const uint8_t kSanyoAc88FanLow
0b11
Definition ir_Sanyo.h:185
const uint8_t kSanyoAc88TempMin
Celsius.
Definition ir_Sanyo.h:181
const uint8_t kSanyoAcCool
0b010
Definition ir_Sanyo.h:90
const uint8_t kSanyoAcHourMax
0b1111
Definition ir_Sanyo.h:87
const uint8_t kSanyoAc88Cool
0b010
Definition ir_Sanyo.h:176
const uint8_t kSanyoAcSwingVAuto
0b000
Definition ir_Sanyo.h:101
fanspeed_t
Common A/C settings for Fan Speeds.
Definition IRsend.h:61
opmode_t
Common A/C settings for A/C operating modes.
Definition IRsend.h:49
swingv_t
Common A/C settings for Vertical Swing.
Definition IRsend.h:74
Structure to hold a common A/C state.
Definition IRsend.h:114
Native representation of a Sanyo 88-bit A/C message.
Definition ir_Sanyo.h:190
uint8_t raw[kSanyoAc88StateLength]
The state in IR code form.
Definition ir_Sanyo.h:191
uint8_t Sleep
Definition ir_Sanyo.h:222
uint8_t ClockMins
Definition ir_Sanyo.h:210
uint8_t Mode
Definition ir_Sanyo.h:200
uint8_t Fan
Definition ir_Sanyo.h:198
uint8_t Temp
Definition ir_Sanyo.h:203
uint8_t EnableStopTimer
Definition ir_Sanyo.h:221
uint8_t Filter
Definition ir_Sanyo.h:204
uint8_t ClockSecs
Definition ir_Sanyo.h:208
uint8_t Turbo
Definition ir_Sanyo.h:219
uint8_t Power
Definition ir_Sanyo.h:201
uint8_t SwingV
Definition ir_Sanyo.h:205
uint8_t ClockHrs
Definition ir_Sanyo.h:212
uint8_t EnableStartTimer
Definition ir_Sanyo.h:220
Native representation of a Sanyo A/C message.
Definition ir_Sanyo.h:43
uint8_t Mode
Definition ir_Sanyo.h:64
uint8_t SensorTemp
Definition ir_Sanyo.h:53
uint8_t Sleep
Definition ir_Sanyo.h:72
uint8_t Temp
Definition ir_Sanyo.h:50
uint8_t Sum
Definition ir_Sanyo.h:77
uint8_t raw[kSanyoAcStateLength]
The state in IR code form.
Definition ir_Sanyo.h:44
uint8_t Beep
Definition ir_Sanyo.h:55
uint8_t OffHour
Definition ir_Sanyo.h:58
uint8_t OffTimer
Definition ir_Sanyo.h:62
uint8_t Fan
Definition ir_Sanyo.h:61
uint8_t SwingV
Definition ir_Sanyo.h:67
uint8_t Sensor
Sensor location (0 = remote, 1 = A/C)
Definition ir_Sanyo.h:54
uint8_t Power
Definition ir_Sanyo.h:69