Hello Jeff,

Thanks! I kept playing with it and got it to work.

Regards,
George

On Thu, Feb 4, 2021 at 1:54 PM Jeff Long <willco...@gmail.com> wrote:

> The examples you can search for in the code base (recommend you do this)
> show syntax such as
>
>     def __init__(self, input_rate, sps):
>         gr.hier_block2.__init__(self, "atsc_rx",
>                                 gr.io_signature(1, 1,
> gr.sizeof_gr_complex), # Input signature
>                                 gr.io_signature(1, 1, gr.sizeof_char))
>   # Output signature
>
>
> On Thu, Feb 4, 2021 at 1:58 PM George Edwards <gedwards....@gmail.com>
> wrote:
>
>> Hi Tim,
>>
>> Thanks for your suggestion! I just tried it and it does not work. The
>> Python OOT def __init__(self, ....) method requires that one fills in in_sig
>> = xxx and out_sig = xxx.
>> I tried your suggestion above for variable number of inputs and set:
>> in_sig = [gr.io_signature(1, -1, gr.sizeof_gr_complex)]
>>
>> and I leave the yml file as is when I had the static number of inputs (in_sig
>> = [complex64, complex64, complex64]) shown below
>> inputs:
>> -      domain:  stream
>>        dtype:  complex
>>        multiplicity:  '3'
>> It gives a TypeError: data type not understood
>> I tried a bunch of combinations based on the above change you suggested,
>> but GRC kept failing when I tried to run it.!
>>
>> Thanks again for your suggestion!
>> Regards,
>> George
>>
>>
>>
>> On Thu, Feb 4, 2021 at 8:01 AM Tim Huggins <huggins.timo...@yahoo.com>
>> wrote:
>>
>>> George,
>>>
>>> I would recommend taking a look at some of the existing blocks that have
>>> variable inputs to accomplish this (especially for the YML file). A YML
>>> example for a variable input can be found here:
>>>
>>>
>>> https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/grc/blocks_multiply_xx.block.yml
>>>
>>> I haven't run a test using this line in a python block yet, but two
>>> different examples are shown below that I believe should work (or should
>>> with some minor tweaks). The first doesn't limit the number of inputs while
>>> the second one does (at 8).
>>>
>>> gr.io_signature(1, -1, gr.sizeof_gr_complex))
>>>
>>> gr.io_signature(1, 8, gr.sizeof_float)
>>>
>>> I don't know if there is a complete python reference for GNURadio 3.8,
>>> but this should be helpful to get you close as well:
>>> https://www.gnuradio.org/doc/sphinx-v3.7.9.2/
>>>
>>> Good luck,
>>>
>>> Tim
>>>
>>> On Thursday, February 4, 2021, 12:01:07 AM EST, George Edwards <
>>> gedwards....@gmail.com> wrote:
>>>
>>>
>>> Hi Gavin,
>>>
>>> Thanks for the information!
>>>
>>> Does this mean that if I wanted 3 inputs and 5 outputs and all floating
>>> point values, then inside the Python code, I simply set
>>>  in_sig = [numpy.float32]
>>>  out_sign = [numpy.float32]
>>>
>>> And, in the yml file I set:
>>> inputs:
>>> -      domain:  stream
>>>        dtype:  float
>>>        multiplicity:  '3'
>>>
>>> outputs:
>>> -        domain:  stream
>>>          dtype:  float
>>>          multiplicity:  '5'
>>>
>>> Would this be correct?
>>> Thanks again for your help!
>>>
>>> Regards,
>>> George
>>>
>>> On Wed, Feb 3, 2021 at 5:26 PM Gavin Jacobs <apriljunk...@hotmail.com>
>>> wrote:
>>>
>>> In 3.7, you would use the <nports> tag, but in 3.8 the trick to setting
>>> multiple ins/outs in the YML file, is the keyword "multiplicity". You
>>> can see the details of how to configure here:
>>> https://wiki.gnuradio.org/index.php/YAML_GRC
>>>
>>> YAML GRC - GNU Radio <https://wiki.gnuradio.org/index.php/YAML_GRC>
>>> Starting with release 3.8, YAML replaces XML as the file format for GNU
>>> Radio Companion. This is triggered by switching from Cheetah to Mako as the
>>> templating engine, since Cheetah does not support Python 3.
>>> wiki.gnuradio.org
>>>
>>>

Reply via email to