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,10 @@
|
||||
// Copyright 2017 David Conran
|
||||
// Copyright 2018 denxhun
|
||||
|
||||
#include "ir_Mitsubishi.h"
|
||||
#include "IRrecv_test.h"
|
||||
#include "IRsend.h"
|
||||
#include "IRsend_test.h"
|
||||
#include "ir_Mitsubishi.h"
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
// Tests for sendMitsubishi().
|
||||
@@ -20,7 +22,8 @@ TEST(TestSendMitsubishi, SendDataOnly) {
|
||||
"m300s28080"
|
||||
"m300s2100m300s2100m300s2100m300s900m300s900m300s900m300s2100m300s900"
|
||||
"m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100m300s900"
|
||||
"m300s28080", irsend.outputStr());
|
||||
"m300s28080",
|
||||
irsend.outputStr());
|
||||
|
||||
irsend.reset();
|
||||
irsend.sendMitsubishi(0x0);
|
||||
@@ -30,7 +33,8 @@ TEST(TestSendMitsubishi, SendDataOnly) {
|
||||
"m300s34080"
|
||||
"m300s900m300s900m300s900m300s900m300s900m300s900m300s900m300s900"
|
||||
"m300s900m300s900m300s900m300s900m300s900m300s900m300s900m300s900"
|
||||
"m300s34080", irsend.outputStr());
|
||||
"m300s34080",
|
||||
irsend.outputStr());
|
||||
|
||||
irsend.reset();
|
||||
irsend.sendMitsubishi(0x4321);
|
||||
@@ -40,7 +44,8 @@ TEST(TestSendMitsubishi, SendDataOnly) {
|
||||
"m300s28080"
|
||||
"m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100m300s2100"
|
||||
"m300s900m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100"
|
||||
"m300s28080", irsend.outputStr());
|
||||
"m300s28080",
|
||||
irsend.outputStr());
|
||||
}
|
||||
|
||||
// Test sending with different repeats.
|
||||
@@ -49,22 +54,24 @@ TEST(TestSendMitsubishi, SendWithRepeats) {
|
||||
irsend.begin();
|
||||
|
||||
irsend.reset();
|
||||
irsend.sendMitsubishi(0xE242, MITSUBISHI_BITS, 0); // 0 repeat.
|
||||
irsend.sendMitsubishi(0xE242, kMitsubishiBits, 0); // 0 repeat.
|
||||
EXPECT_EQ(
|
||||
"m300s2100m300s2100m300s2100m300s900m300s900m300s900m300s2100m300s900"
|
||||
"m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100m300s900"
|
||||
"m300s28080", irsend.outputStr());
|
||||
"m300s28080",
|
||||
irsend.outputStr());
|
||||
|
||||
irsend.reset();
|
||||
irsend.sendMitsubishi(0xE242, MITSUBISHI_BITS, 1); // 1 repeat.
|
||||
irsend.sendMitsubishi(0xE242, kMitsubishiBits, 1); // 1 repeat.
|
||||
EXPECT_EQ(
|
||||
"m300s2100m300s2100m300s2100m300s900m300s900m300s900m300s2100m300s900"
|
||||
"m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100m300s900"
|
||||
"m300s28080"
|
||||
"m300s2100m300s2100m300s2100m300s900m300s900m300s900m300s2100m300s900"
|
||||
"m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100m300s900"
|
||||
"m300s28080", irsend.outputStr());
|
||||
irsend.sendMitsubishi(0xE242, MITSUBISHI_BITS, 2); // 2 repeats.
|
||||
"m300s28080",
|
||||
irsend.outputStr());
|
||||
irsend.sendMitsubishi(0xE242, kMitsubishiBits, 2); // 2 repeats.
|
||||
EXPECT_EQ(
|
||||
"m300s2100m300s2100m300s2100m300s900m300s900m300s900m300s2100m300s900"
|
||||
"m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100m300s900"
|
||||
@@ -74,7 +81,8 @@ TEST(TestSendMitsubishi, SendWithRepeats) {
|
||||
"m300s28080"
|
||||
"m300s2100m300s2100m300s2100m300s900m300s900m300s900m300s2100m300s900"
|
||||
"m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100m300s900"
|
||||
"m300s28080", irsend.outputStr());
|
||||
"m300s28080",
|
||||
irsend.outputStr());
|
||||
}
|
||||
|
||||
// Test sending an atypical data size.
|
||||
@@ -88,7 +96,8 @@ TEST(TestSendMitsubishi, SendUnusualSize) {
|
||||
"m300s900m300s900m300s900m300s900m300s900m300s900m300s900m300s900"
|
||||
"m300s43680"
|
||||
"m300s900m300s900m300s900m300s900m300s900m300s900m300s900m300s900"
|
||||
"m300s43680", irsend.outputStr());
|
||||
"m300s43680",
|
||||
irsend.outputStr());
|
||||
|
||||
irsend.reset();
|
||||
irsend.sendMitsubishi(0x1234567890ABCDEF, 64);
|
||||
@@ -110,7 +119,8 @@ TEST(TestSendMitsubishi, SendUnusualSize) {
|
||||
"m300s2100m300s900m300s2100m300s900m300s2100m300s900m300s2100m300s2100"
|
||||
"m300s2100m300s2100m300s900m300s900m300s2100m300s2100m300s900m300s2100"
|
||||
"m300s2100m300s2100m300s2100m300s900m300s2100m300s2100m300s2100m300s2100"
|
||||
"m300s28080", irsend.outputStr());
|
||||
"m300s28080",
|
||||
irsend.outputStr());
|
||||
}
|
||||
|
||||
// Decode normal Mitsubishi messages.
|
||||
@@ -123,9 +133,9 @@ TEST(TestDecodeMitsubishi, NormalDecodeWithStrict) {
|
||||
irsend.reset();
|
||||
irsend.sendMitsubishi(0xC2B8);
|
||||
irsend.makeDecodeResult();
|
||||
ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS, true));
|
||||
ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture, kMitsubishiBits, true));
|
||||
EXPECT_EQ(MITSUBISHI, irsend.capture.decode_type);
|
||||
EXPECT_EQ(MITSUBISHI_BITS, irsend.capture.bits);
|
||||
EXPECT_EQ(kMitsubishiBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0xC2B8, irsend.capture.value);
|
||||
EXPECT_EQ(0x0, irsend.capture.address);
|
||||
EXPECT_EQ(0x0, irsend.capture.command);
|
||||
@@ -134,9 +144,9 @@ TEST(TestDecodeMitsubishi, NormalDecodeWithStrict) {
|
||||
irsend.reset();
|
||||
irsend.sendMitsubishi(0x0);
|
||||
irsend.makeDecodeResult();
|
||||
ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS, true));
|
||||
ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture, kMitsubishiBits, true));
|
||||
EXPECT_EQ(MITSUBISHI, irsend.capture.decode_type);
|
||||
EXPECT_EQ(MITSUBISHI_BITS, irsend.capture.bits);
|
||||
EXPECT_EQ(kMitsubishiBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0x0, irsend.capture.value);
|
||||
EXPECT_EQ(0x0, irsend.capture.address);
|
||||
EXPECT_EQ(0x0, irsend.capture.command);
|
||||
@@ -145,9 +155,9 @@ TEST(TestDecodeMitsubishi, NormalDecodeWithStrict) {
|
||||
irsend.reset();
|
||||
irsend.sendMitsubishi(0xFFFF);
|
||||
irsend.makeDecodeResult();
|
||||
ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS, true));
|
||||
ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture, kMitsubishiBits, true));
|
||||
EXPECT_EQ(MITSUBISHI, irsend.capture.decode_type);
|
||||
EXPECT_EQ(MITSUBISHI_BITS, irsend.capture.bits);
|
||||
EXPECT_EQ(kMitsubishiBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0xFFFF, irsend.capture.value);
|
||||
EXPECT_EQ(0x0, irsend.capture.address);
|
||||
EXPECT_EQ(0x0, irsend.capture.command);
|
||||
@@ -158,14 +168,14 @@ TEST(TestDecodeMitsubishi, NormalDecodeWithStrict) {
|
||||
// 12 bits.
|
||||
irsend.sendMitsubishi(0xFFF, 12);
|
||||
irsend.makeDecodeResult();
|
||||
ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS, true));
|
||||
ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, kMitsubishiBits, true));
|
||||
ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, 12, true));
|
||||
ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, 64, true));
|
||||
|
||||
// 32 bits.
|
||||
irsend.sendMitsubishi(0xFFF, 32);
|
||||
irsend.makeDecodeResult();
|
||||
ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS, true));
|
||||
ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, kMitsubishiBits, true));
|
||||
ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, 12, true));
|
||||
ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, 32, true));
|
||||
ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, 64, true));
|
||||
@@ -179,11 +189,11 @@ TEST(TestDecodeMitsubishi, NormalDecodeWithRepeatAndStrict) {
|
||||
|
||||
// Normal Mitsubishi 16-bit message with 2 repeats.
|
||||
irsend.reset();
|
||||
irsend.sendMitsubishi(0xC2B8, MITSUBISHI_BITS, 2);
|
||||
irsend.sendMitsubishi(0xC2B8, kMitsubishiBits, 2);
|
||||
irsend.makeDecodeResult();
|
||||
ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS, true));
|
||||
ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture, kMitsubishiBits, true));
|
||||
EXPECT_EQ(MITSUBISHI, irsend.capture.decode_type);
|
||||
EXPECT_EQ(MITSUBISHI_BITS, irsend.capture.bits);
|
||||
EXPECT_EQ(kMitsubishiBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0xC2B8, irsend.capture.value);
|
||||
EXPECT_EQ(0x0, irsend.capture.address);
|
||||
EXPECT_EQ(0x0, irsend.capture.command);
|
||||
@@ -191,11 +201,11 @@ TEST(TestDecodeMitsubishi, NormalDecodeWithRepeatAndStrict) {
|
||||
|
||||
// Normal Mitsubishi 16-bit message with 0 repeats.
|
||||
irsend.reset();
|
||||
irsend.sendMitsubishi(0xC2B8, MITSUBISHI_BITS, 0);
|
||||
irsend.sendMitsubishi(0xC2B8, kMitsubishiBits, 0);
|
||||
irsend.makeDecodeResult();
|
||||
ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS, true));
|
||||
ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture, kMitsubishiBits, true));
|
||||
EXPECT_EQ(MITSUBISHI, irsend.capture.decode_type);
|
||||
EXPECT_EQ(MITSUBISHI_BITS, irsend.capture.bits);
|
||||
EXPECT_EQ(kMitsubishiBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0xC2B8, irsend.capture.value);
|
||||
EXPECT_EQ(0x0, irsend.capture.address);
|
||||
EXPECT_EQ(0x0, irsend.capture.command);
|
||||
@@ -212,7 +222,7 @@ TEST(TestDecodeMitsubishi, DecodeWithNonStrictValues) {
|
||||
irsend.sendMitsubishi(0x0, 8); // Illegal sized Mitsubishi 8-bit message.
|
||||
irsend.makeDecodeResult();
|
||||
// Should fail with strict on.
|
||||
ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS, true));
|
||||
ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, kMitsubishiBits, true));
|
||||
// Should pass if strict off.
|
||||
ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture, 8, false));
|
||||
EXPECT_EQ(MITSUBISHI, irsend.capture.decode_type);
|
||||
@@ -227,7 +237,7 @@ TEST(TestDecodeMitsubishi, DecodeWithNonStrictValues) {
|
||||
irsend.sendMitsubishi(0xFEDCBA9876543210, 64);
|
||||
irsend.makeDecodeResult();
|
||||
// Should fail with strict on.
|
||||
ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS, true));
|
||||
ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, kMitsubishiBits, true));
|
||||
// Should pass if strict off.
|
||||
ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture, 64, false));
|
||||
EXPECT_EQ(MITSUBISHI, irsend.capture.decode_type);
|
||||
@@ -247,15 +257,15 @@ TEST(TestDecodeMitsubishi, DecodeGlobalCacheExample) {
|
||||
|
||||
irsend.reset();
|
||||
// Mitsubishi "Power On" (16-bit) code from Global Cache.
|
||||
uint16_t gc_test[37] = {33000, 1, 1, 10, 70, 10, 70, 10, 70, 10, 30, 10, 30,
|
||||
10, 30, 10, 70, 10, 30, 10, 30, 10, 70, 10, 30,
|
||||
10, 30, 10, 30, 10, 30, 10, 70, 10, 30, 10, 936};
|
||||
uint16_t gc_test[37] = {33000, 1, 1, 10, 70, 10, 70, 10, 70, 10, 30, 10, 30,
|
||||
10, 30, 10, 70, 10, 30, 10, 30, 10, 70, 10, 30, 10,
|
||||
30, 10, 30, 10, 30, 10, 70, 10, 30, 10, 936};
|
||||
irsend.sendGC(gc_test, 37);
|
||||
irsend.makeDecodeResult();
|
||||
|
||||
ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture));
|
||||
EXPECT_EQ(MITSUBISHI, irsend.capture.decode_type);
|
||||
EXPECT_EQ(MITSUBISHI_BITS, irsend.capture.bits);
|
||||
EXPECT_EQ(kMitsubishiBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0xE242, irsend.capture.value);
|
||||
EXPECT_EQ(0x0, irsend.capture.address);
|
||||
EXPECT_EQ(0x0, irsend.capture.command);
|
||||
@@ -270,15 +280,16 @@ TEST(TestDecodeMitsubishi, FailToDecodeNonMitsubishiExample) {
|
||||
|
||||
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.decodeMitsubishi(&irsend.capture));
|
||||
ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS,
|
||||
false));
|
||||
ASSERT_FALSE(
|
||||
irrecv.decodeMitsubishi(&irsend.capture, kMitsubishiBits, false));
|
||||
}
|
||||
|
||||
// Tests for Mitsubishi A/C methods.
|
||||
@@ -288,7 +299,7 @@ TEST(TestSendMitsubishiAC, SendDataOnly) {
|
||||
IRsendTest irsend(4);
|
||||
irsend.begin();
|
||||
|
||||
uint8_t mitsub_code[MITSUBISHI_AC_STATE_LENGTH] = {
|
||||
uint8_t mitsub_code[kMitsubishiACStateLength] = {
|
||||
0x23, 0xCB, 0x26, 0x01, 0x00, 0x20, 0x08, 0x06, 0x30,
|
||||
0x45, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F};
|
||||
irsend.reset();
|
||||
@@ -333,7 +344,8 @@ TEST(TestSendMitsubishiAC, SendDataOnly) {
|
||||
"m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420"
|
||||
"m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420"
|
||||
"m450s1300m450s1300m450s1300m450s1300m450s1300m450s420m450s420m450s420"
|
||||
"m440s17100", irsend.outputStr());
|
||||
"m440s17100",
|
||||
irsend.outputStr());
|
||||
}
|
||||
|
||||
// Test sending with repeats.
|
||||
@@ -342,11 +354,11 @@ TEST(TestSendMitsubishiAC, SendWithRepeats) {
|
||||
irsend.begin();
|
||||
|
||||
irsend.reset();
|
||||
uint8_t mitsub_code[MITSUBISHI_AC_STATE_LENGTH] = {
|
||||
uint8_t mitsub_code[kMitsubishiACStateLength] = {
|
||||
0x23, 0xCB, 0x26, 0x01, 0x00, 0x20, 0x08, 0x06, 0x30,
|
||||
0x45, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F};
|
||||
|
||||
irsend.sendMitsubishiAC(mitsub_code, MITSUBISHI_AC_STATE_LENGTH, 0);
|
||||
irsend.sendMitsubishiAC(mitsub_code, kMitsubishiACStateLength, 0);
|
||||
EXPECT_EQ(
|
||||
"m3400s1750"
|
||||
"m450s1300m450s1300m450s420m450s420m450s420m450s1300m450s420m450s420"
|
||||
@@ -367,10 +379,11 @@ TEST(TestSendMitsubishiAC, SendWithRepeats) {
|
||||
"m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420"
|
||||
"m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420"
|
||||
"m450s1300m450s1300m450s1300m450s1300m450s1300m450s420m450s420m450s420"
|
||||
"m440s17100", irsend.outputStr());
|
||||
"m440s17100",
|
||||
irsend.outputStr());
|
||||
|
||||
irsend.reset();
|
||||
irsend.sendMitsubishiAC(mitsub_code, MITSUBISHI_AC_STATE_LENGTH, 2);
|
||||
irsend.sendMitsubishiAC(mitsub_code, kMitsubishiACStateLength, 2);
|
||||
EXPECT_EQ(
|
||||
"m3400s1750"
|
||||
"m450s1300m450s1300m450s420m450s420m450s420m450s1300m450s420m450s420"
|
||||
@@ -431,7 +444,8 @@ TEST(TestSendMitsubishiAC, SendWithRepeats) {
|
||||
"m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420"
|
||||
"m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420"
|
||||
"m450s1300m450s1300m450s1300m450s1300m450s1300m450s420m450s420m450s420"
|
||||
"m440s17100", irsend.outputStr());
|
||||
"m440s17100",
|
||||
irsend.outputStr());
|
||||
}
|
||||
|
||||
// Test sending atypical sizes.
|
||||
@@ -442,10 +456,9 @@ TEST(TestSendMitsubishiAC, SendUnexpectedSizes) {
|
||||
uint8_t mitsub_short_code[17] = {0x23, 0xCB, 0x26, 0x01, 0x00, 0x20,
|
||||
0x08, 0x06, 0x30, 0x45, 0x67, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
uint8_t mitsub_long_code[19] = {0x23, 0xCB, 0x26, 0x01, 0x00, 0x20,
|
||||
0x08, 0x06, 0x30, 0x45, 0x67, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x1F,
|
||||
0x00};
|
||||
uint8_t mitsub_long_code[19] = {0x23, 0xCB, 0x26, 0x01, 0x00, 0x20, 0x08,
|
||||
0x06, 0x30, 0x45, 0x67, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1F, 0x00};
|
||||
irsend.reset();
|
||||
irsend.sendMitsubishiAC(mitsub_short_code, 17);
|
||||
ASSERT_EQ("", irsend.outputStr());
|
||||
@@ -494,7 +507,8 @@ TEST(TestSendMitsubishiAC, SendUnexpectedSizes) {
|
||||
"m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420"
|
||||
"m450s1300m450s1300m450s1300m450s1300m450s1300m450s420m450s420m450s420"
|
||||
"m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420"
|
||||
"m440s17100", irsend.outputStr());
|
||||
"m440s17100",
|
||||
irsend.outputStr());
|
||||
}
|
||||
|
||||
// Tests for IRMitsubishiAC class.
|
||||
@@ -521,22 +535,22 @@ TEST(TestMitsubishiACClass, Temperature) {
|
||||
mitsub.begin();
|
||||
|
||||
mitsub.setTemp(0);
|
||||
EXPECT_EQ(MITSUBISHI_AC_MIN_TEMP, mitsub.getTemp());
|
||||
EXPECT_EQ(kMitsubishiAcMinTemp, mitsub.getTemp());
|
||||
|
||||
mitsub.setTemp(255);
|
||||
EXPECT_EQ(MITSUBISHI_AC_MAX_TEMP, mitsub.getTemp());
|
||||
EXPECT_EQ(kMitsubishiAcMaxTemp, mitsub.getTemp());
|
||||
|
||||
mitsub.setTemp(MITSUBISHI_AC_MIN_TEMP);
|
||||
EXPECT_EQ(MITSUBISHI_AC_MIN_TEMP, mitsub.getTemp());
|
||||
mitsub.setTemp(kMitsubishiAcMinTemp);
|
||||
EXPECT_EQ(kMitsubishiAcMinTemp, mitsub.getTemp());
|
||||
|
||||
mitsub.setTemp(MITSUBISHI_AC_MAX_TEMP);
|
||||
EXPECT_EQ(MITSUBISHI_AC_MAX_TEMP, mitsub.getTemp());
|
||||
mitsub.setTemp(kMitsubishiAcMaxTemp);
|
||||
EXPECT_EQ(kMitsubishiAcMaxTemp, mitsub.getTemp());
|
||||
|
||||
mitsub.setTemp(MITSUBISHI_AC_MIN_TEMP - 1);
|
||||
EXPECT_EQ(MITSUBISHI_AC_MIN_TEMP, mitsub.getTemp());
|
||||
mitsub.setTemp(kMitsubishiAcMinTemp - 1);
|
||||
EXPECT_EQ(kMitsubishiAcMinTemp, mitsub.getTemp());
|
||||
|
||||
mitsub.setTemp(MITSUBISHI_AC_MAX_TEMP + 1);
|
||||
EXPECT_EQ(MITSUBISHI_AC_MAX_TEMP, mitsub.getTemp());
|
||||
mitsub.setTemp(kMitsubishiAcMaxTemp + 1);
|
||||
EXPECT_EQ(kMitsubishiAcMaxTemp, mitsub.getTemp());
|
||||
|
||||
mitsub.setTemp(17);
|
||||
EXPECT_EQ(17, mitsub.getTemp());
|
||||
@@ -555,60 +569,60 @@ TEST(TestMitsubishiACClass, OperatingMode) {
|
||||
IRMitsubishiAC mitsub(0);
|
||||
mitsub.begin();
|
||||
|
||||
mitsub.setMode(MITSUBISHI_AC_AUTO);
|
||||
EXPECT_EQ(MITSUBISHI_AC_AUTO, mitsub.getMode());
|
||||
mitsub.setMode(kMitsubishiAcAuto);
|
||||
EXPECT_EQ(kMitsubishiAcAuto, mitsub.getMode());
|
||||
|
||||
mitsub.setMode(MITSUBISHI_AC_COOL);
|
||||
EXPECT_EQ(MITSUBISHI_AC_COOL, mitsub.getMode());
|
||||
mitsub.setMode(kMitsubishiAcCool);
|
||||
EXPECT_EQ(kMitsubishiAcCool, mitsub.getMode());
|
||||
|
||||
mitsub.setMode(MITSUBISHI_AC_HEAT);
|
||||
EXPECT_EQ(MITSUBISHI_AC_HEAT, mitsub.getMode());
|
||||
mitsub.setMode(kMitsubishiAcHeat);
|
||||
EXPECT_EQ(kMitsubishiAcHeat, mitsub.getMode());
|
||||
|
||||
mitsub.setMode(MITSUBISHI_AC_DRY);
|
||||
EXPECT_EQ(MITSUBISHI_AC_DRY, mitsub.getMode());
|
||||
mitsub.setMode(kMitsubishiAcDry);
|
||||
EXPECT_EQ(kMitsubishiAcDry, mitsub.getMode());
|
||||
|
||||
mitsub.setMode(MITSUBISHI_AC_AUTO + 1);
|
||||
EXPECT_EQ(MITSUBISHI_AC_AUTO, mitsub.getMode());
|
||||
mitsub.setMode(kMitsubishiAcAuto + 1);
|
||||
EXPECT_EQ(kMitsubishiAcAuto, mitsub.getMode());
|
||||
|
||||
mitsub.setMode(255);
|
||||
EXPECT_EQ(MITSUBISHI_AC_AUTO, mitsub.getMode());
|
||||
EXPECT_EQ(kMitsubishiAcAuto, mitsub.getMode());
|
||||
}
|
||||
|
||||
TEST(TestMitsubishiACClass, VaneMode) {
|
||||
IRMitsubishiAC mitsub(0);
|
||||
mitsub.begin();
|
||||
|
||||
mitsub.setVane(MITSUBISHI_AC_VANE_AUTO);
|
||||
EXPECT_EQ(MITSUBISHI_AC_VANE_AUTO, mitsub.getVane());
|
||||
mitsub.setVane(kMitsubishiAcVaneAuto);
|
||||
EXPECT_EQ(kMitsubishiAcVaneAuto, mitsub.getVane());
|
||||
|
||||
mitsub.setVane(MITSUBISHI_AC_VANE_AUTO + 1);
|
||||
EXPECT_EQ(MITSUBISHI_AC_VANE_AUTO + 1, mitsub.getVane());
|
||||
mitsub.setVane(kMitsubishiAcVaneAuto + 1);
|
||||
EXPECT_EQ(kMitsubishiAcVaneAuto + 1, mitsub.getVane());
|
||||
|
||||
mitsub.setVane(MITSUBISHI_AC_VANE_AUTO_MOVE);
|
||||
EXPECT_EQ(MITSUBISHI_AC_VANE_AUTO_MOVE, mitsub.getVane());
|
||||
mitsub.setVane(kMitsubishiAcVaneAutoMove);
|
||||
EXPECT_EQ(kMitsubishiAcVaneAutoMove, mitsub.getVane());
|
||||
|
||||
mitsub.setVane(MITSUBISHI_AC_VANE_AUTO_MOVE + 1);
|
||||
EXPECT_EQ(MITSUBISHI_AC_VANE_AUTO_MOVE, mitsub.getVane());
|
||||
mitsub.setVane(kMitsubishiAcVaneAutoMove + 1);
|
||||
EXPECT_EQ(kMitsubishiAcVaneAutoMove, mitsub.getVane());
|
||||
|
||||
mitsub.setVane(MITSUBISHI_AC_VANE_AUTO_MOVE - 1);
|
||||
EXPECT_EQ(MITSUBISHI_AC_VANE_AUTO_MOVE - 1, mitsub.getVane());
|
||||
mitsub.setVane(kMitsubishiAcVaneAutoMove - 1);
|
||||
EXPECT_EQ(kMitsubishiAcVaneAutoMove - 1, mitsub.getVane());
|
||||
}
|
||||
|
||||
TEST(TestMitsubishiACClass, FanSpeed) {
|
||||
IRMitsubishiAC mitsub(0);
|
||||
mitsub.begin();
|
||||
|
||||
mitsub.setFan(MITSUBISHI_AC_FAN_AUTO);
|
||||
EXPECT_EQ(MITSUBISHI_AC_FAN_AUTO, mitsub.getFan());
|
||||
mitsub.setFan(kMitsubishiAcFanAuto);
|
||||
EXPECT_EQ(kMitsubishiAcFanAuto, mitsub.getFan());
|
||||
|
||||
mitsub.setFan(255);
|
||||
EXPECT_EQ(MITSUBISHI_AC_FAN_REAL_MAX, mitsub.getFan());
|
||||
EXPECT_EQ(kMitsubishiAcFanRealMax, mitsub.getFan());
|
||||
|
||||
mitsub.setFan(MITSUBISHI_AC_FAN_MAX);
|
||||
EXPECT_EQ(MITSUBISHI_AC_FAN_REAL_MAX, mitsub.getFan());
|
||||
mitsub.setFan(kMitsubishiAcFanMax);
|
||||
EXPECT_EQ(kMitsubishiAcFanRealMax, mitsub.getFan());
|
||||
|
||||
mitsub.setFan(MITSUBISHI_AC_FAN_MAX - 1);
|
||||
EXPECT_EQ(MITSUBISHI_AC_FAN_MAX - 1, mitsub.getFan());
|
||||
mitsub.setFan(kMitsubishiAcFanMax - 1);
|
||||
EXPECT_EQ(kMitsubishiAcFanMax - 1, mitsub.getFan());
|
||||
|
||||
mitsub.setFan(1);
|
||||
EXPECT_EQ(1, mitsub.getFan());
|
||||
@@ -622,11 +636,11 @@ TEST(TestMitsubishiACClass, FanSpeed) {
|
||||
mitsub.setFan(4);
|
||||
EXPECT_EQ(4, mitsub.getFan());
|
||||
|
||||
mitsub.setFan(MITSUBISHI_AC_FAN_SILENT);
|
||||
EXPECT_EQ(MITSUBISHI_AC_FAN_SILENT, mitsub.getFan());
|
||||
mitsub.setFan(kMitsubishiAcFanSilent);
|
||||
EXPECT_EQ(kMitsubishiAcFanSilent, mitsub.getFan());
|
||||
|
||||
mitsub.setFan(MITSUBISHI_AC_FAN_SILENT + 1);
|
||||
EXPECT_EQ(MITSUBISHI_AC_FAN_REAL_MAX, mitsub.getFan());
|
||||
mitsub.setFan(kMitsubishiAcFanSilent + 1);
|
||||
EXPECT_EQ(kMitsubishiAcFanRealMax, mitsub.getFan());
|
||||
}
|
||||
|
||||
TEST(TestMitsubishiACClass, MessageConstuction) {
|
||||
@@ -636,14 +650,14 @@ TEST(TestMitsubishiACClass, MessageConstuction) {
|
||||
irsend.begin();
|
||||
|
||||
mitsub.setFan(1);
|
||||
mitsub.setMode(MITSUBISHI_AC_COOL);
|
||||
mitsub.setMode(kMitsubishiAcCool);
|
||||
mitsub.setTemp(27);
|
||||
mitsub.setVane(3);
|
||||
mitsub.on();
|
||||
|
||||
// Check everything for kicks.
|
||||
EXPECT_EQ(1, mitsub.getFan());
|
||||
EXPECT_EQ(MITSUBISHI_AC_COOL, mitsub.getMode());
|
||||
EXPECT_EQ(kMitsubishiAcCool, mitsub.getMode());
|
||||
EXPECT_EQ(27, mitsub.getTemp());
|
||||
EXPECT_EQ(3, mitsub.getVane());
|
||||
EXPECT_TRUE(mitsub.getPower());
|
||||
@@ -660,7 +674,7 @@ TEST(TestMitsubishiACClass, MessageConstuction) {
|
||||
"m450s420m450s420m450s420m450s420m450s420m450s1300m450s420m450s420"
|
||||
"m450s420m450s420m450s420m450s1300m450s1300m450s420m450s420m450s420"
|
||||
"m450s1300m450s1300m450s420m450s1300m450s420m450s420m450s420m450s420"
|
||||
"m450s420m450s420m450s420m450s420m450s1300m450s1300m450s420m450s420"
|
||||
"m450s420m450s1300m450s1300m450s420m450s1300m450s1300m450s420m450s420"
|
||||
"m450s1300m450s420m450s420m450s1300m450s1300m450s420m450s1300m450s420"
|
||||
"m450s1300m450s1300m450s1300m450s420m450s420m450s1300m450s1300m450s420"
|
||||
"m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420"
|
||||
@@ -669,7 +683,7 @@ TEST(TestMitsubishiACClass, MessageConstuction) {
|
||||
"m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420"
|
||||
"m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420"
|
||||
"m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420"
|
||||
"m450s420m450s420m450s420m450s1300m450s420m450s420m450s1300m450s420"
|
||||
"m450s420m450s1300m450s1300m450s1300m450s420m450s420m450s1300m450s420"
|
||||
"m440s17100"
|
||||
"m3400s1750"
|
||||
"m450s1300m450s1300m450s420m450s420m450s420m450s1300m450s420m450s420"
|
||||
@@ -680,7 +694,7 @@ TEST(TestMitsubishiACClass, MessageConstuction) {
|
||||
"m450s420m450s420m450s420m450s420m450s420m450s1300m450s420m450s420"
|
||||
"m450s420m450s420m450s420m450s1300m450s1300m450s420m450s420m450s420"
|
||||
"m450s1300m450s1300m450s420m450s1300m450s420m450s420m450s420m450s420"
|
||||
"m450s420m450s420m450s420m450s420m450s1300m450s1300m450s420m450s420"
|
||||
"m450s420m450s1300m450s1300m450s420m450s1300m450s1300m450s420m450s420"
|
||||
"m450s1300m450s420m450s420m450s1300m450s1300m450s420m450s1300m450s420"
|
||||
"m450s1300m450s1300m450s1300m450s420m450s420m450s1300m450s1300m450s420"
|
||||
"m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420"
|
||||
@@ -689,11 +703,278 @@ TEST(TestMitsubishiACClass, MessageConstuction) {
|
||||
"m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420"
|
||||
"m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420"
|
||||
"m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420"
|
||||
"m450s420m450s420m450s420m450s1300m450s420m450s420m450s1300m450s420"
|
||||
"m440s17100", irsend.outputStr());
|
||||
"m450s420m450s1300m450s1300m450s1300m450s420m450s420m450s1300m450s420"
|
||||
"m440s17100",
|
||||
irsend.outputStr());
|
||||
}
|
||||
|
||||
// Tests for sendMitsubishi2().
|
||||
// Tests for decodeMitsubishiAC() with real captured example.
|
||||
TEST(TestDecodeMitsubishiAC, DecodeRealExample) {
|
||||
IRsendTest irsend(4);
|
||||
IRrecv irrecv(4);
|
||||
irsend.begin();
|
||||
|
||||
irsend.reset();
|
||||
// Mitsubishi AC "Power On, 16C, low fan, vane auto move".
|
||||
uint16_t rawData[583] = {
|
||||
3476, 1708, 416, 1264, 420, 1260, 414, 400, 448, 390, 446, 392,
|
||||
444, 1236, 440, 400, 446, 392, 446, 1234, 440, 1266, 418, 396,
|
||||
442, 1264, 420, 394, 444, 394, 442, 1264, 422, 1260, 414, 398,
|
||||
440, 1266, 418, 1264, 420, 392, 446, 392, 444, 1264, 422, 392,
|
||||
446, 392, 446, 1260, 414, 400, 448, 390, 446, 392, 444, 394,
|
||||
442, 396, 442, 398, 440, 424, 412, 400, 448, 390, 446, 392,
|
||||
446, 392, 444, 394, 442, 396, 442, 396, 440, 398, 438, 400,
|
||||
448, 390, 446, 392, 446, 392, 444, 396, 442, 396, 440, 398,
|
||||
440, 400, 438, 400, 448, 390, 446, 392, 444, 1236, 440, 1266,
|
||||
418, 394, 442, 396, 440, 398, 438, 402, 446, 1232, 444, 396,
|
||||
440, 1268, 418, 394, 442, 396, 440, 398, 440, 400, 448, 390,
|
||||
448, 1232, 442, 1266, 420, 394, 444, 1264, 422, 1260, 416, 396,
|
||||
440, 398, 450, 1230, 444, 396, 442, 398, 440, 1266, 418, 1264,
|
||||
422, 1258, 416, 1266, 418, 394, 442, 396, 440, 398, 440, 398,
|
||||
438, 400, 446, 392, 446, 392, 446, 392, 444, 396, 442, 396,
|
||||
440, 398, 438, 398, 438, 400, 448, 392, 446, 392, 444, 394,
|
||||
444, 396, 442, 396, 440, 398, 438, 400, 448, 390, 448, 392,
|
||||
444, 394, 444, 394, 442, 396, 442, 396, 440, 398, 438, 400,
|
||||
448, 390, 446, 392, 446, 392, 444, 394, 442, 396, 442, 396,
|
||||
440, 398, 438, 400, 448, 390, 446, 392, 444, 394, 444, 394,
|
||||
442, 396, 440, 398, 440, 398, 438, 400, 448, 390, 446, 392,
|
||||
444, 394, 444, 394, 442, 396, 440, 398, 438, 400, 438, 400,
|
||||
448, 392, 446, 392, 444, 394, 442, 396, 442, 396, 440, 398,
|
||||
438, 1240, 444, 1264, 422, 390, 446, 392, 446, 1260, 414, 1268,
|
||||
418, 1264, 422, 12984, 3478, 1708, 418, 1264, 422, 1234, 442, 398,
|
||||
448, 390, 446, 392, 446, 1234, 440, 400, 448, 390, 446, 1234,
|
||||
442, 1266, 420, 392, 444, 1264, 420, 392, 446, 394, 444, 1236,
|
||||
448, 1260, 416, 398, 440, 1266, 418, 1262, 422, 390, 446, 392,
|
||||
444, 1234, 440, 400, 448, 392, 446, 1234, 440, 398, 450, 390,
|
||||
446, 392, 444, 394, 444, 394, 442, 396, 442, 398, 440, 400,
|
||||
438, 400, 448, 390, 446, 392, 444, 394, 442, 396, 442, 396,
|
||||
440, 398, 438, 400, 448, 390, 446, 392, 446, 392, 444, 394,
|
||||
442, 396, 442, 396, 440, 398, 438, 400, 448, 416, 420, 392,
|
||||
444, 1234, 440, 1240, 446, 394, 442, 396, 440, 398, 438, 400,
|
||||
448, 1232, 444, 396, 440, 1240, 446, 394, 442, 396, 440, 398,
|
||||
440, 400, 448, 390, 446, 1232, 444, 1238, 446, 394, 444, 1236,
|
||||
448, 1232, 442, 396, 440, 398, 448, 1232, 444, 396, 440, 398,
|
||||
438, 1242, 444, 1238, 448, 1234, 442, 1240, 444, 394, 442, 396,
|
||||
440, 398, 438, 400, 448, 390, 446, 394, 444, 420, 416, 394,
|
||||
444, 396, 440, 398, 440, 398, 438, 400, 448, 418, 420, 418,
|
||||
418, 394, 442, 396, 442, 396, 440, 424, 412, 400, 448, 390,
|
||||
446, 392, 446, 420, 418, 420, 416, 396, 440, 398, 440, 424,
|
||||
412, 426, 420, 418, 420, 392, 444, 394, 444, 422, 416, 422,
|
||||
414, 398, 440, 426, 422, 388, 448, 416, 420, 418, 418, 422,
|
||||
416, 422, 414, 424, 414, 398, 438, 426, 422, 418, 420, 390,
|
||||
446, 418, 418, 420, 416, 396, 440, 424, 412, 426, 412, 400,
|
||||
446, 418, 420, 420, 418, 420, 416, 422, 414, 422, 414, 424,
|
||||
412, 426, 422, 390, 446, 1232, 442, 1240, 446, 394, 444, 394,
|
||||
442, 1238, 446, 1234, 440, 1240, 444}; // UNKNOWN F6FDB82B
|
||||
|
||||
irsend.sendRaw(rawData, 583, 33);
|
||||
irsend.makeDecodeResult();
|
||||
|
||||
ASSERT_TRUE(irrecv.decode(&irsend.capture));
|
||||
EXPECT_EQ(MITSUBISHI_AC, irsend.capture.decode_type);
|
||||
EXPECT_EQ(kMitsubishiACBits, irsend.capture.bits);
|
||||
uint8_t expected[kMitsubishiACStateLength] = {
|
||||
0x23, 0xCB, 0x26, 0x01, 0x00, 0x00, 0x18, 0x0A, 0x36,
|
||||
0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE6};
|
||||
EXPECT_STATE_EQ(expected, irsend.capture.state, kMitsubishiACBits);
|
||||
}
|
||||
|
||||
// Tests for decodeMitsubishiAC() when the first payload has an error.
|
||||
TEST(TestDecodeMitsubishiAC, DecodeRealExampleRepeatNeeded) {
|
||||
IRsendTest irsend(4);
|
||||
IRrecv irrecv(4);
|
||||
irsend.begin();
|
||||
|
||||
irsend.reset();
|
||||
// Mitsubishi AC "Power On, 16C, low fan, vane auto move".
|
||||
uint16_t rawData[583] = {
|
||||
3476, 1708, 416, 1264, 420, 1260, 414, 400, 448, 390, 446, 392, 444, 1236,
|
||||
440, 400, 446, 392, 446, 1234, 440, 1266, 418, 396, 442, 1264, 420, 394,
|
||||
444, 394, 442, 1264, 422, 1260, 414, 398, 440, 1266, 418, 1264, 420, 392,
|
||||
446, 392, 444, 1264, 422, 392, 446, 392, 446, 1260, 414, 400, 448, 390,
|
||||
446, 392, 444, 394, 442, 396, 442, 398, 440, 424, 412, 400, 448, 390, 446,
|
||||
392, 446, 392, 444, 394, 442, 396, 442, 396, 440, 398, 438, 400, 448, 390,
|
||||
446, 392, 446, 392, 444, 396, 442, 396, 440, 398, 440, 400, 438, 400, 448,
|
||||
390, 446, 392, 444, 1236, 440, 1266, 418, 394, 442, 396, 440, 398, 438,
|
||||
402, 446, 1232, 444, 396, 440, 1268, 418, 394, 442, 396, 440, 398,
|
||||
// space 699 is not recognizable:
|
||||
440, 400, 448, 390, 448, 1232, 442, 1266, 420, 394, 444, 1264, 699, 1260,
|
||||
416, 396, 440, 398, 450, 1230, 444, 396, 442, 398, 440, 1266, 418, 1264,
|
||||
422, 1258, 416, 1266, 418, 394, 442, 396, 440, 398, 440, 398, 438, 400,
|
||||
446, 392, 446, 392, 446, 392, 444, 396, 442, 396, 440, 398, 438, 398, 438,
|
||||
400, 448, 392, 446, 392, 444, 394, 444, 396, 442, 396, 440, 398, 438, 400,
|
||||
448, 390, 448, 392, 444, 394, 444, 394, 442, 396, 442, 396, 440, 398, 438,
|
||||
400, 448, 390, 446, 392, 446, 392, 444, 394, 442, 396, 442, 396, 440, 398,
|
||||
438, 400, 448, 390, 446, 392, 444, 394, 444, 394, 442, 396, 440, 398, 440,
|
||||
398, 438, 400, 448, 390, 446, 392, 444, 394, 444, 394, 442, 396, 440, 398,
|
||||
438, 400, 438, 400, 448, 392, 446, 392, 444, 394, 442, 396, 442, 396, 440,
|
||||
398, 438, 1240, 444, 1264, 422, 390, 446, 392, 446, 1260, 414, 1268, 418,
|
||||
1264, 422, 12984, 3478, 1708, 418, 1264, 422, 1234, 442, 398, 448, 390,
|
||||
446, 392, 446, 1234, 440, 400, 448, 390, 446, 1234, 442, 1266, 420, 392,
|
||||
444, 1264, 420, 392, 446, 394, 444, 1236, 448, 1260, 416, 398, 440, 1266,
|
||||
418, 1262, 422, 390, 446, 392, 444, 1234, 440, 400, 448, 392, 446, 1234,
|
||||
440, 398, 450, 390, 446, 392, 444, 394, 444, 394, 442, 396, 442, 398, 440,
|
||||
400, 438, 400, 448, 390, 446, 392, 444, 394, 442, 396, 442, 396, 440, 398,
|
||||
438, 400, 448, 390, 446, 392, 446, 392, 444, 394, 442, 396, 442, 396, 440,
|
||||
398, 438, 400, 448, 416, 420, 392, 444, 1234, 440, 1240, 446, 394, 442,
|
||||
396, 440, 398, 438, 400, 448, 1232, 444, 396, 440, 1240, 446, 394, 442,
|
||||
396, 440, 398, 440, 400, 448, 390, 446, 1232, 444, 1238, 446, 394, 444,
|
||||
1236, 448, 1232, 442, 396, 440, 398, 448, 1232, 444, 396, 440, 398, 438,
|
||||
1242, 444, 1238, 448, 1234, 442, 1240, 444, 394, 442, 396, 440, 398, 438,
|
||||
400, 448, 390, 446, 394, 444, 420, 416, 394, 444, 396, 440, 398, 440, 398,
|
||||
438, 400, 448, 418, 420, 418, 418, 394, 442, 396, 442, 396, 440, 424, 412,
|
||||
400, 448, 390, 446, 392, 446, 420, 418, 420, 416, 396, 440, 398, 440, 424,
|
||||
412, 426, 420, 418, 420, 392, 444, 394, 444, 422, 416, 422, 414, 398, 440,
|
||||
426, 422, 388, 448, 416, 420, 418, 418, 422, 416, 422, 414, 424, 414, 398,
|
||||
438, 426, 422, 418, 420, 390, 446, 418, 418, 420, 416, 396, 440, 424, 412,
|
||||
426, 412, 400, 446, 418, 420, 420, 418, 420, 416, 422, 414, 422, 414, 424,
|
||||
412, 426, 422, 390, 446, 1232, 442, 1240, 446, 394, 444, 394, 442, 1238,
|
||||
446, 1234, 440, 1240, 444}; // UNKNOWN F6FDB82B
|
||||
|
||||
irsend.sendRaw(rawData, 583, 33);
|
||||
irsend.makeDecodeResult();
|
||||
|
||||
ASSERT_TRUE(irrecv.decode(&irsend.capture));
|
||||
EXPECT_EQ(MITSUBISHI_AC, irsend.capture.decode_type);
|
||||
EXPECT_EQ(kMitsubishiACBits, irsend.capture.bits);
|
||||
uint8_t expected[kMitsubishiACStateLength] = {
|
||||
0x23, 0xCB, 0x26, 0x01, 0x00, 0x00, 0x18, 0x0A, 0x36,
|
||||
0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE6};
|
||||
EXPECT_STATE_EQ(expected, irsend.capture.state, kMitsubishiACBits);
|
||||
}
|
||||
|
||||
// Tests for decodeMitsubishiAC() when the repeat mark is wrong.
|
||||
TEST(TestDecodeMitsubishiAC, DecodeRealExampleRepeatMarkError) {
|
||||
IRsendTest irsend(4);
|
||||
IRrecv irrecv(4);
|
||||
irsend.begin();
|
||||
|
||||
irsend.reset();
|
||||
// Mitsubishi AC "Power On, 16C, low fan, vane auto move".
|
||||
uint16_t rawData[583] = {
|
||||
3476, 1708, 416, 1264, 420, 1260, 414, 400, 448, 390, 446, 392, 444, 1236,
|
||||
440, 400, 446, 392, 446, 1234, 440, 1266, 418, 396, 442, 1264, 420, 394,
|
||||
444, 394, 442, 1264, 422, 1260, 414, 398, 440, 1266, 418, 1264, 420, 392,
|
||||
446, 392, 444, 1264, 422, 392, 446, 392, 446, 1260, 414, 400, 448, 390,
|
||||
446, 392, 444, 394, 442, 396, 442, 398, 440, 424, 412, 400, 448, 390, 446,
|
||||
392, 446, 392, 444, 394, 442, 396, 442, 396, 440, 398, 438, 400, 448, 390,
|
||||
446, 392, 446, 392, 444, 396, 442, 396, 440, 398, 440, 400, 438, 400, 448,
|
||||
390, 446, 392, 444, 1236, 440, 1266, 418, 394, 442, 396, 440, 398, 438,
|
||||
402, 446, 1232, 444, 396, 440, 1268, 418, 394, 442, 396, 440, 398, 440,
|
||||
400, 448, 390, 448, 1232, 442, 1266, 420, 394, 444, 1264, 422, 1260, 416,
|
||||
396, 440, 398, 450, 1230, 444, 396, 442, 398, 440, 1266, 418, 1264, 422,
|
||||
1258, 416, 1266, 418, 394, 442, 396, 440, 398, 440, 398, 438, 400, 446,
|
||||
392, 446, 392, 446, 392, 444, 396, 442, 396, 440, 398, 438, 398, 438, 400,
|
||||
448, 392, 446, 392, 444, 394, 444, 396, 442, 396, 440, 398, 438, 400, 448,
|
||||
390, 448, 392, 444, 394, 444, 394, 442, 396, 442, 396, 440, 398, 438, 400,
|
||||
448, 390, 446, 392, 446, 392, 444, 394, 442, 396, 442, 396, 440, 398, 438,
|
||||
400, 448, 390, 446, 392, 444, 394, 444, 394, 442, 396, 440, 398, 440, 398,
|
||||
438, 400, 448, 390, 446, 392, 444, 394, 444, 394, 442, 396, 440, 398, 438,
|
||||
400, 438, 400, 448, 392, 446, 392, 444, 394, 442, 396, 442, 396, 440, 398,
|
||||
438, 1240, 444, 1264, 422, 390, 446, 392, 446,
|
||||
// Repeat mark (1111) wrong:
|
||||
1260, 414, 1268, 418, 1264, 422, 1111, 347, 1708, 418, 1264, 422, 1234,
|
||||
442, 398, 448, 390, 446, 392, 446, 1234, 440, 400, 448, 390, 446, 1234,
|
||||
442, 1266, 420, 392, 444, 1264, 420, 392, 446, 394, 444, 1236, 448, 1260,
|
||||
416, 398, 440, 1266, 418, 1262, 422, 390, 446, 392, 444, 1234, 440, 400,
|
||||
448, 392, 446, 1234, 440, 398, 450, 390, 446, 392, 444, 394, 444, 394,
|
||||
442, 396, 442, 398, 440, 400, 438, 400, 448, 390, 446, 392, 444, 394, 442,
|
||||
396, 442, 396, 440, 398, 438, 400, 448, 390, 446, 392, 446, 392, 444, 394,
|
||||
442, 396, 442, 396, 440, 398, 438, 400, 448, 416, 420, 392, 444, 1234,
|
||||
440, 1240, 446, 394, 442, 396, 440, 398, 438, 400, 448, 1232, 444, 396,
|
||||
440, 1240, 446, 394, 442, 396, 440, 398, 440, 400, 448, 390, 446, 1232,
|
||||
444, 1238, 446, 394, 444, 1236, 448, 1232, 442, 396, 440, 398, 448, 1232,
|
||||
444, 396, 440, 398, 438, 1242, 444, 1238, 448, 1234, 442, 1240, 444, 394,
|
||||
442, 396, 440, 398, 438, 400, 448, 390, 446, 394, 444, 420, 416, 394, 444,
|
||||
396, 440, 398, 440, 398, 438, 400, 448, 418, 420, 418, 418, 394, 442, 396,
|
||||
442, 396, 440, 424, 412, 400, 448, 390, 446, 392, 446, 420, 418, 420, 416,
|
||||
396, 440, 398, 440, 424, 412, 426, 420, 418, 420, 392, 444, 394, 444, 422,
|
||||
416, 422, 414, 398, 440, 426, 422, 388, 448, 416, 420, 418, 418, 422, 416,
|
||||
422, 414, 424, 414, 398, 438, 426, 422, 418, 420, 390, 446, 418, 418, 420,
|
||||
416, 396, 440, 424, 412, 426, 412, 400, 446, 418, 420, 420, 418, 420, 416,
|
||||
422, 414, 422, 414, 424, 412, 426, 422, 390, 446, 1232, 442, 1240, 446,
|
||||
394, 444, 394, 442, 1238, 446, 1234, 440, 1240, 444}; // UNKNOWN F6FDB82B
|
||||
|
||||
irsend.sendRaw(rawData, 583, 33);
|
||||
irsend.makeDecodeResult();
|
||||
|
||||
ASSERT_TRUE(irrecv.decode(&irsend.capture));
|
||||
EXPECT_EQ(MITSUBISHI_AC, irsend.capture.decode_type);
|
||||
EXPECT_EQ(kMitsubishiACBits, irsend.capture.bits);
|
||||
uint8_t expected[kMitsubishiACStateLength] = {
|
||||
0x23, 0xCB, 0x26, 0x01, 0x00, 0x00, 0x18, 0x0A, 0x36,
|
||||
0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE6};
|
||||
EXPECT_STATE_EQ(expected, irsend.capture.state, kMitsubishiACBits);
|
||||
}
|
||||
|
||||
// Tests for decodeMitsubishiAC() when first payload has an error and the
|
||||
// repeat mark is wrong.
|
||||
TEST(TestDecodeMitsubishiAC, DecodeRealExampleRepeatNeededButError) {
|
||||
IRsendTest irsend(4);
|
||||
IRrecv irrecv(4);
|
||||
irsend.begin();
|
||||
|
||||
irsend.reset();
|
||||
// Mitsubishi AC "Power On, 16C, low fan, vane auto move".
|
||||
uint16_t rawData[583] = {
|
||||
3476, 1708, 416, 1264, 420, 1260, 414, 400, 448, 390, 446, 392, 444, 1236,
|
||||
440, 400, 446, 392, 446, 1234, 440, 1266, 418, 396, 442, 1264, 420, 394,
|
||||
444, 394, 442, 1264, 422, 1260, 414, 398, 440, 1266, 418, 1264, 420, 392,
|
||||
446, 392, 444, 1264, 422, 392, 446, 392, 446, 1260, 414, 400, 448, 390,
|
||||
446, 392, 444, 394, 442, 396, 442, 398, 440, 424, 412, 400, 448, 390, 446,
|
||||
392, 446, 392, 444, 394, 442, 396, 442, 396, 440, 398, 438, 400, 448, 390,
|
||||
446, 392, 446, 392, 444, 396, 442, 396, 440, 398, 440, 400, 438, 400, 448,
|
||||
390, 446, 392, 444, 1236, 440, 1266, 418, 394, 442, 396, 440, 398, 438,
|
||||
402, 446, 1232, 444, 396, 440, 1268, 418, 394, 442, 396, 440, 398,
|
||||
// space 699 is not recognizable:
|
||||
440, 400, 448, 390, 448, 1232, 442, 1266, 420, 394, 444, 1264, 699, 1260,
|
||||
416, 396, 440, 398, 450, 1230, 444, 396, 442, 398, 440, 1266, 418, 1264,
|
||||
422, 1258, 416, 1266, 418, 394, 442, 396, 440, 398, 440, 398, 438, 400,
|
||||
446, 392, 446, 392, 446, 392, 444, 396, 442, 396, 440, 398, 438, 398, 438,
|
||||
400, 448, 392, 446, 392, 444, 394, 444, 396, 442, 396, 440, 398, 438, 400,
|
||||
448, 390, 448, 392, 444, 394, 444, 394, 442, 396, 442, 396, 440, 398, 438,
|
||||
400, 448, 390, 446, 392, 446, 392, 444, 394, 442, 396, 442, 396, 440, 398,
|
||||
438, 400, 448, 390, 446, 392, 444, 394, 444, 394, 442, 396, 440, 398, 440,
|
||||
398, 438, 400, 448, 390, 446, 392, 444, 394, 444, 394, 442, 396, 440, 398,
|
||||
438, 400, 438, 400, 448, 392, 446, 392, 444, 394, 442, 396, 442, 396, 440,
|
||||
398, 438, 1240, 444, 1264, 422, 390, 446, 392, 446,
|
||||
// 1111 is not a valid repeat mark:
|
||||
1260, 414, 1268, 418, 1264, 422, 1111, 3478, 1708, 418, 1264, 422, 1234,
|
||||
442, 398, 448, 390, 446, 392, 446, 1234, 440, 400, 448, 390, 446, 1234,
|
||||
442, 1266, 420, 392, 444, 1264, 420, 392, 446, 394, 444, 1236, 448, 1260,
|
||||
416, 398, 440, 1266, 418, 1262, 422, 390, 446, 392, 444, 1234, 440, 400,
|
||||
448, 392, 446, 1234, 440, 398, 450, 390, 446, 392, 444, 394, 444, 394,
|
||||
442, 396, 442, 398, 440, 400, 438, 400, 448, 390, 446, 392, 444, 394, 442,
|
||||
396, 442, 396, 440, 398, 438, 400, 448, 390, 446, 392, 446, 392, 444, 394,
|
||||
442, 396, 442, 396, 440, 398, 438, 400, 448, 416, 420, 392, 444, 1234,
|
||||
440, 1240, 446, 394, 442, 396, 440, 398, 438, 400, 448, 1232, 444, 396,
|
||||
440, 1240, 446, 394, 442, 396, 440, 398, 440, 400, 448, 390, 446, 1232,
|
||||
444, 1238, 446, 394, 444, 1236, 448, 1232, 442, 396, 440, 398, 448, 1232,
|
||||
444, 396, 440, 398, 438, 1242, 444, 1238, 448, 1234, 442, 1240, 444, 394,
|
||||
442, 396, 440, 398, 438, 400, 448, 390, 446, 394, 444, 420, 416, 394, 444,
|
||||
396, 440, 398, 440, 398, 438, 400, 448, 418, 420, 418, 418, 394, 442, 396,
|
||||
442, 396, 440, 424, 412, 400, 448, 390, 446, 392, 446, 420, 418, 420, 416,
|
||||
396, 440, 398, 440, 424, 412, 426, 420, 418, 420, 392, 444, 394, 444, 422,
|
||||
416, 422, 414, 398, 440, 426, 422, 388, 448, 416, 420, 418, 418, 422, 416,
|
||||
422, 414, 424, 414, 398, 438, 426, 422, 418, 420, 390, 446, 418, 418, 420,
|
||||
416, 396, 440, 424, 412, 426, 412, 400, 446, 418, 420, 420, 418, 420, 416,
|
||||
422, 414, 422, 414, 424, 412, 426, 422, 390, 446, 1232, 442, 1240, 446,
|
||||
394, 444, 394, 442, 1238, 446, 1234, 440, 1240, 444}; // UNKNOWN F6FDB82B
|
||||
|
||||
irsend.sendRaw(rawData, 583, 33);
|
||||
irsend.makeDecodeResult();
|
||||
|
||||
ASSERT_TRUE(irrecv.decode(&irsend.capture));
|
||||
EXPECT_EQ(UNKNOWN, irsend.capture.decode_type);
|
||||
}
|
||||
|
||||
TEST(TestMitsubishiACClass, HumanReadable) {
|
||||
IRMitsubishiAC irMitsu(0);
|
||||
EXPECT_EQ(
|
||||
"Power: On (HEAT), Temp: 22C, FAN: SILENT, VANE: AUTO, "
|
||||
"Time: 17:10, On timer: 00:00, Off timer: 00:00, Timer: -",
|
||||
irMitsu.toString());
|
||||
}
|
||||
|
||||
// Test sending typical data only.
|
||||
TEST(TestSendMitsubishi2, SendDataOnly) {
|
||||
@@ -712,7 +993,8 @@ TEST(TestSendMitsubishi2, SendDataOnly) {
|
||||
"m560s520m560s520m560s520m560s520m560s1560m560s1560m560s1560m560s1560"
|
||||
"m560s4200"
|
||||
"m560s1560m560s520m560s520m560s520m560s520m560s520m560s1560m560s520"
|
||||
"m560s28500", irsend.outputStr());
|
||||
"m560s28500",
|
||||
irsend.outputStr());
|
||||
|
||||
irsend.reset();
|
||||
irsend.sendMitsubishi2(0x0);
|
||||
@@ -726,7 +1008,8 @@ TEST(TestSendMitsubishi2, SendDataOnly) {
|
||||
"m560s520m560s520m560s520m560s520m560s520m560s520m560s520m560s520"
|
||||
"m560s4200"
|
||||
"m560s520m560s520m560s520m560s520m560s520m560s520m560s520m560s520"
|
||||
"m560s28500", irsend.outputStr());
|
||||
"m560s28500",
|
||||
irsend.outputStr());
|
||||
}
|
||||
|
||||
// Test sending odd repeats.
|
||||
@@ -735,32 +1018,34 @@ TEST(TestSendMitsubishi2, Repeats) {
|
||||
irsend.begin();
|
||||
|
||||
irsend.reset();
|
||||
irsend.sendMitsubishi2(0xF82, MITSUBISHI_BITS, 0);
|
||||
irsend.sendMitsubishi2(0xF82, kMitsubishiBits, 0);
|
||||
EXPECT_EQ(
|
||||
"m8400s4200"
|
||||
"m560s520m560s520m560s520m560s520m560s1560m560s1560m560s1560m560s1560"
|
||||
"m560s4200"
|
||||
"m560s1560m560s520m560s520m560s520m560s520m560s520m560s1560m560s520"
|
||||
"m560s28500", irsend.outputStr());
|
||||
"m560s28500",
|
||||
irsend.outputStr());
|
||||
|
||||
irsend.reset();
|
||||
irsend.sendMitsubishi2(0xF82, MITSUBISHI_BITS, 2);
|
||||
irsend.sendMitsubishi2(0xF82, kMitsubishiBits, 2);
|
||||
EXPECT_EQ(
|
||||
"m8400s4200"
|
||||
"m560s520m560s520m560s520m560s520m560s1560m560s1560m560s1560m560s1560"
|
||||
"m560s4200"
|
||||
"m560s1560m560s520m560s520m560s520m560s520m560s520m560s1560m560s520"
|
||||
"m560s28500"
|
||||
"m8400s4200"
|
||||
"m560s520m560s520m560s520m560s520m560s1560m560s1560m560s1560m560s1560"
|
||||
"m560s4200"
|
||||
"m560s1560m560s520m560s520m560s520m560s520m560s520m560s1560m560s520"
|
||||
"m560s28500"
|
||||
"m8400s4200"
|
||||
"m560s520m560s520m560s520m560s520m560s1560m560s1560m560s1560m560s1560"
|
||||
"m560s4200"
|
||||
"m560s1560m560s520m560s520m560s520m560s520m560s520m560s1560m560s520"
|
||||
"m560s28500", irsend.outputStr());
|
||||
"m8400s4200"
|
||||
"m560s520m560s520m560s520m560s520m560s1560m560s1560m560s1560m560s1560"
|
||||
"m560s4200"
|
||||
"m560s1560m560s520m560s520m560s520m560s520m560s520m560s1560m560s520"
|
||||
"m560s28500"
|
||||
"m8400s4200"
|
||||
"m560s520m560s520m560s520m560s520m560s1560m560s1560m560s1560m560s1560"
|
||||
"m560s4200"
|
||||
"m560s1560m560s520m560s520m560s520m560s520m560s520m560s1560m560s520"
|
||||
"m560s28500"
|
||||
"m8400s4200"
|
||||
"m560s520m560s520m560s520m560s520m560s1560m560s1560m560s1560m560s1560"
|
||||
"m560s4200"
|
||||
"m560s1560m560s520m560s520m560s520m560s520m560s520m560s1560m560s520"
|
||||
"m560s28500",
|
||||
irsend.outputStr());
|
||||
}
|
||||
|
||||
// Tests for decodeMitsubishi2().
|
||||
@@ -778,7 +1063,7 @@ TEST(TestDecodeMitsubishi2, DecodeSyntheticExamples) {
|
||||
|
||||
ASSERT_TRUE(irrecv.decode(&irsend.capture));
|
||||
EXPECT_EQ(MITSUBISHI2, irsend.capture.decode_type);
|
||||
EXPECT_EQ(MITSUBISHI_BITS, irsend.capture.bits);
|
||||
EXPECT_EQ(kMitsubishiBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0xF82, irsend.capture.value);
|
||||
EXPECT_EQ(0xF, irsend.capture.address);
|
||||
EXPECT_EQ(0x82, irsend.capture.command);
|
||||
@@ -788,7 +1073,7 @@ TEST(TestDecodeMitsubishi2, DecodeSyntheticExamples) {
|
||||
irsend.makeDecodeResult();
|
||||
ASSERT_TRUE(irrecv.decode(&irsend.capture));
|
||||
EXPECT_EQ(MITSUBISHI2, irsend.capture.decode_type);
|
||||
EXPECT_EQ(MITSUBISHI_BITS, irsend.capture.bits);
|
||||
EXPECT_EQ(kMitsubishiBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0x0, irsend.capture.value);
|
||||
EXPECT_EQ(0x0, irsend.capture.address);
|
||||
EXPECT_EQ(0x0, irsend.capture.command);
|
||||
@@ -798,7 +1083,7 @@ TEST(TestDecodeMitsubishi2, DecodeSyntheticExamples) {
|
||||
irsend.makeDecodeResult();
|
||||
ASSERT_TRUE(irrecv.decode(&irsend.capture));
|
||||
EXPECT_EQ(MITSUBISHI2, irsend.capture.decode_type);
|
||||
EXPECT_EQ(MITSUBISHI_BITS, irsend.capture.bits);
|
||||
EXPECT_EQ(kMitsubishiBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0x1234, irsend.capture.value);
|
||||
EXPECT_EQ(0x12, irsend.capture.address);
|
||||
EXPECT_EQ(0x34, irsend.capture.command);
|
||||
@@ -813,21 +1098,20 @@ TEST(TestDecodeMitsubishi2, DecodeRealExample) {
|
||||
irsend.reset();
|
||||
// Mitsubishi Projector "Power On" (16-bit).
|
||||
uint16_t rawData[75] = {
|
||||
8402, 4172, 554, 490, 562, 484, 560, 514, 532, 512, 534, 1566,
|
||||
526, 1572, 526, 1542, 560, 1568, 532, 4192,
|
||||
534, 1564, 532, 484, 560, 512, 532, 512, 532, 514, 530, 514,
|
||||
526, 1570, 524, 520, 526, 28506,
|
||||
8454, 4170, 560, 514, 528, 516, 526, 520, 524, 490, 556, 1572,
|
||||
534, 1534, 560, 1568, 530, 1538, 558, 4166,
|
||||
560, 1538, 558, 490, 560, 512, 530, 514, 532, 484, 558, 514,
|
||||
532, 1566, 530, 486, 554}; // UNKNOWN 96A1512F
|
||||
8402, 4172, 554, 490, 562, 484, 560, 514, 532, 512, 534,
|
||||
1566, 526, 1572, 526, 1542, 560, 1568, 532, 4192, 534, 1564,
|
||||
532, 484, 560, 512, 532, 512, 532, 514, 530, 514, 526,
|
||||
1570, 524, 520, 526, 28506, 8454, 4170, 560, 514, 528, 516,
|
||||
526, 520, 524, 490, 556, 1572, 534, 1534, 560, 1568, 530,
|
||||
1538, 558, 4166, 560, 1538, 558, 490, 560, 512, 530, 514,
|
||||
532, 484, 558, 514, 532, 1566, 530, 486, 554}; // UNKNOWN 96A1512F
|
||||
|
||||
irsend.sendRaw(rawData, 75, 33);
|
||||
irsend.makeDecodeResult();
|
||||
|
||||
ASSERT_TRUE(irrecv.decode(&irsend.capture));
|
||||
EXPECT_EQ(MITSUBISHI2, irsend.capture.decode_type);
|
||||
EXPECT_EQ(MITSUBISHI_BITS, irsend.capture.bits);
|
||||
EXPECT_EQ(kMitsubishiBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0xF82, irsend.capture.value);
|
||||
EXPECT_EQ(0xF, irsend.capture.address);
|
||||
EXPECT_EQ(0x82, irsend.capture.command);
|
||||
|
||||
Reference in new issue
Block a user