Go to the documentation of this file.
6 #ifndef IR_TECHNIBEL_H_
7 #define IR_TECHNIBEL_H_
9 #define __STDC_LIMIT_MACROS
17 #include "IRsend_test.h"
109 explicit IRTechnibelAc(
const uint16_t pin,
const bool inverted =
false,
110 const bool use_modulation =
true);
112 #if SEND_TECHNIBEL_AC
119 #endif // SEND_TECHNIBEL_AC
129 void setTemp(
const uint8_t temp,
const bool fahrenheit =
false);
131 void setFan(
const uint8_t speed);
133 void setMode(
const uint8_t mode);
143 void setTimer(
const uint16_t nr_of_mins);
146 void setRaw(
const uint64_t state);
165 #endif // IR_TECHNIBEL_H_
IRsendTest _irsend
Definition: ir_Technibel.h:158
String toString()
Convert the current internal state into a human readable string.
Definition: ir_Technibel.cpp:399
static uint8_t calcChecksum(const uint64_t state)
Compute the checksum of the supplied state.
Definition: ir_Technibel.cpp:109
bool getTempUnit(void)
Get the temperature unit setting.
Definition: ir_Technibel.cpp:180
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Technibel.cpp:260
uint8_t getTemp()
Get the current temperature setting.
Definition: ir_Technibel.cpp:198
uint16_t getTimer(void)
Get the timer time for when the A/C unit will switch power state.
Definition: ir_Technibel.cpp:365
void stateReset()
Reset the internal state of the emulation.
Definition: ir_Technibel.cpp:134
const uint8_t kTechnibelAcFooterSize
Definition: ir_Technibel.h:50
const uint8_t kTechnibelAcTempMinF
Definition: ir_Technibel.h:62
void begin()
Set up hardware to be able to send a message.
Definition: ir_Technibel.cpp:96
swingv_t
Common A/C settings for Vertical Swing.
Definition: IRsend.h:70
const uint8_t kTechnibelAcFanLow
Definition: ir_Technibel.h:68
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:58
const uint8_t kTechnibelAcFanSize
Definition: ir_Technibel.h:67
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivilant.
Definition: ir_Technibel.cpp:292
void setRaw(const uint64_t state)
Set the internal state from a valid code for this protocol.
Definition: ir_Technibel.cpp:149
IRTechnibelAc(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Technibel.cpp:91
void setTempUnit(const bool celsius)
Set the temperature unit setting.
Definition: ir_Technibel.cpp:173
void setTimer(const uint16_t nr_of_mins)
Set the timer for when the A/C unit will switch off.
Definition: ir_Technibel.cpp:355
void checksum(void)
Set the checksum of the internal state.
Definition: ir_Technibel.cpp:127
static bool validChecksum(const uint64_t state)
Confirm the checksum of the supplied state is valid.
Definition: ir_Technibel.cpp:121
Class for sending all basic IR protocols.
Definition: IRsend.h:176
const uint8_t kTechnibelAcChecksumOffset
Definition: ir_Technibel.h:45
const uint8_t kTechnibelAcTimerEnableBit
Definition: ir_Technibel.h:80
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition: IRsend.cpp:207
bool getPower()
Get the value of the current power setting.
Definition: ir_Technibel.cpp:167
void setTemp(const uint8_t temp, const bool fahrenheit=false)
Set the temperature.
Definition: ir_Technibel.cpp:187
uint64_t remote_state
Definition: ir_Technibel.h:160
uint64_t getRaw()
Get a copy of the internal state/code for this protocol.
Definition: ir_Technibel.cpp:142
std::string String
Definition: IRremoteESP8266.h:1148
const uint8_t kTechnibelAcTempMaxC
Definition: ir_Technibel.h:61
const uint8_t kTechnibelAcTempOffset
Definition: ir_Technibel.h:57
const uint8_t kTechnibelAcSleepBit
Definition: ir_Technibel.h:72
stdAc::swingv_t toCommonSwing(const bool swing)
Convert a native swing into its stdAc equivilant.
Definition: ir_Technibel.cpp:323
const uint8_t kTechnibelAcFanOffset
Definition: ir_Technibel.h:65
const uint8_t kTechnibelAcFanHigh
Definition: ir_Technibel.h:70
const uint8_t kTechnibelAcTimerMax
Definition: ir_Technibel.h:55
void send(const uint16_t repeat=kTechnibelAcDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Technibel.cpp:101
void off()
Set the requested power state of the A/C to off.
Definition: ir_Technibel.cpp:157
const uint8_t kTechnibelAcCool
Definition: ir_Technibel.h:84
const uint8_t kTechnibelAcTimerChangeBit
Definition: ir_Technibel.h:94
const uint8_t kTechnibelAcFan
Definition: ir_Technibel.h:86
const uint8_t kTechnibelAcHeader
Definition: ir_Technibel.h:100
bool getTimerEnabled(void)
Is the timer function enabled?
Definition: ir_Technibel.cpp:347
bool getSleep()
Get the Sleep setting of the A/C.
Definition: ir_Technibel.cpp:335
const uint8_t kTechnibelAcHeat
Definition: ir_Technibel.h:87
const uint8_t kTechnibelAcFanChangeBit
Definition: ir_Technibel.h:89
const uint8_t kTechnibelAcHeaderSize
Definition: ir_Technibel.h:99
Definition: ir_Technibel.h:107
stdAc::state_t toCommon(void)
Convert the current internal state into its stdAc::state_t equivilant.
Definition: ir_Technibel.cpp:373
const uint8_t kTechnibelAcPowerBit
Definition: ir_Technibel.h:96
uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Technibel.cpp:230
const uint8_t kTechnibelAcSwingBit
Definition: ir_Technibel.h:75
uint8_t _saved_temp
Definition: ir_Technibel.h:161
const uint8_t kTechnibelAcTempUnitBit
Definition: ir_Technibel.h:78
const uint8_t kTechnibelAcModeOffset
Definition: ir_Technibel.h:82
const uint8_t kTechnibelAcHeaderOffset
Definition: ir_Technibel.h:98
const uint8_t kTechnibelAcHoursSize
Definition: ir_Technibel.h:54
bool getSwing()
Get the (vertical) swing setting of the A/C.
Definition: ir_Technibel.cpp:309
const uint8_t kTechnibelAcTempMinC
Definition: ir_Technibel.h:60
const uint8_t kTechnibelAcTempSize
Definition: ir_Technibel.h:59
const uint8_t kTechnibelAcTimerHoursOffset
Definition: ir_Technibel.h:52
uint8_t _saved_temp_units
Definition: ir_Technibel.h:162
uint8_t getFan()
Get the current fan speed setting.
Definition: ir_Technibel.cpp:223
const uint64_t kTechnibelAcResetState
Mode:Cool, Power:Off, fan:Low, temp:20, swing:Off, sleep:Off.
Definition: ir_Technibel.h:102
void setTimerEnabled(const bool on)
Set the enable timer setting.
Definition: ir_Technibel.cpp:341
const uint16_t kTechnibelAcDefaultRepeat
Definition: IRremoteESP8266.h:905
void setSwing(const bool on)
Set the (vertical) swing setting of the A/C.
Definition: ir_Technibel.cpp:303
uint8_t getMode()
Get the operating mode setting of the A/C.
Definition: ir_Technibel.cpp:254
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Technibel.h:118
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivilant.
Definition: ir_Technibel.cpp:244
const uint8_t kTechnibelAcFanMedium
Definition: ir_Technibel.h:69
const uint8_t kTechnibelAcFooterOffset
Definition: ir_Technibel.h:48
void on()
Set the requested power state of the A/C to on.
Definition: ir_Technibel.cpp:154
Structure to hold a common A/C state.
Definition: IRsend.h:97
bool convertSwing(const stdAc::swingv_t swing)
Convert a stdAc::swingv_t enum into it's native swing.
Definition: ir_Technibel.cpp:316
uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Technibel.cpp:280
const uint8_t kTechnibelAcDry
Definition: ir_Technibel.h:85
const uint8_t kTechnibelAcModeSize
Definition: ir_Technibel.h:83
const uint8_t kTechnibelAcChecksumSize
Definition: ir_Technibel.h:46
const uint8_t kTechnibelAcTempMaxF
Definition: ir_Technibel.h:63
IRsend _irsend
Definition: ir_Technibel.h:156
void setPower(const bool on)
Change the power setting.
Definition: ir_Technibel.cpp:161
void setSleep(const bool on)
Set the Sleep setting of the A/C.
Definition: ir_Technibel.cpp:329
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Technibel.cpp:204
const uint8_t kTechnibelAcTempChangeBit
Definition: ir_Technibel.h:92
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:46