Update IRRemote ESP8266 to 2.6.2 and add ESP32 support
This commit is contained in:
1 parent
2ee18320be
commit
24bcdbc97c
195 files changed
+22963
-4737
No files matched your search
@@ -15,6 +15,7 @@ TEST(TestSendCoolix, SendDataOnly) {
|
||||
irsend.reset();
|
||||
irsend.sendCOOLIX(0x0);
|
||||
EXPECT_EQ(
|
||||
"f38000d50"
|
||||
"m4480s4480"
|
||||
"m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560"
|
||||
"m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680"
|
||||
@@ -36,6 +37,7 @@ TEST(TestSendCoolix, SendDataOnly) {
|
||||
irsend.reset();
|
||||
irsend.sendCOOLIX(0xAA55AA);
|
||||
EXPECT_EQ(
|
||||
"f38000d50"
|
||||
"m4480s4480"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
@@ -57,6 +59,7 @@ TEST(TestSendCoolix, SendDataOnly) {
|
||||
irsend.reset();
|
||||
irsend.sendCOOLIX(0xFFFFFF);
|
||||
EXPECT_EQ(
|
||||
"f38000d50"
|
||||
"m4480s4480"
|
||||
"m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680"
|
||||
"m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560"
|
||||
@@ -84,6 +87,7 @@ TEST(TestSendCoolix, SendWithRepeats) {
|
||||
irsend.reset();
|
||||
irsend.sendCOOLIX(0xAA55AA, kCoolixBits, 1); // 1 repeat.
|
||||
EXPECT_EQ(
|
||||
"f38000d50"
|
||||
"m4480s4480"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
@@ -103,6 +107,7 @@ TEST(TestSendCoolix, SendWithRepeats) {
|
||||
irsend.outputStr());
|
||||
irsend.sendCOOLIX(0xAA55AA, kCoolixBits, 2); // 2 repeats.
|
||||
EXPECT_EQ(
|
||||
"f38000d50"
|
||||
"m4480s4480"
|
||||
"m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
|
||||
"m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
|
||||
@@ -138,6 +143,7 @@ TEST(TestSendCoolix, SendUnusualSize) {
|
||||
irsend.reset();
|
||||
irsend.sendCOOLIX(0x0, 8);
|
||||
EXPECT_EQ(
|
||||
"f38000d50"
|
||||
"m4480s4480"
|
||||
"m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560"
|
||||
"m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680"
|
||||
@@ -151,6 +157,7 @@ TEST(TestSendCoolix, SendUnusualSize) {
|
||||
irsend.reset();
|
||||
irsend.sendCOOLIX(0x1234567890ABCDEF, 64);
|
||||
EXPECT_EQ(
|
||||
"f38000d50"
|
||||
"m4480s4480"
|
||||
"m560s560m560s560m560s560m560s1680m560s560m560s560m560s1680m560s560"
|
||||
"m560s1680m560s1680m560s1680m560s560m560s1680m560s1680m560s560m560s1680"
|
||||
@@ -388,6 +395,8 @@ TEST(TestCoolixACClass, SetAndGetMode) {
|
||||
TEST(TestCoolixACClass, SetAndGetFan) {
|
||||
IRCoolixAC ircoolix(0);
|
||||
|
||||
// This mode allows pretty much everything except Auto0 speed.
|
||||
ircoolix.setMode(kCoolixCool);
|
||||
ircoolix.setFan(kCoolixFanMax);
|
||||
EXPECT_EQ(kCoolixFanMax, ircoolix.getFan());
|
||||
ircoolix.setFan(kCoolixFanMin);
|
||||
@@ -396,12 +405,29 @@ TEST(TestCoolixACClass, SetAndGetFan) {
|
||||
EXPECT_EQ(kCoolixFanZoneFollow, ircoolix.getFan());
|
||||
ircoolix.setFan(kCoolixFanAuto);
|
||||
EXPECT_EQ(kCoolixFanAuto, ircoolix.getFan());
|
||||
ircoolix.setFan(kCoolixFanAuto0);
|
||||
EXPECT_EQ(kCoolixFanAuto, ircoolix.getFan());
|
||||
ircoolix.setFan(kCoolixFanMax);
|
||||
EXPECT_EQ(kCoolixFanMax, ircoolix.getFan());
|
||||
ASSERT_NE(3, kCoolixFanAuto);
|
||||
// Now try some unexpected value.
|
||||
ircoolix.setFan(3);
|
||||
EXPECT_EQ(kCoolixFanAuto, ircoolix.getFan());
|
||||
|
||||
// These modes allows pretty much everything except Auto speed.
|
||||
ircoolix.setMode(kCoolixDry);
|
||||
EXPECT_EQ(kCoolixFanAuto0, ircoolix.getFan());
|
||||
ircoolix.setFan(kCoolixFanMax);
|
||||
EXPECT_EQ(kCoolixFanMax, ircoolix.getFan());
|
||||
ircoolix.setFan(kCoolixFanAuto);
|
||||
EXPECT_EQ(kCoolixFanAuto0, ircoolix.getFan());
|
||||
|
||||
ircoolix.setMode(kCoolixAuto);
|
||||
EXPECT_EQ(kCoolixFanAuto0, ircoolix.getFan());
|
||||
ircoolix.setFan(kCoolixFanMax);
|
||||
EXPECT_EQ(kCoolixFanMax, ircoolix.getFan());
|
||||
ircoolix.setFan(kCoolixFanAuto0);
|
||||
EXPECT_EQ(kCoolixFanAuto0, ircoolix.getFan());
|
||||
}
|
||||
|
||||
TEST(TestCoolixACClass, SetGetClearSensorTempAndZoneFollow) {
|
||||
@@ -590,3 +616,132 @@ TEST(TestCoolixACClass, Issue624HandleSpecialStatesBetter) {
|
||||
ac.toString());
|
||||
EXPECT_EQ(0xB2BF40, ac.getRaw());
|
||||
}
|
||||
|
||||
TEST(TestCoolixACClass, toCommon) {
|
||||
IRCoolixAC ac(0);
|
||||
ac.setPower(true);
|
||||
ac.setMode(kCoolixCool);
|
||||
ac.setTemp(20);
|
||||
ac.setFan(kCoolixFanMax);
|
||||
|
||||
// Now test it.
|
||||
ASSERT_EQ(decode_type_t::COOLIX, ac.toCommon().protocol);
|
||||
ASSERT_EQ(-1, ac.toCommon().model);
|
||||
ASSERT_TRUE(ac.toCommon().power);
|
||||
ASSERT_TRUE(ac.toCommon().celsius);
|
||||
ASSERT_EQ(20, ac.toCommon().degrees);
|
||||
ASSERT_FALSE(ac.toCommon().turbo);
|
||||
ASSERT_FALSE(ac.toCommon().clean);
|
||||
ASSERT_FALSE(ac.toCommon().light);
|
||||
ASSERT_EQ(-1, ac.toCommon().sleep);
|
||||
ASSERT_EQ(stdAc::opmode_t::kCool, ac.toCommon().mode);
|
||||
ASSERT_EQ(stdAc::fanspeed_t::kMax, ac.toCommon().fanspeed);
|
||||
ASSERT_EQ(stdAc::swingv_t::kOff, ac.toCommon().swingv);
|
||||
ASSERT_EQ(stdAc::swingh_t::kOff, ac.toCommon().swingh);
|
||||
// Unsupported.
|
||||
ASSERT_FALSE(ac.toCommon().quiet);
|
||||
ASSERT_FALSE(ac.toCommon().econo);
|
||||
ASSERT_FALSE(ac.toCommon().filter);
|
||||
ASSERT_FALSE(ac.toCommon().beep);
|
||||
ASSERT_EQ(-1, ac.toCommon().clock);
|
||||
}
|
||||
|
||||
TEST(TestCoolixACClass, Issue722) {
|
||||
IRrecv irrecv(0);
|
||||
IRCoolixAC ac(0);
|
||||
|
||||
// Auto 17C ON pressed
|
||||
uint32_t on_auto_17c_fan_auto0 = 0xB21F08;
|
||||
ac.begin();
|
||||
ac.setPower(true);
|
||||
ac.setMode(kCoolixAuto);
|
||||
ac.setFan(kCoolixFanAuto);
|
||||
ac.setTemp(17);
|
||||
EXPECT_EQ(on_auto_17c_fan_auto0, ac.getRaw());
|
||||
|
||||
// Off
|
||||
uint32_t off = 0xB27BE0;
|
||||
ac.off();
|
||||
EXPECT_EQ(off, ac.getRaw());
|
||||
|
||||
// ON Auto Temp 18C
|
||||
uint32_t on_auto_18c_fan_auto0 = 0xB21F18;
|
||||
ac.setTemp(18);
|
||||
EXPECT_EQ(on_auto_18c_fan_auto0, ac.getRaw());
|
||||
|
||||
// Set Mode Cool 18C
|
||||
uint32_t on_cool_18c_fan_auto = 0xB2BF10;
|
||||
ac.setMode(kCoolixCool);
|
||||
EXPECT_EQ(on_cool_18c_fan_auto, ac.getRaw());
|
||||
|
||||
// Set Mode DRY 18C
|
||||
uint32_t on_dry_18c_fan_auto0 = 0xB21F14;
|
||||
ac.setMode(kCoolixDry);
|
||||
EXPECT_EQ(on_dry_18c_fan_auto0, ac.getRaw());
|
||||
|
||||
// Set Mode HEAT 18C
|
||||
uint32_t on_heat_18c_fan_auto = 0xB2BF1C;
|
||||
ac.setMode(kCoolixHeat);
|
||||
EXPECT_EQ(on_heat_18c_fan_auto, ac.getRaw());
|
||||
|
||||
// Set mode FAN
|
||||
uint32_t on_fan_18c_fan_auto = 0xB2BFE4;
|
||||
ac.setMode(kCoolixFan);
|
||||
EXPECT_EQ(on_fan_18c_fan_auto, ac.getRaw());
|
||||
|
||||
// Fan level 2 (initial was auto)
|
||||
uint32_t on_fan_18c_fan_min = 0xB29FE4;
|
||||
ac.setFan(kCoolixFanMin);
|
||||
EXPECT_EQ(on_fan_18c_fan_min, ac.getRaw());
|
||||
|
||||
// Fan level 3
|
||||
uint32_t on_fan_18c_fan_med = 0xB25FE4;
|
||||
ac.setFan(kCoolixFanMed);
|
||||
EXPECT_EQ(on_fan_18c_fan_med, ac.getRaw());
|
||||
|
||||
// Fan level 4
|
||||
uint32_t on_fan_18c_fan_max = 0xB23FE4;
|
||||
ac.setFan(kCoolixFanMax);
|
||||
EXPECT_EQ(on_fan_18c_fan_max, ac.getRaw());
|
||||
|
||||
// Test sending the last message to verify the class send() method works.
|
||||
ac.send();
|
||||
ac._irsend.makeDecodeResult();
|
||||
ASSERT_TRUE(irrecv.decode(&ac._irsend.capture));
|
||||
EXPECT_EQ(COOLIX, ac._irsend.capture.decode_type);
|
||||
EXPECT_EQ(kCoolixBits, ac._irsend.capture.bits);
|
||||
EXPECT_EQ(on_fan_18c_fan_max, ac._irsend.capture.value);
|
||||
EXPECT_EQ(0x0, ac._irsend.capture.address);
|
||||
EXPECT_EQ(0x0, ac._irsend.capture.command);
|
||||
EXPECT_EQ(
|
||||
// Raw data supplied by @mariusmotea
|
||||
"f38000d50"
|
||||
// 4434,4376,
|
||||
"m4480s4480"
|
||||
// 566,1614,592,504,566,1618,566,1616,568,528,564,532,564,1616,568,532,
|
||||
"m560s1680m560s560m560s1680m560s1680m560s560m560s560m560s1680m560s560"
|
||||
// 566,530,566,1620,568,528,566,530,566,1618,564,1618,566,530,564,1624,
|
||||
"m560s560m560s1680m560s560m560s560m560s1680m560s1680m560s560m560s1680"
|
||||
// 538,560,566,530,564,1620,566,1618,566,1618,566,1616,566,1616,566,1620,
|
||||
"m560s560m560s560m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680"
|
||||
// 568,1620,566,1616,566,530,566,530,564,530,562,532,564,530,566,530,
|
||||
"m560s1680m560s1680m560s560m560s560m560s560m560s560m560s560m560s560"
|
||||
// 566,1622,566,1616,540,1642,566,528,566,530,566,1616,566,530,566,532,
|
||||
"m560s1680m560s1680m560s1680m560s560m560s560m560s1680m560s560m560s560"
|
||||
// 564,532,564,530,566,530,566,1614,566,1616,562,532,564,1620,566,1618,
|
||||
"m560s560m560s560m560s560m560s1680m560s1680m560s560m560s1680m560s1680"
|
||||
// 538,5254,4432,4364,566,1616,568,530,564,1620,568,1616,564,532,564,530,
|
||||
"m560s5040m4480s4480m560s1680m560s560m560s1680m560s1680m560s560m560s560"
|
||||
// 566,1616,566,532,564,532,566,1620,568,528,566,530,566,1616,564,1618,
|
||||
"m560s1680m560s560m560s560m560s1680m560s560m560s560m560s1680m560s1680"
|
||||
// 566,530,566,1622,566,532,566,528,566,1620,568,1614,566,1618,566,1618,
|
||||
"m560s560m560s1680m560s560m560s560m560s1680m560s1680m560s1680m560s1680"
|
||||
// 566,1614,568,1618,566,1622,568,1616,566,530,564,530,566,530,566,528,
|
||||
"m560s1680m560s1680m560s1680m560s1680m560s560m560s560m560s560m560s560"
|
||||
// 564,530,566,532,566,1622,564,1616,566,1616,564,532,564,530,564,1616,
|
||||
"m560s560m560s560m560s1680m560s1680m560s1680m560s560m560s560m560s1680"
|
||||
// 564,530,564,532,566,530,564,530,566,528,564,1618,564,1618,564,532,
|
||||
"m560s560m560s560m560s560m560s560m560s560m560s1680m560s1680m560s560"
|
||||
// 564,1620,566,1618,562 // Raw data matches what is expected.
|
||||
"m560s1680m560s1680m560s5040", ac._irsend.outputStr());
|
||||
}
|
||||
Reference in new issue
Block a user