85 if (
src.size() != (NBITS_DATA + NBITS_START_BIT) * 2) {
90 if (!
src.expect_mark(BIT_TIME_US)) {
95 "%3" PRId32
": %" PRId32
" %" PRId32
" %" PRId32
" %" PRId32
" %" PRId32
" %" PRId32
" %" PRId32
" %" PRId32
96 " %" PRId32
" %" PRId32
" %" PRId32
" %" PRId32
" %" PRId32
" %" PRId32
" %" PRId32
" %" PRId32
" %" PRId32
97 " %" PRId32
" %" PRId32
" %" PRId32,
102 ESP_LOGVV(TAG,
" %" PRId32
" %" PRId32
" %" PRId32
" %" PRId32
" %" PRId32
" %" PRId32,
src.peek(20),
107 int8_t bit = NBITS_DATA;
109 if (
src.expect_space(2 * BIT_TIME_US) &&
src.expect_mark(BIT_TIME_US)) {
110 out_data |= 1 << bit;
111 }
else if (
src.expect_space(BIT_TIME_US) &&
src.expect_mark(2 * BIT_TIME_US)) {
112 out_data |= 0 << bit;
114 ESP_LOGV(TAG,
"Decode ByronSX: Fail 2, %2d %08" PRIx32, bit, out_data);
117 ESP_LOGVV(TAG,
"Decode ByronSX: Data, %2d %08" PRIx32, bit, out_data);
121 if (!
src.peek_space_at_least(BIT_TIME_US)) {
122 ESP_LOGV(TAG,
"Decode ByronSX: Fail 4 ");
126 out.command = (uint8_t) (out_data & 0xF);
127 out_data >>= NBITS_COMMAND;
128 out.address = (uint16_t) (out_data & 0xFF);