rtl_433 decoder not upstreamed - at risk of being lost #10

Open
opened 2026-07-26 17:03:06 +00:00 by daru · 5 comments
Owner

cryogencc_pickle_01.c lives in the rtl_433 submodule but is not in upstream. A submodule update could drop it.

Fix: upstream the decoder or maintain as a patch on top of the submodule.

cryogencc_pickle_01.c lives in the rtl_433 submodule but is not in upstream. A submodule update could drop it. Fix: upstream the decoder or maintain as a patch on top of the submodule.
Author
Owner

We're working out of sync from the upstream intentionally right now---once we have our decoder locked in, we're going to pull the current version from upstream, add our changes, and submit a PR. For now we should wait on this.

We're working out of sync from the upstream intentionally right now---once we have our decoder locked in, we're going to pull the current version from upstream, add our changes, and submit a PR. For now we should wait on this.
Author
Owner

Maybe it's possible to entirely utilize a flex decoder? Is it possible to assign bitfields like in the full device decoders?

Maybe it's possible to entirely utilize a flex decoder? Is it possible to assign bitfields like in the full device decoders?
Contributor

The decoder cryogencc_pickle_01.c lives in the rtl_433 submodule at deps/rtl_433/src/devices/ and is tracked by the forgejo/feat-cryogencc_pickle_01 remote branch. If the submodule is updated to a newer rtl_433 commit that doesn't include this branch, the decoder could be lost.

Two options:

  1. Upstream to rtl_433 — submit as a PR to merbanan/rtl_433. This is the cleanest long-term solution.
  2. Use a flex decoder — as you mentioned in the earlier comment, rtl_433 supports flex decoders via -X flag which define the decoder inline. This avoids the upstreaming problem entirely.

The flex decoder approach is viable: the commit 921be6f shows rtl_433 -f 915000000 -X n=test,m=OOK_MC_ZEROBIT,... working. A flex decoder spec could be added to the README and the submodule dependency could eventually be removed for the decoder.

The decoder `cryogencc_pickle_01.c` lives in the rtl_433 submodule at `deps/rtl_433/src/devices/` and is tracked by the `forgejo/feat-cryogencc_pickle_01` remote branch. If the submodule is updated to a newer rtl_433 commit that doesn't include this branch, the decoder could be lost. Two options: 1. **Upstream to rtl_433** — submit as a PR to merbanan/rtl_433. This is the cleanest long-term solution. 2. **Use a flex decoder** — as you mentioned in the earlier comment, rtl_433 supports flex decoders via `-X` flag which define the decoder inline. This avoids the upstreaming problem entirely. The flex decoder approach is viable: the commit `921be6f` shows `rtl_433 -f 915000000 -X n=test,m=OOK_MC_ZEROBIT,...` working. A flex decoder spec could be added to the README and the submodule dependency could eventually be removed for the decoder.
Contributor

The rtl_433 decoder (cryogencc_pickle_01.c) was updated to match the new 0xCEBC preamble (was 0x1EBC). The tx_emulator's generate_burst.py already had 0xCEBC but its comment said 0xA956655a — fixed to 0x5A56655A.

The decoder still lives in the submodule. The flex decoder approach from commit 921be6f (rtl_433 -X n=test,m=OOK_MC_ZEROBIT,t=50,s=250,y=0,r=600,preamble=0xcebc,invert) is viable as a fallback, but upstreaming remains the cleanest long-term solution.

The rtl_433 decoder (`cryogencc_pickle_01.c`) was updated to match the new 0xCEBC preamble (was 0x1EBC). The tx_emulator's `generate_burst.py` already had 0xCEBC but its comment said 0xA956655a — fixed to 0x5A56655A. The decoder still lives in the submodule. The flex decoder approach from commit 921be6f (`rtl_433 -X n=test,m=OOK_MC_ZEROBIT,t=50,s=250,y=0,r=600,preamble=0xcebc,invert`) is viable as a fallback, but upstreaming remains the cleanest long-term solution.
Author
Owner

The flex decoder is looking increasingly like a viable method for this device; for more advanced automatic setup, a full decoder will probably be necessary in the future.

The flex decoder is looking increasingly like a viable method for this device; for more advanced automatic setup, a full decoder will probably be necessary in the future.
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#10
No description provided.