Hello List,
I said that we would release some uhd code on the 15th of April (2010).
So here it is…
git clone git://ettus.sourcerepo.com/ettus/uhd.git
The UHD source tree comes with firmware, fpga, and host code.
For those of you who are not familiar. The UHD is the universal hardware
driver for Ettus products. The goal of the UHD is to provide a host
driver and api for current and future Ettus products. Also, users will
be able to use the uhd driver standalone/without gnuradio. Further, a
dual license option will be available for those who build against the
uhd but cannot release their software products under the GPL.
The uhd is in a pre-alpha state. Currently, it works with the usrp2 with
the basic daughter boards. I am in the middle of finishing up support
for the RFX boards, and then more to come. The host code is known to
compile on linux with gcc and windows with msvc. See the host/readme
file for requirements and build information.
###############################################################
With the uhd, the usrp2 can talk over upd/ip, and therefore the usrp2
will have an ip address; this will default to 192.168.10.2. You will
need to setup your network interface ip address, subnet mask, and
broadcast address accordingly. You will be able to change your usrp2’s
ip address with the usrp2_burner and usrp2_recovery apps that comes with
the uhd. Assuming your network interfaces are setup, run
uhd_find_devices to discover all the usrp2 on your host machine.
Note: You will need to load new fpga and firmware images onto the sd
card. The images can be built from the uhd source tree with the xilinx
tools (ise and edk). Pre-built images here, I will try to keep them
up-to-date with the master:
http://ettus-apps.sourcerepo.com/redmine/ettus/projects/uhd/files
###############################################################
The uhd streaming api allows data streams to be timestamped down to the
precision of a clock tick (thanks to the vrt timestamp work). Also, new
streaming modes are now possible with the uhd. Users can request
continuous streaming (how gnuradio usrp2 works now) or users can request
a specific number samples and at specific times.
###############################################################
For gnuradio support, I have pushed a branch onto my gnuradio
repository. Please checkout the uhd branch on
git://gnuradio.org/jblum.git The gnuradio uhd branch provides a
gr-uhd-source block and a gr-uhd-sink block complete with grc wrappers.
The source and sink blocks work very much like the current usrp2 blocks.
###############################################################
For those of you who have developed custom daughter cards for the usrp,
you will not need to maintain a separate branch off of the uhd to
support your product. Rather, you will be able to build
dynamically-loadable modules compiled against the uhd daughterboard api.
###############################################################
I welcome testers, contributors, feedback. Let me know if it builds on
your system.
Thanks!
-Josh