On Thu, Feb 25, 2010 at 9:26 AM, elettra.p...@libero.it <elettra.p...@libero.it> wrote: > Hi all, > > I'd like to know if it's possible to create a block with two inputs (or two > outputs) having different sizes. > For example, a block that takes a vector of N numbers on one of its two inputs > and a stream (a vector which has only one element) on the other input. > I already tried to create a block with these characteristics, but I failed. > Please tell me if this is possible. > > Best Regards, > > Elettra.
Yes, this is possible (in C++ blocks). You will make the IO signature using "gr_make_io_signature2", which takes the standard (min inputs, max inputs) as the first two arguments and the next two arguments are the item sizes for the different inputs/outputs. You can also use "gr_make_io_signature3" or "gr_make_io_signaturev", which takes a vector for the signature to have different stream sizes for any number of ports. We used this extensively in the OFDM code. For example, in gr_ofdm_sampler, on the input, we take in a stream of complex values on input 0 and a stream of characters (that act as flags) on input 1. The IO signature looks like: gr_make_io_signature2 (2, 2, sizeof (gr_complex), sizeof(char)) Tom _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio