On 08/03/2020 00:49, Brian Padalino wrote:
> On Sat, Mar 7, 2020 at 6:02 PM Marek Dopiera via USRP-users
> <[email protected] <mailto:[email protected]>> wrote:
> I had to do this recently with an X310 application.  Originally I tried
> timed bursts where I would give the full burst to UHD and hope it would
> get things sent since the burst was supplied all at once.  This was not
> my experience and exposed some bugs which may still be outstanding.
> 
> My next approach was to simply have a writer thread which would check a
> transmit buffer/FIFO and, if there was nothing to transmit, would stuff
> a minimal amount of zeros into the data stream.  This call to send() of
> the zero stuffed data would fill up the buffers downstream on the device
> until the backpressure from the device naturally limited the
> transmission.  This approach worked very well for my application.  It
> kept the minimal buffering with almost no overhead and I knew the
> latency through the system was basically the amount of time to consume
> the buffer.

Hi Brian,
thank you for your response.

I'm doing pretty much what you described - a FIFO with separate threads,
and pushing to tx_stream::send until it blocks. In my case I'm actually
sending data, not zeros, though.

I do not have control over how much data gets into the buffers before
tx_streamer::send() starts blocking, though - I'm guessing I can go
lower than that, but for that to work I need to know when the data is
actually sent.

Thanks

-- 
Marek Dopiera
[email protected]

_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to