The last thread I posted had indicated problems related to overruns.
The problem turns out that start/stop weren't consistent in how they started and stopped things in gnuradio-3.0.3. It worked out that roughly every 800000 samples in my test, we got an overrun (except if the total was before the first stop()).
The problem lies in the start order: d_ephandle->start() followed by set_rx_enable(true) and the stop order of: d_ephandle->stop() followed by set_rx_enable(false). To fix the problem, the calls in stop() had to be flipped. Here's the patch: *** usrp_basic.cc.orig 2007-05-30 10:30:10.000000000 +0000 --- usrp_basic.cc 2007-05-30 10:23:11.000000000 +0000 *************** *** 541,556 **** --- 541,565 ---- { bool ok = usrp_basic::stop(); + #if 1 + if (!set_rx_enable(false)){ + fprintf (stderr, "usrp_basic_rx: set_rx_enable(false) failed\n"); + usb_strerror (); + ok = false; + } + #endif if (!d_ephandle->stop()){ fprintf (stderr, "usrp_basic_rx: failed to stop end point streaming"); usb_strerror (); ok = false; } + #if 0 if (!set_rx_enable(false)){ fprintf (stderr, "usrp_basic_rx: set_rx_enable(false) failed\n"); usb_strerror (); ok = false; } + #endif return false; } Dave _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio