Go to the documentation of this file.
14 #define __STDC_LIMIT_MACROS
22 #include "IRsend_test.h"
118 explicit IRVestelAc(
const uint16_t pin,
const bool inverted =
false,
119 const bool use_modulation =
true);
128 #endif // SEND_VESTEL_AC
134 void setAuto(
const int8_t autoLevel);
135 void setTimer(
const uint16_t minutes);
137 void setTime(
const uint16_t minutes);
143 void setTemp(
const uint8_t temp);
145 void setFan(
const uint8_t fan);
147 void setMode(
const uint8_t mode);
149 void setRaw(
const uint8_t* newState);
150 void setRaw(
const uint64_t newState);
188 void _setTimer(
const uint16_t minutes,
const uint8_t offset);
189 uint16_t
_getTimer(
const uint8_t offset);
192 #endif // IR_VESTEL_H_
const uint16_t kVestelAcHdrSpace
Definition: ir_Vestel.h:57
const uint8_t kVestelAcOffTimeOffset
Definition: ir_Vestel.h:97
const uint8_t kVestelAcFanAutoHot
Definition: ir_Vestel.h:78
void stateReset(void)
Reset the state of the remote to a known good state/sequence.
Definition: ir_Vestel.cpp:60
uint16_t getOffTimer(void)
Get the A/C's Off Timer time.
Definition: ir_Vestel.cpp:330
const uint8_t kVestelAcTimerHourSize
Definition: ir_Vestel.h:99
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Vestel.cpp:478
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Vestel.cpp:67
void setFan(const uint8_t fan)
Set the speed of the fan.
Definition: ir_Vestel.cpp:147
const uint8_t kVestelAcHourSize
Definition: ir_Vestel.h:104
const uint8_t kVestelAcFanOffset
Definition: ir_Vestel.h:91
void setTemp(const uint8_t temp)
Set the temperature.
Definition: ir_Vestel.cpp:130
void setOffTimerActive(const bool on)
Set the Off timer to be active on the A/C.
Definition: ir_Vestel.cpp:310
void setTime(const uint16_t minutes)
Set the A/C's internal clock.
Definition: ir_Vestel.cpp:247
const uint8_t kVestelAcMaxTemp
Definition: ir_Vestel.h:65
void setPower(const bool on)
Change the power setting.
Definition: ir_Vestel.cpp:116
bool isTimeCommand(void)
Is the current state a time command?
Definition: ir_Vestel.cpp:419
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
const uint8_t kVestelAcSleep
Definition: ir_Vestel.h:81
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Vestel.h:127
const uint8_t kVestelAcDry
Definition: ir_Vestel.h:69
const uint16_t kVestelAcBitMark
Definition: ir_Vestel.h:58
const uint8_t kVestelAcAuto
Definition: ir_Vestel.h:67
const uint8_t kVestelAcFanMed
Definition: ir_Vestel.h:75
void setTurbo(const bool on)
Set the Turbo setting of the A/C.
Definition: ir_Vestel.cpp:351
IRsend _irsend
Instance of the IR send class.
Definition: ir_Vestel.h:178
void setTimer(const uint16_t minutes)
Set Timer option of A/C.
Definition: ir_Vestel.cpp:228
void on(void)
Set the requested power state of the A/C to on.
Definition: ir_Vestel.cpp:109
uint16_t _getTimer(const uint8_t offset)
Get the number of minutes a timer is set for.
Definition: ir_Vestel.cpp:289
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Vestel.cpp:178
bool isOffTimerActive(void)
Get if the Off Timer is active on the A/C.
Definition: ir_Vestel.cpp:317
const uint8_t kVestelAcMinuteSize
Definition: ir_Vestel.h:109
const uint8_t kVestelAcMinTempC
Definition: ir_Vestel.h:64
Class for sending all basic IR protocols.
Definition: IRsend.h:176
const uint8_t kVestelAcChecksumSize
Definition: ir_Vestel.h:87
uint16_t getTimer(void)
Get the Timer time of A/C.
Definition: ir_Vestel.cpp:243
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition: IRsend.cpp:207
const uint8_t kVestelAcFanSize
Definition: ir_Vestel.h:92
const uint8_t kVestelAcSwingOffset
Definition: ir_Vestel.h:88
bool isOnTimerActive(void)
Get if the On Timer is active on the A/C.
Definition: ir_Vestel.cpp:272
std::string String
Definition: IRremoteESP8266.h:1128
const uint8_t kVestelAcTimerFlagOffset
Definition: ir_Vestel.h:107
bool isTimerActive(void)
Get if the Timer is active on the A/C.
Definition: ir_Vestel.cpp:220
void setRaw(const uint8_t *newState)
Set the internal state from a valid code for this protocol.
Definition: ir_Vestel.cpp:87
const uint8_t kVestelAcFan
Definition: ir_Vestel.h:70
const uint8_t kVestelAcMinTempH
Definition: ir_Vestel.h:63
uint8_t getTemp(void)
Get the current temperature setting.
Definition: ir_Vestel.cpp:140
const uint16_t kVestelAcHdrMark
Definition: ir_Vestel.h:56
const uint16_t kNoRepeat
Definition: IRremoteESP8266.h:835
uint64_t remote_time_state
The time state of the remote in code form.
Definition: ir_Vestel.h:185
const uint8_t kVestelAcOnTimerFlagOffset
Definition: ir_Vestel.h:105
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_Vestel.cpp:454
uint64_t remote_state
The state of the IR remote in IR code form.
Definition: ir_Vestel.h:184
bool getSleep(void)
Get the Sleep setting of the A/C.
Definition: ir_Vestel.cpp:344
const uint16_t kVestelAcOneSpace
Definition: ir_Vestel.h:59
void checksum(void)
Calculate & set the checksum for the current internal state of the remote.
Definition: ir_Vestel.cpp:409
void setSwing(const bool on)
Set the Swing Roaming setting of the A/C.
Definition: ir_Vestel.cpp:379
bool getTurbo(void)
Get the Turbo setting of the A/C.
Definition: ir_Vestel.cpp:359
const uint8_t kVestelAcTempOffset
Definition: ir_Vestel.h:90
void setOffTimer(const uint16_t minutes)
Set the Off timer time on the A/C.
Definition: ir_Vestel.cpp:323
const uint8_t kVestelAcTimerMinsSize
Definition: ir_Vestel.h:100
void setOnTimerActive(const bool on)
Set the On timer to be active on the A/C.
Definition: ir_Vestel.cpp:265
const uint8_t kVestelAcHourOffset
Definition: ir_Vestel.h:103
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_Vestel.cpp:467
void send(const uint16_t repeat=kNoRepeat)
Send the current internal state as an IR message.
Definition: ir_Vestel.cpp:72
void off(void)
Set the requested power state of the A/C to off.
Definition: ir_Vestel.cpp:112
const uint8_t kVestelAcFanAutoCool
Definition: ir_Vestel.h:77
const uint64_t kVestelAcStateDefault
Definition: ir_Vestel.h:111
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Vestel.cpp:427
void setIon(const bool on)
Set the Ion (Filter) setting of the A/C.
Definition: ir_Vestel.cpp:366
String toString(void)
Convert the current internal state into a human readable string.
Definition: ir_Vestel.cpp:505
const uint16_t kVestelAcTolerance
Definition: ir_Vestel.h:61
const uint8_t kVestelAcFanLow
Definition: ir_Vestel.h:74
const uint8_t kVestelAcChecksumOffset
Definition: ir_Vestel.h:86
const uint8_t kVestelAcPowerSize
Definition: ir_Vestel.h:96
const uint8_t kVestelAcSwing
Definition: ir_Vestel.h:84
const uint8_t kVestelAcIonOffset
Definition: ir_Vestel.h:94
const uint8_t kVestelAcOnTimeOffset
Definition: ir_Vestel.h:98
const uint16_t kVestelAcZeroSpace
Definition: ir_Vestel.h:60
const uint8_t kVestelAcMinuteOffset
Definition: ir_Vestel.h:108
const uint64_t kVestelAcTimeStateDefault
Definition: ir_Vestel.h:112
uint16_t getTime(void)
Get the A/C's internal clock's time.
Definition: ir_Vestel.cpp:257
const uint8_t kVestelAcTurboSleepOffset
Definition: ir_Vestel.h:89
const uint8_t kVestelAcTurbo
Definition: ir_Vestel.h:82
bool getPower(void)
Get the value of the current power setting.
Definition: ir_Vestel.cpp:124
static uint8_t calcChecksum(const uint64_t state)
Calculate the checksum for a given state.
Definition: ir_Vestel.cpp:395
uint64_t getRaw(void)
Get a copy of the internal state/code for this protocol.
Definition: ir_Vestel.cpp:79
const uint8_t kVestelAcHeat
Definition: ir_Vestel.h:71
const uint8_t kVestelAcNormal
Definition: ir_Vestel.h:80
const uint8_t kVestelAcFanHigh
Definition: ir_Vestel.h:76
const uint8_t kVestelAcTimerSize
Definition: ir_Vestel.h:101
IRVestelAc(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Vestel.cpp:54
Class for handling detailed Vestel A/C messages.
Definition: ir_Vestel.h:116
bool getIon(void)
Get the Ion (Filter) setting of the A/C.
Definition: ir_Vestel.cpp:373
const uint8_t kVestelAcCool
Definition: ir_Vestel.h:68
uint8_t getMode(void)
Get the operating mode setting of the A/C.
Definition: ir_Vestel.cpp:171
uint16_t getOnTimer(void)
Get the A/C's On Timer time.
Definition: ir_Vestel.cpp:304
void setTimerActive(const bool on)
Set the timer to be active on the A/C.
Definition: ir_Vestel.cpp:213
void setSleep(const bool on)
Set the Sleep setting of the A/C.
Definition: ir_Vestel.cpp:336
void _setTimer(const uint16_t minutes, const uint8_t offset)
Set a given timer time at a given bit offset.
Definition: ir_Vestel.cpp:279
bool use_time_state
Definition: ir_Vestel.h:186
const uint8_t kVestelAcOffTimerFlagOffset
Definition: ir_Vestel.h:106
const uint8_t kVestelAcModeOffset
Definition: ir_Vestel.h:93
const uint8_t kVestelAcIon
Definition: ir_Vestel.h:83
uint8_t getFan(void)
Get the current fan speed setting.
Definition: ir_Vestel.cpp:165
bool getSwing(void)
Get the Swing Roaming setting of the A/C.
Definition: ir_Vestel.cpp:387
const uint8_t kVestelAcPowerOffset
Definition: ir_Vestel.h:95
static bool validChecksum(const uint64_t state)
Verify the checksum is valid for a given state.
Definition: ir_Vestel.cpp:403
void setAuto(const int8_t autoLevel)
Set Auto mode/level of the A/C.
Definition: ir_Vestel.cpp:195
Structure to hold a common A/C state.
Definition: IRsend.h:97
const uint8_t kVestelAcFanAuto
Definition: ir_Vestel.h:73
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Vestel.cpp:440
void setOnTimer(const uint16_t minutes)
Set the On timer time on the A/C.
Definition: ir_Vestel.cpp:297
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46