The USRP™ Hardware Driver Repository
Find a file
Martin Braun 0cc18f7e8b tools: Add clang-formatting tools
This adds two tools to the ./tools/ subdirectory:

== clang-formatter.sh ==

This is simply a small shell script that can be executed from the top of
the UHD repository, and it will format all files according the the
.clang-format file. It can be executed as such:

    $ CLANG_FORMAT=clang-format-14 ./tools/clang-formatter.sh apply

Specifying a clang-format executable is optional, but note that
clang-format 14.0 should be used.

== run-clang-format.py ==

This is a Python script that is a modified version from
https://github.com/gnuradio/clang-format-lint-action/blob/ \
    0b0cb14cf220a070d2a8b2610bd74ad1546252a1/run-clang-format.py

It was modified to add --patch-file option.

Alongside this file is a .clang-format-ignore file, which is sourced
from this script. The command can be run as such:

    $ ./tools/run-clang-format.py \
        --clang-format-executable clang-format-14 \
	--extensions c,cpp,h,hpp,hpp.in,ipp \
	-r \
	--patch-file format.patch \
	/path/to/uhd-repo

It will provide both a nice output summary as well as a patch file that
can be consumed with `patch -p0 < format.patch`.
2023-08-07 15:35:56 -05:00
.ci ci: select docker image repo directly at container endpoint definitions 2023-07-28 15:13:44 -05:00
.github ci: Update CLA Assistant to v2.3.0 2023-07-13 10:25:19 -05:00
firmware x300: Update firmware for TA control 2023-01-10 14:19:00 -08:00
fpga fpga: docs: Clarify design tool requirements 2023-08-04 12:46:09 -05:00
host Modify files for treatment with clang-format 2023-08-07 15:35:56 -05:00
images images: update FPGA images for E3xx, X3xx, N3xx 2023-08-04 19:35:50 -05:00
mpm mpm: Add revE support to zbx_update_cpld 2023-07-28 11:28:31 -05:00
tools tools: Add clang-formatting tools 2023-08-07 15:35:56 -05: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 uhd: gitignore .DS_Store for our macOS friends 2021-03-12 13:55:25 -06:00
.gitmodules Merge FPGA repository back into UHD repository 2020-01-28 09:35:36 -08:00
.readthedocs.yaml docs: Add shim Sphinx config for readthedocs 2022-02-01 14:48:56 -06:00
CHANGELOG uhd: Update changelog with 4.1.0.x releases 2023-05-03 10:16:20 -07:00
CODING.md Merge FPGA repository back into UHD repository 2020-01-28 09:35:36 -08:00
CONTRIBUTING.md Merge FPGA repository back into UHD repository 2020-01-28 09:35:36 -08:00
LICENSE.md Merge FPGA repository back into UHD repository 2020-01-28 09:35:36 -08:00
README.md Update README.md 2022-07-12 13:04:08 -05: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.