On 08/14/2017 02:48 PM, Jason W Zheng wrote:
Hi Marcus, Robin,
I've set the tx_metadata, yet the issue still occurs. There are
constant streams of underruns when receiving and transmitting on the
same channel.
I've attached the code
One thing I notice, and forgive me if I'm just missing it, is that
there's no coordination of the buffer between TX and RX threads--that
is, the TX thread
has no way of knowing when there's a buffer "ready" to be
transmitted. Again, I may have just missed it.
------------------------------------------------------------------------
*From:* USRP-users <usrp-users-boun...@lists.ettus.com> on behalf of
Marcus D. Leech via USRP-users <usrp-users@lists.ettus.com>
*Sent:* Monday, August 14, 2017 11:32:21 AM
*To:* usrp-users@lists.ettus.com
*Subject:* Re: [USRP-users] Buffer underrun issue with simultaneous
transmit and receive on the X310
On 08/14/2017 02:27 PM, Jason W Zheng via USRP-users wrote:
How should I set the tx metadata? My application will essentially
stream continuously.
Thanks,
Jason
From the tx_samples_from_file example code (which you should probably
study)
uhd::tx_metadata_t md;
md.start_of_burst = false;
md.end_of_burst = false;
------------------------------------------------------------------------
*From:* ROBIN TORTORA <ti...@comcast.net>
*Sent:* Monday, August 14, 2017 11:17:07 AM
*To:* Jason W Zheng via USRP-users; Jason W Zheng
*Subject:* Re: [USRP-users] Buffer underrun issue with simultaneous
transmit and receive on the X310
I dont see you setting the tx metadata object members to any values,
so you are essentially going to tx with default metadata IF there is
a constructor that initializes all the members to a consistent value...
On August 14, 2017 at 1:56 PM Jason W Zheng via USRP-users
<usrp-users@lists.ettus.com> wrote:
Since I haven't gotten a response in a week, I thought some source
code might help. I've removed any buffer dependencies leaving just
the receive thread and transmit thread. The receive thread is
constant receiving to a buffer, while the transmit thread is
constantly transmitting 0s from another buffer.
On the x310, when I receive and transmit from the same channel (same
daughterboard), I get underflows (U's on the console), no matter
what the rate. When I put receive and transmit on separate channels,
the U's go away.
How do I fix my source code so I can receive and transmit from the
same channel without underflows?
Thanks,
Jason
------------------------------------------------------------------------
*From:* USRP-users <usrp-users-boun...@lists.ettus.com> on behalf of
Jason W Zheng via USRP-users <usrp-users@lists.ettus.com>
*Sent:* Monday, August 7, 2017 1:05:05 PM
*To:* usrp-users@lists.ettus.com
*Subject:* [USRP-users] Buffer underrun issue with simultaneous
transmit and receive on the X310
Hi,
I'm building an application where I receive data from the x310,
process the data, then transmit it out. I have 3 separate threads
running, one for each task. The receive task is constantly receiving
data from the x310 at 200MS/s and putting it into a buffer. The
process task takes data from the receive buffer, processes it, and
puts it into a transmit buffer. The transmit task is constantly
transmitting data from the transmit buffer at 12.5 MS/s.
I get constant underruns (U's on the console) when I try to receive
and transmit from the same channel on the x310. However, when I
transmit and receive on separate channels, underruns no longer
occur. I would like to figure out a solution to this problem as I
want to processes two 200MS/s streams on 1 x310.
This problem occurs no matter the sample rates. I've tried lowering
the receive rate to 50MS/s (while transmitting 4x the data to
balance things out) and there are still constant underruns though at
a lower rate. I know processing time is not the issue as I've
profiled the time it takes to process, and I have even removed the
processing task from the application altogether (receive data to a
buffer and do nothing with the data; constantly transmit 0's from
the transmit buffer) and the underruns still occur.
I'm running on UHD 3.11.0, and the x310 is is configured with basic
TX/RX daughterboards and flashed with the XG image for use over two
10 gig ethernet links.
Thanks,
Jason
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com