> -----Original Message----- > From: thomast...@gmail.com [mailto:thomast...@gmail.com] On > Behalf Of Thomas Tsou > Sent: Thursday, December 09, 2010 6:44 PM > To: Patrik Eliardsson > Cc: discuss-gnuradio@gnu.org > Subject: Re: [Discuss-gnuradio] Expected behavior during underruns > > On Thu, Dec 9, 2010 at 5:11 AM, Patrik Eliardsson > <patrik.eliards...@foi.se> wrote: > > Dear list, > > > > What is the expected behavior when we get underruns with > the UHD and the flow control using the USRP2? > > > > 1) When we get underruns, does the usrp2 send some random > samples until the host computer manage to feed the usrp2 and > then starts to consume the 'old' samples from the host computer? > > > > Or > > > > 2) When we get underruns, does the usrp2 send some random > samples while throwing away old samples until the host > computer manage to feed the usrp2 with samples to be sent in > the future? > > > > Or does it work in another way? > > Based on my observations with a scope, there is no output > during underruns; the usrp2 never sends random samples. Also, > the usrp2 doesn't drop samples, so late samples will transmit > immediately upon late arrival. My applications deal with > continuous streaming, which requires occasionally dropping > samples to maintain synchronization, and that occurs on the host. > > I should note that most of my testing was before host based > flow control was merged. I haven't noticed any significant > changes afterwards, so I assume that the underrun behaviour > is unchanged. > > Thomas > Thanks for your answer Thomas!
Our observations shows also that the usrp2 doesn't drop any samples when an underrun occur. If we drop samples at the host, can we get a continous stream of sample at 25Msamp/s that is synchronous? What is your maximum continous bandwidth? I've been looking in the source code and tried to find out where to implement the sample dropping. My thoughts so far is that it should be somewhere in vrt_packet_handler.hpp and/or io_impl.cpp in the send functions and get_send_buffs function. The underruns are received(detected) in the pirate loop in io_impl.cpp, correct?! It's not obvious for me how to figure out which samples that I should dropp to get the rest of the samples synchronized again. Can you give me some hints? Br, Patrik _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio