Go to file
Martin Braun 1b0c95e31a lib: Fix compiler warnings with GCC 16 / Python 3.14
sim_find.cpp: Python 3.14's pyconfig.h redefines _POSIX_C_SOURCE and
_XOPEN_SOURCE to older values, but only if they haven't been defined yet.
Moving <Python.h> to be the first include (before any system header that
pulls in features.h via <string>) prevents the -Wmacro-redefinition
warnings that become errors under -Werror.

usrprio_rpc_client.cpp: Value-initialize usrprio_device_info to silence
-Wmaybe-uninitialized on the interface_num member, caught by GCC 16.
2026-10-16 13:20:35 +02:00
.ci ci: x420: change to release x420 in ats 2026-04-03 01:05:37 +02:00
.github github: update template so it works with the UI 2025-04-29 18:21:53 +02:00
firmware host/firmware/tools: Update minimum CMake versions 2025-09-24 13:48:07 +02:00
fpga fpga: x4xx: fixed sequence for RFDC NCO reset 2026-10-16 13:18:16 +02:00
host lib: Fix compiler warnings with GCC 16 / Python 3.14 2026-10-16 13:20:35 +02:00
images images: Update to final 4.10.0.0 release candidate 2026-04-23 13:39:23 +02:00
mpm mpm: Add rpc_version key in device find routine 2026-04-09 10:23:59 +02:00
tools ci: adapt rules for X420 tests 2026-03-24 14:17:05 +01:00
.clang-format Update clang-format for version 14 2023-08-07 15:35:56 -05:00
.clang-format-ignore tools: Add clang-formatting tools 2023-08-07 15:35:56 -05:00
.clang-tidy Add clang-tidy file 2021-03-04 08:07:26 -06:00
.gitattributes uhd: Add support for the USRP X410 2021-06-10 12:01:53 -05:00
.gitignore Move ignore of build folders into top level 2025-07-18 11:19:52 +02:00
.gitmodules Merge FPGA repository back into UHD repository 2020-01-28 09:35:36 -08:00
.pre-commit-config.yaml pre-commit: disable linting for mpm 2026-02-04 14:02:15 +01:00
.readthedocs.yaml docs: fixing the readthedocs builds 2023-11-10 16:01:01 -06:00
CHANGELOG images: Update manifest for v4.10.0.0-rc2 2026-04-09 12:41:01 +02:00
CODING.md coding guidelines: use reference-style link brackets for ni-python 2024-07-02 11:45:19 +02:00
CONTRIBUTING.md doc: Add information about NI SRM 2024-01-09 08:52:16 -06:00
LICENSE.md Merge FPGA repository back into UHD repository 2020-01-28 09:35:36 -08:00
README.md Prepare for 4.9.0.0 RC2 2025-08-23 00:21:06 +02: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 10

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/

The source code for the UHD FPGA images.

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.