|
From: | George Edwards |
Subject: | Re: How to set variable number of inputs/outputs in Python OOT modules |
Date: | Thu, 4 Feb 2021 11:23:29 -0600 |
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: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,TimOn Thursday, February 4, 2021, 12:01:07 AM EST, George Edwards <gedwards.eng@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 setin_sig = [numpy.float32]out_sign = [numpy.float32]And, in the yml file I set:inputs:- domain: streamdtype: floatmultiplicity: '3'outputs:- domain: streamdtype: floatmultiplicity: '5'Would this be correct?Thanks again for your help!Regards,GeorgeOn Wed, Feb 3, 2021 at 5:26 PM Gavin Jacobs <apriljunkbox@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:
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.
[Prev in Thread] | Current Thread | [Next in Thread] |