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"
79 explicit IRTechnibelAc(
const uint16_t pin,
const bool inverted =
false,
80 const bool use_modulation =
true);
89 #endif // SEND_TECHNIBEL_AC
99 void setTemp(
const uint8_t temp,
const bool fahrenheit =
false);
101 void setFan(
const uint8_t speed);
102 uint8_t
getFan(
void)
const;
103 void setMode(
const uint8_t mode);
113 void setTimer(
const uint16_t nr_of_mins);
116 void setRaw(
const uint64_t state);
135 #endif // IR_TECHNIBEL_H_
IRsendTest _irsend
Definition: ir_Technibel.h:128
static uint8_t calcChecksum(const uint64_t state)
Compute the checksum of the supplied state.
Definition: ir_Technibel.cpp:107
void setMode(const uint8_t mode)
Set the operating mode of the A/C.
Definition: ir_Technibel.cpp:256
TechnibelProtocol _
Definition: ir_Technibel.h:130
Native representation of a Technibel A/C message.
Definition: ir_Technibel.h:24
const uint8_t kTechnibelAcTempMinF
Definition: ir_Technibel.h:55
uint8_t getTemp(void) const
Get the current temperature setting.
Definition: ir_Technibel.cpp:194
swingv_t
Common A/C settings for Vertical Swing.
Definition: IRsend.h:74
const uint8_t kTechnibelAcFanLow
Definition: ir_Technibel.h:59
fanspeed_t
Common A/C settings for Fan Speeds.
Definition: IRsend.h:61
void off(void)
Set the requested power state of the A/C to off.
Definition: ir_Technibel.cpp:154
bool getSwing(void) const
Get the (vertical) swing setting of the A/C.
Definition: ir_Technibel.cpp:304
bool getTempUnit(void) const
Get the temperature unit setting.
Definition: ir_Technibel.cpp:177
const uint8_t kTechnibelAcFanSize
Definition: ir_Technibel.h:58
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition: ir_Technibel.cpp:287
void setRaw(const uint64_t state)
Set the internal state from a valid code for this protocol.
Definition: ir_Technibel.cpp:146
IRTechnibelAc(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)
Class constructor.
Definition: ir_Technibel.cpp:89
uint8_t TimerChange
Definition: ir_Technibel.h:42
void begin(void)
Set up hardware to be able to send a message.
Definition: ir_Technibel.cpp:94
void setTempUnit(const bool celsius)
Set the temperature unit setting.
Definition: ir_Technibel.cpp:170
void setTimer(const uint16_t nr_of_mins)
Set the timer for when the A/C unit will switch off.
Definition: ir_Technibel.cpp:350
void checksum(void)
Set the checksum of the internal state.
Definition: ir_Technibel.cpp:125
static bool validChecksum(const uint64_t state)
Confirm the checksum of the supplied state is valid.
Definition: ir_Technibel.cpp:119
Class for sending all basic IR protocols.
Definition: IRsend.h:237
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition: IRsend.cpp:207
uint8_t Footer
Definition: ir_Technibel.h:28
void setTemp(const uint8_t temp, const bool fahrenheit=false)
Set the temperature.
Definition: ir_Technibel.cpp:184
uint8_t getFan(void) const
Get the current fan speed setting.
Definition: ir_Technibel.cpp:219
uint8_t TempChange
Definition: ir_Technibel.h:41
std::string String
Definition: IRremoteESP8266.h:1521
uint64_t raw
Definition: ir_Technibel.h:25
const uint8_t kTechnibelAcTempMaxC
Definition: ir_Technibel.h:54
uint8_t UseFah
Definition: ir_Technibel.h:37
uint8_t TimerHours
Definition: ir_Technibel.h:29
uint8_t Mode
Definition: ir_Technibel.h:39
void on(void)
Set the requested power state of the A/C to on.
Definition: ir_Technibel.cpp:151
bool getTimerEnabled(void) const
Is the timer function enabled?
Definition: ir_Technibel.cpp:342
static stdAc::swingv_t toCommonSwing(const bool swing)
Convert a native swing into its stdAc equivalent.
Definition: ir_Technibel.cpp:318
const uint8_t kTechnibelAcFanHigh
Definition: ir_Technibel.h:61
const uint8_t kTechnibelAcTimerMax
Definition: ir_Technibel.h:51
uint8_t Sleep
Definition: ir_Technibel.h:35
uint8_t Sum
Definition: ir_Technibel.h:27
void send(const uint16_t repeat=kTechnibelAcDefaultRepeat)
Send the current internal state as an IR message.
Definition: ir_Technibel.cpp:99
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition: ir_Technibel.cpp:365
const uint8_t kTechnibelAcCool
Definition: ir_Technibel.h:63
uint8_t Swing
Definition: ir_Technibel.h:36
const uint8_t kTechnibelAcFan
Definition: ir_Technibel.h:65
void stateReset(void)
Reset the internal state of the emulation.
Definition: ir_Technibel.cpp:131
const uint8_t kTechnibelAcHeader
Definition: ir_Technibel.h:69
bool getPower(void) const
Get the value of the current power setting.
Definition: ir_Technibel.cpp:164
uint64_t getRaw(void)
Get a copy of the internal state/code for this protocol.
Definition: ir_Technibel.cpp:139
const uint8_t kTechnibelAcHeat
Definition: ir_Technibel.h:66
Class for handling detailed Technibel A/C messages.
Definition: ir_Technibel.h:77
static uint8_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition: ir_Technibel.cpp:226
uint8_t FanChange
Definition: ir_Technibel.h:40
uint8_t _saved_temp
Definition: ir_Technibel.h:131
uint8_t Temp
Definition: ir_Technibel.h:31
const uint8_t kTechnibelAcHeaderOffset
Definition: ir_Technibel.h:68
uint8_t Header
Definition: ir_Technibel.h:44
uint8_t TimerEnable
Definition: ir_Technibel.h:38
const uint8_t kTechnibelAcTempMinC
Definition: ir_Technibel.h:53
uint8_t Power
Definition: ir_Technibel.h:43
const uint8_t kTechnibelAcTimerHoursOffset
Definition: ir_Technibel.h:50
uint8_t _saved_temp_units
Definition: ir_Technibel.h:132
const uint64_t kTechnibelAcResetState
Mode:Cool, Power:Off, fan:Low, temp:20, swing:Off, sleep:Off.
Definition: ir_Technibel.h:71
void setTimerEnabled(const bool on)
Set the enable timer setting.
Definition: ir_Technibel.cpp:336
const uint16_t kTechnibelAcDefaultRepeat
Definition: IRremoteESP8266.h:1223
uint8_t getMode(void) const
Get the operating mode setting of the A/C.
Definition: ir_Technibel.cpp:250
void setSwing(const bool on)
Set the (vertical) swing setting of the A/C.
Definition: ir_Technibel.cpp:298
uint16_t getTimer(void) const
Get the timer time for when the A/C unit will switch power state.
Definition: ir_Technibel.cpp:359
String toString(void) const
Convert the current internal state into a human readable string.
Definition: ir_Technibel.cpp:391
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition: ir_Technibel.h:88
static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition: ir_Technibel.cpp:240
const uint8_t kTechnibelAcFanMedium
Definition: ir_Technibel.h:60
uint8_t Fan
Definition: ir_Technibel.h:33
Structure to hold a common A/C state.
Definition: IRsend.h:114
static bool convertSwing(const stdAc::swingv_t swing)
Convert a stdAc::swingv_t enum into it's native swing.
Definition: ir_Technibel.cpp:311
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition: ir_Technibel.cpp:275
const uint8_t kTechnibelAcDry
Definition: ir_Technibel.h:64
const uint8_t kTechnibelAcTempMaxF
Definition: ir_Technibel.h:56
bool getSleep(void) const
Get the Sleep setting of the A/C.
Definition: ir_Technibel.cpp:330
IRsend _irsend
Definition: ir_Technibel.h:126
void setPower(const bool on)
Change the power setting.
Definition: ir_Technibel.cpp:158
void setSleep(const bool on)
Set the Sleep setting of the A/C.
Definition: ir_Technibel.cpp:324
void setFan(const uint8_t speed)
Set the speed of the fan.
Definition: ir_Technibel.cpp:200
opmode_t
Common A/C settings for A/C operating modes.
Definition: IRsend.h:49