初始化提交
This commit is contained in:
119
arduino-cli/libraries/IRremoteESP8266/test/ir_Inax_test.cpp
Normal file
119
arduino-cli/libraries/IRremoteESP8266/test/ir_Inax_test.cpp
Normal file
@@ -0,0 +1,119 @@
|
||||
// Copyright 2019 crankyoldgit (David Conran)
|
||||
|
||||
#include "IRsend.h"
|
||||
#include "IRsend_test.h"
|
||||
#include "IRutils.h"
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
|
||||
// General housekeeping
|
||||
TEST(TestInax, Housekeeping) {
|
||||
ASSERT_EQ("INAX", typeToString(INAX));
|
||||
ASSERT_FALSE(hasACState(INAX));
|
||||
}
|
||||
|
||||
// Tests for sendInax().
|
||||
// Test sending typical data only.
|
||||
TEST(TestSendInax, SendDataOnly) {
|
||||
IRsendTest irsend(0);
|
||||
irsend.begin();
|
||||
|
||||
irsend.reset();
|
||||
irsend.sendInax(0x5C32CD); // Small flush.
|
||||
EXPECT_EQ(
|
||||
"f38000d50"
|
||||
"m9000s4500"
|
||||
"m560s560m560s1675m560s560m560s1675m560s1675m560s1675m560s560m560s560"
|
||||
"m560s560m560s560m560s1675m560s1675m560s560m560s560m560s1675m560s560"
|
||||
"m560s1675m560s1675m560s560m560s560m560s1675m560s1675m560s560m560s1675"
|
||||
"m560s40000"
|
||||
"m9000s4500"
|
||||
"m560s560m560s1675m560s560m560s1675m560s1675m560s1675m560s560m560s560"
|
||||
"m560s560m560s560m560s1675m560s1675m560s560m560s560m560s1675m560s560"
|
||||
"m560s1675m560s1675m560s560m560s560m560s1675m560s1675m560s560m560s1675"
|
||||
"m560s40000",
|
||||
irsend.outputStr());
|
||||
|
||||
irsend.reset();
|
||||
}
|
||||
|
||||
// Test sending with different repeats.
|
||||
TEST(TestSendInax, SendWithRepeats) {
|
||||
IRsendTest irsend(0);
|
||||
irsend.begin();
|
||||
|
||||
irsend.reset();
|
||||
irsend.sendInax(0x5C32CD, kInaxBits, 0); // 0 repeats.
|
||||
EXPECT_EQ(
|
||||
"f38000d50"
|
||||
"m9000s4500"
|
||||
"m560s560m560s1675m560s560m560s1675m560s1675m560s1675m560s560m560s560"
|
||||
"m560s560m560s560m560s1675m560s1675m560s560m560s560m560s1675m560s560"
|
||||
"m560s1675m560s1675m560s560m560s560m560s1675m560s1675m560s560m560s1675"
|
||||
"m560s40000",
|
||||
irsend.outputStr());
|
||||
irsend.sendInax(0x5C32CD, kInaxBits, 2); // 2 repeats.
|
||||
EXPECT_EQ(
|
||||
"f38000d50"
|
||||
"m9000s4500"
|
||||
"m560s560m560s1675m560s560m560s1675m560s1675m560s1675m560s560m560s560"
|
||||
"m560s560m560s560m560s1675m560s1675m560s560m560s560m560s1675m560s560"
|
||||
"m560s1675m560s1675m560s560m560s560m560s1675m560s1675m560s560m560s1675"
|
||||
"m560s40000"
|
||||
"m9000s4500"
|
||||
"m560s560m560s1675m560s560m560s1675m560s1675m560s1675m560s560m560s560"
|
||||
"m560s560m560s560m560s1675m560s1675m560s560m560s560m560s1675m560s560"
|
||||
"m560s1675m560s1675m560s560m560s560m560s1675m560s1675m560s560m560s1675"
|
||||
"m560s40000"
|
||||
"m9000s4500"
|
||||
"m560s560m560s1675m560s560m560s1675m560s1675m560s1675m560s560m560s560"
|
||||
"m560s560m560s560m560s1675m560s1675m560s560m560s560m560s1675m560s560"
|
||||
"m560s1675m560s1675m560s560m560s560m560s1675m560s1675m560s560m560s1675"
|
||||
"m560s40000",
|
||||
irsend.outputStr());
|
||||
}
|
||||
|
||||
// Tests for decodeInax().
|
||||
|
||||
// Decode normal Inax messages.
|
||||
TEST(TestDecodeInax, SyntheticDecode) {
|
||||
IRsendTest irsend(0);
|
||||
IRrecv irrecv(0);
|
||||
irsend.begin();
|
||||
|
||||
// Normal Inax 24-bit message.
|
||||
irsend.reset();
|
||||
irsend.sendInax(0x5C32CD);
|
||||
irsend.makeDecodeResult();
|
||||
ASSERT_TRUE(irrecv.decode(&irsend.capture));
|
||||
EXPECT_EQ(INAX, irsend.capture.decode_type);
|
||||
EXPECT_EQ(kInaxBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0x5C32CD, irsend.capture.value);
|
||||
EXPECT_EQ(0, irsend.capture.address);
|
||||
EXPECT_EQ(0, irsend.capture.command);
|
||||
}
|
||||
|
||||
// Decode real example via Issue #704
|
||||
TEST(TestDecodeInax, DecodeExamples) {
|
||||
IRsendTest irsend(0);
|
||||
IRrecv irrecv(0);
|
||||
irsend.begin();
|
||||
|
||||
irsend.reset();
|
||||
// Inax Small Flush from Issue #309
|
||||
uint16_t smallFlushRawData[51] = {
|
||||
8996, 4474, 568, 556, 560, 1676, 568, 556, 562, 1676, 562, 1678, 566,
|
||||
1674, 566, 558, 560, 560, 566, 556, 566, 556, 560, 1678, 562, 1676, 566,
|
||||
556, 562, 560, 564, 1672, 566, 556, 562, 1676, 562, 1678, 562, 560, 564,
|
||||
558, 564, 1674, 560, 1678, 564, 560, 566, 1670, 562};
|
||||
|
||||
irsend.sendRaw(smallFlushRawData, 51, 38);
|
||||
irsend.makeDecodeResult();
|
||||
|
||||
ASSERT_TRUE(irrecv.decode(&irsend.capture));
|
||||
EXPECT_EQ(INAX, irsend.capture.decode_type);
|
||||
EXPECT_EQ(kInaxBits, irsend.capture.bits);
|
||||
EXPECT_EQ(0x5C32CD, irsend.capture.value);
|
||||
EXPECT_EQ(0, irsend.capture.address);
|
||||
EXPECT_EQ(0, irsend.capture.command);
|
||||
}
|
||||
Reference in New Issue
Block a user