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:
Florian committed 2019-02-08 16:50:37 +01:00
1 parent 0180a0dbd5
commit f0305236db
149 files changed
+20957 -7850

No files matched your search

+24 -41
View File
@@ -20,32 +20,29 @@
uint32_t _IRtimer_unittest_now = 0;
#endif // UNIT_TEST
class IRsendTest: public IRsend {
class IRsendTest : public IRsend {
public:
uint32_t output[OUTPUT_BUF];
uint16_t last;
uint16_t rawbuf[RAW_BUF];
decode_results capture;
explicit IRsendTest(uint16_t x, bool i = false, bool j = true) :
IRsend(x, i, j) {
explicit IRsendTest(uint16_t x, bool i = false, bool j = true)
: IRsend(x, i, j) {
reset();
}
void reset() {
last = 0;
for (uint16_t i = 0; i < OUTPUT_BUF; i++)
output[i] = 0;
for (uint16_t i = 0; i < RAW_BUF; i++)
rawbuf[i] = 0;
for (uint16_t i = 0; i < OUTPUT_BUF; i++) output[i] = 0;
for (uint16_t i = 0; i < RAW_BUF; i++) rawbuf[i] = 0;
}
std::string outputStr() {
std::stringstream result;
if (last == 0 && output[0] == 0)
return "";
if (last == 0 && output[0] == 0) return "";
for (uint16_t i = 0; i <= last; i++) {
if ((i & 1) != outputOff ) // Odd XOR outputOff
if ((i & 1) != outputOff) // Odd XOR outputOff
result << "s";
else
result << "m";
@@ -59,45 +56,38 @@ class IRsendTest: public IRsend {
capture.decode_type = UNKNOWN;
capture.bits = 0;
capture.rawlen = last + 2 - offset;
capture.overflow = (last - offset >= (int16_t) RAW_BUF);
capture.overflow = (last - offset >= (int16_t)RAW_BUF);
capture.repeat = false;
capture.address = 0;
capture.command = 0;
capture.value = 0;
capture.rawbuf = rawbuf;
for (uint16_t i = 0;
(i < RAW_BUF - 1) && (offset < OUTPUT_BUF);
for (uint16_t i = 0; (i < RAW_BUF - 1) && (offset < OUTPUT_BUF);
i++, offset++)
if (output[offset] / RAWTICK > UINT16_MAX)
if (output[offset] / kRawTick > UINT16_MAX)
rawbuf[i + 1] = UINT16_MAX;
else
rawbuf[i + 1] = output[offset] / RAWTICK;
rawbuf[i + 1] = output[offset] / kRawTick;
}
void dumpRawResult() {
std::cout << std::dec;
if (capture.rawlen == 0) return;
std::cout << "uint16_t rawbuf["<< capture.rawlen - 1 << "] = {";
std::cout << "uint16_t rawbuf[" << capture.rawlen - 1 << "] = {";
for (uint16_t i = 1; i < capture.rawlen; i++) {
if (i % 8 == 1)
std::cout << std::endl << " ";
std::cout << (capture.rawbuf[i] * RAWTICK);
if (i % 8 == 1) std::cout << std::endl << " ";
std::cout << (capture.rawbuf[i] * kRawTick);
// std::cout << "(" << capture.rawbuf[i] << ")";
if (i < capture.rawlen - 1)
std::cout << ", ";
if (i < capture.rawlen - 1) std::cout << ", ";
}
std::cout << "};" << std::endl;
}
void addGap(uint32_t usecs) {
space(usecs);
}
void addGap(uint32_t usecs) { space(usecs); }
protected:
uint16_t mark(uint16_t usec) {
IRtimer::add(usec);
if (last >= OUTPUT_BUF)
return 0;
if (last >= OUTPUT_BUF) return 0;
if (last & 1) // Is odd? (i.e. last call was a space())
output[++last] = usec;
else
@@ -107,8 +97,7 @@ class IRsendTest: public IRsend {
void space(uint32_t time) {
IRtimer::add(time);
if (last >= OUTPUT_BUF)
return;
if (last >= OUTPUT_BUF) return;
if (last & 1) { // Is odd? (i.e. last call was a space())
output[last] += time;
} else {
@@ -118,18 +107,16 @@ class IRsendTest: public IRsend {
};
#ifdef UNIT_TEST
class IRsendLowLevelTest: public IRsend {
class IRsendLowLevelTest : public IRsend {
public:
std::string low_level_sequence;
explicit IRsendLowLevelTest(uint16_t x, bool i = false, bool j = true) :
IRsend(x, i, j) {
explicit IRsendLowLevelTest(uint16_t x, bool i = false, bool j = true)
: IRsend(x, i, j) {
reset();
}
void reset() {
low_level_sequence = "";
}
void reset() { low_level_sequence = ""; }
protected:
void _delayMicroseconds(uint32_t usec) {
@@ -139,13 +126,9 @@ class IRsendLowLevelTest: public IRsend {
low_level_sequence += Convert.str() + "usecs";
}
void ledOff() {
low_level_sequence += "[Off]";
}
void ledOff() { low_level_sequence += "[Off]"; }
void ledOn() {
low_level_sequence += "[On]";
}
void ledOn() { low_level_sequence += "[On]"; }
};
#endif // UNIT_TEST