This is the flow-control announcement
Its not yet in the master: An experimental git branch and set of images
has been uploaded. This implements a host-based flow control for data in
the transmit direction. The old flow control was based on ethernet pause
frames and caused issues with throttling control packets and working
This new flow control implementation fixes these issues, and in
addition, reduces the occurrence of underflows when transmitting at high
rate. The performance improvement is thanks to the addition of 1MB of
SRAM as buffering in the TX data path.
Two additional benefits/side-effects to the flow control implementation:
- The timeout parameter in the device::send() call is now functional.
- End of burst packets are now ACKd and can be waited on via
Here is a little snippet describing how the new flow control works:
Images here: http://www.ettus.com/downloads/uhd_images/
The branch is called “flow_ctrl”:
Named gains: gain elements on the RX and TX paths can be individually
accessed through the API and enumerated by name:
A multi-channel + multi-USRP API wrapper has been created called
“multi-usrp”. Multi-USRP handles synchronising multiple usrp boards in a
homogeneous configuration. It also supports multiple channels per USRP
(though not possible with the hardware yet) and looks much like the
single-USRP API. The “mimo-usrp” interface has been deprecated in favour
of the new “multi-usrp” API.
Gnuradio-companion wrappers for the multi-usrp source and sink are
available in the gr-uhd component.
In addition, set bandwidth filter controls have been added to the gr-uhd
blocks and gnuradio-companion wrappers.