Dear Marcus, Thanks for your comment! I made a typo my previous post that I was going to say "set_min_noutput_items" but I wrote "set_noutput_items". I actually used it in the work function, but it didn't seem to function as I expected. After reading your comment, I put it in the constructor and nothing changed.
Best regards, Zhe On Wed, Apr 1, 2015 at 11:18 AM, Marcus Müller <marcus.muel...@ettus.com> wrote: > Hi, > 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 [1] in your block's > constructor, so that GNU Radio won't even ask you to work() if there's > not enough space available. > > Greetings, > Marcus > > > [1] > > http://gnuradio.org/doc/doxygen/classgr_1_1block.html#a65cfc579150dc4d10c6180d3365aa9a8 > > 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? > > > > Thanks! > > Best regards, > > Zhe > > > > > > > > -- > > 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@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 > -- Zhe Feng Electrical Engineering: System University of Michigan Ann Arbor Tel: 734-834-3188
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio