68 ESP_LOGV(TAG,
"received %d-bit value: %llx", count, value);
70 trigger->trigger(count, value);
73 buf_append_printf(tag_buf,
sizeof(tag_buf), 0,
"%" PRIu32,
static_cast<uint32_t>((value >> 1) & 0xffffff));
74 ESP_LOGD(TAG,
"received 26-bit tag: %s", tag_buf);
76 ESP_LOGW(TAG,
"invalid parity");
80 trigger->trigger(tag_buf);
81 }
else if (count == 34) {
83 buf_append_printf(tag_buf,
sizeof(tag_buf), 0,
"%" PRIu32,
static_cast<uint32_t>((value >> 1) & 0xffffffff));
84 ESP_LOGD(TAG,
"received 34-bit tag: %s", tag_buf);
86 ESP_LOGW(TAG,
"invalid parity");
90 trigger->trigger(tag_buf);
91 }
else if (count == 37) {
93 buf_append_printf(tag_buf,
sizeof(tag_buf), 0,
"%" PRIu64,
static_cast<uint64_t
>((value >> 1) & 0x7ffffffff));
94 ESP_LOGD(TAG,
"received 37-bit tag: %s", tag_buf);
96 ESP_LOGW(TAG,
"invalid parity");
100 trigger->trigger(tag_buf);
101 }
else if (count == 4) {
103 trigger->trigger(value);
105 uint8_t key = KEYS[value];
108 }
else if (count == 8) {
109 if ((value ^ 0xf0) >> 4 == (value & 0xf)) {
112 trigger->trigger(value);
114 uint8_t key = KEYS[value];
119 ESP_LOGD(TAG,
"received unknown %d-bit value: %llx", count, value);