15#define __STDC_LIMIT_MACROS
28#include "IRsend_test.h"
130 0xB2, 0x4D, 0x7B, 0x84, 0xE0, 0x1F};
134 0xB2, 0x4D, 0x1F, 0xE0, 0xC8, 0x37,
135 0xB2, 0x4D, 0x1F, 0xE0, 0xC8, 0x37,
136 0xD5, 0x65, 0x00, 0x00, 0x00, 0x3A};
183 explicit IRBosch144AC(
const uint16_t pin,
const bool inverted =
false,
184 const bool use_modulation =
true);
187 void send(
const uint16_t repeat = 0);
197 void setTemp(
const uint8_t temp,
const bool fahrenheit =
false);
201 void setFan(
const uint16_t speed);
202 uint16_t
getFan(
void)
const;
203 void setMode(
const uint8_t mode);
208 void setRaw(
const uint8_t new_code[],
const uint16_t kBosch144StateLength
Definition IRremoteESP8266.h:1197
std::string String
Definition IRremoteESP8266.h:1564
Class for handling detailed Bosch144 A/C messages.
Definition ir_Bosch.h:181
bool getUseFahrenheit(void) const
Definition ir_Bosch.cpp:145
uint8_t getTempRaw(void) const
void setRaw(const uint8_t new_code[], const uint16_t length=kBosch144StateLength)
Set the internal state from a valid code for this protocol.
Definition ir_Bosch.cpp:78
static stdAc::fanspeed_t toCommonFanSpeed(const uint16_t speed)
Convert a native fan speed into its stdAc equivalent.
Definition ir_Bosch.cpp:241
IRsend _irsend
Instance of the IR send class.
Definition ir_Bosch.h:219
void setUseFahrenheit(const bool on)
Definition ir_Bosch.cpp:141
Bosch144Protocol _
The state of the IR remote in IR code form.
Definition ir_Bosch.h:225
void stateReset(void)
Reset the internal state to a fixed known good state.
Definition ir_Bosch.cpp:47
uint8_t getTemp(void) const
Definition ir_Bosch.cpp:122
void setTempRaw(const uint8_t code)
Definition ir_Bosch.cpp:97
uint16_t getFan(void) const
Definition ir_Bosch.cpp:156
bool getPower(void) const
Definition ir_Bosch.cpp:93
void setInvertBytes()
Definition ir_Bosch.cpp:298
uint8_t getMode(void) const
Definition ir_Bosch.cpp:171
static stdAc::opmode_t toCommonMode(const uint8_t mode)
Convert a native mode into its stdAc equivalent.
Definition ir_Bosch.cpp:228
void setQuiet(const bool on)
Set the Quiet mode of the A/C.
Definition ir_Bosch.cpp:177
void setMode(const uint8_t mode)
Set the desired operation mode.
Definition ir_Bosch.cpp:162
uint8_t * getRaw(void)
Get a copy of the internal state as a valid code for this protocol.
Definition ir_Bosch.cpp:69
bool powerFlag
Definition ir_Bosch.h:228
void setCheckSumS3()
Definition ir_Bosch.cpp:304
void begin()
Set up hardware to be able to send a message.
Definition ir_Bosch.cpp:53
void setTemp(const uint8_t temp, const bool fahrenheit=false)
Set the temp. in degrees.
Definition ir_Bosch.cpp:107
static uint16_t convertFan(const stdAc::fanspeed_t speed)
Convert a stdAc::fanspeed_t enum into it's native speed.
Definition ir_Bosch.cpp:208
void send(const uint16_t repeat=0)
Send the current internal state as an IR message.
Definition ir_Bosch.cpp:58
int8_t calibrate(void)
Run the calibration to calculate uSec timing offsets for this platform.
Definition ir_Bosch.h:192
void setFan(const uint16_t speed)
Set the speed of the fan.
Definition ir_Bosch.cpp:151
String toString(void) const
Convert the current internal state into a human readable string.
Definition ir_Bosch.cpp:280
bool getQuiet(void) const
Get the Quiet mode of the A/C.
Definition ir_Bosch.cpp:185
stdAc::state_t toCommon(void) const
Convert the current internal state into its stdAc::state_t equivalent.
Definition ir_Bosch.cpp:254
void setPower(const bool state)
Definition ir_Bosch.cpp:89
static uint8_t convertMode(const stdAc::opmode_t mode)
Convert a stdAc::opmode_t enum into its native mode.
Definition ir_Bosch.cpp:190
Class for sending all basic IR protocols.
Definition IRsend.h:249
int8_t calibrate(uint16_t hz=38000U)
Calculate & set any offsets to account for execution times during sending.
Definition IRsend.cpp:209
const uint16_t kBoschOneSpace
Definition ir_Bosch.h:35
const uint8_t kBosch144FahrenheitMin
Definition ir_Bosch.h:93
const uint8_t kBosch144Fan
Definition ir_Bosch.h:57
const uint16_t kBoschZeroSpace
Definition ir_Bosch.h:36
const uint16_t kBosch144BytesPerSection
Definition ir_Bosch.h:40
const uint16_t kBoschFreq
Definition ir_Bosch.h:38
const uint8_t kBosch144Off[]
Definition ir_Bosch.h:129
const uint8_t kBosch144CelsiusMin
Definition ir_Bosch.h:70
const uint8_t kBosch144Dry
Definition ir_Bosch.h:54
const uint16_t kBoschFooterSpace
Definition ir_Bosch.h:37
const uint8_t kBosch144CelsiusMap[]
Definition ir_Bosch.h:72
const uint16_t kBosch144Fan100
Definition ir_Bosch.h:65
const uint16_t kBosch144Fan80
Definition ir_Bosch.h:64
const uint16_t kBosch144Fan40
Definition ir_Bosch.h:62
const uint16_t kBosch144Fan60
Definition ir_Bosch.h:63
const uint8_t kBosch144CelsiusMax
Definition ir_Bosch.h:71
const uint8_t kBosch144Heat
Definition ir_Bosch.h:56
const uint16_t kBoschHdrMark
Definition ir_Bosch.h:32
const uint16_t kBosch144FanAuto0
Definition ir_Bosch.h:67
const uint16_t kBosch144Fan20
Definition ir_Bosch.h:61
const uint16_t kBosch144NrOfSections
Definition ir_Bosch.h:39
const uint16_t kBoschHdrSpace
Definition ir_Bosch.h:34
const uint8_t kBosch144FahrenheitMap[]
Definition ir_Bosch.h:95
const uint8_t kBosch144DefaultState[kBosch144StateLength]
Definition ir_Bosch.h:133
const uint8_t kBosch144FahrenheitMax
Definition ir_Bosch.h:94
const uint8_t kBosch144Cool
Definition ir_Bosch.h:53
const uint16_t kBoschBitMark
Definition ir_Bosch.h:33
const uint8_t kBosch144Auto
Definition ir_Bosch.h:55
const uint16_t kBosch144FanAuto
Definition ir_Bosch.h:66
String addBoolToString(const bool value, const String label, const bool precomma)
Create a String with a colon separated flag suitable for Humans. e.g. "Power: On".
Definition IRutils.cpp:555
String addFanToString(const uint8_t speed, const uint8_t high, const uint8_t low, const uint8_t automatic, const uint8_t quiet, const uint8_t medium, const uint8_t maximum, const uint8_t medium_high)
Create a String of human output for the given fan speed. e.g. "Fan: 0 (Auto)".
Definition IRutils.cpp:849
String addTempToString(const uint16_t degrees, const bool celsius, const bool precomma, const bool isSensorTemp)
Create a String of human output for a given temperature. e.g. "Temp: 25C".
Definition IRutils.cpp:744
String addModeToString(const uint8_t mode, const uint8_t automatic, const uint8_t cool, const uint8_t heat, const uint8_t dry, const uint8_t fan)
Create a String of human output for the given operating mode. e.g. "Mode: 1 (Cool)".
Definition IRutils.cpp:782
fanspeed_t
Common A/C settings for Fan Speeds.
Definition IRsend.h:61
opmode_t
Common A/C settings for A/C operating modes.
Definition IRsend.h:49
Structure to hold a common A/C state.
Definition IRsend.h:114
Definition ir_Bosch.h:138
uint8_t TempS2
Definition ir_Bosch.h:158
uint8_t FanS1
Definition ir_Bosch.h:144
uint8_t FanS3
Definition ir_Bosch.h:163
uint8_t TempS4
Definition ir_Bosch.h:166
uint8_t ModeS3
Definition ir_Bosch.h:162
uint8_t ChecksumS3
Definition ir_Bosch.h:174
uint8_t InnvertS2_1
Definition ir_Bosch.h:152
uint8_t InnvertS1_1
Definition ir_Bosch.h:142
uint8_t FanS2
Definition ir_Bosch.h:154
uint8_t InnvertS1_3
Definition ir_Bosch.h:149
uint8_t ModeS1
Definition ir_Bosch.h:147
uint8_t Quiet
Definition ir_Bosch.h:168
uint8_t TempS1
Definition ir_Bosch.h:148
uint8_t InnvertS2_3
Definition ir_Bosch.h:159
uint8_t InnvertS1_2
Definition ir_Bosch.h:145
uint8_t TempS3
Definition ir_Bosch.h:171
uint8_t ModeS2
Definition ir_Bosch.h:157
uint8_t InnvertS2_2
Definition ir_Bosch.h:155
uint8_t raw[kBosch144StateLength]
The state in IR code form.
Definition ir_Bosch.h:139
uint8_t UseFahrenheit
Definition ir_Bosch.h:169