16 uint8_t messageBitIdx;
18 uint16_t messageLength;
35 void reset(uint16_t data,
bool repeatMessage) {
37 this->repeatMessage = repeatMessage;
44 return 1 + ((data >> 12) & 0x3);
53 for (
unsigned long mask = 1UL << 15; mask; mask >>= 1) {
70 if (repeatCount >= 1 && !repeatMessage) {
72 }
else if (repeatCount >= 5) {
84 if (messageBitIdx == 0)
87 return getDataBitPause();
89 return getStopPause();
94 uint16_t getDataBitPause()
const {
96 const bool isHigh = data & (1 << pos);
100 uint32_t getStopPause()
const {
102 return getRepeatStopPause();
108 uint32_t getRepeatStopPause()
const {
109 if (repeatCount == 0 || repeatCount == 1) {
111 }
else if (repeatCount == 2 || repeatCount == 3) {