This seems to be cumbersome :(
Anyway, It may be easier to drop packets rather than samples, ,let's say I
want to drop 9 packets from each ten and only make use of one! Do you think
this is really easier??


Josh Blum-2 wrote:
> 
> If you continually request bursts of 1000 samples, you will get 3
> packets for each burst of the following sizes max_len, max_len,
> 1000-2*max_len. You can verify this behavior in wireshark or in the
> examples/rx_timed_samples.cpp
> 
> So, when you issue a command for 1000 samples:
> 
> What happens when you give recv a buffer larger than 1000 in
> full-buff-mode?
>     recv will fill the buffer until it times out
> 
> What happens when you give recv a buffer smaller than 1000 in
> full-buff-mode?
>    recv will return when the buffer is full, the next call to recv
> will fill in your buffer starting at the remaining fragment
> 
> http://www.ettus.com/uhd_docs/doxygen/html/classuhd_1_1device.html#a6788c6e4f349c1152f1a9819a3b2fd92
> 
> I hope that explains what you are seeing. Ignore the notes about the
> timeout (that went away when I added the timeout parameter). Note to
> self: fix docs. :-)
> 
> -Josh
> 
> BTW, you can pipeline the stream commands, you can issue several at
> once, and then issue a new command every 1000 samples.
> 
> 
> On Sun, Aug 8, 2010 at 7:46 AM, Zohair <zohair...@hotmail.com> wrote:
>>
>> Eric,
>>
>> Thanks for the note. I have solved the printing issue now.
>>
>> I have modified the work function (MIMO source) I posting below:
>>
>> -------------------
>>   int work( int noutput_items, gr_vector_const_void_star &input_items,
>> gr_vector_void_star &output_items ){
>>
>>        set_streaming(true);
>>        uhd::rx_metadata_t metadata;
>>        int size =   _dev->get_device()->recv(output_items, noutput_items
>> ,
>> metadata, _type, uhd::device::RECV_MODE_FULL_BUFF) ;
>>
>>        printf("size before: %i\n",size);
>>
>>        while (size ==0){
>>                set_streaming(true);
>>                size = _dev->get_device()->recv(output_items,
>> noutput_items , metadata,
>> _type, uhd::device::RECV_MODE_FULL_BUFF);
>>                printf("size after: %i\n",size);
>>        }
>>        return size ;
>>    }
>> ------------------
>> however, the size is not accurately 1000 as I requested in the
>> _set_streaming function. sometimes it's much higher and sometimes much
>> lower.
>> 1- Is there any hazards in this modification?
>>
>> 2-  I have no interpretation for the in accuracy of getting 1000 samples,
>> any clue about this? here's a sample of what I get;
>>
>> size before: 315
>> size before: 1685
>> size before: 1000
>> size before: 1000
>> size before: 315
>> size before: 1685
>> size before: 1000
>> size before: 1000
>> size before: 415
>> size before: 1585
>> size before: 1000
>> size before: 1000
>> size before: 415
>> size before: 1585
>> size before: 0
>> size after: 0
>> size after: 1000
>> size before: 1000
>> size before: 515
>>
>> Waiting for your response.
>>
>> Regards,
>>
>> Zohair
>> --
>> View this message in context:
>> http://old.nabble.com/MIMO-source---bursts-tp29336824p29380424.html
>> Sent from the GnuRadio mailing list archive at Nabble.com.
>>
>>
>> _______________________________________________
>> Discuss-gnuradio mailing list
>> Discuss-gnuradio@gnu.org
>> http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>
> 
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 
> 

-- 
View this message in context: 
http://old.nabble.com/MIMO-source---bursts-tp29336824p29387384.html
Sent from the GnuRadio mailing list archive at Nabble.com.


_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to