bug: decoder offset on first packet, preamble miss on second — add sync byte #28
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
wait-to-fix
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
daru/PICsense#28
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The rtl_433 flex decoder sees the first packet as 121 bits (offset by the 2ms t_wake ON prefix) and the second as 120 bits but missing the preamble (offset by the 1ms OFF inter-packet gap). The decoder's
sync=4000field is set but there's no sync byte in the actual packet structure. Fix: prepend a sync byte (0x00 → encoded 0xAAAA, all rising edges) before the preamble in each packet. This gives rtl_433 a 4000µs continuous pulse to use as a sync marker. Requires changes in three places: firmware (prepend sync byte before preamble), tx_emulator burst generation (prepend sync byte), and the rtl_433 cryogencc_pickle_01 decoder (skip the sync byte when parsing).Fixed in PR #39: tx/rx verified working with rtl_433 flex decoder. First packet offset and second packet preamble miss are resolved by the t_wake timing fixes and proper Manchester encoding.