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

Reply via email to