|Subject:||Re: [Discuss-gnuradio] How to increase the noutput_items|
|Date:||Wed, 1 Apr 2015 11:34:14 -0400|
noutput_items is what GNU Radio can maximally allow your block to
produce, which is the free size in the output buffer, which is the input
buffer of the next block.
So if your block is faster than the downstream block, you will see
exactly the behaviour you are observing. This is normal, and good.
There's nothing the scheduler can do about this -- something
"downstream" of your block just "backs up" the item flow, and your block
will have to wait until whatever is downstream of it is done consuming
input, so that there is space for output from your block again.
You could try using set_min_noutput_items  in your block's
constructor, so that GNU Radio won't even ask you to work() if there's
not enough space available.
On 04/01/2015 04:47 PM, Zhe Feng wrote:
> Dear all,
> I'm experiencing a problem with the noutput_items.
> I have written a sync block which did "return" several times. I found the
> noutput_items dropped exactly by the amount that I returned. For example, if
> I wrote "return 10", after that, I printed noutput_items and found it
> decreased to noutput_items -10.
> Due to this fashion, the noutput_items could decrease to a value that one of
> my "if statement" isn't satisfied. In that case, several items wouldn't be
> outputed so the actual size of output items is smaller than the size of
> input items. Is it still a sync block?
> I tried to wait for the noutput_items to increase but it didn't happen. I
> tried to use "set_noutput_items( )" or "set_output_buffer()" to some values
> I wanted, but they also failed.
> So I'm asking that how to tell the scheduler effectively that I want to
> increase the noutput_items?
> Best regards,
> View this message in context: http://gnuradio.4.n7.nabble.com/How-to-increase-the-noutput-items-tp53075.html
> Sent from the GnuRadio mailing list archive at Nabble.com.
> Discuss-gnuradio mailing list
Discuss-gnuradio mailing list
|[Prev in Thread]||Current Thread||[Next in Thread]|