The USRP™ Hardware Driver Repository
Find a file
Brent Stapleton d1a5b70a8f gain_groups: Add zero-value gain groups
Add convenience factory for making a gain group that has a single
zero-valued element. This factory requires a name, which should
probably be ALL_GAINS, or something similar (these constants are
device-specific).

Using this new make_zero factory in the X300 radio control when we
don't find any gain elements so that our gain groups aren't empty. This
simplifies our later setters/getters because we know that we'll always
have _something_ cached.
Note that we only register this zero value gain group for TX, as our
ADC is registered as a gain element, so our RX gain groups are never
empty.
2019-11-26 11:49:11 -08:00
.github github: comment out instructions in Issue Template 2019-03-18 08:55:39 -07:00
firmware b200: add custom bootloader 2019-04-11 15:21:53 -07:00
fpga-src@ff03b00f3d Update branch for upcoming 3.15 release 2019-10-15 16:30:49 -07:00
host gain_groups: Add zero-value gain groups 2019-11-26 11:49:11 -08:00
images images: Move package_images.py to FPGA repository 2019-10-15 13:54:58 -07:00
mpm mpm: i2cdev: Use O_LARGEFILE to open i2c devices 2019-11-22 21:27:37 -08:00
tools tools: update FPGA functional verification tests for X3x0 mcr's & dpdk 2019-11-25 13:38:34 -08:00
.clang-format clang-format: Break after templates 2019-03-21 09:50:09 -07:00
.gitignore Ignore .pyc files 2016-04-22 18:14:10 -07:00
.gitmodules Merge branch 'maint' 2015-01-27 09:10:05 +01:00
CHANGELOG Update branch for upcoming 3.15 release 2019-10-15 16:30:49 -07:00
CODING.md Update CODING guidelines 2019-11-26 11:49:08 -08:00
CONTRIBUTING.md Update README.md, LICENSE.md, and CONTRIBUTING.md 2018-06-26 08:56:32 -07:00
LICENSE.md Update README.md, LICENSE.md, and CONTRIBUTING.md 2018-06-26 08:56:32 -07:00
README.md README.md: Fix links to knowledge base 2019-06-03 09:47:45 -07:00

USRP Hardware Driver (UHD™) Software

Welcome to the UHD™ software distribution! UHD is the free & open-source software driver and API for the Universal Software Radio Peripheral (USRP™) SDR platform, created and sold by Ettus Research.

UHD supports all Ettus Research USRP™ hardware, including all motherboards and daughterboards, and the combinations thereof.

Documentation

For technical documentation related to USRP™ hardware or UHD system design, check out the UHD and USRP Manual. That is where you can find Installation Instructions, help on how to build UHD from source on different platforms, development guidelines and reference documentation as well as device usage guidance.

Additionally, be sure to check out the Ettus Research FAQ, and the Knowledge Base for useful application notes and tutorials.

OS Support

UHD is primarily developed on Linux, but we also test and support the following operating systems.

  • Linux (Fedora and Ubuntu)
  • Mac OS X (Intel)
  • Windows 7

Other operating systems will most likely work, too, but are not officially supported.

Applications

UHD can be used to build stand-alone applications with USRP™ hardware, or with third-party applications. Some common toolkits / frameworks are:

Directories

host/

The source code for the user-space driver.

mpm/

The source code for the module peripheral manager (MPM). This is code that is run on embedded devices.

firmware/

The source code for all microprocessors in USRP hardware.

fpga-src/

The source code for the UHD FPGA images. Note this is a git submodule, if you are cloning the repository and want to modify the FPGA code, you will need to run 'git clone --recursive' to automatically populate this directory. Alternatively, you can run 'git submodule init' followed by 'git submodule update' to populate it after cloning the repository without '--recursive'.

Note that this subdirectory is very large, and not necessary for building applications that link against UHD.

images/

This contains the package builder for FPGA and firmware images. We provide other tools to download image packages, the scripts in here are mainly relevant for UHD maintainers and -developers.

tools/

Additional tools, mainly for debugging purposes. See the readme-file in that directory for more details on the individual tools.