IRremoteESP8266
ir_Fujitsu.h
Go to the documentation of this file.
1 // Copyright 2017 Jonny Graham
2 // Copyright 2018-2019 David Conran
3 
12 
13 // Supports:
14 // Brand: Fujitsu, Model: AR-RAH2E remote (ARRAH2E)
15 // Brand: Fujitsu, Model: ASYG30LFCA A/C (ARRAH2E)
16 // Brand: Fujitsu General, Model: AR-RCE1E remote (ARRAH2E)
17 // Brand: Fujitsu General, Model: ASHG09LLCA A/C (ARRAH2E)
18 // Brand: Fujitsu General, Model: AOHG09LLC A/C (ARRAH2E)
19 // Brand: Fujitsu, Model: AR-DB1 remote (ARDB1)
20 // Brand: Fujitsu, Model: AST9RSGCW A/C (ARDB1)
21 // Brand: Fujitsu, Model: AR-REB1E remote (ARREB1E)
22 // Brand: Fujitsu, Model: ASYG7LMCA A/C (ARREB1E)
23 // Brand: Fujitsu, Model: AR-RAE1E remote (ARRAH2E)
24 // Brand: Fujitsu, Model: AGTV14LAC A/C (ARRAH2E)
25 // Brand: Fujitsu, Model: AR-RAC1E remote (ARRAH2E)
26 // Brand: Fujitsu, Model: ASTB09LBC A/C (ARRY4)
27 // Brand: Fujitsu, Model: AR-RY4 remote (ARRY4)
28 // Brand: Fujitsu General, Model: AR-JW2 remote (ARJW2)
29 // Brand: Fujitsu, Model: AR-DL10 remote (ARDB1)
30 // Brand: Fujitsu, Model: ASU30C1 A/C (ARDB1)
31 // Brand: Fujitsu, Model: AR-RAH1U remote (ARREB1E)
32 // Brand: Fujitsu, Model: ASU12RLF A/C (ARREB1E)
33 
34 #ifndef IR_FUJITSU_H_
35 #define IR_FUJITSU_H_
36 
37 #define __STDC_LIMIT_MACROS
38 #include <stdint.h>
39 #ifdef ARDUINO
40 #include <Arduino.h>
41 #endif
42 #include "IRrecv.h"
43 #include "IRremoteESP8266.h"
44 #include "IRsend.h"
45 #ifdef UNIT_TEST
46 #include "IRsend_test.h"
47 #endif
48 
49 
50 // Constants
51 const uint8_t kFujitsuAcModeAuto = 0x00;
52 const uint8_t kFujitsuAcModeCool = 0x01;
53 const uint8_t kFujitsuAcModeDry = 0x02;
54 const uint8_t kFujitsuAcModeFan = 0x03;
55 const uint8_t kFujitsuAcModeHeat = 0x04;
56 
57 const uint8_t kFujitsuAcCmdStayOn = 0x00; // b00000000
58 const uint8_t kFujitsuAcCmdTurnOn = 0x01; // b00000001
59 const uint8_t kFujitsuAcCmdTurnOff = 0x02; // b00000010
60 const uint8_t kFujitsuAcCmdEcono = 0x09; // b00001001
61 const uint8_t kFujitsuAcCmdPowerful = 0x39; // b00111001
62 const uint8_t kFujitsuAcCmdStepVert = 0x6C; // b01101100
63 const uint8_t kFujitsuAcCmdToggleSwingVert = 0x6D; // b01101101
64 const uint8_t kFujitsuAcCmdStepHoriz = 0x79; // b01111001
65 const uint8_t kFujitsuAcCmdToggleSwingHoriz = 0x7A; // b01111010
66 
67 const uint8_t kFujitsuAcFanAuto = 0x00;
68 const uint8_t kFujitsuAcFanHigh = 0x01;
69 const uint8_t kFujitsuAcFanMed = 0x02;
70 const uint8_t kFujitsuAcFanLow = 0x03;
71 const uint8_t kFujitsuAcFanQuiet = 0x04;
72 const uint8_t kFujitsuAcFanSize = 3; // Bits
73 
74 const uint8_t kFujitsuAcMinTemp = 16; // 16C
75 const uint8_t kFujitsuAcMaxTemp = 30; // 30C
76 
77 const uint8_t kFujitsuAcSwingSize = 2;
78 const uint8_t kFujitsuAcSwingOff = 0x00;
79 const uint8_t kFujitsuAcSwingVert = 0x01;
80 const uint8_t kFujitsuAcSwingHoriz = 0x02;
81 const uint8_t kFujitsuAcSwingBoth = 0x03;
82 
83 const uint8_t kFujitsuAcOutsideQuietOffset = 7;
84 const uint8_t kFujitsuAcCleanOffset = 3;
85 const uint8_t kFujitsuAcFilterOffset = 3;
86 
87 const uint8_t kFujitsuAcTimerTypeByte = 9;
88 const uint8_t kFujitsuAcTimerTypeOffset = 4;
89 const uint8_t kFujitsuAcTimerTypeSize = 2;
90 const uint8_t kFujitsuAcStopTimers = 0b00; // 0
91 const uint8_t kFujitsuAcSleepTimer = 0b01; // 1
92 const uint8_t kFujitsuAcOffTimer = 0b10; // 2
93 const uint8_t kFujitsuAcOnTimer = 0b11; // 3
94 const uint16_t kFujitsuAcTimerMax = 12 * 60;
95 
96 // Legacy defines.
97 #define FUJITSU_AC_MODE_AUTO kFujitsuAcModeAuto
98 #define FUJITSU_AC_MODE_COOL kFujitsuAcModeCool
99 #define FUJITSU_AC_MODE_DRY kFujitsuAcModeDry
100 #define FUJITSU_AC_MODE_FAN kFujitsuAcModeFan
101 #define FUJITSU_AC_MODE_HEAT kFujitsuAcModeHeat
102 #define FUJITSU_AC_CMD_STAY_ON kFujitsuAcCmdStayOn
103 #define FUJITSU_AC_CMD_TURN_ON kFujitsuAcCmdTurnOn
104 #define FUJITSU_AC_CMD_TURN_OFF kFujitsuAcCmdTurnOff
105 #define FUJITSU_AC_CMD_STEP_HORIZ kFujitsuAcCmdStepHoriz
106 #define FUJITSU_AC_CMD_STEP_VERT kFujitsuAcCmdStepVert
107 #define FUJITSU_AC_FAN_AUTO kFujitsuAcFanAuto
108 #define FUJITSU_AC_FAN_HIGH kFujitsuAcFanHigh
109 #define FUJITSU_AC_FAN_MED kFujitsuAcFanMed
110 #define FUJITSU_AC_FAN_LOW kFujitsuAcFanLow
111 #define FUJITSU_AC_FAN_QUIET kFujitsuAcFanQuiet
112 #define FUJITSU_AC_MIN_TEMP kFujitsuAcMinTemp
113 #define FUJITSU_AC_MAX_TEMP kFujitsuAcMaxTemp
114 #define FUJITSU_AC_SWING_OFF kFujitsuAcSwingOff
115 #define FUJITSU_AC_SWING_VERT kFujitsuAcSwingVert
116 #define FUJITSU_AC_SWING_HORIZ kFujitsuAcSwingHoriz
117 #define FUJITSU_AC_SWING_BOTH kFujitsuAcSwingBoth
118 
120 class IRFujitsuAC {
121  public:
122  explicit IRFujitsuAC(const uint16_t pin,
123  const fujitsu_ac_remote_model_t model = ARRAH2E,
124  const bool inverted = false,
125  const bool use_modulation = true);
126  void setModel(const fujitsu_ac_remote_model_t model);
128  void stateReset(void);
129 #if SEND_FUJITSU_AC
130  void send(const uint16_t repeat = kFujitsuAcMinRepeat);
135  int8_t calibrate(void) { return _irsend.calibrate(); }
136 #endif // SEND_FUJITSU_AC
137  void begin(void);
138  void stepHoriz(void);
139  void toggleSwingHoriz(const bool update = true);
140  void stepVert(void);
141  void toggleSwingVert(const bool update = true);
142  void setCmd(const uint8_t cmd);
143  uint8_t getCmd(const bool raw = false);
144  void setTemp(const uint8_t temp);
145  uint8_t getTemp(void);
146  void setFanSpeed(const uint8_t fan);
147  uint8_t getFanSpeed(void);
148  void setMode(const uint8_t mode);
149  uint8_t getMode(void);
150  void setSwing(const uint8_t mode);
151  uint8_t getSwing(const bool raw = false);
152  uint8_t* getRaw(void);
153  bool setRaw(const uint8_t newState[], const uint16_t length);
154  uint8_t getStateLength(void);
155  static bool validChecksum(uint8_t* state, const uint16_t length);
156  void setPower(const bool on);
157  void off(void);
158  void on(void);
159  bool getPower(void);
160  void setClean(const bool on);
161  bool getClean(const bool raw = false);
162  void setFilter(const bool on);
163  bool getFilter(const bool raw = false);
164  void setOutsideQuiet(const bool on);
165  bool getOutsideQuiet(const bool raw = false);
166  uint8_t getTimerType(const bool raw = false);
167  void setTimerType(const uint8_t timertype);
168  uint16_t getOnTimer(const bool raw = false);
169  void setOnTimer(const uint16_t nr_mins);
170  uint16_t getOffSleepTimer(const bool raw = false);
171  void setOffTimer(const uint16_t nr_mins);
172  void setSleepTimer(const uint16_t nr_mins);
173  uint8_t convertMode(const stdAc::opmode_t mode);
174  uint8_t convertFan(stdAc::fanspeed_t speed);
175  static stdAc::opmode_t toCommonMode(const uint8_t mode);
176  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
177  stdAc::state_t toCommon(void);
178  String toString(void);
179 #ifndef UNIT_TEST
180 
181  private:
183 #else
184  IRsendTest _irsend;
186 #endif
189  uint8_t _temp;
190  uint8_t _fanSpeed;
191  uint8_t _mode;
192  uint8_t _swingMode;
193  uint8_t _cmd;
195  uint8_t _state_length;
198  bool _clean;
199  bool _filter;
200  uint16_t _ontimer;
201  uint16_t _offtimer; // Also is the sleep timer value
202  uint8_t _timertype;
203  void buildState(void);
204  void buildFromState(const uint16_t length);
205  void setOffSleepTimer(const uint16_t nr_mins);
206 };
207 
208 #endif // IR_FUJITSU_H_
IRFujitsuAC::_clean
bool _clean
Definition: ir_Fujitsu.h:198
IRFujitsuAC::_timertype
uint8_t _timertype
Definition: ir_Fujitsu.h:202
IRFujitsuAC::getOffSleepTimer
uint16_t getOffSleepTimer(const bool raw=false)
Get the Off/Sleep Timer setting of the A/C.
Definition: ir_Fujitsu.cpp:618
kFujitsuAcTimerTypeOffset
const uint8_t kFujitsuAcTimerTypeOffset
Mask: 0b00xx0000.
Definition: ir_Fujitsu.h:88
IRFujitsuAC::setOnTimer
void setOnTimer(const uint16_t nr_mins)
Set the On Timer setting of the A/C.
Definition: ir_Fujitsu.cpp:606
kFujitsuAcCmdTurnOff
const uint8_t kFujitsuAcCmdTurnOff
Definition: ir_Fujitsu.h:59
kFujitsuAcMinRepeat
const uint16_t kFujitsuAcMinRepeat
Definition: IRremoteESP8266.h:961
IRFujitsuAC::_cmd
uint8_t _cmd
Definition: ir_Fujitsu.h:193
kFujitsuAcTimerTypeByte
const uint8_t kFujitsuAcTimerTypeByte
Definition: ir_Fujitsu.h:87
stdAc::fanspeed_t
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
kFujitsuAcFilterOffset
const uint8_t kFujitsuAcFilterOffset
Definition: ir_Fujitsu.h:85
IRFujitsuAC::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Fujitsu.h:135
IRFujitsuAC::setClean
void setClean(const bool on)
Set the Clean mode of the A/C.
Definition: ir_Fujitsu.cpp:518
kFujitsuAcCmdToggleSwingVert
const uint8_t kFujitsuAcCmdToggleSwingVert
Definition: ir_Fujitsu.h:63
IRFujitsuAC::_fanSpeed
uint8_t _fanSpeed
Definition: ir_Fujitsu.h:190
IRFujitsuAC::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Fujitsu.cpp:246
IRFujitsuAC::setTimerType
void setTimerType(const uint8_t timertype)
Set the Timer type of the A/C message.
Definition: ir_Fujitsu.cpp:577
IRFujitsuAC::_filter
bool _filter
Definition: ir_Fujitsu.h:199
IRsend.h
IRFujitsuAC::stepVert
void stepVert(void)
Request the A/C to step the Vertical Swing.
Definition: ir_Fujitsu.cpp:350
IRFujitsuAC::_outsideQuiet
bool _outsideQuiet
Definition: ir_Fujitsu.h:197
IRFujitsuAC::setTemp
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Fujitsu.cpp:445
IRsend
Class for sending all basic IR protocols.
Definition: IRsend.h:187
IRFujitsuAC::convertMode
uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Fujitsu.cpp:686
IRFujitsuAC::stateReset
void stateReset(void)
Reset the state of the remote to a known good state/sequence.
Definition: ir_Fujitsu.cpp:101
kFujitsuAcCleanOffset
const uint8_t kFujitsuAcCleanOffset
Definition: ir_Fujitsu.h:84
IRsend::calibrate
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition: IRsend.cpp:207
kFujitsuAcFanAuto
const uint8_t kFujitsuAcFanAuto
Definition: ir_Fujitsu.h:67
IRFujitsuAC::setRaw
bool setRaw(const uint8_t newState[], const uint16_t length)
Set the internal state from a valid code for this protocol.
Definition: ir_Fujitsu.cpp:325
String
std::string String
Definition: IRremoteESP8266.h:1199
kFujitsuAcOutsideQuietOffset
const uint8_t kFujitsuAcOutsideQuietOffset
Definition: ir_Fujitsu.h:83
kFujitsuAcCmdTurnOn
const uint8_t kFujitsuAcCmdTurnOn
Definition: ir_Fujitsu.h:58
IRFujitsuAC::_state_length_short
uint8_t _state_length_short
Definition: ir_Fujitsu.h:196
kFujitsuAcMinTemp
const uint8_t kFujitsuAcMinTemp
Definition: ir_Fujitsu.h:74
kFujitsuAcFanHigh
const uint8_t kFujitsuAcFanHigh
Definition: ir_Fujitsu.h:68
IRFujitsuAC::_offtimer
uint16_t _offtimer
Definition: ir_Fujitsu.h:201
kFujitsuAcModeHeat
const uint8_t kFujitsuAcModeHeat
Definition: ir_Fujitsu.h:55
IRFujitsuAC::setFilter
void setFilter(const bool on)
Set the Filter mode status of the A/C.
Definition: ir_Fujitsu.cpp:539
IRFujitsuAC::convertFan
uint8_t convertFan(stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Fujitsu.cpp:699
IRremoteESP8266.h
IRFujitsuAC::stepHoriz
void stepHoriz(void)
Request the A/C to step the Horizontal Swing.
Definition: ir_Fujitsu.cpp:338
IRFujitsuAC::getModel
fujitsu_ac_remote_model_t getModel(void)
Get the currently emulated/detected model of the A/C.
Definition: ir_Fujitsu.cpp:98
kFujitsuAcCmdToggleSwingHoriz
const uint8_t kFujitsuAcCmdToggleSwingHoriz
Definition: ir_Fujitsu.h:65
IRFujitsuAC::_irsend
IRsend _irsend
Instance of the IR send class.
Definition: ir_Fujitsu.h:182
kFujitsuAcTimerTypeSize
const uint8_t kFujitsuAcTimerTypeSize
Mask: 0b00xx0000.
Definition: ir_Fujitsu.h:89
fujitsu_ac_remote_model_t
fujitsu_ac_remote_model_t
Fujitsu A/C model numbers.
Definition: IRsend.h:120
kFujitsuAcStopTimers
const uint8_t kFujitsuAcStopTimers
Definition: ir_Fujitsu.h:90
IRFujitsuAC::setCmd
void setCmd(const uint8_t cmd)
Set the requested (special) command part for the A/C message.
Definition: ir_Fujitsu.cpp:363
IRFujitsuAC::setOffTimer
void setOffTimer(const uint16_t nr_mins)
Set the Off Timer time for the A/C.
Definition: ir_Fujitsu.cpp:640
IRFujitsuAC::buildFromState
void buildFromState(const uint16_t length)
Build the internal state/config from the current (raw) A/C message.
Definition: ir_Fujitsu.cpp:253
IRFujitsuAC::_temp
uint8_t _temp
Definition: ir_Fujitsu.h:189
IRFujitsuAC::_swingMode
uint8_t _swingMode
Definition: ir_Fujitsu.h:192
IRFujitsuAC::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Fujitsu.cpp:116
IRFujitsuAC
Class for handling detailed Fujitsu A/C messages.
Definition: ir_Fujitsu.h:120
kFujitsuAcCmdStepVert
const uint8_t kFujitsuAcCmdStepVert
Definition: ir_Fujitsu.h:62
IRFujitsuAC::setSwing
void setSwing(const uint8_t mode)
Set the requested swing operation mode of the A/C unit.
Definition: ir_Fujitsu.cpp:487
kFujitsuAcStateLength
const uint16_t kFujitsuAcStateLength
Definition: IRremoteESP8266.h:962
kFujitsuAcCmdPowerful
const uint8_t kFujitsuAcCmdPowerful
Definition: ir_Fujitsu.h:61
IRFujitsuAC::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Fujitsu.cpp:713
kFujitsuAcSwingSize
const uint8_t kFujitsuAcSwingSize
Definition: ir_Fujitsu.h:77
IRFujitsuAC::_mode
uint8_t _mode
Definition: ir_Fujitsu.h:191
IRFujitsuAC::toCommon
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Fujitsu.cpp:738
kFujitsuAcCmdStepHoriz
const uint8_t kFujitsuAcCmdStepHoriz
Definition: ir_Fujitsu.h:64
IRFujitsuAC::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Fujitsu.cpp:471
kFujitsuAcSwingHoriz
const uint8_t kFujitsuAcSwingHoriz
Definition: ir_Fujitsu.h:80
kFujitsuAcSwingVert
const uint8_t kFujitsuAcSwingVert
Definition: ir_Fujitsu.h:79
IRFujitsuAC::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Fujitsu.cpp:726
IRFujitsuAC::toggleSwingVert
void toggleSwingVert(const bool update=true)
Request the A/C to toggle the Vertical Swing mode.
Definition: ir_Fujitsu.cpp:354
IRrecv.h
kFujitsuAcModeAuto
const uint8_t kFujitsuAcModeAuto
Definition: ir_Fujitsu.h:51
IRFujitsuAC::setOutsideQuiet
void setOutsideQuiet(const bool on)
Set the Outside Quiet mode of the A/C.
Definition: ir_Fujitsu.cpp:426
kFujitsuAcSwingOff
const uint8_t kFujitsuAcSwingOff
Definition: ir_Fujitsu.h:78
IRFujitsuAC::setModel
void setModel(const fujitsu_ac_remote_model_t model)
Set the currently emulated model of the A/C.
Definition: ir_Fujitsu.cpp:79
kFujitsuAcModeDry
const uint8_t kFujitsuAcModeDry
Definition: ir_Fujitsu.h:53
ARRAH2E
@ ARRAH2E
(1) AR-RAH2E, AR-RAC1E, AR-RAE1E, AR-RCE1E (Default) Warning: Use on incorrect models can cause the A...
Definition: IRsend.h:121
IRFujitsuAC::getFilter
bool getFilter(const bool raw=false)
Get the Filter mode status of the A/C.
Definition: ir_Fujitsu.cpp:547
kFujitsuAcSleepTimer
const uint8_t kFujitsuAcSleepTimer
Definition: ir_Fujitsu.h:91
IRFujitsuAC::getStateLength
uint8_t getStateLength(void)
Get the length (size) of the state code for the current configuration.
Definition: ir_Fujitsu.cpp:231
kFujitsuAcFanSize
const uint8_t kFujitsuAcFanSize
Definition: ir_Fujitsu.h:72
IRFujitsuAC::_ontimer
uint16_t _ontimer
Definition: ir_Fujitsu.h:200
kFujitsuAcFanMed
const uint8_t kFujitsuAcFanMed
Definition: ir_Fujitsu.h:69
IRFujitsuAC::IRFujitsuAC
IRFujitsuAC(const uint16_t pin, const fujitsu_ac_remote_model_t model=ARRAH2E, const bool inverted=false, const bool use_modulation=true)
Class Constructor.
Definition: ir_Fujitsu.cpp:69
IRFujitsuAC::setSleepTimer
void setSleepTimer(const uint16_t nr_mins)
Set the Sleep Timer time for the A/C.
Definition: ir_Fujitsu.cpp:650
kFujitsuAcSwingBoth
const uint8_t kFujitsuAcSwingBoth
Definition: ir_Fujitsu.h:81
IRFujitsuAC::getMode
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Fujitsu.cpp:481
IRFujitsuAC::getTemp
uint8_t getTemp(void)
Get the current temperature setting.
Definition: ir_Fujitsu.cpp:453
IRFujitsuAC::buildState
void buildState(void)
(Re)Build the state from the currently configured settings.
Definition: ir_Fujitsu.cpp:128
IRFujitsuAC::_model
fujitsu_ac_remote_model_t _model
Definition: ir_Fujitsu.h:194
kFujitsuAcMaxTemp
const uint8_t kFujitsuAcMaxTemp
Definition: ir_Fujitsu.h:75
kFujitsuAcCmdStayOn
const uint8_t kFujitsuAcCmdStayOn
Definition: ir_Fujitsu.h:57
IRFujitsuAC::getTimerType
uint8_t getTimerType(const bool raw=false)
Get the Timer type of the A/C message.
Definition: ir_Fujitsu.cpp:561
IRFujitsuAC::getOutsideQuiet
bool getOutsideQuiet(const bool raw=false)
Get the Outside Quiet mode status of the A/C.
Definition: ir_Fujitsu.cpp:434
IRFujitsuAC::toString
String toString(void)
Convert the current internal state into a human readable string.
Definition: ir_Fujitsu.cpp:781
IRFujitsuAC::getFanSpeed
uint8_t getFanSpeed(void)
Get the current fan speed setting.
Definition: ir_Fujitsu.cpp:467
IRFujitsuAC::getOnTimer
uint16_t getOnTimer(const bool raw=false)
Get the On Timer setting of the A/C.
Definition: ir_Fujitsu.cpp:592
IRFujitsuAC::getCmd
uint8_t getCmd(const bool raw=false)
Set the requested (special) command part for the A/C message.
Definition: ir_Fujitsu.cpp:403
kFujitsuAcOnTimer
const uint8_t kFujitsuAcOnTimer
Definition: ir_Fujitsu.h:93
IRFujitsuAC::setFanSpeed
void setFanSpeed(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Fujitsu.cpp:457
kFujitsuAcOffTimer
const uint8_t kFujitsuAcOffTimer
Definition: ir_Fujitsu.h:92
IRFujitsuAC::getSwing
uint8_t getSwing(const bool raw=false)
Get the requested swing operation mode of the A/C unit.
Definition: ir_Fujitsu.cpp:510
IRFujitsuAC::off
void off(void)
Set the requested power state of the A/C to off.
Definition: ir_Fujitsu.cpp:415
IRFujitsuAC::setPower
void setPower(const bool on)
Change the power setting.
Definition: ir_Fujitsu.cpp:410
IRFujitsuAC::on
void on(void)
Set the requested power state of the A/C to on.
Definition: ir_Fujitsu.cpp:418
IRFujitsuAC::send
void send(const uint16_t repeat=kFujitsuAcMinRepeat)
Send the current internal state as an IR message.
Definition: ir_Fujitsu.cpp:121
IRFujitsuAC::getClean
bool getClean(const bool raw=false)
Get the Clean mode status of the A/C.
Definition: ir_Fujitsu.cpp:526
IRFujitsuAC::setOffSleepTimer
void setOffSleepTimer(const uint16_t nr_mins)
Set the Off/Sleep Timer time for the A/C.
Definition: ir_Fujitsu.cpp:634
IRFujitsuAC::getPower
bool getPower(void)
Get the value of the current power setting.
Definition: ir_Fujitsu.cpp:422
IRFujitsuAC::validChecksum
static bool validChecksum(uint8_t *state, const uint16_t length)
Verify the checksum is valid for a given state.
Definition: ir_Fujitsu.cpp:662
IRFujitsuAC::_state_length
uint8_t _state_length
Definition: ir_Fujitsu.h:195
kFujitsuAcTimerMax
const uint16_t kFujitsuAcTimerMax
Minutes.
Definition: ir_Fujitsu.h:94
IRFujitsuAC::toggleSwingHoriz
void toggleSwingHoriz(const bool update=true)
Request the A/C to toggle the Horizontal Swing mode.
Definition: ir_Fujitsu.cpp:342
kFujitsuAcModeFan
const uint8_t kFujitsuAcModeFan
Definition: ir_Fujitsu.h:54
stdAc::state_t
Structure to hold a common A/C state.
Definition: IRsend.h:97
kFujitsuAcCmdEcono
const uint8_t kFujitsuAcCmdEcono
Definition: ir_Fujitsu.h:60
IRFujitsuAC::remote_state
uint8_t remote_state[kFujitsuAcStateLength]
The state of the IR remote.
Definition: ir_Fujitsu.h:188
kFujitsuAcFanQuiet
const uint8_t kFujitsuAcFanQuiet
Definition: ir_Fujitsu.h:71
kFujitsuAcFanLow
const uint8_t kFujitsuAcFanLow
Definition: ir_Fujitsu.h:70
kFujitsuAcModeCool
const uint8_t kFujitsuAcModeCool
Definition: ir_Fujitsu.h:52
stdAc::opmode_t
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46