Commit Graph

11449 Commits

Author SHA1 Message Date
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
Martin Braun
25aa30871f python: rfnoc_utils: Move render_wire_width() to template
This function should be usable by others outside of builder_config.py,
besides, that files is really long.
2025-07-30 13:59:26 +02:00
Martin Braun
a95e5634ff Revert "ci: docker: pin gcc version to 15.0.1 for Fedora 42 builder"
This reverts commit 2d9c94ef00.
2025-07-30 01:59:01 +02:00
Martin Braun
b58808fecf uhd: Add asio abstraction header
This adds uhdlib/asio.hpp, which makes it possible for UHD to use either
Boost.Asio or regular asio. Note that for using regular asio, additional
CMake changes are required, which are not part of this changeset, and
all C++ sources would need to reference namespace asio:: instead of
boost::asio::, which is also not part of this changeset.

However, the boost/asio.hpp include statement is now limited to a single
location, which makes it possible to set custom include preferences for
this file. Here, we allow gcc builds to allow some warnings when
including Boost.Asio.
2025-07-30 01:59:01 +02:00
Martin Braun
52396f7e20 examples: Remove network_relay
This example is getting a bit dusty. Besides, it only works for
USRP2/N210. Instead of overhauling it, it will therefore get deprecated.
2025-07-28 15:47:58 +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
Grant Meyerhoff
b4f180da86 experts: add print for device_addr_t 2025-07-28 09:33:14 +02:00
Abhishek Verma
a8093d5fd6 host: test: fix devtest x4xx make targets 2025-07-25 15:29:04 +02:00
Grant Meyerhoff
ddb4c2bdda rfnoc: fix function documentation typo 2025-07-23 15:43:16 +02:00
Abhishek Verma
7dc14ed806 docs: extended manual with b2xx getting started section 2025-07-22 09:13:13 +02:00
Marian Koop
61723eac13 host: example: Add new python example that uses matplotlib for spectrum 2025-07-22 09:11:45 +02:00
Max Köhler
761323113d fpga: chdr: Mask stream_info of recv pkt in chdr_stream_endpoint_tb 2025-07-18 14:46:02 +02:00
Lars Amsel
8812898bf3 host: add retransmission capabilities to tx streamer
With this commit the host enables retranmit capabilities to tx
streamer. This can be used for host to FPGA transmission that
are real time depended but need absolut reliability. The main
use case will be transmissions from host to replay block. The
current implementation supports only single channel transmissions.
To enable retransmissions the streamer has to change the op mode
using the new STREAM_MODE_STOP_ON_SEQ_ERROR. The streamer will
check whether the FPGA reports that this mode was enabled before
proceeding. When enabled on the FPGA the FPGA will reject data
from the host when it detects a sequence error. Only after a new
initialize stream command is sent the host can transfer more data
to the FPGA. When the tx streamer detects a sequence error from the
FPGA it will stop the current send command and return the samples
sent so far. Note: This might be more than the FPGA has actually
processed. It is up to the user logic to determine if and where
the transmission has to restart (e.g. query the replay block for
arrived samples). If the tx streamer calls send again the
reinitialization is triggered automatically.
2025-07-18 11:19:52 +02:00
Lars Amsel
bf65ddecf4 host: Add missing Python binding for replay_block_control::get_record_position 2025-07-18 11:19:52 +02:00
Max Köhler
08e019e609 fpga: rfnoc: add option to stop chdr stream input on sequence error 2025-07-18 11:19:52 +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
Lars Amsel
4708d01d9e host: allow multiple repeats for play command of replay block
Add a new play command that accepts a size_t for iterations. This
allows arbritrary iteration on the signal as well as continous
play (max value of iteration). Use the CONTINOUS_PLAY command for
that.

The old play command (using bool) is deprecated but stays in
for backward capabilities.
2025-07-18 11:19:41 +02:00
Aki Tomita
bf8c552e34 ci: Remove rhombus-labgrid files 2025-07-18 11:11:34 +02:00
Aki Tomita
56363ccde6 ci: Remove Fedora 39 conditions 2025-07-18 10:13:56 +02:00
Aki Tomita
40403b7c00 tools: Drop support for Ubuntu bionic 2025-07-18 10:13:56 +02:00
Aki Tomita
64118a319b ci: Remove Ubuntu 18.04 support in the pipelines 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
Martin Braun
facb7e2ce1 python: rfnoc_image_builder: Find HDL sources in install prefix
If the HDL sources for RFNoC get installed during installation (i.e., by
providing -DENABLE_RFNOC_DEV), then rfnoc_image_builder will default to
using the installed HDL sources when building bitfiles, unless the CWD
is in a UHD repository or the --fpga-path argument is provided (same
behaviour as before).
2025-07-17 15:29:54 +02:00
Martin Braun
c5a56ce822 cmake: Add ENABLE_RFNOC_DEV target
With -DENABLE_RFNOC_DEV=ON (the default is OFF), the HDL sources for
building RFNoC blocks and RFNoC images through rfnoc_image_builder are
now also installed into $PREFIX/share/uhd/rfnoc/fpga/usrp3. This re-uses
the existing share/uhd/rfnoc/fpga directory.

This commit also includes a Python script that copies the fpga/usrp3
directory into a staging directory inside the build dir. The
installation happens from the staging directory, not the fpga/usrp3
directory itself. This allows us to filter the usrp3 source dir without
having to use highly verbose CMake for that.

The uhd-host Debian install file is also modified so that the RFNoC
sources are not packaged into the uhd-host package.
2025-07-17 15:29:54 +02:00
Friedrich Wenisch
ac836b35a3 host: x4xx: Fix NCO reset 2025-07-17 08:23:56 +02:00
Friedrich Wenisch
f1f415f4b4 fpga: x4xx: Fix NCO reset
This commit fixes two issues:

1. Unreliable SYSREF capture mechanism from SYSREF to AXI clock
   domain. This clock domain crossing is removed by moving the
   state machine to the PLL reference clock domain.
2. The reset processs execution time is not static.
   Aligning between devices is now done using a fixed number of
   SYSREF edges before reenabling the SYSREF signal in the RFDC
   to trigger the NCO reset.
2025-07-17 08:23:56 +02:00
Eckhard Ohlmer
66e8ebba89 docs: n3xx: update section on filesystem update
Included recommendation not to use Mender when updating the filesystem
after receiving N3xx from factory.
2025-07-16 13:04:12 +02:00
Marian Koop
c7f21819ff ci: windows: Add additional agent demand to improve build success rate 2025-07-16 11:57:01 +02:00
Jörg Hofrichter
dcf242687d ci: check for cmake on macOS agents 2025-07-16 10:51:32 +02:00
Martin Braun
5fb86de86d tests: Allow non-API tests to set custom definitions 2025-07-15 11:33:08 +02:00
Martin Braun
e304c50a1b examples: rfnoc-gain: Add unit tests
Co-authored-by: Jörg Hofrichter <joerg.hofrichter@emerson.com>
2025-07-15 11:33:08 +02:00
Martin Braun
ac896f0224 tests: Move RFNoC mock nodes to public headers
The mock RFNoC nodes that were previously only part of UHD are now part
of the public headers (however, the mock nodes are not compiled as part
of UHD). This makes them available to out-of-tree RFNoC modules that
want to write unit tests for their block controllers.
2025-07-15 11:33:08 +02:00
Martin Braun
03b2884c4f uhd: Move node_accessor into public API space
This class is only meant for special use cases, but it is useful for
unit tests. In order to make unit tests available for everyone, we
include this file in the public headers, even if it's potentially
dangerous.
2025-07-15 11:33:08 +02:00
Martin Braun
4a5690d59b cmake: Install UHDUnitTest.cmake
This can be used by RFNoC OOTs.
2025-07-15 11:33:08 +02:00
Martin Braun
d711001da6 uhd: rfnoc: Move detail::graph_t into public API
This adds a publicly available header (uhd/rfnoc/detail/graph.hpp) which
has the same API as uhd::rfnoc::detail::graph_t before, but without any
private implementation details leaked.

The main reason for this change is to enable RFNoC OOT modules to
implement their own unit tests on block controllers. The majority of the
files changed are in order to change the include path or other
naming-related changes.

A note on host/lib/rfnoc/graph.cpp: The unit test for this file requires
access to non-public attributes and methods, so we add defines to
conditionally compile private symbols only.
2025-07-15 11:33:08 +02:00
Max Köhler
435b13d90d fpga: ci: add register map check 2025-07-15 11:29:55 +02:00
Niels Garibaldi
7fcee9ff4e fpga: lib: fix complex multiplier parameter description 2025-07-15 10:31:39 +02:00
Max Köhler
3b88a7efce fpga: rfnoc: fix critical path in DUC hierarchy 2025-07-15 10:20:32 +02:00