Maintenance mode for different Qlima models
This commit is contained in:
parent
81bb077dca
commit
eadfbe1bbf
|
@ -22,10 +22,33 @@ CarrierNQVHeatpumpIR::CarrierNQVHeatpumpIR() : CarrierHeatpumpIR()
|
||||||
CarrierMCAHeatpumpIR::CarrierMCAHeatpumpIR() : CarrierHeatpumpIR()
|
CarrierMCAHeatpumpIR::CarrierMCAHeatpumpIR() : CarrierHeatpumpIR()
|
||||||
{
|
{
|
||||||
static const char PROGMEM model[] PROGMEM = "carrier_mca";
|
static const char PROGMEM model[] PROGMEM = "carrier_mca";
|
||||||
static const char PROGMEM info[] PROGMEM = "{\"mdl\":\"carrier_mca\",\"dn\":\"Carrier MCA\",\"mT\":17,\"xT\":30,\"fs\":4, \"maint\":[10]}";
|
static const char PROGMEM info[] PROGMEM = "{\"mdl\":\"carrier_mca\",\"dn\":\"Carrier MCA\",\"mT\":17,\"xT\":30,\"fs\":4}";
|
||||||
|
|
||||||
_model = model;
|
_model = model;
|
||||||
_info = info;
|
_info = info;
|
||||||
|
_carrierModel = MODEL_CARRIER_MCA;
|
||||||
|
}
|
||||||
|
|
||||||
|
Qlima1HeatpumpIR::Qlima1HeatpumpIR() : CarrierMCAHeatpumpIR()
|
||||||
|
{
|
||||||
|
static const char PROGMEM model[] PROGMEM = "qlima_1";
|
||||||
|
static const char PROGMEM info[] PROGMEM = "{\"mdl\":\"qlima_1\",\"dn\":\"Qlima #1\",\"mT\":17,\"xT\":30,\"fs\":4, \"maint\":[10]}";
|
||||||
|
|
||||||
|
_model = model;
|
||||||
|
_info = info;
|
||||||
|
|
||||||
|
_carrierModel = MODEL_QLIMA_1;
|
||||||
|
}
|
||||||
|
|
||||||
|
Qlima2HeatpumpIR::Qlima2HeatpumpIR() : CarrierMCAHeatpumpIR()
|
||||||
|
{
|
||||||
|
static const char PROGMEM model[] PROGMEM = "qlima_2";
|
||||||
|
static const char PROGMEM info[] PROGMEM = "{\"mdl\":\"qlima_2\",\"dn\":\"Qlima #2\",\"mT\":17,\"xT\":30,\"fs\":4, \"maint\":[10]}";
|
||||||
|
|
||||||
|
_model = model;
|
||||||
|
_info = info;
|
||||||
|
|
||||||
|
_carrierModel = MODEL_QLIMA_2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -274,8 +297,9 @@ void CarrierMCAHeatpumpIR::send(IRSender& IR, uint8_t powerModeCmd, uint8_t oper
|
||||||
void CarrierMCAHeatpumpIR::sendCarrier(IRSender& IR, uint8_t powerMode, uint8_t operatingMode, uint8_t fanSpeed, uint8_t temperature, bool maintenanceMode, bool turboMode)
|
void CarrierMCAHeatpumpIR::sendCarrier(IRSender& IR, uint8_t powerMode, uint8_t operatingMode, uint8_t fanSpeed, uint8_t temperature, bool maintenanceMode, bool turboMode)
|
||||||
{
|
{
|
||||||
uint8_t sendBuffer[] = { 0x4D, 0xB2, 0xD8, 0x00, 0x00, 0x00 };
|
uint8_t sendBuffer[] = { 0x4D, 0xB2, 0xD8, 0x00, 0x00, 0x00 };
|
||||||
static const uint8_t sendBufferMaintenance[] PROGMEM = { 0xAD, 0x52, 0xAF, 0x50, 0x55, 0xAA };
|
static const uint8_t sendBufferMaintenance1[] PROGMEM = { 0xAD, 0x52, 0xAF, 0x50, 0xB5, 0x4A };
|
||||||
static const uint8_t sendBufferTurbo[] PROGMEM = { 0xAD, 0x52, 0xAF, 0x50, 0x45, 0xBA };
|
static const uint8_t sendBufferMaintenance2[] PROGMEM = { 0xAD, 0x52, 0xAF, 0x50, 0x55, 0xAA };
|
||||||
|
static const uint8_t sendBufferTurbo[] PROGMEM = { 0xAD, 0x52, 0xAF, 0x50, 0x45, 0xBA };
|
||||||
|
|
||||||
static const uint8_t temperatures[] PROGMEM = { 0, 8, 12, 4, 6, 14, 10, 2, 3, 11, 9, 1, 5, 13, 7 };
|
static const uint8_t temperatures[] PROGMEM = { 0, 8, 12, 4, 6, 14, 10, 2, 3, 11, 9, 1, 5, 13, 7 };
|
||||||
|
|
||||||
|
@ -289,11 +313,15 @@ void CarrierMCAHeatpumpIR::sendCarrier(IRSender& IR, uint8_t powerMode, uint8_t
|
||||||
sendBuffer[5] = ~sendBuffer[4];
|
sendBuffer[5] = ~sendBuffer[4];
|
||||||
|
|
||||||
// Maintenance or turbo mode overide
|
// Maintenance or turbo mode overide
|
||||||
if (maintenanceMode)
|
if (maintenanceMode && _carrierModel == MODEL_QLIMA_1)
|
||||||
{
|
{
|
||||||
memcpy_P(sendBuffer, sendBufferMaintenance, sizeof(sendBufferMaintenance));
|
memcpy_P(sendBuffer, sendBufferMaintenance1, sizeof(sendBufferMaintenance1));
|
||||||
}
|
}
|
||||||
if (turboMode)
|
if (maintenanceMode && _carrierModel == MODEL_QLIMA_2)
|
||||||
|
{
|
||||||
|
memcpy_P(sendBuffer, sendBufferMaintenance2, sizeof(sendBufferMaintenance2));
|
||||||
|
}
|
||||||
|
if (turboMode && (_carrierModel == MODEL_QLIMA_1 || _carrierModel == MODEL_QLIMA_2))
|
||||||
{
|
{
|
||||||
memcpy_P(sendBuffer, sendBufferTurbo, sizeof(sendBufferTurbo));
|
memcpy_P(sendBuffer, sendBufferTurbo, sizeof(sendBufferTurbo));
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,6 +53,10 @@
|
||||||
#define CARRIER_AIRCON2_FAN_OFF 0x06
|
#define CARRIER_AIRCON2_FAN_OFF 0x06
|
||||||
|
|
||||||
|
|
||||||
|
#define MODEL_CARRIER_MCA 1
|
||||||
|
#define MODEL_QLIMA_1 2
|
||||||
|
#define MODEL_QLIMA_2 3
|
||||||
|
|
||||||
class CarrierHeatpumpIR : public HeatpumpIR
|
class CarrierHeatpumpIR : public HeatpumpIR
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
@ -88,4 +92,16 @@ class CarrierMCAHeatpumpIR : public CarrierHeatpumpIR
|
||||||
void sendCarrier(IRSender& IR, uint8_t powerMode, uint8_t operatingMode, uint8_t fanSpeed, uint8_t temperature, bool maintenanceMode, bool turboMode);
|
void sendCarrier(IRSender& IR, uint8_t powerMode, uint8_t operatingMode, uint8_t fanSpeed, uint8_t temperature, bool maintenanceMode, bool turboMode);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class Qlima1HeatpumpIR : public CarrierMCAHeatpumpIR
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Qlima1HeatpumpIR();
|
||||||
|
};
|
||||||
|
|
||||||
|
class Qlima2HeatpumpIR : public CarrierMCAHeatpumpIR
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Qlima2HeatpumpIR();
|
||||||
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -9,6 +9,8 @@ CarrierHeatpumpIR KEYWORD1
|
||||||
CarrierNQVHeatpumpIR KEYWORD1
|
CarrierNQVHeatpumpIR KEYWORD1
|
||||||
ToshibaDaiseikaiHeatpumpIR KEYWORD1
|
ToshibaDaiseikaiHeatpumpIR KEYWORD1
|
||||||
CarrierMCAHeatpumpIR KEYWORD1
|
CarrierMCAHeatpumpIR KEYWORD1
|
||||||
|
Qlima1HeatpumpIR KEYWORD1
|
||||||
|
Qlima2HeatpumpIR KEYWORD1
|
||||||
MideaHeatpumpIR KEYWORD1
|
MideaHeatpumpIR KEYWORD1
|
||||||
FujitsuHeatpumpIR KEYWORD1
|
FujitsuHeatpumpIR KEYWORD1
|
||||||
MitsubishiHeatpumpIR KEYWORD1
|
MitsubishiHeatpumpIR KEYWORD1
|
||||||
|
|
Loading…
Reference in New Issue