manchester encoding inverted: 0 maps to 01 instead of 10 #2

Closed
opened 2026-07-26 17:01:36 +00:00 by daru · 1 comment
Owner

manchester_table maps data bit 0 to symbol 01 and bit 1 to symbol 10. rtl_433 bitbuffer_manchester_decode takes bit2 as the decoded bit, so 01 decodes to 1 and 10 decodes to 0 - all bits inverted on receive.

Fix: flip the table so 0 maps to 10, 1 maps to 01.

manchester_table maps data bit 0 to symbol 01 and bit 1 to symbol 10. rtl_433 bitbuffer_manchester_decode takes bit2 as the decoded bit, so 01 decodes to 1 and 10 decodes to 0 - all bits inverted on receive. Fix: flip the table so 0 maps to 10, 1 maps to 01.
Contributor

Fixed in PR #13. Manchester encoding now follows IEEE 802.3: 0 → 10 (falling edge), 1 → 01 (rising edge). Table updated, PREAMBLE changed from 0x1143 to 0xEEBC, and manchester_gen.py added as the canonical table generator with --verify flag.

Fixed in PR #13. Manchester encoding now follows IEEE 802.3: 0 → 10 (falling edge), 1 → 01 (rising edge). Table updated, PREAMBLE changed from 0x1143 to 0xEEBC, and `manchester_gen.py` added as the canonical table generator with `--verify` flag.
daru closed this issue 2026-07-26 22:19:29 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
daru/PICsense#2
No description provided.