My block falling behind the USRP


#1

What happens when a c++ block I write cannot keep up with the data the
USRP is producing? In other words, my c++ block cannot keep up with
real time.

Is there a way to tell (in c++) that I am falling behind?

Thank you!

Chris


#2

On Wed, Mar 14, 2007 at 07:36:19PM -0700, Chris S. wrote:

What happens when a c++ block I write cannot keep up with the data the
USRP is producing? In other words, my c++ block cannot keep up with
real time.

The USRP library will report that the USRP is dropping samples.
If you’re not keeping up, it’s got no place to put them.

Is there a way to tell (in c++) that I am falling behind?

Thank you!

Chris

You’ll see uOuOuO… on stderr

Also,

u = usrp.source_c(…)

nover = u.noverruns()

returns the number of overruns detected. Note that behind the scenes
the library polls for overruns at about 10Hz, so if you’re seeing any,
you’re probably getting a lot of them :wink:

Eric