The set_min_noutput_items function exists, but sadly it does nothing
(literally nothing).  I've traced the value through the scheduler code to
verify this.  The only way to mostly do what you want is through
set_output_multiple (ie self.set_output_multiple(16).  This will ensure
that you always receive at least 16 samples and that the number of samples
is a multiple of 16.  It's not the best solution but it gets the job done.

John

On Wed, Mar 15, 2023 at 12:37 PM Jeff Long <willco...@gmail.com> wrote:

> The function is there. Perhaps you're not calling it correctly, but I
> can't tell.
>
> On Wed, Mar 15, 2023 at 11:11 AM George Edwards <gedwards....@gmail.com>
> wrote:
>
>> Hi Jeff,
>> Thanks for the suggestion.
>>
>> I tried set_min_noutput_items(16) first in the __init__() method, then
>> the work() of Python file and each time I get the response Name Error: name
>> 'set_min_noutput_items' is not defined.
>>
>> Any more suggestions! 🤔
>>
>> George
>>
>> On Tue, Mar 14, 2023, 7:03 PM Jeff Long <willco...@gmail.com> wrote:
>>
>>> Try: set_min_noutput_items(16)
>>>
>>> On Tue, Mar 14, 2023 at 5:39 PM George Edwards <gedwards....@gmail.com>
>>> wrote:
>>>
>>>> Dear GNURadio Community,
>>>> I have a decimator OOT block doing my signal processing. It works well,
>>>> but after 30 or epochs, it schedule an output of one sample which breaks my
>>>> signal processing algorithm. Then the output gets scheduled to a good
>>>> number and the algorithm starts working good again before going off script
>>>> to scheduling an output of 1 sample again. Every time it does this, it
>>>> breaks my signal processing algorithm. Is there a way to force the
>>>> decimator to schedule a minimum number outputs, like say 16 samples (which
>>>> would work for my algorithm because the correspondingnumber of input
>>>> samples would be just fine)?
>>>>
>>>> Will appreciate any suggestion towards a solution.
>>>>
>>>> Thank you!
>>>>
>>>> George
>>>>
>>>

Reply via email to