Commit Graph

192 Commits

Author SHA1 Message Date
Virendra Kakade
eb785ff23b ci: Build UHD DEBs with B310 support
Add nib310rio-dev to the Debian build dependencies so the UHD package
build fails if the B310 userspace header is unavailable instead of
silently disabling B300 support.

The Ubuntu installer pipeline downloads the nib310rio Debian package
artifact and exposes it to pbuilder as a local apt repository. This lets
pbuilder satisfy the new dependency inside the clean build root where
CMake checks for nib310rio/nib310rio.h.
2026-09-15 23:44:29 +01:00
Frank Dietze
7bd5f8047a debian: update upload_debs.sh 2026-09-02 18:39:53 +01:00
Grant Meyerhoff
a18579e3e5 ci: Add support for USRP B310
Co-authored-by: Virendra Kakade <virendra.kakade@ni.com>
Co-authored-by: Wade Fife <wade.fife@ettus.com>
Co-authored-by: Javier Valenzuela <javier.j.valenzuela@emerson.com>
2026-08-04 12:00:49 +02:00
Martin Anderseck
de040602ee ci: Include *.cmake and *.cmake.in detection in changeset analyzer.
This makes the pipeline trigger tests when *.cmake and *.cmake.in files
have been changed.
2026-08-03 14:43:10 +02:00
Martin Anderseck
c8a8a3d931 ci/tools: Enable Ubuntu 26.04 build
This enables building UHD in Ubuntu 26.04 in the test pipeline.
2026-08-03 12:55:00 +02:00
Martin Anderseck
1af4625e84 cmake: Enable Ubuntu 26.04
These changes are required to build on Ubuntu 26.04 cleanly while still
maintaining backwards compatibility until Ubuntu 22.04.

- Set CMP0167 to NEW in UHD CMake paths that resolve Boost
- Scope policy changes with guard checks so older CMake versions remain
  compatible
- Ensure dependency resolution order applies policy before Boost
  discovery in package config
- Reduce CMake 3.30+ FindBoost policy warnings without breaking Ubuntu
  22.04-era toolchains
2026-08-03 12:55:00 +02:00
Wade Fife
3a10834521 tools: Update RFNoC dissectors for 8-bit SeqNum 2026-07-28 14:24:19 +02:00
Wade Fife
930651b2f7 tools: Support block control ops in C++ RFNoC dissector 2026-06-29 08:08:59 +02:00
Wade Fife
2595f70815 tools: Update C++ version for RFNoC dissector
The RFNoC code in UHD that is used by the dissector was updated to use
more recent C++ features, such as std::optional. This change updates
the C++ requirement for the dissector to match UHD.
2026-06-29 08:08:59 +02:00
Wade Fife
92c7a2c096 tools: Check endianness with CMake
This is to match commit d05d956714, which replaced Boost macros with a
similar check using CMake.
2026-06-29 08:08:59 +02:00
Wade Fife
168fc70df6 tools: Support block control ops in LUA RFNoC dissector 2026-06-29 08:08:59 +02:00
Jörg Hofrichter
5efbf97de8 ci/tools: Remove Ubuntu 20.04 installer 2026-06-25 12:07:27 +02:00
Martin Braun
f27b9258c6 ci: Exclude more X4xx-related files from other tests
Changes in lmk04832.py and x4xx_bist no longer trigger changes for
non-X4xx devices.
2026-06-12 15:19:41 +02:00
Martin Anderseck
045aee0d11 pre-commit: Add Doxygen comment format check
This adds a basic check for the correct format of Doxygen comments.
Since there were comments that started with `//!` and continued in the
next line with `//`, but Doxygen only used the first line, this ensures
that there aren't any such comments anymore. Refer to the coding
guidelines to see the correct format for documentation in the code.
2026-05-28 14:10:22 +02:00
Frank Dietze
d375d68b74 ci: adapt rules for X420 tests 2026-03-24 14:17:05 +01:00
Jörg Hofrichter
7ffe939e77 tools: upload_debs: more strictly check for clean repository 2026-03-24 11:38:08 +01:00
Jörg Hofrichter
b94b6a8cbb tools: upload_debs: add selected fpga subdirectories to sources 2026-03-24 11:38:08 +01:00
Max Köhler
680d354397 ci: Add support for USRP X420 (20 GHz USRP)
Co-authored-by: Martin Anderseck <martin.anderseck@emerson.com>
2026-03-20 16:15:06 +01:00
Max Köhler
7dbb801b1c ci: redefine hwtools changes impact on testlist 2026-03-13 11:43:53 +01:00
Max Köhler
4ac5706b1f ci: fpga: adjust file names in changeset after rename 2026-02-20 08:15:45 +01:00
Max Köhler
3815dd8e7a ci: fpga: avoid FPGA rebuild on doc update 2026-02-10 16:11:20 +01:00
Jörg Hofrichter
4f1bd250b7 tools: debs: support Ubuntu 25.10 (questing) installer creation 2026-01-16 15:33:14 +01:00
Martin Braun
666e02ccd5 ci: Specify tests for ad936x-based devices 2025-11-18 11:40:10 +01:00
Jörg Hofrichter
5f3c311fe6 tools: analyze changeset: automatically resolve git toplevel
With this change it is possible to execute changeset_testlist.py
in a directory which does not match the toplevel of the repository.

