Hierarchical Blocks with GrExtras message I/O

Is it possible to create hierarchical blocks that have GrExtras
messages as the inputs or outputs? The standard pad source and sink
blocks don’t appear to provide a way to do this.

Thanks,
Roy

Trying using ‘bytes’ as the data type for the pad source/sinks. This
seemed to work for me.

-John

On 11/20/2012 08:08 AM, Roy T. wrote:

Is it possible to create hierarchical blocks that have GrExtras
messages as the inputs or outputs? The standard pad source and sink
blocks don’t appear to provide a way to do this.

Not sure if this is in a release yet, but the pad source/sink have a
wildcard option for the port IO type. You can use this.

-josh

On 11/20/2012 02:13 PM, Roy T. wrote:

Thanks, I updated to pull in all of the latest changes and the pad
source/sink now have the wildcard option as you suggested. So I tried
to create a simple hierarchical block that has one message input and
one message output using wildcard pads. Everything works great with
generating the block in companion and importing it into another
flowgraph, but when I try to run it, I’m getting the error below. Any
ideas?

I guess it needs more work. The underlying scheduler doesnt support that
(even though grc is happy).

Try the size == 1 byte solution. See:
https://github.com/buoyboy/pre-cog/blob/master/examples/radio_hier.grc

-josh

That seems to work, I didn’t realize that grc would allow connecting a
message port to a byte port.

Thanks for your help.

-Roy

Thanks, I updated to pull in all of the latest changes and the pad
source/sink now have the wildcard option as you suggested. So I tried
to create a simple hierarchical block that has one message input and
one message output using wildcard pads. Everything works great with
generating the block in companion and importing it into another
flowgraph, but when I try to run it, I’m getting the error below. Any
ideas?

Traceback (most recent call last):
File “/root/mockup_test.py”, line 118, in
tb = mockup_test()
File “/root/mockup_test.py”, line 47, in init
self.gui_wrapper_0 = gui_wrapper()
File “/root/.grc_gnuradio/gui_wrapper.py”, line 16, in init
gr.io_signature(1, 1, 0*1),
File
“/usr/lib64/python2.6/site-packages/gnuradio/gr/gnuradio_core_runtime.py”,
line 217, in io_signature
return _gnuradio_core_runtime.io_signature(*args, **kwargs)
RuntimeError: gr_io_signature(3)

Thanks,
Roy