Wow, that's a pretty old version GNU Radio! Might be worth updating your Linux distro :)
Anyways, this is strange! You don't happen to implement a `check_topology` method, do you? Best regards, Marcus On Wed, 2019-07-24 at 10:55 -0500, Alex Roberts wrote: > Sure. FYI I'm running 3.7.10....here is the error: > > Traceback (most recent call last): > File "/home/user/gnuradio/dvbt_tx_demo.py", line 384, in <module> > main() > File "/home/user/gnuradio/dvbt_tx_demo.py", line 372, in main > tb = top_block_cls() > File "/home/user/gnuradio/dvbt_tx_demo.py", line 307, in __init__ > self.connect((self.custom_reed_solomon_dec_0, 1), > (self.qtgui_number_sink_0, 0)) > File "/usr/lib/python2.7/dist-packages/gnuradio/gr/hier_block2.py", line > 47, in wrapped > func(self, src, src_port, dst, dst_port) > File "/usr/lib/python2.7/dist-packages/gnuradio/gr/hier_block2.py", line > 110, in connect > self.primitive_connect(*args) > File "/usr/lib/python2.7/dist-packages/gnuradio/gr/runtime_swig.py", line > 5331, in primitive_connect > return _runtime_swig.top_block_sptr_primitive_connect(self, *args) > ValueError: port number 1 exceeds max of 0 > > I connected the nerrors_corrected output (type int) to a qt number sink. If I > make the output optional and don't connect to it, I don't get the error. > > > On Wed, Jul 24, 2019 at 10:38 AM Müller, Marcus (CEL) <muel...@kit.edu> wrote: > > Hi Alex! > > Hm, interesting. Would you happen to have the full verbatim error? > > > > As a complete aside: > > I know we're not doing any of that consistently in the tree, but > > especially when handling things like polynomials "packed" into > > integers, and amounts of bits, I always recommend people explicitly use > > "unsigned int", or directly go for an explicitly sized integer type, > > e.g. "uint64_t gfpoly" for their polynomial representations, so that > > there's no arithmetic surprises – signed integer overflow, for example, > > is way less well-defined than unsigned. > > > > Best regards, > > Marcus > > > > On Wed, 2019-07-24 at 10:30 -0500, Alex Roberts wrote: > > > So I tried re-implementing the gr-dtv Reed Solomon decoder with an > > > additional output so I could monitor/output the number of errors > > > corrected. > > > I used gr-modtool, created new block with new name so it wouldn't > > > conflict with the existing and made sure to update the markup language > > > for the grc block. > > > > > > I get an error about Number of outputs 1 exceed max 0. I'm not sure why > > > that is. > > > > > > Here is my impl declaration with io_signatures. > > > > > > custom_reed_solomon_dec_impl::custom_reed_solomon_dec_impl(int p, int m, > > > int gfpoly, int n, int k, int t, int s, int blocks) > > > : block("custom_reed_solomon_dec", > > > io_signature::make(1, 1, sizeof(unsigned char) * blocks * (n - > > > s)), > > > io_signature::make2(1, 2, sizeof(unsigned char) * blocks * (k - > > > s), sizeof(int) )), // Change to make2 to support outputting > > > nerrors_corrected in the general_work() function > > > d_n(n), d_k(k), d_s(s), d_blocks(blocks) > > > { > > > ... > > > } > > > > > > > > > On Tue, Jul 23, 2019 at 3:44 PM Alex Roberts <arob...@gmail.com> wrote: > > > > Marcus, > > > > > > > > I think what you said makes sense. I was initially thinking I would > > > > have a synchronous block with a message port output, but if I can keep > > > > it as simple as a sync block with two outputs just with different > > > > sizes, then that is where I will start. > > > > > > > > Thanks, > > > > Alex. > > > > > > > > On Tue, Jul 23, 2019 at 9:16 AM Müller, Marcus (CEL) <muel...@kit.edu> > > > > wrote: > > > > > Hi Alex, > > > > > > > > > > to get this straight: on your monitoring output, you get one item of > > > > > output per item of input? (an input item being a vector, and a > > > > > monitoring output item being a number) > > > > > > > > > > Then, everything is well: The thing is still a sync block, just one > > > > > where not all output item sizes are identical, and not all are > > > > > identical to the input item sizes. > > > > > > > > > > Even if that's not the case, the right way here would be to write a > > > > > general block with streams, not an asynchronous messaging block, since > > > > > the monitoring data is "synchronous" to the other data. > > > > > > > > > > Best regards, > > > > > Marcus > > > > > > > > > > On Tue, 2019-07-23 at 09:10 -0500, Alex Roberts wrote: > > > > > > I'd like to monitor an internal variable on a DSP block. have not > > > > > > made a custom block before but have read through some tutorials. > > > > > > > > > > > > Since the DSP inputs and outputs are vectors, and the variable is a > > > > > > single item whose value is dependent on the processing of the > > > > > > vector, the number of outputs does not match the number of inputs. > > > > > > The value is updated after each input vector is processed. Does > > > > > > this mean I should use the message port to asynchronously output > > > > > > the variable, or can I simply add another port and output the value > > > > > > as say a float or integer that is synchronously updated with the > > > > > > block? > > > > > > > > > > > > For example, in a Reed-Solomon implementation, how could I add an > > > > > > output to monitor the number of errors corrected? > > > > > > _______________________________________________ > > > > > > Discuss-gnuradio mailing list > > > > > > Discuss-gnuradio@gnu.org > > > > > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > > > > > > _______________________________________________ > > > Discuss-gnuradio mailing list > > > Discuss-gnuradio@gnu.org > > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > > _______________________________________________ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio