Underrun in usrp causes corrupted packages

Hi

I’ve been messing around with the benchmark rx and rx examples to make
digital voice communication using codec2. I am using a message queue
between the audio rx - codec path and the main loop that is adding
packet
number and callsigns to the package before sending it on to the tx path.

All works well until I uses a transmission rate higher than then
audiopath
generates because the usrp gets a underrun, and that is expected. What I
didn’t expect is that the packages that are sent is corrupted when there
is
a underrun.Is this due to problems with not pushing data through the
usrp
and things gets stalled there? The package block is padding for usrp .
Should I use the eof flag? How do I solve this problem?

What I want to do is have a queue with different packages and be able to
mix voice and data transmissions.

Also, the codec2 block is really outdated but have a working build of
the
current version and I will submit that when I have tested things out and
fixed a block or blocks to handle different bitrates.

/P

On 10/10/2012 12:21 PM, Pr Srnblad wrote:

a underrun.Is this due to problems with not pushing data through the usrp
and things gets stalled there? The package block is padding for usrp .
Should I use the eof flag? How do I solve this problem?

In general, there should be some padding and and EOB tag at the end your
packet/burst to flush it through the DUC chain and to tell the DUC chain
that there will be no more samples.

What I want to do is have a queue with different packages and be able to
mix voice and data transmissions.

Also, the codec2 block is really outdated but have a working build of the
current version and I will submit that when I have tested things out and
fixed a block or blocks to handle different bitrates.

I highly recommend that you take a look at the pre-cog project. Its
specifically aimed at solving problems like this. You should be able to
channelize different data sources through the simple MAC layer.

https://github.com/buoyboy/pre-cog/wiki

-josh