| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- // Copyright 2018 David Conran
- #include "IRsend.h"
- #include "IRsend_test.h"
- #include "IRutils.h"
- #include "gtest/gtest.h"
- // Tests for sendPioneer().
- // Test sending typical data only.
- TEST(TestSendPioneer, SendDataOnly) {
- IRsendTest irsend(0);
- irsend.begin();
- irsend.sendPioneer(0);
- EXPECT_EQ(
- "m8960s4480"
- "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560"
- "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560"
- "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560"
- "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560"
- "m560s58240"
- "m8960s4480"
- "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560"
- "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560"
- "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560"
- "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560"
- "m560s58240",
- irsend.outputStr());
- irsend.sendPioneer(0x55FF00AAAA00FF55);
- EXPECT_EQ(
- "m8960s4480"
- "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
- "m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680"
- "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560"
- "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
- "m560s40320"
- "m8960s4480"
- "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560"
- "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560"
- "m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680"
- "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680"
- "m560s40320",
- irsend.outputStr());
- }
- // Tests for IRutils.
- TEST(TestIRUtils, TypeToString) { EXPECT_EQ("PIONEER", typeToString(PIONEER)); }
- // Tests for encodePioneer().
- TEST(TestEncodePioneer, SimpleEncoding) {
- IRsendTest irsend(0);
- IRrecv irrecv(0);
- // Spotify button (A556+AF20)
- // via
- // https://www.pioneerelectronics.com/StaticFiles/PUSA/Files/Home%20Custom%20Install/2015%20Pioneer%20&%20Elite%20AVR%20IR%20with%20Hex_1.xls
- EXPECT_EQ(0xA55A6A95F50A04FB, irsend.encodePioneer(0xA556, 0xAF20));
- // "Source" from
- // https://github.com/markszabo/IRremoteESP8266/pull/547#issuecomment-429616582
- EXPECT_EQ(0x659A05FAF50AC53A, irsend.encodePioneer(0xA6A0, 0xAFA3));
- }
- // Tests for decodePioneer().
- // Synthesised Normal Pioneer message.
- TEST(TestDecodePioneer, SyntheticPioneerDecode) {
- IRsendTest irsend(0);
- IRrecv irrecv(0);
- irsend.begin();
- irsend.reset();
- irsend.sendPioneer(0x659A05FAF50AC53A);
- irsend.makeDecodeResult();
- EXPECT_TRUE(irrecv.decode(&irsend.capture));
- EXPECT_EQ(PIONEER, irsend.capture.decode_type);
- EXPECT_EQ(kPioneerBits, irsend.capture.bits);
- EXPECT_EQ(0x659A05FAF50AC53A, irsend.capture.value);
- EXPECT_EQ(0xA6A0, irsend.capture.address);
- EXPECT_EQ(0xAFA3, irsend.capture.command);
- }
- // Real long Pioneer message.
- TEST(TestDecodePioneer, RealExampleLongDecodeSourceButton) {
- IRsendTest irsend(0);
- IRrecv irrecv(0);
- irsend.begin();
- irsend.reset();
- // "Source" button.
- // https://github.com/markszabo/IRremoteESP8266/pull/547#issuecomment-429616582
- uint16_t rawData[135] = {
- 8552, 4184, 596, 472, 592, 1524, 594, 1524, 594, 472, 592, 472,
- 598, 1520, 596, 472, 594, 1524, 592, 1524, 592, 472, 592, 472,
- 596, 1520, 598, 1520, 596, 472, 592, 1524, 592, 472, 592, 476,
- 592, 472, 592, 472, 592, 476, 592, 472, 592, 1524, 592, 472,
- 598, 1518, 598, 1520, 596, 1520, 596, 1520, 596, 1520, 596, 1520,
- 596, 472, 592, 1524, 592, 472, 598, 25282, 8552, 4182, 596, 1520,
- 598, 1518, 598, 1520, 596, 1520, 596, 472, 592, 1524, 592, 472,
- 598, 1520, 596, 472, 594, 472, 592, 472, 596, 472, 592, 1524,
- 592, 472, 592, 1524, 596, 472, 594, 1520, 596, 1520, 598, 472,
- 592, 472, 598, 472, 594, 1522, 594, 472, 592, 1524, 594, 472,
- 596, 472, 594, 1524, 592, 1524, 592, 1524, 592, 472, 594, 1524,
- 598, 472, 592};
- irsend.sendRaw(rawData, 135, 38000);
- irsend.makeDecodeResult();
- EXPECT_TRUE(irrecv.decode(&irsend.capture));
- EXPECT_EQ(PIONEER, irsend.capture.decode_type);
- EXPECT_EQ(kPioneerBits, irsend.capture.bits);
- EXPECT_EQ(0x659A05FAF50AC53A, irsend.capture.value);
- EXPECT_EQ(0xA6A0, irsend.capture.address);
- EXPECT_EQ(0xAFA3, irsend.capture.command);
- }
- // Synthetic Pioneer message.
- // For:
- // https://github.com/markszabo/IRremoteESP8266/pull/547#issuecomment-430800734
- TEST(TestDecodePioneer, SyntheticPioneerMessage) {
- IRsendTest irsend(0);
- IRrecv irrecv(0);
- irsend.begin();
- irsend.reset();
- irsend.sendPioneer(0x659A857AF50A3DC2, 64, 0);
- irsend.makeDecodeResult();
- EXPECT_TRUE(irrecv.decode(&irsend.capture));
- EXPECT_EQ(PIONEER, irsend.capture.decode_type);
- EXPECT_EQ(kPioneerBits, irsend.capture.bits);
- EXPECT_EQ(0x659A857AF50A3DC2, irsend.capture.value);
- EXPECT_EQ(0xA6A1, irsend.capture.address);
- EXPECT_EQ(0xAFBC, irsend.capture.command);
- irsend.reset();
- irsend.sendPioneer(0x659A857AF50A3DC2, 64, 0);
- EXPECT_EQ(
- "m8960s4480"
- "m560s560m560s1680m560s1680m560s560m560s560m560s1680m560s560m560s1680"
- "m560s1680m560s560m560s560m560s1680m560s1680m560s560m560s1680m560s560"
- "m560s1680m560s560m560s560m560s560m560s560m560s1680m560s560m560s1680"
- "m560s560m560s1680m560s1680m560s1680m560s1680m560s560m560s1680m560s560"
- "m560s40320"
- "m8960s4480"
- "m560s1680m560s1680m560s1680m560s1680m560s560m560s1680m560s560m560s1680"
- "m560s560m560s560m560s560m560s560m560s1680m560s560m560s1680m560s560"
- "m560s560m560s560m560s1680m560s1680m560s1680m560s1680m560s560m560s1680"
- "m560s1680m560s1680m560s560m560s560m560s560m560s560m560s1680m560s560"
- "m560s40320",
- irsend.outputStr());
- }
|