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
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio