gnuradio: Best way to sync to simple preamble I never figured out a clean way to sync to a simple preamble in GNU Radio 3.7/3.8, so I built my own block to do so. It was a variation on the Correlate Access Code - Tag Stream block that simply cut out the code relating to the header length fields and supplied a property for the user to hardcode the payload length in the flowgraph. This is an extremely useful thing to do when reverse engineering RF systems. You can find the blocks here, along with a few other custom blocks:
https://github.com/paulgclark/gr-reveng
With GNU Radio 3.9 out, I was about to start the process of porting these blocks over to the new OOT scheme, but I wanted to make sure I wasn't duplicating features already in the tool somewhere. I haven't found them anywhere, but I know there's a bunch of great new stuff in there like the new Symbol Sync block, so I thought I'd ask. I have not found a way to get the Protocol Parser to implement this without customization, but I may be missing something.
Any other ideas, or should I just start porting my block?
Thanks
PC
After a bunch of searching, I discovered that Daniel Estévez has a block in his gr-satellites module that does exactly what I'm looking for, and even pulls in a few downstream blocks to clean up the flowgraph:
https://github.com/daniestevez/gr-satellites
The key blocks are:
Satellites-&gt;Packet Operators-&gt;Sync and create PDU
Satellites-&gt;Packet Operators-&gt;Sync and create packed PDU
The first is helpful if you have non-mod-8 length payloads, and generates PDUs with unpacked bytes (everything is 0x00 or 0x01) corresponding to your payload bits. The second packs each 8 payload bits into a packed byte (0x00-0xFF).
Previously, it was necessary to route things as follows:
Correlate Access Code -&gt; Repack Bits -&gt; Tagged Stream to PDU
Now, however, the gr-satellites blocks take care of all three operations.
I know the bulk of the gr-satellites module is dedicated to things much more advanced than this, but thanks to Daniel for also providing several nice, general-purpose blocks as well!