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;
}
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio