Commit Graph

11486 Commits

Author SHA1 Message Date
Jörg Hofrichter
9ec1f58234 update changelog for v4.9.0.1 2025-10-13 11:07:19 +02:00
Jörg Hofrichter
c174147142 ci: support building with custom boost version on macos 2025-10-07 14:28:43 +02:00
Jörg Hofrichter
c6f793cc22 cmake: add boost library path when running python based unittest
The boost library path was already added when running unittests
(UHD_ADD_TEST) but not when running python based unittests
(UHD_ADD_PYTEST). The boost library path is required when compiling
against custom boost version (tested with boost 1.89.0), because
some boost libraries have implicit dependencies on other boost
libraries which are not found otherwise.
2025-10-07 14:28:43 +02:00
Jörg Hofrichter
7fd5ce4537 Revert "cmake: remove Boost from dyn libs for tests on Apple"
This reverts commit a743036971.
2025-10-07 14:28:43 +02:00
Martin Braun
d8ae7867ab cmake: Remove Boost::system from component list
This has multiple reasons:

- We use CMake's FindBoost
  (https://cmake.org/cmake/help/v3.12/module/FindBoost.html) which can
  resolve dependencies itself. We only use boost::system in tandem with
  Boost::asio, which we already list as a dependency.
- There are combinations of CMake versions and Boost versions, where
  specifying this will link against the stub library of Boost::system
  (this is a header-only library since Boost 1.69). Removing it from the
  list avoids any kind of linkage.

Note that UHDBoost.cmake has some compatibility hacks for Boost::system,
which we now also remove.
2025-10-07 14:28:43 +02:00
Martin Braun
afbc8cf6ab cmake: Remove Boost version hacks from UHDBoost
Our internal helper UHDBoost.cmake includes several hacks for Boost
version compatibility. Now that we require at least Boost 1.71, these
hacks are just clutter and can be removed.
2025-10-07 14:28:43 +02:00
Martin Braun
fb4d7fc1dd tests: Remove SKIP_BENCHMARK_CHECK hack
This was a hack to allow compatibility with Boost<1.68. UHD now requires
Boost 1.71, making this hack no longer necessary.
2025-10-07 14:28:43 +02:00
Martin Braun
7e61534389 pkg-config: Remove boost_system library from linker flags 2025-10-07 14:28:43 +02:00
Martin Braun
af619d153e cmake: Bump minimum Boost version to 1.71 2025-10-07 14:28:43 +02:00
Martin Braun
f32a3824cd cmake: Fix Boost settings for static builds
Building static libraries with UHD was broken due to the way that
UHDBoost was structured. The following changes to UHDBoost.cmake were
applied:

- This file no longer observes ENABLE_STATIC_LIBS. That's because in UHD,
  setting ENABLE_STATIC_LIBS is supposed to build both static and shared
  libraries, but the way UHDBoost.cmake was written, it would apply
  settings for static builds to all libraries. If ENABLE_STATIC_LIBS was
  set, then this would cause linker errors.
  - As a consequence, users of UHDBoost.cmake must specify
    Boost_USE_STATIC_LIBS manually before including it.
- BUILD_SHARED_LIBS is no longer modified. UHD always specifies the
  correct library modifier (SHARED, STATIC, etc.) directly in the
  add_library() call, and that is good practice. By overriding
  BUILD_SHARED_LIBS in UHDBoost.cmake, this file can make changes to
  CMake files that call add_library() without a modifier.

In host/lib/CMakeLists.txt, we now call UHDBoost a second time for
static builds but set Boost_USE_STATIC_LIBS beforehand. This allows to
specify linker targets for the static library independently from the
shared library.

We also factored out some common library property manipulations that are
shared between uhd and uhd_static.
2025-10-07 14:28:43 +02:00
Martin Braun
ff05ceaeb6 cmake: More specifically reference linking dependencies
- Instead of blindly linking against all ${Boost_LIBRARIES}, we
  selectively specify the various Boost::* targets.
- Replace include_directories() or link_directories() with target_*()
  CMake functions to avoid cluttering global scope.
- Specify PRIVATE vs. PUBLIC on all link targets.
2025-10-07 14:28:43 +02:00
Jörg Hofrichter
6d3f53921c ci: use branch UHD-4.9 as reference 2025-10-07 14:28:43 +02:00
Jörg Hofrichter
006d7f7646 debian: align install files to Debian/Ubuntu official (2)
- For Ubuntu/Debian, the package lib dir (PKD_LIB_DIR), is set to
  /usr/libexec/uhd. This is the path where examples, tests and
  utils get installed.
- List usrp_hwd.py explicitly as not installed.
2025-09-01 15:24:04 +02:00
Marian Koop
b30cd6c44c images: Update to final 4.9.0.0 release candidate 2025-08-29 15:14:41 +02:00
Jörg Hofrichter
e14ba329f7 debian: align install files to Debian/Ubuntu official
- Align the distribution of the files to packages (debian/*.install)
  files to the Debian/Ubuntu official version from
  https://salsa.debian.org/bottoms/pkg-uhd (branch experimental)
- Import rfnoc-blocks-track-runtime-abi patch from the official debian
  sources at https://salsa.debian.org/bottoms/pkg-uhd.
  This changes the UHD package data path to include the ABI version, e.g.:
    old: /usr/share/uhd
    new: /usr/share/uhd/4.9.0

Co-authored-by: A. Maitland Bottoms <bottoms@debian.org>
2025-08-29 15:14:04 +02:00
Martin Braun
74a7905854 rfnoc_modtool: Fix missing 'out' line in data outputs section
When using the rfnoc_modtool YAML creator wizard, there should have been
a line `out:` generated in the `outputs` section, which is now added.
2025-08-28 16:58:15 +02:00
Martin Braun
886c076933 examples: Fix shebang in tx_waveforms.py 2025-08-28 16:58:09 +02:00
Martin Braun
0320e7918d cmake: Skip more files when staging usrp3 HDL sources
These sources are not required when building RFNoC bitfiles, and they
also reference csh, which causes some build systems to produce warnings.

As a consequence, we can also remove csh from the uhd-rfnoc-dev
dependency list.
2025-08-28 16:58:04 +02:00
Frank Dietze
43875c9f25 host: cmake: fix patch version used for packaging
When called from a branch the patch version contained letters
which cmake is not able to process. This change set it to numbers.
2025-08-26 20:11:30 +02:00
Abhishek Verma
b1a00f232e docs: fix b206 seri pdf link in manual 2025-08-26 11:34:26 +02:00
Marian Koop
4b94e35549 images: Correct checksum for re-generated component. 2025-08-26 08:42:20 +02:00
Martin Anderseck
8fb889a7c2 ci: Fix Device or resource busy bug in pipeline
This fixes the Device or resource busy bug in the x4xx hardware test
pipeline step. To enable different bitfiles than the one that were baked
into the file system image, we delete the installed one and install a
different one. This involves bringing up MPM without a bitfile. So when
the next bitfile gets installed, resources from the still running
bitfile cannot be cleaned up properly, like the mtdblocks of the X410
flash memories. To still clean that up, we now unmount these before we
start up MPM without a bitfile again. We ignore any errors that might
come up here as these steps are executed on devices without flash
memories on the daughtercards, too.
2025-08-26 08:35:37 +02:00
Frank Dietze
b2d396d436 Prepare for 4.9.0.0 RC2
Update Changelog
- Add mention of new RFNoC OOT block repository to changelog.
  Add link to RFNoC OOT block github repository to README.
Update Readme with reference to new OOT block repo
Update Manifest

Co-authored-by: Niels Garibaldi <niels.steffen.garibaldi@emerson.com>
Co-authored-by: Marian Koop <marian.koop@emerson.com>
2025-08-23 00:21:06 +02:00
Frank Dietze
6a38b70fb1 ci: utils: Update winusb_drv file mapping in image_package_mapping.py 2025-08-23 00:21:06 +02:00
mhallada-NI
cf0f81079c docs: Rework USRP X4x0 Getting Started Guide
- Improved structure, expanded setup steps and added
helpful diagrams
- Added step-by-step instructions for kit verification,
network setup and host requirements
- Consolidated section for troubleshooting
- Enhanced clarity for stand-alone vs. network modes
- Included security, care and handling guidelines
- Reorganized advanced topics such as serial connection
and microcontroller access
2025-08-23 00:03:44 +02:00
Aki Tomita
9018f578b2 cmake: Adjust the UHD_VERSION check to work with cmake 4.1
UHD_VERSION needs to be also checked against an empty string
since cmake 4.1 sets this variable during project setup, also
if it was undefined before. Furthermore we need to backup and
restore custom UHD_VERSION when defined for e.g. by using option
-DUHD_VERSION=<version>, because project() setup will reset the
version to an empty string.
2025-08-22 16:18:42 +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
mhallada-NI
4e861c4085 example: Fixed order of import in rfnoc_gain example 2025-08-22 15:32:23 +02:00
Clemens Felber
5ad0d3c353 python: fixed warning when uhd.dll was not found
This fixes the silently fail of import uhd when
UHD_LIBRARY_PATH, UHD_PKG_PATH was not set and
UHD_INSTALL_PATH points to an invalid directory
2025-08-22 13:37:00 +02:00
Jörg Hofrichter
e82dcd6518 cmake: deb: add patch to fix UHD package path 2025-08-22 13:36:21 +02:00
Marian Koop
ccf87ebb90 cmake: win: Add winusbdriver packages for NI branded B-Series devices
Co-authored-by: Sascha Hoener <sascha.hoener@emerson.com>
2025-08-21 14:13:35 +02:00
Abhishek Verma
7118e805dd host: devtest: added comments and minor fix 2025-08-21 09:02:58 +02:00
Abhishek Verma
09d056c095 host: devtest: update for ruamel yaml load and dump changes 2025-08-21 09:02:58 +02:00
Marian Koop
8e57519fc8 docs: Update B2xx User Manual section with external document references
- Move B206 jackscrew info from kit content to another section
- Add Additional Documents section to include external (to ni.com)
  links to certification, specs, seri and enclosure assembly instructions
- Add getting started subsection to link to getting started tutorials
2025-08-21 09:02:14 +02:00
Marian Koop
893fbb2a50 doc: Update User Manual Binary Installation section for Windows
Change binary installation instructions for Windows to reflect that
installation of Windows USB driver packages is now fully integrated
into UHD installer and this previous post installation step is
no longer needed.
2025-08-20 16:06:40 +02:00
Niels Garibaldi
b3b64f3fed fpga: rfnoc: ddc: fix strobe_dds_clip assignment
Fixes an issue, where data got corrupted in the DDC following an
overflow, leading to data streaming not restarting correctly.
2025-08-19 17:55:08 +02:00
Jörg Hofrichter
9ab7d07b37 images: update filesystems to v4.9.0.0-rc1 2025-08-12 18:03:55 +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
fdietze-ni
b8bf41c04a ci: fpga: fix build condition for e320 FPGA 2025-08-11 16:34:52 +02:00
Jörg Hofrichter
652108ff95 cmake: deb: Fix linting errors for Ubuntu 24.04
Starting from Ubuntu 24.04 (noble), the following package dependencies need to
be adopted:

    libncurses5-dev => libncurses-dev
    pkg-config => pkgconf
2025-08-08 10:22:44 +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
ahmedsalman-ni
055db05b8e host: utils: fix cast from str to size_t
This will cast str to unsigned long if size_t is
of same size, otherwise unsigned long long

Co-authored-by: Grant Meyerhoff <grant.meyerhoff@emerson.com>
2025-08-07 13:49:16 +02:00
Abhishek Verma
c2dfe7d421 docs: update user manual devtest section
-merged device specific procedures into one section
-updated table to include x4xx and n3xx
-added usage of EXTRA_DEV_ARGS using make test_<devtest-pattern>
-extended devtest table with more devices
2025-08-06 16:28:39 +02:00
Clemens Felber
ea5850393a host: added python 3.13 build support under windows
Changed Python dependency definition in Poetry toml file to ">=3.10,<3.14"
to allow Python 3.13 source builds under Windows OS.
2025-08-05 19:21:52 +02:00
Marian Koop
b455560a4e cmake: tests: Fixed syntax warning in macro UHD_ADD_RFNOC_BLOCK_NONAPI_TEST
Matched macroend tag with macro name.
2025-08-05 09:58:37 +02:00
Marian Koop
9ba99b5799 host: cpack: windows: Integrated applying inf win drivers into NSIS template
- Adds calling pnpdriver util to apply all installed inf win drivers
- Change installer to be aware of the target proc architecture of
  installed files. This reults into a 64-bit installer to default
  installing registry keys into the 64-bit registry hive.
- Extended file info of installer executable to incl. publisher and
  copyright and make installer binary version match version of
  deployed binaries.
- Add custom icon to installer and uninstaller binaries as well as
  ARP entry.
2025-08-05 09:58:37 +02:00
Frank Dietze
c39ea17ca7 ci: devtest: temporarily excluding E320 tests 2025-08-01 12:09:28 +02:00
Abhishek Verma
91761b4be6 host: example: documentation fix 2025-07-31 11:35:36 +02:00
Frank Dietze
5274a6b5d7 ci: docker: adding cpu_host_type as demand for windows
Add demands for windows docker build, installer and image test jobs
to improve build success rate and reduce need for job re-runs.
2025-07-31 10:34:16 +02:00
Martin Braun
509dfffc1b rfnoc_modtool: Render IO ports for new blocks
When calling `rfnoc_modtool add`, the newly generated block will now
include the IO ports as defined in the block YAML.
2025-07-30 13:59:26 +02:00