Update IRRemoteESP8266 version to 2.5.5
factorize IR send signal function between the 2 types of receiving Add new IRRemoteESP8266 protocols replace pins on mega according schema remove unecessaries spaces
This commit is contained in:
1 parent
0180a0dbd5
commit
f0305236db
149 files changed
+20957
-7850
No files matched your search
@@ -1,8 +1,8 @@
|
||||
// Copyright 2017 David Conran
|
||||
|
||||
#include "ir_Midea.h"
|
||||
#include "IRsend.h"
|
||||
#include "IRsend_test.h"
|
||||
#include "ir_Midea.h"
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
// Tests for sendMidea().
|
||||
@@ -30,7 +30,8 @@ TEST(TestSendMidea, SendDataOnly) {
|
||||
"m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680"
|
||||
"m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680"
|
||||
"m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680"
|
||||
"m560s5600", irsend.outputStr());
|
||||
"m560s5600",
|
||||
irsend.outputStr());
|
||||
|
||||
irsend.reset();
|
||||
irsend.sendMidea(0x55AA55AA55AA);
|
||||
@@ -50,7 +51,8 @@ TEST(TestSendMidea, SendDataOnly) {
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s5600", irsend.outputStr());
|
||||
"m560s5600",
|
||||
irsend.outputStr());
|
||||
|
||||
irsend.reset();
|
||||
irsend.sendMidea(0xFFFFFFFFFFFF);
|
||||
@@ -70,7 +72,8 @@ TEST(TestSendMidea, SendDataOnly) {
|
||||
"m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560"
|
||||
"m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560"
|
||||
"m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560"
|
||||
"m560s5600", irsend.outputStr());
|
||||
"m560s5600",
|
||||
irsend.outputStr());
|
||||
}
|
||||
|
||||
// Test sending with different repeats.
|
||||
@@ -79,7 +82,7 @@ TEST(TestSendMidea, SendWithRepeats) {
|
||||
irsend.begin();
|
||||
|
||||
irsend.reset();
|
||||
irsend.sendMidea(0x55AA55AA55AA, MIDEA_BITS, 1); // 1 repeat.
|
||||
irsend.sendMidea(0x55AA55AA55AA, kMideaBits, 1); // 1 repeat.
|
||||
EXPECT_EQ(
|
||||
"m4480s4480"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
@@ -112,57 +115,59 @@ TEST(TestSendMidea, SendWithRepeats) {
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s5600", irsend.outputStr());
|
||||
irsend.sendMidea(0x55AA55AA55AA, MIDEA_BITS, 2); // 2 repeats.
|
||||
"m560s5600",
|
||||
irsend.outputStr());
|
||||
irsend.sendMidea(0x55AA55AA55AA, kMideaBits, 2); // 2 repeats.
|
||||
EXPECT_EQ(
|
||||
"m4480s4480"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s5600"
|
||||
"m4480s4480"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s5600"
|
||||
"m4480s4480"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s5600"
|
||||
"m4480s4480"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s5600"
|
||||
"m4480s4480"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s5600"
|
||||
"m4480s4480"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s5600", irsend.outputStr());
|
||||
"m4480s4480"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s5600"
|
||||
"m4480s4480"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s5600"
|
||||
"m4480s4480"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s5600"
|
||||
"m4480s4480"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s5600"
|
||||
"m4480s4480"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s5600"
|
||||
"m4480s4480"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
"m560s5600",
|
||||
irsend.outputStr());
|
||||
}
|
||||
|
||||
// Test sending an atypical data size.
|
||||
@@ -178,7 +183,8 @@ TEST(TestSendMidea, SendUnusualSize) {
|
||||
"m560s5600"
|
||||
"m4480s4480"
|
||||
"m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680"
|
||||
"m560s5600", irsend.outputStr());
|
||||
"m560s5600",
|
||||
irsend.outputStr());
|
||||
|
||||
irsend.reset();
|
||||
irsend.sendMidea(0x1234567890ABCDEF, 64);
|
||||
@@ -202,12 +208,13 @@ TEST(TestSendMidea, SendUnusualSize) {
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s560"
|
||||
"m560s560m560s560m560s1680m560s1680m560s560m560s560m560s1680m560s560"
|
||||
"m560s560m560s560m560s560m560s1680m560s560m560s560m560s560m560s560"
|
||||
"m560s5600", irsend.outputStr());
|
||||
"m560s5600",
|
||||
irsend.outputStr());
|
||||
|
||||
// Bit sizes must be a multiple of 8.
|
||||
irsend.reset();
|
||||
irsend.sendMidea(0x0, 17);
|
||||
EXPECT_EQ("" , irsend.outputStr());
|
||||
EXPECT_EQ("", irsend.outputStr());
|
||||
}
|
||||
|
||||
// Tests for IRMideaAC class.
|
||||
@@ -228,7 +235,6 @@ TEST(TestMideaACClass, Power) {
|
||||
EXPECT_FALSE(midea.getPower());
|
||||
EXPECT_EQ(0xA1026FFFFFE2, midea.getRaw());
|
||||
|
||||
|
||||
midea.setPower(true);
|
||||
EXPECT_TRUE(midea.getPower());
|
||||
EXPECT_EQ(0xA1826FFFFF62, midea.getRaw());
|
||||
@@ -272,32 +278,32 @@ TEST(TestMideaACClass, OperatingMode) {
|
||||
midea.begin();
|
||||
|
||||
midea.setRaw(0xA1826FFFFF62); // Auto mode already set.
|
||||
midea.setMode(MIDEA_AC_AUTO);
|
||||
EXPECT_EQ(MIDEA_AC_AUTO, midea.getMode());
|
||||
midea.setMode(kMideaACAuto);
|
||||
EXPECT_EQ(kMideaACAuto, midea.getMode());
|
||||
EXPECT_EQ(0xA1826FFFFF62, midea.getRaw()); // State shouldn't have changed.
|
||||
|
||||
midea.setMode(MIDEA_AC_COOL);
|
||||
EXPECT_EQ(MIDEA_AC_COOL, midea.getMode());
|
||||
midea.setMode(kMideaACCool);
|
||||
EXPECT_EQ(kMideaACCool, midea.getMode());
|
||||
EXPECT_EQ(0xA1806FFFFF61, midea.getRaw());
|
||||
|
||||
midea.setMode(MIDEA_AC_AUTO);
|
||||
EXPECT_EQ(MIDEA_AC_AUTO, midea.getMode());
|
||||
midea.setMode(kMideaACAuto);
|
||||
EXPECT_EQ(kMideaACAuto, midea.getMode());
|
||||
EXPECT_EQ(0xA1826FFFFF62, midea.getRaw());
|
||||
|
||||
midea.setMode(MIDEA_AC_HEAT);
|
||||
EXPECT_EQ(MIDEA_AC_HEAT, midea.getMode());
|
||||
midea.setMode(kMideaACHeat);
|
||||
EXPECT_EQ(kMideaACHeat, midea.getMode());
|
||||
EXPECT_EQ(0xA1836FFFFF63, midea.getRaw());
|
||||
|
||||
midea.setMode(MIDEA_AC_DRY);
|
||||
EXPECT_EQ(MIDEA_AC_DRY, midea.getMode());
|
||||
midea.setMode(kMideaACDry);
|
||||
EXPECT_EQ(kMideaACDry, midea.getMode());
|
||||
EXPECT_EQ(0xA1816FFFFF60, midea.getRaw());
|
||||
|
||||
midea.setMode(MIDEA_AC_FAN);
|
||||
EXPECT_EQ(MIDEA_AC_FAN, midea.getMode());
|
||||
midea.setMode(kMideaACFan);
|
||||
EXPECT_EQ(kMideaACFan, midea.getMode());
|
||||
EXPECT_EQ(0xA1846FFFFF66, midea.getRaw());
|
||||
|
||||
midea.setMode(255);
|
||||
EXPECT_EQ(MIDEA_AC_AUTO, midea.getMode());
|
||||
EXPECT_EQ(kMideaACAuto, midea.getMode());
|
||||
EXPECT_EQ(0xA1826FFFFF62, midea.getRaw());
|
||||
}
|
||||
|
||||
@@ -306,26 +312,26 @@ TEST(TestMideaACClass, FanSpeed) {
|
||||
midea.begin();
|
||||
|
||||
midea.setRaw(0xA1826FFFFF62); // Auto mode already set.
|
||||
EXPECT_EQ(MIDEA_AC_FAN_AUTO, midea.getFan());
|
||||
EXPECT_EQ(kMideaACFanAuto, midea.getFan());
|
||||
|
||||
midea.setFan(MIDEA_AC_FAN_LOW);
|
||||
EXPECT_EQ(MIDEA_AC_FAN_LOW, midea.getFan());
|
||||
midea.setFan(kMideaACFanLow);
|
||||
EXPECT_EQ(kMideaACFanLow, midea.getFan());
|
||||
EXPECT_EQ(0xA18A6FFFFF6C, midea.getRaw());
|
||||
|
||||
midea.setFan(255); // Setting an unexpected value defaults to auto.
|
||||
EXPECT_EQ(MIDEA_AC_FAN_AUTO, midea.getFan());
|
||||
EXPECT_EQ(kMideaACFanAuto, midea.getFan());
|
||||
EXPECT_EQ(0xA1826FFFFF62, midea.getRaw());
|
||||
|
||||
midea.setFan(MIDEA_AC_FAN_MED);
|
||||
EXPECT_EQ(MIDEA_AC_FAN_MED, midea.getFan());
|
||||
midea.setFan(kMideaACFanMed);
|
||||
EXPECT_EQ(kMideaACFanMed, midea.getFan());
|
||||
EXPECT_EQ(0xA1926FFFFF7C, midea.getRaw());
|
||||
|
||||
midea.setFan(MIDEA_AC_FAN_HI);
|
||||
EXPECT_EQ(MIDEA_AC_FAN_HI, midea.getFan());
|
||||
midea.setFan(kMideaACFanHigh);
|
||||
EXPECT_EQ(kMideaACFanHigh, midea.getFan());
|
||||
EXPECT_EQ(0xA19A6FFFFF74, midea.getRaw());
|
||||
|
||||
midea.setFan(MIDEA_AC_FAN_AUTO);
|
||||
EXPECT_EQ(MIDEA_AC_FAN_AUTO, midea.getFan());
|
||||
midea.setFan(kMideaACFanAuto);
|
||||
EXPECT_EQ(kMideaACFanAuto, midea.getFan());
|
||||
EXPECT_EQ(0xA1826FFFFF62, midea.getRaw());
|
||||
}
|
||||
|
||||
@@ -333,81 +339,81 @@ TEST(TestMideaACClass, Temperature) {
|
||||
IRMideaAC midea(0);
|
||||
midea.begin();
|
||||
|
||||
midea.setRaw(0xA1826FFFFF62); // 77F / 25C
|
||||
EXPECT_EQ(77, midea.getTemp()); // F
|
||||
midea.setRaw(0xA1826FFFFF62); // 77F / 25C
|
||||
EXPECT_EQ(77, midea.getTemp()); // F
|
||||
EXPECT_EQ(77, midea.getTemp(false)); // F
|
||||
EXPECT_EQ(25, midea.getTemp(true)); // F
|
||||
EXPECT_EQ(25, midea.getTemp(true)); // F
|
||||
|
||||
midea.setTemp(0);
|
||||
EXPECT_EQ(MIDEA_AC_MIN_TEMP_F, midea.getTemp());
|
||||
EXPECT_EQ(kMideaACMinTempF, midea.getTemp());
|
||||
EXPECT_EQ(0xA18260FFFF6C, midea.getRaw());
|
||||
|
||||
midea.setTemp(255);
|
||||
EXPECT_EQ(MIDEA_AC_MAX_TEMP_F, midea.getTemp());
|
||||
EXPECT_EQ(kMideaACMaxTempF, midea.getTemp());
|
||||
EXPECT_EQ(0xA18278FFFF78, midea.getRaw());
|
||||
|
||||
midea.setTemp(0, true);
|
||||
EXPECT_EQ(MIDEA_AC_MIN_TEMP_F, midea.getTemp());
|
||||
EXPECT_EQ(kMideaACMinTempF, midea.getTemp());
|
||||
EXPECT_EQ(0xA18260FFFF6C, midea.getRaw());
|
||||
|
||||
midea.setTemp(255, true);
|
||||
EXPECT_EQ(MIDEA_AC_MAX_TEMP_F, midea.getTemp());
|
||||
EXPECT_EQ(kMideaACMaxTempF, midea.getTemp());
|
||||
EXPECT_EQ(0xA18278FFFF78, midea.getRaw());
|
||||
|
||||
// fahrenheit min/max etc.
|
||||
midea.setTemp(MIDEA_AC_MIN_TEMP_F);
|
||||
EXPECT_EQ(MIDEA_AC_MIN_TEMP_F, midea.getTemp());
|
||||
midea.setTemp(kMideaACMinTempF);
|
||||
EXPECT_EQ(kMideaACMinTempF, midea.getTemp());
|
||||
|
||||
midea.setTemp(MIDEA_AC_MAX_TEMP_F);
|
||||
EXPECT_EQ(MIDEA_AC_MAX_TEMP_F, midea.getTemp());
|
||||
midea.setTemp(kMideaACMaxTempF);
|
||||
EXPECT_EQ(kMideaACMaxTempF, midea.getTemp());
|
||||
|
||||
midea.setTemp(MIDEA_AC_MIN_TEMP_F - 1);
|
||||
EXPECT_EQ(MIDEA_AC_MIN_TEMP_F, midea.getTemp());
|
||||
midea.setTemp(kMideaACMinTempF - 1);
|
||||
EXPECT_EQ(kMideaACMinTempF, midea.getTemp());
|
||||
|
||||
midea.setTemp(MIDEA_AC_MAX_TEMP_F + 1);
|
||||
EXPECT_EQ(MIDEA_AC_MAX_TEMP_F, midea.getTemp());
|
||||
midea.setTemp(kMideaACMaxTempF + 1);
|
||||
EXPECT_EQ(kMideaACMaxTempF, midea.getTemp());
|
||||
|
||||
// celsius min/max etc.
|
||||
midea.setTemp(MIDEA_AC_MIN_TEMP_C, true);
|
||||
EXPECT_EQ(MIDEA_AC_MIN_TEMP_C, midea.getTemp(true));
|
||||
EXPECT_EQ(MIDEA_AC_MIN_TEMP_F, midea.getTemp(false));
|
||||
midea.setTemp(kMideaACMinTempC, true);
|
||||
EXPECT_EQ(kMideaACMinTempC, midea.getTemp(true));
|
||||
EXPECT_EQ(kMideaACMinTempF, midea.getTemp(false));
|
||||
|
||||
midea.setTemp(MIDEA_AC_MAX_TEMP_C, true);
|
||||
EXPECT_EQ(MIDEA_AC_MAX_TEMP_C, midea.getTemp(true));
|
||||
EXPECT_EQ(MIDEA_AC_MAX_TEMP_F, midea.getTemp(false));
|
||||
midea.setTemp(kMideaACMaxTempC, true);
|
||||
EXPECT_EQ(kMideaACMaxTempC, midea.getTemp(true));
|
||||
EXPECT_EQ(kMideaACMaxTempF, midea.getTemp(false));
|
||||
|
||||
midea.setTemp(MIDEA_AC_MIN_TEMP_C - 1, true);
|
||||
EXPECT_EQ(MIDEA_AC_MIN_TEMP_C, midea.getTemp(true));
|
||||
midea.setTemp(kMideaACMinTempC - 1, true);
|
||||
EXPECT_EQ(kMideaACMinTempC, midea.getTemp(true));
|
||||
|
||||
midea.setTemp(MIDEA_AC_MAX_TEMP_C + 1, true);
|
||||
EXPECT_EQ(MIDEA_AC_MAX_TEMP_C, midea.getTemp(true));
|
||||
EXPECT_EQ(MIDEA_AC_MAX_TEMP_F, midea.getTemp(false));
|
||||
midea.setTemp(kMideaACMaxTempC + 1, true);
|
||||
EXPECT_EQ(kMideaACMaxTempC, midea.getTemp(true));
|
||||
EXPECT_EQ(kMideaACMaxTempF, midea.getTemp(false));
|
||||
|
||||
// General changes.
|
||||
midea.setTemp(17, true); // C
|
||||
EXPECT_EQ(17, midea.getTemp(true)); // C
|
||||
midea.setTemp(17, true); // C
|
||||
EXPECT_EQ(17, midea.getTemp(true)); // C
|
||||
EXPECT_EQ(63, midea.getTemp(false)); // F
|
||||
|
||||
midea.setTemp(21, true); // C
|
||||
EXPECT_EQ(21, midea.getTemp(true)); // C
|
||||
midea.setTemp(21, true); // C
|
||||
EXPECT_EQ(21, midea.getTemp(true)); // C
|
||||
EXPECT_EQ(70, midea.getTemp(false)); // F
|
||||
|
||||
midea.setTemp(25, true); // C
|
||||
EXPECT_EQ(25, midea.getTemp(true)); // C
|
||||
midea.setTemp(25, true); // C
|
||||
EXPECT_EQ(25, midea.getTemp(true)); // C
|
||||
EXPECT_EQ(77, midea.getTemp(false)); // F
|
||||
|
||||
midea.setTemp(30, true); // C
|
||||
EXPECT_EQ(30, midea.getTemp(true)); // C
|
||||
midea.setTemp(30, true); // C
|
||||
EXPECT_EQ(30, midea.getTemp(true)); // C
|
||||
EXPECT_EQ(86, midea.getTemp(false)); // F
|
||||
|
||||
midea.setTemp(80, false); // F
|
||||
EXPECT_EQ(26, midea.getTemp(true)); // C
|
||||
midea.setTemp(80, false); // F
|
||||
EXPECT_EQ(26, midea.getTemp(true)); // C
|
||||
EXPECT_EQ(80, midea.getTemp(false)); // F
|
||||
|
||||
midea.setTemp(70); // F
|
||||
EXPECT_EQ(21, midea.getTemp(true)); // C
|
||||
midea.setTemp(70); // F
|
||||
EXPECT_EQ(21, midea.getTemp(true)); // C
|
||||
EXPECT_EQ(70, midea.getTemp(false)); // F
|
||||
EXPECT_EQ(70, midea.getTemp()); // F
|
||||
EXPECT_EQ(70, midea.getTemp()); // F
|
||||
}
|
||||
|
||||
// Tests for controlling the sleep state.
|
||||
@@ -431,12 +437,14 @@ TEST(TestMideaACClass, HumanReadableOutput) {
|
||||
midea.begin();
|
||||
|
||||
midea.setRaw(0xA1826FFFFF62);
|
||||
EXPECT_EQ("Power: On, Mode: 2 (AUTO), Temp: 25C/77F, Fan: 0 (AUTO), "
|
||||
"Sleep: Off", midea.toString());
|
||||
EXPECT_EQ(
|
||||
"Power: On, Mode: 2 (AUTO), Temp: 25C/77F, Fan: 0 (AUTO), "
|
||||
"Sleep: Off",
|
||||
midea.toString());
|
||||
midea.off();
|
||||
midea.setTemp(25);
|
||||
midea.setFan(MIDEA_AC_FAN_HI);
|
||||
midea.setMode(MIDEA_AC_DRY);
|
||||
midea.setFan(kMideaACFanHigh);
|
||||
midea.setMode(kMideaACDry);
|
||||
midea.setSleep(true);
|
||||
EXPECT_EQ("Power: Off, Mode: 1 (DRY), Temp: 16C/62F, Fan: 3 (HI), Sleep: On",
|
||||
midea.toString());
|
||||
@@ -458,9 +466,9 @@ TEST(TestDecodeMidea, NormalDecodeWithStrict) {
|
||||
irsend.reset();
|
||||
irsend.sendMidea(0x1234567890DF);
|
||||
irsend.makeDecodeResult();
|
||||
ASSERT_TRUE(irrecv.decodeMidea(&irsend.capture, MIDEA_BITS, true));
|
||||
ASSERT_TRUE(irrecv.decodeMidea(&irsend.capture, kMideaBits, true));
|
||||
EXPECT_EQ(MIDEA, irsend.capture.decode_type);
|
||||
EXPECT_EQ(MIDEA_BITS, irsend.capture.bits);
|
||||
EXPECT_EQ(kMideaBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0x1234567890DF, irsend.capture.value);
|
||||
EXPECT_EQ(0x0, irsend.capture.address);
|
||||
EXPECT_EQ(0x0, irsend.capture.command);
|
||||
@@ -470,9 +478,9 @@ TEST(TestDecodeMidea, NormalDecodeWithStrict) {
|
||||
irsend.reset();
|
||||
irsend.sendMidea(0x0);
|
||||
irsend.makeDecodeResult();
|
||||
ASSERT_TRUE(irrecv.decodeMidea(&irsend.capture, MIDEA_BITS, true));
|
||||
ASSERT_TRUE(irrecv.decodeMidea(&irsend.capture, kMideaBits, true));
|
||||
EXPECT_EQ(MIDEA, irsend.capture.decode_type);
|
||||
EXPECT_EQ(MIDEA_BITS, irsend.capture.bits);
|
||||
EXPECT_EQ(kMideaBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0x0, irsend.capture.value);
|
||||
EXPECT_EQ(0x0, irsend.capture.address);
|
||||
EXPECT_EQ(0x0, irsend.capture.command);
|
||||
@@ -482,9 +490,9 @@ TEST(TestDecodeMidea, NormalDecodeWithStrict) {
|
||||
irsend.reset();
|
||||
irsend.sendMidea(0xFFFFFFFFFFA0);
|
||||
irsend.makeDecodeResult();
|
||||
ASSERT_TRUE(irrecv.decodeMidea(&irsend.capture, MIDEA_BITS, true));
|
||||
ASSERT_TRUE(irrecv.decodeMidea(&irsend.capture, kMideaBits, true));
|
||||
EXPECT_EQ(MIDEA, irsend.capture.decode_type);
|
||||
EXPECT_EQ(MIDEA_BITS, irsend.capture.bits);
|
||||
EXPECT_EQ(kMideaBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0xFFFFFFFFFFA0, irsend.capture.value);
|
||||
EXPECT_EQ(0x0, irsend.capture.address);
|
||||
EXPECT_EQ(0x0, irsend.capture.command);
|
||||
@@ -497,7 +505,7 @@ TEST(TestDecodeMidea, NormalDecodeWithStrict) {
|
||||
irsend.makeDecodeResult();
|
||||
ASSERT_TRUE(irrecv.decode(&irsend.capture));
|
||||
EXPECT_EQ(MIDEA, irsend.capture.decode_type);
|
||||
EXPECT_EQ(MIDEA_BITS, irsend.capture.bits);
|
||||
EXPECT_EQ(kMideaBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0xA18263FFFF6E, irsend.capture.value);
|
||||
EXPECT_EQ(0x0, irsend.capture.address);
|
||||
EXPECT_EQ(0x0, irsend.capture.command);
|
||||
@@ -512,24 +520,24 @@ TEST(TestDecodeMidea, NormalDecodeWithRepeatAndStrict) {
|
||||
|
||||
// Normal Midea 48-bit message with 2 repeats.
|
||||
irsend.reset();
|
||||
irsend.sendMidea(0xA18263FFFF6E, MIDEA_BITS, 2);
|
||||
irsend.sendMidea(0xA18263FFFF6E, kMideaBits, 2);
|
||||
irsend.makeDecodeResult();
|
||||
ASSERT_TRUE(irrecv.decodeMidea(&irsend.capture, MIDEA_BITS, true));
|
||||
ASSERT_TRUE(irrecv.decodeMidea(&irsend.capture, kMideaBits, true));
|
||||
EXPECT_EQ(MIDEA, irsend.capture.decode_type);
|
||||
EXPECT_EQ(MIDEA_BITS, irsend.capture.bits);
|
||||
EXPECT_EQ(kMideaBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0xA18263FFFF6E, irsend.capture.value);
|
||||
EXPECT_FALSE(irsend.capture.repeat);
|
||||
|
||||
irsend.makeDecodeResult(2 * (2 * MIDEA_BITS + 4));
|
||||
ASSERT_TRUE(irrecv.decodeMidea(&irsend.capture, MIDEA_BITS, true));
|
||||
irsend.makeDecodeResult(2 * (2 * kMideaBits + 4));
|
||||
ASSERT_TRUE(irrecv.decodeMidea(&irsend.capture, kMideaBits, true));
|
||||
EXPECT_EQ(MIDEA, irsend.capture.decode_type);
|
||||
EXPECT_EQ(MIDEA_BITS, irsend.capture.bits);
|
||||
EXPECT_EQ(kMideaBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0xA18263FFFF6E, irsend.capture.value);
|
||||
|
||||
irsend.makeDecodeResult(4 * (2 * MIDEA_BITS + 4));
|
||||
ASSERT_TRUE(irrecv.decodeMidea(&irsend.capture, MIDEA_BITS, true));
|
||||
irsend.makeDecodeResult(4 * (2 * kMideaBits + 4));
|
||||
ASSERT_TRUE(irrecv.decodeMidea(&irsend.capture, kMideaBits, true));
|
||||
EXPECT_EQ(MIDEA, irsend.capture.decode_type);
|
||||
EXPECT_EQ(MIDEA_BITS, irsend.capture.bits);
|
||||
EXPECT_EQ(kMideaBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0xA18263FFFF6E, irsend.capture.value);
|
||||
}
|
||||
|
||||
@@ -543,7 +551,7 @@ TEST(TestDecodeMidea, DecodeWithNonStrictSizes) {
|
||||
irsend.sendMidea(0x12, 8); // Illegal value Midea 8-bit message.
|
||||
irsend.makeDecodeResult();
|
||||
// Should fail with strict on.
|
||||
ASSERT_FALSE(irrecv.decodeMidea(&irsend.capture, MIDEA_BITS, true));
|
||||
ASSERT_FALSE(irrecv.decodeMidea(&irsend.capture, kMideaBits, true));
|
||||
// Should pass if strict off.
|
||||
ASSERT_TRUE(irrecv.decodeMidea(&irsend.capture, 8, false));
|
||||
EXPECT_EQ(MIDEA, irsend.capture.decode_type);
|
||||
@@ -554,7 +562,7 @@ TEST(TestDecodeMidea, DecodeWithNonStrictSizes) {
|
||||
irsend.sendMidea(0x12345678, 32); // Illegal value Midea 32-bit message.
|
||||
irsend.makeDecodeResult();
|
||||
// Shouldn't pass with strict when we ask for less bits than we got.
|
||||
ASSERT_FALSE(irrecv.decodeMidea(&irsend.capture, MIDEA_BITS, true));
|
||||
ASSERT_FALSE(irrecv.decodeMidea(&irsend.capture, kMideaBits, true));
|
||||
|
||||
irsend.makeDecodeResult();
|
||||
// Should fail with strict when we ask for the wrong bit size.
|
||||
@@ -567,7 +575,7 @@ TEST(TestDecodeMidea, DecodeWithNonStrictSizes) {
|
||||
|
||||
// Decode should fail if asked to decode non-multiples of 8 bits.
|
||||
irsend.reset();
|
||||
irsend.sendMidea(0x123456, MIDEA_BITS, 2);
|
||||
irsend.sendMidea(0x123456, kMideaBits, 2);
|
||||
irsend.makeDecodeResult();
|
||||
ASSERT_FALSE(irrecv.decodeMidea(&irsend.capture, 9, false));
|
||||
}
|
||||
@@ -597,14 +605,15 @@ TEST(TestDecodeMidea, FailToDecodeNonMideaExample) {
|
||||
|
||||
irsend.reset();
|
||||
// Modified a few entries to unexpected values, based on previous test case.
|
||||
uint16_t gc_test[39] = {38000, 1, 1, 322, 162, 20, 61, 20, 61, 20, 20, 20, 20,
|
||||
20, 20, 20, 127, 20, 61, 9, 20, 20, 61, 20, 20, 20,
|
||||
61, 20, 61, 20, 61, 20, 20, 20, 20, 20, 20, 20, 884};
|
||||
uint16_t gc_test[39] = {38000, 1, 1, 322, 162, 20, 61, 20, 61, 20,
|
||||
20, 20, 20, 20, 20, 20, 127, 20, 61, 9,
|
||||
20, 20, 61, 20, 20, 20, 61, 20, 61, 20,
|
||||
61, 20, 20, 20, 20, 20, 20, 20, 884};
|
||||
irsend.sendGC(gc_test, 39);
|
||||
irsend.makeDecodeResult();
|
||||
|
||||
ASSERT_FALSE(irrecv.decodeMidea(&irsend.capture));
|
||||
ASSERT_FALSE(irrecv.decodeMidea(&irsend.capture, MIDEA_BITS, false));
|
||||
ASSERT_FALSE(irrecv.decodeMidea(&irsend.capture, kMideaBits, false));
|
||||
}
|
||||
|
||||
// Decode against a real capture reported by a user. See issue #354
|
||||
@@ -615,26 +624,28 @@ TEST(TestDecodeMidea, DecodeRealExample) {
|
||||
irsend.reset();
|
||||
|
||||
uint16_t rawData[199] = {
|
||||
4366, 4470, 498, 1658, 522, 554, 498, 1658, 496, 580, 498, 580, 498, 578,
|
||||
498, 580, 498, 1658, 498, 1658, 498, 578, 498, 578, 498, 580, 496, 582,
|
||||
496, 578, 498, 1658, 498, 580, 498, 580, 498, 1656, 498, 1656, 500, 580,
|
||||
498, 578, 502, 576, 500, 1656, 498, 1656, 500, 1654, 500, 1656, 500, 1656,
|
||||
498, 1658, 498, 1656, 500, 1658, 498, 1656, 498, 1656, 500, 1656, 500,
|
||||
1654, 500, 1578, 578, 1658, 498, 1656, 500, 1658, 498, 1656, 498, 1656,
|
||||
500, 578, 498, 1638, 516, 1656, 500, 578, 500, 1656, 500, 1656, 498, 1658,
|
||||
522, 554, 500, 5258, 4366, 4472, 498, 580, 498, 1658, 498, 580, 498, 1656,
|
||||
500, 1600, 556, 1658, 500, 1656, 500, 578, 498, 578, 522, 1634, 498, 1588,
|
||||
568, 1658, 498, 1656, 500, 1654, 498, 580, 498, 1658, 498, 1658, 498, 580,
|
||||
496, 578, 500, 1654, 500, 1636, 518, 1656, 500, 578, 520, 558, 498, 578,
|
||||
498, 580, 498, 576, 500, 578, 498, 580, 498, 578, 498, 578, 498, 580, 498,
|
||||
578, 498, 580, 498, 580, 520, 556, 498, 580, 496, 580, 498, 578, 500, 578,
|
||||
498, 1658, 498, 580, 498, 578, 498, 1656, 500, 578, 498, 580, 498, 580,
|
||||
498, 1656, 522};
|
||||
4366, 4470, 498, 1658, 522, 554, 498, 1658, 496, 580, 498, 580,
|
||||
498, 578, 498, 580, 498, 1658, 498, 1658, 498, 578, 498, 578,
|
||||
498, 580, 496, 582, 496, 578, 498, 1658, 498, 580, 498, 580,
|
||||
498, 1656, 498, 1656, 500, 580, 498, 578, 502, 576, 500, 1656,
|
||||
498, 1656, 500, 1654, 500, 1656, 500, 1656, 498, 1658, 498, 1656,
|
||||
500, 1658, 498, 1656, 498, 1656, 500, 1656, 500, 1654, 500, 1578,
|
||||
578, 1658, 498, 1656, 500, 1658, 498, 1656, 498, 1656, 500, 578,
|
||||
498, 1638, 516, 1656, 500, 578, 500, 1656, 500, 1656, 498, 1658,
|
||||
522, 554, 500, 5258, 4366, 4472, 498, 580, 498, 1658, 498, 580,
|
||||
498, 1656, 500, 1600, 556, 1658, 500, 1656, 500, 578, 498, 578,
|
||||
522, 1634, 498, 1588, 568, 1658, 498, 1656, 500, 1654, 498, 580,
|
||||
498, 1658, 498, 1658, 498, 580, 496, 578, 500, 1654, 500, 1636,
|
||||
518, 1656, 500, 578, 520, 558, 498, 578, 498, 580, 498, 576,
|
||||
500, 578, 498, 580, 498, 578, 498, 578, 498, 580, 498, 578,
|
||||
498, 580, 498, 580, 520, 556, 498, 580, 496, 580, 498, 578,
|
||||
500, 578, 498, 1658, 498, 580, 498, 578, 498, 1656, 500, 578,
|
||||
498, 580, 498, 580, 498, 1656, 522};
|
||||
irsend.sendRaw(rawData, 199, 38000);
|
||||
irsend.makeDecodeResult();
|
||||
|
||||
ASSERT_TRUE(irrecv.decode(&irsend.capture));
|
||||
EXPECT_EQ(MIDEA, irsend.capture.decode_type);
|
||||
EXPECT_EQ(MIDEA_BITS, irsend.capture.bits);
|
||||
EXPECT_EQ(kMideaBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0xA18263FFFF6E, irsend.capture.value);
|
||||
}
|
||||
Reference in new issue
Block a user