The toplevel is automatically detected by calling:

    git rev-parse --show-toplevel
2025-10-27 13:54:50 +01:00
Martin Braun
5f73667284 host/firmware/tools: Update minimum CMake versions
Various sub-projects around the UHD repository specify their own minimum
CMake versions (independent of UHD). We modify the minimum CMake
versions in the following way:

- All CMake files under firmware/ are bumped from 2.6 to 3.5. This is to
  allow newer CMake versions to work with these files (CMake 4 and
  beyond do no longer work if the minimum version is below 3.5). However,
  note that these CMake files are so simple they will keep working with
  older CMake versions, but that will require manually demoting the
  minimum version. Because more people are using CMake versions newer
  than 3.5 (especially with recent checkouts of UHD), this seems the
  more compatible solution.
- The CMake files for extension_example and init_usrp are bumped to
  3.12. This matches the version that UHD uses, which increases
  compatibility.
2025-09-24 13:48:07 +02:00
Martin Braun
aa0c47877d debian: Enable building of uhd-rfnoc-dev
When building Debian packages, we now enable -DENABLE_RFNOC_DEV=ON and
put the HDL source files into a new package (uhd-rfnoc-dev).
2025-08-22 15:56:03 +02:00
Marian Koop
d2f401da2f Prepare for 4.9.0.0 release
- Updated version string
- Updated CHANGELOG
- Updated Debian-related files
- Updated manifest
2025-08-11 19:12:16 +02:00
Jörg Hofrichter
7223c59625 tools: debs: support for version-specific files
Some debian control files (e.g. "control") may need to be adopted
for specific Debian/Ubuntu version being used. However, instead of
copying the whole debian directory for each Debian/Ubuntu version,
support having a version-specific ending (e.g. ".noble") which
takes preference over the default file.

Example: when building for "noble", the file "control.noble" will
be copied to "control" before executing the debuild commands.
2025-08-08 10:22:44 +02:00
Grant Meyerhoff
c52889b356 usrp: Add support for OBX daughterboard
This adds support for the OBX daughterboard, a new daughterboard
compatible with the USRP X3x0 series.

- Includes both UHD and CPLD codebases
- Includes CI hooks

Co-authored-by: Javier Valenzuela <javier.valenzuela@emerson.com>
2025-07-28 09:33:14 +02:00
Lars Amsel
bfaa556600 Move ignore of build folders into top level
Move ignored build folder to into top level and ignore all folders
that starts with build.
2025-07-18 11:19:52 +02:00
Aki Tomita
40403b7c00 tools: Drop support for Ubuntu bionic 2025-07-18 10:13:56 +02:00
Jörg Hofrichter
008225beb1 tools: analyze changeset: Fix triggering of FPGA build
... when the RFNoC image builder changed
2025-07-18 09:10:54 +02:00
Max Köhler
435b13d90d fpga: ci: add register map check 2025-07-15 11:29:55 +02:00
Jörg Hofrichter
2fcbb82656 tools: debs: support Ubuntu 25.04 (plucky) installer creation 2025-07-12 07:07:21 +02:00
Max Köhler
11b56b9650 fpga: ci: add CPLD compile job 2025-07-01 13:15:44 +02:00
Frank Dietze
4fdfa315b3 ci: changeset: update label rules 2025-06-03 12:54:29 +02:00
Martin Braun
1d1b3fda9e ci: Add modtool tests to FPGA library changes 2025-04-10 09:19:04 +02:00
Martin Braun
b767b4e628 tools: Remove uhd_dump
This tool was originally written to aid with X3x0 development, prior to
the development of current-day RFNoC. Basically, it's a poor-man's
version of Wireshark.

