Just a quick additive note, all from my testing of
"set_output_multiple()":
"set_output_multiple (M)" will work so long as M isn't too big.
Anything up to 100 or so seems to work OK; even 1000 or so usually
works. 5000 or higher generally doesn't work, though I'm sure there
are specific values which would work (e.g. powers of 2 are more likely
than prime numbers). Unless your M and N are "small enough", then
you'll likely need to inherit from "gr_block" directory and use
"general_work()". Using a finite-state machine (FSM; e.g. the GMSK
packet sink), if your task can be broken down into parts as well as
picked up from available "history", would allow for a much more robust
implementation - taking in whatever input data is available, not just a
given multiple of some number, and producing whatever it can from that
data. The trade-off is that "forecast()"ing the number of input items
required for a given number of output items is potentially more
challenging ... could depend on the amount of accumulated history, what
state the FSM is in, etc.. - MLD
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio