UHD Announcement - October 22nd 2010

Hello list,

This is the flow-control announcement :slight_smile:
http://code.ettus.com/redmine/ettus/projects/uhd/wiki


USRP2 flow-control

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
with switches.

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:

  1. The timeout parameter in the device::send() call is now functional.
  2. End of burst packets are now ACKd and can be waited on via
    device::recv_async_msg().

Here is a little snippet describing how the new flow control works:
http://code.ettus.com/redmine/ettus/projects/uhd/repository/revisions/flow_ctrl/entry/host/docs/transport.rst#L42

Images here: http://www.ettus.com/downloads/uhd_images/

The branch is called “flow_ctrl”:
http://code.ettus.com/redmine/ettus/projects/uhd/repository/show?rev=flow_ctrl


API changes

Named gains: gain elements on the RX and TX paths can be individually
accessed through the API and enumerated by name:
http://www.ettus.com/uhd_docs/doxygen/html/classuhd_1_1usrp_1_1single__usrp.html#a26dfea5e5516ed224dc5be6de7f8d5f7

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.
http://www.ettus.com/uhd_docs/doxygen/html/classuhd_1_1usrp_1_1multi__usrp.html

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.

http://code.ettus.com/redmine/ettus/projects/uhd/wiki#Gnuradio-UHD