discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] fix for usrp2 overruns when stopping and restarting r


From: Martin DvH
Subject: [Discuss-gnuradio] fix for usrp2 overruns when stopping and restarting rx streaming
Date: Wed, 21 Apr 2010 13:08:46 +0200

Hi All,

When you use an USRP2 for capturing and you call

u2->stop_rx_streaming()

and later

u2->start_rx_streaming(0)

You always get a single overrun.
 -a single 'S' is output on the console
 -u2->rx_overruns() returns 1 (in stead of 0)

I am developing a usrp2 application which does not permit any overrun
conditions, so this needed fixing.

It turns out that the expected sequence number of received samples is
not reset when stopping the stream.

This single line patch fixes this.


Best Regards,

Martin

diff --git a/usrp2/host/lib/usrp2_impl.cc b/usrp2/host/lib/usrp2_impl.cc
index b19c6ec..92d52db 100644
--- a/usrp2/host/lib/usrp2_impl.cc
+++ b/usrp2/host/lib/usrp2_impl.cc
@@ -814,6 +814,7 @@ namespace usrp2 {
       success = transmit_cmd_and_wait(&cmd, sizeof(cmd), &p,
DEF_CMD_TIMEOUT);
       success = success && (ntohx(reply.ok) == 1);
       d_channel_rings[channel].reset();
+      d_rx_seqno=-1;
       //fprintf(stderr, "usrp2::stop_rx_streaming:  success = %d\n",
success);
       return success;
     }







reply via email to

[Prev in Thread] Current Thread [Next in Thread]