IRremoteIDF
Infrared send & receive for ESP-IDF
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#include "IRplatform.h"
34#include "IRremoteESP8266.h"
35#include "IRsend.h"
36#ifdef UNIT_TEST
37#include "IRsend_test.h"
38#endif
39
43 // Ref: https://docs.google.com/spreadsheets/d/1dYfLsnYvpjV-SgO8pdinpfuBIpSzm8Q1R5SabrLeskw/edit?usp=sharing
44 struct {
45 // Byte 0
46 uint8_t :8; // 0x6A (Fixed?)
47 // Byte 1
48 uint8_t Temp :5;
49 uint8_t :3;
50 // Byte 2
51 uint8_t SensorTemp :5;
52 uint8_t Sensor :1;
53 uint8_t Beep :1;
54 uint8_t :1;
55 // Byte 3
56 uint8_t OffHour :4;
57 uint8_t :4;
58 // Byte 4
59 uint8_t Fan :2;
60 uint8_t OffTimer :1;
61 uint8_t :1;
62 uint8_t Mode :3;
63 uint8_t :1;
64 // Byte 5
65 uint8_t SwingV :3;
66 uint8_t :3;
67 uint8_t Power :2;
68 // Byte 6
69 uint8_t :3;
70 uint8_t Sleep :1;
71 uint8_t :4;
72 // Byte 7
73 uint8_t :8;
74 // Byte 8
75 uint8_t Sum :8;
76 };
77};
78
79// Constants
80
81const uint8_t kSanyoAcTempMin = 16;
82const uint8_t kSanyoAcTempMax = 30;
83const uint8_t kSanyoAcTempDelta = 4;
84
85const uint8_t kSanyoAcHourMax = 15;
86
87const uint8_t kSanyoAcHeat = 1;
88const uint8_t kSanyoAcCool = 2;
89const uint8_t kSanyoAcDry = 3;
90const uint8_t kSanyoAcAuto = 4;
91const uint8_t kSanyoAcFanAuto = 0;
92const uint8_t kSanyoAcFanHigh = 1;
93const uint8_t kSanyoAcFanLow = 2;
94const uint8_t kSanyoAcFanMedium = 3;
95
96// const uint8_t kSanyoAcPowerStandby = 0b00; ///< Standby?
97const uint8_t kSanyoAcPowerOff = 0b01;
98const uint8_t kSanyoAcPowerOn = 0b10;
99const uint8_t kSanyoAcSwingVAuto = 0;
100const uint8_t kSanyoAcSwingVLowest = 2;
101const uint8_t kSanyoAcSwingVLow = 3;
102const uint8_t kSanyoAcSwingVLowerMiddle = 4;
103const uint8_t kSanyoAcSwingVUpperMiddle = 5;
104const uint8_t kSanyoAcSwingVHigh = 6;
105const uint8_t kSanyoAcSwingVHighest = 7;
106
107// Classes
110 public:
111 explicit IRSanyoAc(const uint16_t pin, const bool inverted = false,
112 const bool use_modulation = true);
113 void stateReset(void);
114#if SEND_SANYO_AC
115 void send(const uint16_t repeat = kNoRepeat);
120 int8_t calibrate(void) { return _irsend.calibrate(); }
121#endif // SEND_SANYO_AC
122 void begin(void);
123 void on(void);
124 void off(void);
125 void setPower(const bool on);
126 bool getPower(void) const;
127 void setTemp(const uint8_t degrees);
128 uint8_t getTemp(void) const;
129 void setSensorTemp(const uint8_t degrees);
130 uint8_t getSensorTemp(void) const;
131 void setFan(const uint8_t speed);
132 uint8_t getFan(void) const;
133 void setMode(const uint8_t mode);
134 uint8_t getMode(void) const;
135 void setSleep(const bool on);
136 bool getSleep(void) const;
137 void setSensor(const bool location);
138 bool getSensor(void) const;
139 void setBeep(const bool on);
140 bool getBeep(void) const;
141 void setSwingV(const uint8_t setting);
142 uint8_t getSwingV(void) const;
143 void setRaw(const uint8_t newState[]);
144 uint8_t* getRaw(void);
145 uint16_t getOffTimer(void) const;
146 void setOffTimer(const uint16_t mins);
147 static bool validChecksum(const uint8_t state[],
148 const uint16_t length = kSanyoAcStateLength);
149 static uint8_t convertMode(const stdAc::opmode_t mode);
150 static uint8_t convertFan(const stdAc::fanspeed_t speed);
151 static uint8_t convertSwingV(const stdAc::swingv_t position);
152 static stdAc::opmode_t toCommonMode(const uint8_t mode);
153 static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
154 static stdAc::swingv_t toCommonSwingV(const uint8_t setting);
155 stdAc::state_t toCommon(void) const;
156 String toString(void) const;
157#ifndef UNIT_TEST
158
159 private:
161#else // UNIT_TEST
163 IRsendTest _irsend;
165#endif // UNIT_TEST
167 void checksum(void);
168 static uint8_t calcChecksum(const uint8_t state[],
169 const uint16_t length = kSanyoAcStateLength);
170};
171
172const uint8_t kSanyoAc88Auto = 0;
173const uint8_t kSanyoAc88FeelCool = 1;
174const uint8_t kSanyoAc88Cool = 2;
175const uint8_t kSanyoAc88FeelHeat = 3;
176const uint8_t kSanyoAc88Heat = 4;
177const uint8_t kSanyoAc88Fan = 5;
178
179const uint8_t kSanyoAc88TempMin = 10;
180const uint8_t kSanyoAc88TempMax = 30;
181
182const uint8_t kSanyoAc88FanAuto = 0;
183const uint8_t kSanyoAc88FanLow = 1;
184const uint8_t kSanyoAc88FanMedium = 2;
185const uint8_t kSanyoAc88FanHigh = 3;
186
190 // Ref: https://docs.google.com/spreadsheets/d/1weUmGAsEpfX38gg5rlDN69Uchnbr6gQl9FqHffLBIRk/edit#gid=0
191 struct {
192 // Byte 0-1
193 uint8_t :8; // 0xAA (Fixed?)
194 uint8_t :8; // 0x55 (Fixed?)
195 // Byte 2
196 uint8_t Fan :2;
197 uint8_t :2;
198 uint8_t Mode :3;
199 uint8_t Power :1;
200 // Byte 3
201 uint8_t Temp :5;
202 uint8_t Filter :1;
203 uint8_t SwingV :1;
204 uint8_t :1;
205 // Byte 4
206 uint8_t ClockSecs :8; // Nr. of Seconds
207 // Byte 5
208 uint8_t ClockMins :8; // Nr. of Minutes
209 // Byte 6
210 uint8_t ClockHrs :8; // Nr. of Hours
211 // Byte 7-9 (Timer times?)
212 uint8_t :8;
213 uint8_t :8;
214 uint8_t :8;
215 // Byte 10
216 uint8_t :3;
217 uint8_t Turbo :1;
219 uint8_t EnableStopTimer :1;
220 uint8_t Sleep :1;
221 uint8_t :1;
222 };
223};
224
225// Classes
228 public:
229 explicit IRSanyoAc88(const uint16_t pin, const bool inverted = false,
230 const bool use_modulation = true);
231 void stateReset(void);
232#if SEND_SANYO_AC88
233 void send(const uint16_t repeat = kSanyoAc88MinRepeat);
238 int8_t calibrate(void) { return _irsend.calibrate(); }
239#endif // SEND_SANYO_AC88
240 void begin(void);
241 void on(void);
242 void off(void);
243 void setPower(const bool on);
244 bool getPower(void) const;
245 void setTemp(const uint8_t degrees);
246 uint8_t getTemp(void) const;
247 void setFan(const uint8_t speed);
248 uint8_t getFan(void) const;
249 void setMode(const uint8_t mode);
250 uint8_t getMode(void) const;
251 void setSleep(const bool on);
252 bool getSleep(void) const;
253 void setTurbo(const bool on);
254 bool getTurbo(void) const;
255 void setFilter(const bool on);
256 bool getFilter(void) const;
257 void setSwingV(const bool on);
258 bool getSwingV(void) const;
259 uint16_t getClock(void) const;
260 void setClock(const uint16_t mins_since_midnight);
261 void setRaw(const uint8_t newState[]);
262 uint8_t* getRaw(void);
263 static uint8_t convertMode(const stdAc::opmode_t mode);
264 static uint8_t convertFan(const stdAc::fanspeed_t speed);
265 static stdAc::opmode_t toCommonMode(const uint8_t mode);
266 static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
267 stdAc::state_t toCommon(void) const;
268 String toString(void) const;
269#ifndef UNIT_TEST
270
271 private:
273#else // UNIT_TEST
275 IRsendTest _irsend;
277#endif // UNIT_TEST
279 void checksum(void);
280 static uint8_t calcChecksum(const uint8_t state[],
281 const uint16_t length = kSanyoAcStateLength);
282};
283#endif // IR_SANYO_H_
std::string String
The protocol code builds human readable output with String. On ESP-IDF that is just std::string.
Definition IRplatform.h:21
const uint16_t kNoRepeat
Definition IRremoteESP8266.h:1171
const uint16_t kSanyoAc88StateLength
Definition IRremoteESP8266.h:1392
const uint16_t kSanyoAcStateLength
Definition IRremoteESP8266.h:1390
const uint16_t kSanyoAc88MinRepeat
Definition IRremoteESP8266.h:1394
Class for handling detailed Sanyo A/C messages.
Definition ir_Sanyo.h:227
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:238
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:278
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:272
Class for handling detailed Sanyo A/C messages.
Definition ir_Sanyo.h:109
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:160
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition ir_Sanyo.h:120
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:166
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:256
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition IRsend.cpp:286
const uint8_t kSanyoAcSwingVLowerMiddle
0b100
Definition ir_Sanyo.h:102
const uint8_t kSanyoAcPowerOff
Off.
Definition ir_Sanyo.h:97
const uint8_t kSanyoAcSwingVUpperMiddle
0b101
Definition ir_Sanyo.h:103
const uint8_t kSanyoAc88TempMax
Celsius.
Definition ir_Sanyo.h:180
const uint8_t kSanyoAcFanHigh
0b01
Definition ir_Sanyo.h:92
const uint8_t kSanyoAc88FeelHeat
0b011
Definition ir_Sanyo.h:175
const uint8_t kSanyoAcFanLow
0b10
Definition ir_Sanyo.h:93
const uint8_t kSanyoAcSwingVLowest
0b010
Definition ir_Sanyo.h:100
const uint8_t kSanyoAcSwingVHigh
0b110
Definition ir_Sanyo.h:104
const uint8_t kSanyoAc88Auto
0b000
Definition ir_Sanyo.h:172
const uint8_t kSanyoAcFanMedium
0b11
Definition ir_Sanyo.h:94
const uint8_t kSanyoAcTempMin
Celsius.
Definition ir_Sanyo.h:81
const uint8_t kSanyoAcDry
0b011
Definition ir_Sanyo.h:89
const uint8_t kSanyoAcSwingVHighest
0b111
Definition ir_Sanyo.h:105
const uint8_t kSanyoAc88FanMedium
0b10
Definition ir_Sanyo.h:184
const uint8_t kSanyoAcPowerOn
On.
Definition ir_Sanyo.h:98
const uint8_t kSanyoAcFanAuto
0b00
Definition ir_Sanyo.h:91
const uint8_t kSanyoAcAuto
0b100
Definition ir_Sanyo.h:90
const uint8_t kSanyoAc88Heat
0b100
Definition ir_Sanyo.h:176
const uint8_t kSanyoAc88FanAuto
0b00
Definition ir_Sanyo.h:182
const uint8_t kSanyoAc88FanHigh
0b11
Definition ir_Sanyo.h:185
const uint8_t kSanyoAcTempMax
Celsius.
Definition ir_Sanyo.h:82
const uint8_t kSanyoAcHeat
0b001
Definition ir_Sanyo.h:87
const uint8_t kSanyoAcSwingVLow
0b011
Definition ir_Sanyo.h:101
const uint8_t kSanyoAc88Fan
0b101
Definition ir_Sanyo.h:177
const uint8_t kSanyoAc88FeelCool
0b001
Definition ir_Sanyo.h:173
const uint8_t kSanyoAcTempDelta
Celsius to Native Temp difference.
Definition ir_Sanyo.h:83
const uint8_t kSanyoAc88FanLow
0b11
Definition ir_Sanyo.h:183
const uint8_t kSanyoAc88TempMin
Celsius.
Definition ir_Sanyo.h:179
const uint8_t kSanyoAcCool
0b010
Definition ir_Sanyo.h:88
const uint8_t kSanyoAcHourMax
0b1111
Definition ir_Sanyo.h:85
const uint8_t kSanyoAc88Cool
0b010
Definition ir_Sanyo.h:174
const uint8_t kSanyoAcSwingVAuto
0b000
Definition ir_Sanyo.h:99
fanspeed_t
Common A/C settings for Fan Speeds.
Definition IRsend.h:67
opmode_t
Common A/C settings for A/C operating modes.
Definition IRsend.h:55
swingv_t
Common A/C settings for Vertical Swing.
Definition IRsend.h:80
Structure to hold a common A/C state.
Definition IRsend.h:120
Native representation of a Sanyo 88-bit A/C message.
Definition ir_Sanyo.h:188
uint8_t raw[kSanyoAc88StateLength]
The state in IR code form.
Definition ir_Sanyo.h:189
uint8_t Sleep
Definition ir_Sanyo.h:220
uint8_t ClockMins
Definition ir_Sanyo.h:208
uint8_t Mode
Definition ir_Sanyo.h:198
uint8_t Fan
Definition ir_Sanyo.h:196
uint8_t Temp
Definition ir_Sanyo.h:201
uint8_t EnableStopTimer
Definition ir_Sanyo.h:219
uint8_t Filter
Definition ir_Sanyo.h:202
uint8_t ClockSecs
Definition ir_Sanyo.h:206
uint8_t Turbo
Definition ir_Sanyo.h:217
uint8_t Power
Definition ir_Sanyo.h:199
uint8_t SwingV
Definition ir_Sanyo.h:203
uint8_t ClockHrs
Definition ir_Sanyo.h:210
uint8_t EnableStartTimer
Definition ir_Sanyo.h:218
Native representation of a Sanyo A/C message.
Definition ir_Sanyo.h:41
uint8_t Mode
Definition ir_Sanyo.h:62
uint8_t SensorTemp
Definition ir_Sanyo.h:51
uint8_t Sleep
Definition ir_Sanyo.h:70
uint8_t Temp
Definition ir_Sanyo.h:48
uint8_t Sum
Definition ir_Sanyo.h:75
uint8_t raw[kSanyoAcStateLength]
The state in IR code form.
Definition ir_Sanyo.h:42
uint8_t Beep
Definition ir_Sanyo.h:53
uint8_t OffHour
Definition ir_Sanyo.h:56
uint8_t OffTimer
Definition ir_Sanyo.h:60
uint8_t Fan
Definition ir_Sanyo.h:59
uint8_t SwingV
Definition ir_Sanyo.h:65
uint8_t Sensor
Sensor location (0 = remote, 1 = A/C)
Definition ir_Sanyo.h:52
uint8_t Power
Definition ir_Sanyo.h:67