mirror of
https://github.com/esphome/esphome.git
synced 2026-09-27 06:50:22 +00:00
[fujitsu_general] Use constexpr for the protocol constants (#19486)
This commit is contained in:
@@ -11,78 +11,78 @@ namespace esphome::fujitsu_general {
|
||||
static const char *const TAG = "fujitsu_general.climate";
|
||||
|
||||
// Common header
|
||||
const uint8_t FUJITSU_GENERAL_COMMON_LENGTH = 6;
|
||||
const uint8_t FUJITSU_GENERAL_COMMON_BYTE0 = 0x14;
|
||||
const uint8_t FUJITSU_GENERAL_COMMON_BYTE1 = 0x63;
|
||||
const uint8_t FUJITSU_GENERAL_COMMON_BYTE2 = 0x00;
|
||||
const uint8_t FUJITSU_GENERAL_COMMON_BYTE3 = 0x10;
|
||||
const uint8_t FUJITSU_GENERAL_COMMON_BYTE4 = 0x10;
|
||||
const uint8_t FUJITSU_GENERAL_MESSAGE_TYPE_BYTE = 5;
|
||||
constexpr uint8_t FUJITSU_GENERAL_COMMON_LENGTH = 6;
|
||||
constexpr uint8_t FUJITSU_GENERAL_COMMON_BYTE0 = 0x14;
|
||||
constexpr uint8_t FUJITSU_GENERAL_COMMON_BYTE1 = 0x63;
|
||||
constexpr uint8_t FUJITSU_GENERAL_COMMON_BYTE2 = 0x00;
|
||||
constexpr uint8_t FUJITSU_GENERAL_COMMON_BYTE3 = 0x10;
|
||||
constexpr uint8_t FUJITSU_GENERAL_COMMON_BYTE4 = 0x10;
|
||||
constexpr uint8_t FUJITSU_GENERAL_MESSAGE_TYPE_BYTE = 5;
|
||||
|
||||
// State message - temp & fan etc.
|
||||
const uint8_t FUJITSU_GENERAL_STATE_MESSAGE_LENGTH = 16;
|
||||
const uint8_t FUJITSU_GENERAL_MESSAGE_TYPE_STATE = 0xFE;
|
||||
constexpr uint8_t FUJITSU_GENERAL_STATE_MESSAGE_LENGTH = 16;
|
||||
constexpr uint8_t FUJITSU_GENERAL_MESSAGE_TYPE_STATE = 0xFE;
|
||||
|
||||
// Util messages - off & eco etc.
|
||||
const uint8_t FUJITSU_GENERAL_UTIL_MESSAGE_LENGTH = 7;
|
||||
const uint8_t FUJITSU_GENERAL_MESSAGE_TYPE_OFF = 0x02;
|
||||
const uint8_t FUJITSU_GENERAL_MESSAGE_TYPE_ECONOMY = 0x09;
|
||||
const uint8_t FUJITSU_GENERAL_MESSAGE_TYPE_NUDGE = 0x6C;
|
||||
constexpr uint8_t FUJITSU_GENERAL_UTIL_MESSAGE_LENGTH = 7;
|
||||
constexpr uint8_t FUJITSU_GENERAL_MESSAGE_TYPE_OFF = 0x02;
|
||||
constexpr uint8_t FUJITSU_GENERAL_MESSAGE_TYPE_ECONOMY = 0x09;
|
||||
constexpr uint8_t FUJITSU_GENERAL_MESSAGE_TYPE_NUDGE = 0x6C;
|
||||
|
||||
// State header
|
||||
const uint8_t FUJITSU_GENERAL_STATE_HEADER_BYTE0 = 0x09;
|
||||
const uint8_t FUJITSU_GENERAL_STATE_HEADER_BYTE1 = 0x30;
|
||||
constexpr uint8_t FUJITSU_GENERAL_STATE_HEADER_BYTE0 = 0x09;
|
||||
constexpr uint8_t FUJITSU_GENERAL_STATE_HEADER_BYTE1 = 0x30;
|
||||
|
||||
// State footer
|
||||
const uint8_t FUJITSU_GENERAL_STATE_FOOTER_BYTE0 = 0x20;
|
||||
constexpr uint8_t FUJITSU_GENERAL_STATE_FOOTER_BYTE0 = 0x20;
|
||||
|
||||
// Temperature
|
||||
const uint8_t FUJITSU_GENERAL_TEMPERATURE_NIBBLE = 16;
|
||||
constexpr uint8_t FUJITSU_GENERAL_TEMPERATURE_NIBBLE = 16;
|
||||
|
||||
// Power on
|
||||
const uint8_t FUJITSU_GENERAL_POWER_ON_NIBBLE = 17;
|
||||
const uint8_t FUJITSU_GENERAL_POWER_OFF = 0x00;
|
||||
const uint8_t FUJITSU_GENERAL_POWER_ON = 0x01;
|
||||
constexpr uint8_t FUJITSU_GENERAL_POWER_ON_NIBBLE = 17;
|
||||
constexpr uint8_t FUJITSU_GENERAL_POWER_OFF = 0x00;
|
||||
constexpr uint8_t FUJITSU_GENERAL_POWER_ON = 0x01;
|
||||
|
||||
// Mode
|
||||
const uint8_t FUJITSU_GENERAL_MODE_NIBBLE = 19;
|
||||
const uint8_t FUJITSU_GENERAL_MODE_AUTO = 0x00;
|
||||
const uint8_t FUJITSU_GENERAL_MODE_COOL = 0x01;
|
||||
const uint8_t FUJITSU_GENERAL_MODE_DRY = 0x02;
|
||||
const uint8_t FUJITSU_GENERAL_MODE_FAN = 0x03;
|
||||
const uint8_t FUJITSU_GENERAL_MODE_HEAT = 0x04;
|
||||
constexpr uint8_t FUJITSU_GENERAL_MODE_NIBBLE = 19;
|
||||
constexpr uint8_t FUJITSU_GENERAL_MODE_AUTO = 0x00;
|
||||
constexpr uint8_t FUJITSU_GENERAL_MODE_COOL = 0x01;
|
||||
constexpr uint8_t FUJITSU_GENERAL_MODE_DRY = 0x02;
|
||||
constexpr uint8_t FUJITSU_GENERAL_MODE_FAN = 0x03;
|
||||
constexpr uint8_t FUJITSU_GENERAL_MODE_HEAT = 0x04;
|
||||
// const uint8_t FUJITSU_GENERAL_MODE_10C = 0x0B;
|
||||
|
||||
// Swing
|
||||
const uint8_t FUJITSU_GENERAL_SWING_NIBBLE = 20;
|
||||
const uint8_t FUJITSU_GENERAL_SWING_NONE = 0x00;
|
||||
const uint8_t FUJITSU_GENERAL_SWING_VERTICAL = 0x01;
|
||||
const uint8_t FUJITSU_GENERAL_SWING_HORIZONTAL = 0x02;
|
||||
const uint8_t FUJITSU_GENERAL_SWING_BOTH = 0x03;
|
||||
constexpr uint8_t FUJITSU_GENERAL_SWING_NIBBLE = 20;
|
||||
constexpr uint8_t FUJITSU_GENERAL_SWING_NONE = 0x00;
|
||||
constexpr uint8_t FUJITSU_GENERAL_SWING_VERTICAL = 0x01;
|
||||
constexpr uint8_t FUJITSU_GENERAL_SWING_HORIZONTAL = 0x02;
|
||||
constexpr uint8_t FUJITSU_GENERAL_SWING_BOTH = 0x03;
|
||||
|
||||
// Fan
|
||||
const uint8_t FUJITSU_GENERAL_FAN_NIBBLE = 21;
|
||||
const uint8_t FUJITSU_GENERAL_FAN_AUTO = 0x00;
|
||||
const uint8_t FUJITSU_GENERAL_FAN_HIGH = 0x01;
|
||||
const uint8_t FUJITSU_GENERAL_FAN_MEDIUM = 0x02;
|
||||
const uint8_t FUJITSU_GENERAL_FAN_LOW = 0x03;
|
||||
const uint8_t FUJITSU_GENERAL_FAN_SILENT = 0x04;
|
||||
constexpr uint8_t FUJITSU_GENERAL_FAN_NIBBLE = 21;
|
||||
constexpr uint8_t FUJITSU_GENERAL_FAN_AUTO = 0x00;
|
||||
constexpr uint8_t FUJITSU_GENERAL_FAN_HIGH = 0x01;
|
||||
constexpr uint8_t FUJITSU_GENERAL_FAN_MEDIUM = 0x02;
|
||||
constexpr uint8_t FUJITSU_GENERAL_FAN_LOW = 0x03;
|
||||
constexpr uint8_t FUJITSU_GENERAL_FAN_SILENT = 0x04;
|
||||
|
||||
// TODO Outdoor Unit Low Noise
|
||||
// const uint8_t FUJITSU_GENERAL_OUTDOOR_UNIT_LOW_NOISE_BYTE14 = 0xA0;
|
||||
// const uint8_t FUJITSU_GENERAL_STATE_BYTE14 = 0x20;
|
||||
|
||||
const uint16_t FUJITSU_GENERAL_HEADER_MARK = 3300;
|
||||
const uint16_t FUJITSU_GENERAL_HEADER_SPACE = 1600;
|
||||
constexpr uint16_t FUJITSU_GENERAL_HEADER_MARK = 3300;
|
||||
constexpr uint16_t FUJITSU_GENERAL_HEADER_SPACE = 1600;
|
||||
|
||||
const uint16_t FUJITSU_GENERAL_BIT_MARK = 420;
|
||||
const uint16_t FUJITSU_GENERAL_ONE_SPACE = 1200;
|
||||
const uint16_t FUJITSU_GENERAL_ZERO_SPACE = 420;
|
||||
constexpr uint16_t FUJITSU_GENERAL_BIT_MARK = 420;
|
||||
constexpr uint16_t FUJITSU_GENERAL_ONE_SPACE = 1200;
|
||||
constexpr uint16_t FUJITSU_GENERAL_ZERO_SPACE = 420;
|
||||
|
||||
const uint16_t FUJITSU_GENERAL_TRL_MARK = 420;
|
||||
const uint16_t FUJITSU_GENERAL_TRL_SPACE = 8000;
|
||||
constexpr uint16_t FUJITSU_GENERAL_TRL_MARK = 420;
|
||||
constexpr uint16_t FUJITSU_GENERAL_TRL_SPACE = 8000;
|
||||
|
||||
const uint32_t FUJITSU_GENERAL_CARRIER_FREQUENCY = 38000;
|
||||
constexpr uint32_t FUJITSU_GENERAL_CARRIER_FREQUENCY = 38000;
|
||||
|
||||
void FujitsuGeneralClimate::transmit_state() {
|
||||
if (this->mode == climate::CLIMATE_MODE_OFF) {
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
|
||||
namespace esphome::fujitsu_general {
|
||||
|
||||
const uint8_t FUJITSU_GENERAL_TEMP_MIN = 16; // Celsius // TODO 16 for heating, 18 for cooling, unsupported in ESPH
|
||||
const uint8_t FUJITSU_GENERAL_TEMP_MAX = 30; // Celsius
|
||||
constexpr uint8_t FUJITSU_GENERAL_TEMP_MIN = 16; // Celsius // TODO 16 for heating, 18 for cooling, unsupported in ESPH
|
||||
constexpr uint8_t FUJITSU_GENERAL_TEMP_MAX = 30; // Celsius
|
||||
|
||||
// clang-format off
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user