Hello,
I am trying to create a block that detects sync patterns at baseband tagging the first sample of the pattern using stream tags, then using the tags down stream as part of demodulation. I have made a few assumptions about how gnuradio works that I would like to validate:
- a sync pattern could span two blocks of samples passed to general_work
- I need to keep SYNC_PATTERN_LENGTH - 1 samples to get around this, so I should be able to use a general block and not output all of the items
- you can't tag historic samples (i.e. samples obtained using set_history), so I can't use that
are these all reasonable?
Currently I have an implementation of the block, but I am having trouble understanding the relationship between ninput_items and noutput_items. When I feed the block from a file source consisting of 720 samples, I get ninput_items[0] = 720 and noutput_items = 512. Does this value for noutput_items mean I can only consume and copy 512 of the input samples? And do I need to implement forecast if I want to output more?
Thanks in advance for any help,
Mark