However, it implements an old version of the network protocol, which is
currently not in use. The tool is therefore obsolete, and our Wireshark
dissectors are a perfectly reasonable substitute. We therefore remove it
from UHD.
2025-03-14 15:25:57 +01:00
Martin Braun
191ec394ec tools: uhd_dump: Remove unused type bool
This is a redeclaration of built-in bool, and thus causes problems on
modern compilers.
2025-03-14 11:42:44 +01:00
Joerg Hofrichter
86f91137df tools: changeset_testlist: Align add-test and remove-test
Use the nargs="*" syntax for both the --add-test and the
--remove-test flags which allows adding and removing
multiple tests.

This fixes 6b05b65d4e.
2025-03-10 10:32:35 +01:00
Jörg Hofrichter
b7f41ad216 tools: analyze changeset: Fix diff command when using commit ids
... for both source and target.

Providing source and target as commit ID does not work when using
two arguments (e.g. "target... source"). Hence, use one argument
(e.g. "target...source") instead.
2025-03-07 11:58:29 +01:00
Martin Braun
6b05b65d4e tools: changeset analyzer: Add --add-test flag
This allows forcing tests into the test list from the outside, via
command line arguments. Tests passed in via --add-test will always be
part of the test list, regardless of the actual changeset.
2025-03-06 19:20:24 +01:00
Martin Braun
ec29ff397b tools: changeset_testlist: Allow removing test patterns
This adds a new argument to changeset_testlist.py:

    python3 changeset_testlist.py --remove-test "^hw" fpga.usrp3.e320

...would remove all tests that start with "hw", and fpga.usrp3.e320.
2025-03-03 14:38:31 +01:00
Martin Braun
f8a87d3c7e tools: Apply linter issues changeset_testlist.py 2025-03-03 14:38:31 +01:00
Martin Braun
3644be33a5 ci: Merge FPGA pipelines into mono pipelines
This adapts the CI scripts such that there is a single pipeline (the
"mono" pipeline) which builds both FPGA bitfiles and all of UHD, and
runs the hardware tests.

Note that this change does not load the FPGA bitfiles built in the same
pipeline, which means this change really enables the same behaviour as
before. Consuming bitfiles created in the same pipeline will be phase
2 of this endeavour.
2025-02-27 16:01:43 +01:00
Martin Braun
5c897830c0 tools: changeset analyzer: Gracefully recover fail to get labels 2025-02-25 11:29:54 +01:00
Martin Braun
38c0f4da82 lib: Move all transport/nirio files into lib/
These header files (previously in include/uhd/transport) were not part
of the API. They weren't even being installed. They were created before
the `uhdlib/` subdirectory existed. Moving them here makes more sense.
2025-02-18 18:42:41 -06:00
Aki Tomita
f61a58d3f1 ci: build the rfnoc stage if the corresponding ci files change 2025-02-13 21:36:14 +01:00
Martin Braun
5b7c668bd5 ci: Skip most tests on image builder changes
The image builder is covered by the FPGA pipelines, so we can be less
stringent for the SW pipelines.
2025-02-07 11:00:36 +01:00
Martin Braun
0a6d5fc934 ci: Automatically run rfnoc_modtool tests
- When the Linux builds pass, take the Linux build output, and put it
  onto an RFMI builder. This is because we require access to Vivado
  tools.
  - There is a builtin assumption that RFMI builder agents are running
    a recent-ish version of Ubuntu.
  - This requires the addition of hwtools to the repository list.
- This only happens if examples/rfnoc-gain or test_modtool.py are
  modified (changeset testlist)
2025-02-06 16:45:15 +01:00