Hi Jeff,

Thank you very much!

George

On Thu, Apr 21, 2022 at 12:21 PM Jeff Long <willco...@gmail.com> wrote:

> Right. Of course you can just use one loop of noutput_items * vlen
> iterations.
>
> Technically noutput_items says how many items you may write, not how many
> the scheduler is delivering (implying input). In a sync block, they are the
> same though, unless you overwritten forecast().
>
> On Thu, Apr 21, 2022 at 12:14 PM George Edwards <gedwards....@gmail.com>
> wrote:
>
>> Hi Jeff,
>>
>> Thanks for your reply!
>>
>> So let me make certain that I understand correctly your response where
>> you said there were 16*512 samples (8192 samples). So I take it that 
>> noutput_items
>> (which has alternating values of 15 and 16 when printed to the screen) tells
>> me the number of vectors of vlen elements the scheduler delivers on each
>> iteration. Therefore, to process all the data delivered in one iteration 
>> (noutput_items
>> * vlen floating point samples), if I was simply designing an algorithm
>> that writes the input data to the output, I would do the following:
>>
>> for (int j = 0; j < noutput_items; j++){
>>       for (int i =  0; i < vlen; i++){
>>             out[ vlen*j + i ] = in[ vlen*j + i ];
>>       }
>> }
>>
>> Am I right?
>> Thank you!
>> George
>>
>> On Wed, Apr 20, 2022 at 5:40 PM Jeff Long <willco...@gmail.com> wrote:
>>
>>> The item size is vlen * sizeof (type), so you are seeing 16 * 512
>>> "samples".
>>>
>>> On Wed, Apr 20, 2022 at 1:44 PM George Edwards <gedwards....@gmail.com>
>>> wrote:
>>>
>>>> Hello GNURadio Community,
>>>>
>>>> I have written a C++ OOT "sync" block with vector input and vector
>>>> output (data type float). I wrote a line in my program to print the value
>>>> of noutput_items on each GRC flow graph iteration and it alternately
>>>> prints the values 15 and 16. This is surprising!!! I was expecting
>>>> this value to be the 512, the number of elements in each input/output
>>>> vector that I designed the OOT to operate at. In my OOT design, the
>>>> input/output signatures were set to 512 floating point elements. In the GRC
>>>> Flow graph my block is fed by a stream to vector block (which brings
>>>> in vectors of 512 samples) and my block outputs its data to a vector
>>>> to stream block (which takes a vector of 512 elements and converts to
>>>> a data stream).
>>>>
>>>> I was under the impression that the parameter noutput_items in the
>>>> work(...) function for an OOT sync block with vector input and output 
>>>> provided
>>>> the number of elements in each output vector.
>>>>
>>>> I will appreciate any insight into this issue.
>>>>
>>>> Thanks!
>>>> George
>>>>
>>>>
>>>>
>>>>

Reply via email to