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;
     }





_______________________________________________
Patch-gnuradio mailing list
Patch-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/patch-gnuradio

Reply via email to