From 332b36ca5555165406dc1c7a5d384c311fe8a37d Mon Sep 17 00:00:00 2001 From: Toni Date: Mon, 13 Apr 2020 10:18:13 +0300 Subject: [PATCH] #102 DaikinHeatpumpARC480A14 should implement the HeatpumpIR interface. Add Daikin models into the HeatpumpIRFactory --- DaikinHeatpumpARC480A14IR.cpp | 6 ++++++ DaikinHeatpumpARC480A14IR.h | 1 + HeatpumpIRFactory.cpp | 6 ++++++ HeatpumpIRFactory.h | 2 ++ 4 files changed, 15 insertions(+) diff --git a/DaikinHeatpumpARC480A14IR.cpp b/DaikinHeatpumpARC480A14IR.cpp index 90f2db4..8dadffd 100644 --- a/DaikinHeatpumpARC480A14IR.cpp +++ b/DaikinHeatpumpARC480A14IR.cpp @@ -10,6 +10,12 @@ DaikinHeatpumpARC480A14IR::DaikinHeatpumpARC480A14IR() : HeatpumpIR() } +void DaikinHeatpumpARC480A14IR::send(IRSender& IR, uint8_t powerModeCmd, uint8_t operatingModeCmd, uint8_t fanSpeedCmd, uint8_t temperatureCmd, uint8_t swingVCmd, uint8_t swingHCmd) +{ + send(IR, powerModeCmd, operatingModeCmd, fanSpeedCmd, temperatureCmd, swingVCmd, swingHCmd, + DAIKIN_AIRCON_COMFORT_OFF, DAIKIN_AIRCON_ECONO_OFF, DAIKIN_AIRCON_SENSOR_OFF, DAIKIN_AIRCON_QUIET_OFF, DAIKIN_AIRCON_POWERFUL_OFF); +} + // Daikin numeric values to command bytes void DaikinHeatpumpARC480A14IR::send(IRSender& IR, uint8_t powerModeCmd, uint8_t operatingModeCmd, uint8_t fanSpeedCmd, uint8_t temperatureCmd, uint8_t swingVCmd, uint8_t swingHCmd, uint8_t comfortModeCmd, uint8_t econoCmd, uint8_t sensorCmd, uint8_t quietCmd, uint8_t powerfulCmd) { diff --git a/DaikinHeatpumpARC480A14IR.h b/DaikinHeatpumpARC480A14IR.h index fb88d73..52ebba5 100644 --- a/DaikinHeatpumpARC480A14IR.h +++ b/DaikinHeatpumpARC480A14IR.h @@ -48,6 +48,7 @@ class DaikinHeatpumpARC480A14IR : public HeatpumpIR { public: DaikinHeatpumpARC480A14IR(); + void send(IRSender& IR, uint8_t powerModeCmd, uint8_t operatingModeCmd, uint8_t fanSpeedCmd, uint8_t temperatureCmd, uint8_t swingVCmd, uint8_t swingHCmd); void send(IRSender& IR, uint8_t powerModeCmd, uint8_t operatingModeCmd, uint8_t fanSpeedCmd, uint8_t temperatureCmd, uint8_t swingVCmd, uint8_t swingHCmd, uint8_t comfortMode, uint8_t econo, uint8_t sensor, uint8_t quiet, uint8_t powerful); private: void sendDaikin(IRSender& IR, uint8_t operatingMode, uint8_t fanSpeed, uint8_t temperature, uint8_t swingV, uint8_t swingH, uint8_t comfortMode, uint8_t econo, uint8_t sensor, uint8_t quiet, uint8_t powerful); diff --git a/HeatpumpIRFactory.cpp b/HeatpumpIRFactory.cpp index 9bcaea5..3fe0eb6 100644 --- a/HeatpumpIRFactory.cpp +++ b/HeatpumpIRFactory.cpp @@ -11,6 +11,12 @@ HeatpumpIR* HeatpumpIRFactory::create(const char *modelName) { return new CarrierMCAHeatpumpIR(); } else if (strcmp_P(modelName, PSTR("carrier_nqv")) == 0) { return new CarrierNQVHeatpumpIR(); + } else if (strcmp_P(modelName, PSTR("daikin_arc417")) == 0) { + return new DaikinHeatpumpARC417IR(); + } else if (strcmp_P(modelName, PSTR("daikin_arc480")) == 0) { + return new DaikinHeatpumpARC480A14IR(); + } else if (strcmp_P(modelName, PSTR("daikin")) == 0) { + return new DaikinHeatpumpIR(); } else if (strcmp_P(modelName, PSTR("fuego")) == 0) { return new FuegoHeatpumpIR(); } else if (strcmp_P(modelName, PSTR("fujitsu_awyz")) == 0) { diff --git a/HeatpumpIRFactory.h b/HeatpumpIRFactory.h index e22a2c6..dd03313 100644 --- a/HeatpumpIRFactory.h +++ b/HeatpumpIRFactory.h @@ -5,6 +5,8 @@ #include #include #include +#include +#include #include #include #include