Commit Graph

178 Commits

Author SHA1 Message Date
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
Marian Koop
d435d85504 all: use uhd.maintainer@emerson.com as new maintainer email
Replaced instances of email address packages@ettus.com with new
corporate email address uhd.maintainer@emerson.com.

For some yet undefined transition time emails to the old address
are being forwarded to the new one.
2024-12-03 09:23:49 +01:00
Max Köhler
4c6d653ccc tools: fix lua parser stream status message status field 2024-12-02 11:56:35 +01:00
Martin Braun
48e41a8678 tools: changeset_testlist.py skips comments
If a changeset includes only comments in a C++ or Python file, then the
corresponding tests are not triggered. This is achieved by a new rule
`include_content`, which checks the changeset for code and/or content
changes.

The values of the include_content argument have the following meaning:
- 'code': at least one line with code changed
- 'code-only': all changed lines must be code changes
- 'comments': at least one line with comments changed
- 'comments-only': all changed lines must be comment changes
- 'code-and-comments': either code or comments changes (always True)

Co-authored-by: Joerg Hofrichter <joerg.hofrichter@ni.com>
2024-11-28 14:58:03 +01:00
Joerg Hofrichter
adf88ee412 ci/tools: Update changeset analyzer tool
Trigger builds/tests if pipeline definition files (.yml) change
2024-11-28 11:23:43 +01:00
Joerg Hofrichter
6797cf45f5 tools: re-run UHD build if toplevel CMakeLists.txt changed 2024-10-21 17:42:57 +02:00
Martin Braun
aeff51b599 ci/tools: Update changeset analyzer tool
- Add feature to read labels from github PR
- Match Python coding guidelines
- Update rule list to skip certain tests if Github labels say so
2024-10-09 23:32:50 +02:00
Martin Braun
9f3b9e0282 examples: Overhaul RFNoC OOT example directory structure
- Renamed rfnoc-example to rfnoc-gain. This is because a) it's obvious
  that this is an example as it is located in host/examples, b) because
  we have sub-directories of this OOT that are called 'examples' (where
  we ship the OOT examples) so that got confusing and c) names of OOTs
  should declare what they do, and despite this being an example, it
  provides a gain block.
- Changed directory structure so that installation paths and in-repo
  paths match.
  - Block descriptor YAMLs are now in rfnoc/blocks/*.yml
  - HDL sources are in fpga/gain/rfnoc_block_gain
- Improved top-level README
- Added an example for DTS files
- Updated gain.yml to use new features (checks, specifying fpga_includes,
  specifying DTS)
2024-09-02 08:22:58 +02:00
Martin Braun
73d2e840bf tools: Convert convert_changelog.py to Python3
This tool worked with Python3, but used a lot of Python2-isms. This
makes it proper Python3 script.

- Fix linter and autoformatting
- Newlines are forced to be \n
2024-07-15 14:41:33 +02:00
Marian Koop
327f294e27 lib: Bump version to 4.7.0.0 2024-06-18 17:11:49 +02:00
Martin Braun
9c3196e7bc ci: Add clang-format to changeset analyzer
When a changeset includes a .cpp or .hpp file, the repo is checked for
clang-format correctness in a CI run.
2024-05-15 11:39:15 +02:00
Martin Braun
47c6d7369d tools: Remove mega_fft
This tool was dependent on GNU Radio 3.7 and gr-baz, which are both no
longer supported. We therefore won't update this tool.
2024-04-04 09:53:57 +02:00
Joerg Hofrichter
b9a47a3ef8 tools: uhd ubuntu deb: mark as compatile to noble 2024-03-28 11:50:40 +01:00
Aki Tomita
e001225c54 ci: Build linux targets for mpm changes
Specifying hw or devtest is not enough for mpm changes to trigger testing.
The conditions for those stages also require that the Linux build stages
occur.
2024-01-19 11:10:55 -06:00
Grant Meyerhoff
72b18fc866 ci: run x4xx tests if x4xx ci changes are made 2024-01-18 09:13:02 -06:00