[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Patch-gnuradio] fix for usrp2 overruns when stopping and restarting rx
From: |
Martin DvH |
Subject: |
[Patch-gnuradio] fix for usrp2 overruns when stopping and restarting rx streaming |
Date: |
Wed, 21 Apr 2010 17:09:13 +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;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Patch-gnuradio] fix for usrp2 overruns when stopping and restarting rx streaming,
Martin DvH <=