IRremoteESP8266
ir_Panasonic.h
Go to the documentation of this file.
1 // Copyright 2018 David Conran
2 
6 
7 // Supports:
8 // Brand: Panasonic, Model: TV (PANASONIC)
9 // Brand: Panasonic, Model: NKE series A/C (PANASONIC_AC NKE/2)
10 // Brand: Panasonic, Model: DKE series A/C (PANASONIC_AC DKE/3)
11 // Brand: Panasonic, Model: DKW series A/C (PANASONIC_AC DKE/3)
12 // Brand: Panasonic, Model: PKR series A/C (PANASONIC_AC DKE/3)
13 // Brand: Panasonic, Model: JKE series A/C (PANASONIC_AC JKE/4)
14 // Brand: Panasonic, Model: CKP series A/C (PANASONIC_AC CKP/5)
15 // Brand: Panasonic, Model: RKR series A/C (PANASONIC_AC RKR/6)
16 // Brand: Panasonic, Model: CS-ME10CKPG A/C (PANASONIC_AC CKP/5)
17 // Brand: Panasonic, Model: CS-ME12CKPG A/C (PANASONIC_AC CKP/5)
18 // Brand: Panasonic, Model: CS-ME14CKPG A/C (PANASONIC_AC CKP/5)
19 // Brand: Panasonic, Model: CS-E7PKR A/C (PANASONIC_AC DKE/2)
20 // Brand: Panasonic, Model: CS-Z9RKR A/C (PANASONIC_AC RKR/6)
21 // Brand: Panasonic, Model: CS-YW9MKD A/C (PANASONIC_AC JKE/4)
22 // Brand: Panasonic, Model: A75C2311 remote (PANASONIC_AC CKP/5)
23 // Brand: Panasonic, Model: A75C2616-1 remote (PANASONIC_AC DKE/3)
24 // Brand: Panasonic, Model: A75C3704 remote (PANASONIC_AC DKE/3)
25 // Brand: Panasonic, Model: A75C3747 remote (PANASONIC_AC JKE/4)
26 
27 #ifndef IR_PANASONIC_H_
28 #define IR_PANASONIC_H_
29 
30 #define __STDC_LIMIT_MACROS
31 #include <stdint.h>
32 #ifdef ARDUINO
33 #include <Arduino.h>
34 #endif
35 #include "IRremoteESP8266.h"
36 #include "IRsend.h"
37 #ifdef UNIT_TEST
38 #include "IRsend_test.h"
39 #endif
40 
41 // Constants
42 const uint16_t kPanasonicFreq = 36700;
43 const uint16_t kPanasonicAcExcess = 0;
44 // Much higher than usual. See issue #540.
45 const uint16_t kPanasonicAcTolerance = 40;
46 
47 const uint8_t kPanasonicAcAuto = 0; // 0b000
48 const uint8_t kPanasonicAcDry = 2; // 0b010
49 const uint8_t kPanasonicAcCool = 3; // 0b011
50 const uint8_t kPanasonicAcHeat = 4; // 0b010
51 const uint8_t kPanasonicAcFan = 6; // 0b110
52 const uint8_t kPanasonicAcFanMin = 0;
53 const uint8_t kPanasonicAcFanMed = 2;
54 const uint8_t kPanasonicAcFanMax = 4;
55 const uint8_t kPanasonicAcFanAuto = 7;
56 const uint8_t kPanasonicAcFanDelta = 3;
57 const uint8_t kPanasonicAcPowerOffset = 0;
58 const uint8_t kPanasonicAcTempOffset = 1; // Bits
59 const uint8_t kPanasonicAcTempSize = 5; // Bits
60 const uint8_t kPanasonicAcMinTemp = 16; // Celsius
61 const uint8_t kPanasonicAcMaxTemp = 30; // Celsius
62 const uint8_t kPanasonicAcFanModeTemp = 27; // Celsius
63 const uint8_t kPanasonicAcQuietOffset = 0;
64 const uint8_t kPanasonicAcPowerfulOffset = 5; // 0b100000
65 // CKP & RKR models have Powerful and Quiet bits swapped.
68 const uint8_t kPanasonicAcSwingVHighest = 0x1; // 0b0001
69 const uint8_t kPanasonicAcSwingVHigh = 0x2; // 0b0010
70 const uint8_t kPanasonicAcSwingVMiddle = 0x3; // 0b0011
71 const uint8_t kPanasonicAcSwingVLow = 0x4; // 0b0100
72 const uint8_t kPanasonicAcSwingVLowest = 0x5; // 0b0101
73 const uint8_t kPanasonicAcSwingVAuto = 0xF; // 0b1111
74 
75 const uint8_t kPanasonicAcSwingHMiddle = 0x6; // 0b0110
76 const uint8_t kPanasonicAcSwingHFullLeft = 0x9; // 0b1001
77 const uint8_t kPanasonicAcSwingHLeft = 0xA; // 0b1010
78 const uint8_t kPanasonicAcSwingHRight = 0xB; // 0b1011
79 const uint8_t kPanasonicAcSwingHFullRight = 0xC; // 0b1100
80 const uint8_t kPanasonicAcSwingHAuto = 0xD; // 0b1101
81 const uint8_t kPanasonicAcChecksumInit = 0xF4;
82 const uint8_t kPanasonicAcOnTimerOffset = 1;
83 const uint8_t kPanasonicAcOffTimerOffset = 2;
84 const uint8_t kPanasonicAcTimeSize = 11; // Bits
85 const uint8_t kPanasonicAcTimeOverflowSize = 3; // Bits
86 const uint16_t kPanasonicAcTimeMax = 23 * 60 + 59; // Mins since midnight.
87 const uint16_t kPanasonicAcTimeSpecial = 0x600;
88 
89 const uint8_t kPanasonicAcIonFilterByte = 22; // Byte
90 const uint8_t kPanasonicAcIonFilterOffset = 0; // Bit
91 
93  0x02, 0x20, 0xE0, 0x04, 0x00, 0x00, 0x00, 0x06, 0x02,
94  0x20, 0xE0, 0x04, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
95  0x00, 0x0E, 0xE0, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00};
96 
99  public:
100  explicit IRPanasonicAc(const uint16_t pin, const bool inverted = false,
101  const bool use_modulation = true);
102  void stateReset(void);
103 #if SEND_PANASONIC
104  void send(const uint16_t repeat = kPanasonicAcDefaultRepeat);
109  int8_t calibrate(void) { return _irsend.calibrate(); }
110 #endif // SEND_PANASONIC
111  void begin(void);
112  void on(void);
113  void off(void);
114  void setPower(const bool on);
115  bool getPower(void);
116  void setTemp(const uint8_t temp, const bool remember = true);
117  uint8_t getTemp(void);
118  void setFan(const uint8_t fan);
119  uint8_t getFan(void);
120  void setMode(const uint8_t mode);
121  uint8_t getMode(void);
122  void setRaw(const uint8_t state[]);
123  uint8_t *getRaw(void);
124  static bool validChecksum(const uint8_t *state,
125  const uint16_t length = kPanasonicAcStateLength);
126  static uint8_t calcChecksum(const uint8_t *state,
127  const uint16_t length = kPanasonicAcStateLength);
128  void setQuiet(const bool on);
129  bool getQuiet(void);
130  void setPowerful(const bool on);
131  bool getPowerful(void);
132  void setIon(const bool on);
133  bool getIon(void);
134  void setModel(const panasonic_ac_remote_model_t model);
136  void setSwingVertical(const uint8_t elevation);
137  uint8_t getSwingVertical(void);
138  void setSwingHorizontal(const uint8_t direction);
139  uint8_t getSwingHorizontal(void);
140  static uint16_t encodeTime(const uint8_t hours, const uint8_t mins);
141  uint16_t getClock(void);
142  void setClock(const uint16_t mins_since_midnight);
143  uint16_t getOnTimer(void);
144  void setOnTimer(const uint16_t mins_since_midnight, const bool enable = true);
145  void cancelOnTimer(void);
146  bool isOnTimerEnabled(void);
147  uint16_t getOffTimer(void);
148  void setOffTimer(const uint16_t mins_since_midnight,
149  const bool enable = true);
150  void cancelOffTimer(void);
151  bool isOffTimerEnabled(void);
152  static uint8_t convertMode(const stdAc::opmode_t mode);
153  static uint8_t convertFan(const stdAc::fanspeed_t speed);
154  static uint8_t convertSwingV(const stdAc::swingv_t position);
155  static uint8_t convertSwingH(const stdAc::swingh_t position);
156  static stdAc::opmode_t toCommonMode(const uint8_t mode);
157  static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed);
158  static stdAc::swingv_t toCommonSwingV(const uint8_t pos);
159  static stdAc::swingh_t toCommonSwingH(const uint8_t pos);
160  stdAc::state_t toCommon(void);
161  String toString(void);
162 #ifndef UNIT_TEST
163 
164  private:
166 #else // UNIT_TEST
167  IRsendTest _irsend;
169 #endif // UNIT_TEST
172  uint8_t _swingh;
173  uint8_t _temp;
174  void fixChecksum(const uint16_t length = kPanasonicAcStateLength);
175  static uint16_t _getTime(const uint8_t ptr[]);
176  static void _setTime(uint8_t * const ptr, const uint16_t mins_since_midnight,
177  const bool round_down);
178 };
179 
180 #endif // IR_PANASONIC_H_
kPanasonicAcFanAuto
const uint8_t kPanasonicAcFanAuto
Definition: ir_Panasonic.h:55
IRPanasonicAc::_getTime
static uint16_t _getTime(const uint8_t ptr[])
Get the time from a given pointer location.
Definition: ir_Panasonic.cpp:540
IRPanasonicAc
Class for handling detailed Panasonic A/C messages.
Definition: ir_Panasonic.h:98
IRPanasonicAc::getTemp
uint8_t getTemp(void)
Get the current temperature setting.
Definition: ir_Panasonic.cpp:385
kPanasonicAcIonFilterOffset
const uint8_t kPanasonicAcIonFilterOffset
Definition: ir_Panasonic.h:90
kPanasonicAcAuto
const uint8_t kPanasonicAcAuto
Definition: ir_Panasonic.h:47
kPanasonicAcTimeSize
const uint8_t kPanasonicAcTimeSize
Definition: ir_Panasonic.h:84
IRPanasonicAc::setRaw
void setRaw(const uint8_t state[])
Set the internal state from a valid code for this protocol.
Definition: ir_Panasonic.cpp:322
kPanasonicAcSwingHRight
const uint8_t kPanasonicAcSwingHRight
Definition: ir_Panasonic.h:78
stdAc::swingv_t
swingv_t
Common A/C settings for Vertical Swing.
Definition: IRsend.h:70
kPanasonicAcFanMin
const uint8_t kPanasonicAcFanMin
Definition: ir_Panasonic.h:52
IRPanasonicAc::getOffTimer
uint16_t getOffTimer(void)
Get the Off Timer time value.
Definition: ir_Panasonic.cpp:601
kPanasonicAcQuietOffset
const uint8_t kPanasonicAcQuietOffset
Definition: ir_Panasonic.h:63
kPanasonicAcOffTimerOffset
const uint8_t kPanasonicAcOffTimerOffset
Definition: ir_Panasonic.h:83
kPanasonicAcTolerance
const uint16_t kPanasonicAcTolerance
Definition: ir_Panasonic.h:45
stdAc::fanspeed_t
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
kPanasonicAcExcess
const uint16_t kPanasonicAcExcess
Definition: ir_Panasonic.h:43
IRPanasonicAc::_swingh
uint8_t _swingh
Definition: ir_Panasonic.h:172
IRPanasonicAc::convertSwingV
static uint8_t convertSwingV(const stdAc::swingv_t position)
Convert a standard A/C vertical swing into its native setting.
Definition: ir_Panasonic.cpp:684
kPanasonicAcPowerfulOffset
const uint8_t kPanasonicAcPowerfulOffset
Definition: ir_Panasonic.h:64
IRPanasonicAc::encodeTime
static uint16_t encodeTime(const uint8_t hours, const uint8_t mins)
Convert standard (military/24hr) time to nr. of minutes since midnight.
Definition: ir_Panasonic.cpp:532
kPanasonicAcTimeOverflowSize
const uint8_t kPanasonicAcTimeOverflowSize
Definition: ir_Panasonic.h:85
kPanasonicAcFanMed
const uint8_t kPanasonicAcFanMed
Definition: ir_Panasonic.h:53
IRsend.h
IRPanasonicAc::setFan
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Panasonic.cpp:457
IRPanasonicAc::getFan
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Panasonic.cpp:472
IRPanasonicAc::setQuiet
void setQuiet(const bool on)
Set the Quiet setting of the A/C.
Definition: ir_Panasonic.cpp:491
IRPanasonicAc::_temp
uint8_t _temp
Definition: ir_Panasonic.h:173
IRsend
Class for sending all basic IR protocols.
Definition: IRsend.h:176
IRsend::calibrate
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition: IRsend.cpp:207
IRPanasonicAc::setSwingVertical
void setSwingVertical(const uint8_t elevation)
Control the vertical swing setting.
Definition: ir_Panasonic.cpp:411
String
std::string String
Definition: IRremoteESP8266.h:1128
IRPanasonicAc::toCommonFanSpeed
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_Panasonic.cpp:725
IRPanasonicAc::setIon
void setIon(const bool on)
Set the Ion (filter) setting of the A/C.
Definition: ir_Panasonic.cpp:648
kPanasonicAcPowerfulCkpOffset
const uint8_t kPanasonicAcPowerfulCkpOffset
Definition: ir_Panasonic.h:67
kPanasonicAcSwingHAuto
const uint8_t kPanasonicAcSwingHAuto
Definition: ir_Panasonic.h:80
kPanasonicAcMinTemp
const uint8_t kPanasonicAcMinTemp
Definition: ir_Panasonic.h:60
kPanasonicAcPowerOffset
const uint8_t kPanasonicAcPowerOffset
Definition: ir_Panasonic.h:57
kPanasonicAcHeat
const uint8_t kPanasonicAcHeat
Definition: ir_Panasonic.h:50
IRPanasonicAc::send
void send(const uint16_t repeat=kPanasonicAcDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Panasonic.cpp:239
IRPanasonicAc::getClock
uint16_t getClock(void)
Get the current clock time value.
Definition: ir_Panasonic.cpp:550
IRPanasonicAc::getPower
bool getPower(void)
Get the A/C power state of the remote.
Definition: ir_Panasonic.cpp:344
IRPanasonicAc::getQuiet
bool getQuiet(void)
Get the Quiet setting of the A/C.
Definition: ir_Panasonic.cpp:479
panasonic_ac_remote_model_t
panasonic_ac_remote_model_t
Panasonic A/C model numbers.
Definition: IRsend.h:141
IRremoteESP8266.h
stdAc::swingh_t
swingh_t
Common A/C settings for Horizontal Swing.
Definition: IRsend.h:83
IRPanasonicAc::setOffTimer
void setOffTimer(const uint16_t mins_since_midnight, const bool enable=true)
Set/Enable the Off Timer.
Definition: ir_Panasonic.cpp:611
IRPanasonicAc::toCommon
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Panasonic.cpp:762
IRPanasonicAc::calcChecksum
static uint8_t calcChecksum(const uint8_t *state, const uint16_t length=kPanasonicAcStateLength)
Calculate the checksum for a given state.
Definition: ir_Panasonic.cpp:225
IRPanasonicAc::convertMode
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Panasonic.cpp:657
kPanasonicAcChecksumInit
const uint8_t kPanasonicAcChecksumInit
Definition: ir_Panasonic.h:81
IRPanasonicAc::_setTime
static void _setTime(uint8_t *const ptr, const uint16_t mins_since_midnight, const bool round_down)
Set the time at a given pointer location.
Definition: ir_Panasonic.cpp:557
IRPanasonicAc::getSwingVertical
uint8_t getSwingVertical(void)
Get the current vertical swing setting.
Definition: ir_Panasonic.cpp:405
kPanasonicAcDefaultRepeat
const uint16_t kPanasonicAcDefaultRepeat
Definition: IRremoteESP8266.h:985
kPanasonicAcSwingHFullRight
const uint8_t kPanasonicAcSwingHFullRight
Definition: ir_Panasonic.h:79
kPanasonicAcSwingHLeft
const uint8_t kPanasonicAcSwingHLeft
Definition: ir_Panasonic.h:77
IRPanasonicAc::getPowerful
bool getPowerful(void)
Get the Powerful (Turbo) setting of the A/C.
Definition: ir_Panasonic.cpp:504
IRPanasonicAc::setSwingHorizontal
void setSwingHorizontal(const uint8_t direction)
Control the horizontal swing setting.
Definition: ir_Panasonic.cpp:428
IRPanasonicAc::getRaw
uint8_t * getRaw(void)
Get a PTR to the internal state/code for this protocol.
Definition: ir_Panasonic.cpp:315
kPanasonicAcStateLength
const uint16_t kPanasonicAcStateLength
Definition: IRremoteESP8266.h:981
kPanasonicAcSwingHMiddle
const uint8_t kPanasonicAcSwingHMiddle
Definition: ir_Panasonic.h:75
kPanasonicAcCool
const uint8_t kPanasonicAcCool
Definition: ir_Panasonic.h:49
kPanasonicFreq
const uint16_t kPanasonicFreq
Definition: ir_Panasonic.h:42
IRPanasonicAc::toCommonSwingH
static stdAc::swingh_t toCommonSwingH(const uint8_t pos)
Convert a native horizontal swing postion to it's common equivalent.
Definition: ir_Panasonic.cpp:739
IRPanasonicAc::_irsend
IRsend _irsend
Instance of the IR send class.
Definition: ir_Panasonic.h:165
IRPanasonicAc::setOnTimer
void setOnTimer(const uint16_t mins_since_midnight, const bool enable=true)
Set/Enable the On Timer.
Definition: ir_Panasonic.cpp:582
IRPanasonicAc::on
void on(void)
Change the power setting to On.
Definition: ir_Panasonic.cpp:349
IRPanasonicAc::IRPanasonicAc
IRPanasonicAc(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Panasonic.cpp:197
IRPanasonicAc::toString
String toString(void)
Convert the internal state into a human readable string.
Definition: ir_Panasonic.cpp:788
kPanasonicAcQuietCkpOffset
const uint8_t kPanasonicAcQuietCkpOffset
Definition: ir_Panasonic.h:66
kPanasonicKnownGoodState
const uint8_t kPanasonicKnownGoodState[kPanasonicAcStateLength]
Definition: ir_Panasonic.h:92
kPanasonicAcSwingVAuto
const uint8_t kPanasonicAcSwingVAuto
Definition: ir_Panasonic.h:73
kPanasonicAcSwingVHigh
const uint8_t kPanasonicAcSwingVHigh
Definition: ir_Panasonic.h:69
IRPanasonicAc::isOnTimerEnabled
bool isOnTimerEnabled(void)
Check if the On Timer is Enabled.
Definition: ir_Panasonic.cpp:595
IRPanasonicAc::begin
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Panasonic.cpp:209
IRPanasonicAc::fixChecksum
void fixChecksum(const uint16_t length=kPanasonicAcStateLength)
Calculate and set the checksum values for the internal state.
Definition: ir_Panasonic.cpp:232
IRPanasonicAc::calibrate
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Panasonic.h:109
IRPanasonicAc::setPower
void setPower(const bool on)
Control the power state of the A/C unit.
Definition: ir_Panasonic.cpp:336
kPanasonicAcTempOffset
const uint8_t kPanasonicAcTempOffset
Definition: ir_Panasonic.h:58
IRPanasonicAc::setClock
void setClock(const uint16_t mins_since_midnight)
Set the current clock time value.
Definition: ir_Panasonic.cpp:571
kPanasonicAcTimeSpecial
const uint16_t kPanasonicAcTimeSpecial
Definition: ir_Panasonic.h:87
IRPanasonicAc::setMode
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Panasonic.cpp:362
kPanasonicAcSwingVLow
const uint8_t kPanasonicAcSwingVLow
Definition: ir_Panasonic.h:71
IRPanasonicAc::cancelOnTimer
void cancelOnTimer(void)
Cancel the On Timer.
Definition: ir_Panasonic.cpp:591
IRPanasonicAc::getSwingHorizontal
uint8_t getSwingHorizontal(void)
Get the current horizontal swing setting.
Definition: ir_Panasonic.cpp:422
kPanasonicAcFan
const uint8_t kPanasonicAcFan
Definition: ir_Panasonic.h:51
IRPanasonicAc::off
void off(void)
Change the power setting to Off.
Definition: ir_Panasonic.cpp:352
kPanasonicAcDry
const uint8_t kPanasonicAcDry
Definition: ir_Panasonic.h:48
IRPanasonicAc::remote_state
uint8_t remote_state[kPanasonicAcStateLength]
The state in code form.
Definition: ir_Panasonic.h:171
IRPanasonicAc::cancelOffTimer
void cancelOffTimer(void)
Cancel the Off Timer.
Definition: ir_Panasonic.cpp:626
kPanasonicAcIonFilterByte
const uint8_t kPanasonicAcIonFilterByte
Definition: ir_Panasonic.h:89
IRPanasonicAc::convertFan
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Panasonic.cpp:670
kPanasonicAcSwingVMiddle
const uint8_t kPanasonicAcSwingVMiddle
Definition: ir_Panasonic.h:70
IRPanasonicAc::validChecksum
static bool validChecksum(const uint8_t *state, const uint16_t length=kPanasonicAcStateLength)
Verify the checksum is valid for a given state.
Definition: ir_Panasonic.cpp:215
kPanasonicAcFanDelta
const uint8_t kPanasonicAcFanDelta
Definition: ir_Panasonic.h:56
kPanasonicAcSwingVHighest
const uint8_t kPanasonicAcSwingVHighest
Definition: ir_Panasonic.h:68
IRPanasonicAc::stateReset
void stateReset(void)
Reset the state of the remote to a known good state/sequence.
Definition: ir_Panasonic.cpp:202
kPanasonicAcTempSize
const uint8_t kPanasonicAcTempSize
Definition: ir_Panasonic.h:59
IRPanasonicAc::getMode
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Panasonic.cpp:356
IRPanasonicAc::setPowerful
void setPowerful(const bool on)
Set the Powerful (Turbo) setting of the A/C.
Definition: ir_Panasonic.cpp:516
kPanasonicAcFanModeTemp
const uint8_t kPanasonicAcFanModeTemp
Definition: ir_Panasonic.h:62
kPanasonicAcFanMax
const uint8_t kPanasonicAcFanMax
Definition: ir_Panasonic.h:54
IRPanasonicAc::toCommonMode
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_Panasonic.cpp:712
IRPanasonicAc::isOffTimerEnabled
bool isOffTimerEnabled(void)
Check if the Off Timer is Enabled.
Definition: ir_Panasonic.cpp:630
kPanasonicAcTimeMax
const uint16_t kPanasonicAcTimeMax
Definition: ir_Panasonic.h:86
kPanasonicAcSwingHFullLeft
const uint8_t kPanasonicAcSwingHFullLeft
Definition: ir_Panasonic.h:76
IRPanasonicAc::getModel
panasonic_ac_remote_model_t getModel(void)
Get/Detect the model of the A/C.
Definition: ir_Panasonic.cpp:296
IRPanasonicAc::getIon
bool getIon(void)
Get the Ion (filter) setting of the A/C.
Definition: ir_Panasonic.cpp:636
IRPanasonicAc::getOnTimer
uint16_t getOnTimer(void)
Get the On Timer time value.
Definition: ir_Panasonic.cpp:577
stdAc::state_t
Structure to hold a common A/C state.
Definition: IRsend.h:97
IRPanasonicAc::setModel
void setModel(const panasonic_ac_remote_model_t model)
Set the model of the A/C to emulate.
Definition: ir_Panasonic.cpp:246
kPanasonicAcMaxTemp
const uint8_t kPanasonicAcMaxTemp
Definition: ir_Panasonic.h:61
IRPanasonicAc::convertSwingH
static uint8_t convertSwingH(const stdAc::swingh_t position)
Convert a standard A/C horizontal swing into its native setting.
Definition: ir_Panasonic.cpp:698
IRPanasonicAc::setTemp
void setTemp(const uint8_t temp, const bool remember=true)
Set the temperature.
Definition: ir_Panasonic.cpp:394
kPanasonicAcSwingVLowest
const uint8_t kPanasonicAcSwingVLowest
Definition: ir_Panasonic.h:72
kPanasonicAcOnTimerOffset
const uint8_t kPanasonicAcOnTimerOffset
Definition: ir_Panasonic.h:82
IRPanasonicAc::toCommonSwingV
static stdAc::swingv_t toCommonSwingV(const uint8_t pos)
Convert a native vertical swing postion to it's common equivalent.
Definition: ir_Panasonic.cpp:753
stdAc::opmode_t
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46