Commit Graph

11421 Commits

Author SHA1 Message Date
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
Max Köhler
a25d5dbf5e fpga: rfnoc: fix critical paths in DDC hierarchy 2025-07-15 10:20:32 +02:00
Marian Koop
32a3af98b7 ci: streaming: Adapt test_raw_udp_... to python example name change 2025-07-15 10:20:21 +02:00
Martin Braun
12c892df0a rfnoc_image_builder: Fix path selection for IP build dir
Inside the image builder, we would first sanitize the path for the IP
build dir (--build-ip-dir), but then we used the non-sanitized path to
generate the 'make' command. This meant that if --build-ip-dir was not
specifically provided on the command line, the default path was
incorrect. This would fail, e.g., if the source code is only available
as read-only.
2025-07-12 07:07:21 +02:00
Jörg Hofrichter
2fcbb82656 tools: debs: support Ubuntu 25.04 (plucky) installer creation 2025-07-12 07:07:21 +02:00
Clemens Felber
35d3548416 ci: dev: added pipeline stage for LabVIEW based USRP tests
Introduced inital pipeline stage for testing LabVIEW USRP examples
located within github repo ni/labview-usrp-examples.
2025-07-12 07:07:21 +02:00
Frank Dietze
0aacd28187 ci: docker: upgrade Windows container to ltsc2025 2025-07-11 12:03:32 +02:00
Jörg Hofrichter
136c0317a2 ci: docker: add setuptools to Ubuntu 25.04 builder 2025-07-11 12:02:05 +02:00
Jörg Hofrichter
2d9c94ef00 ci: docker: pin gcc version to 15.0.1 for Fedora 42 builder
This is a temporary solution to work around build issues with gcc 15.1.1:

In file included from /usr/include/boost/asio/ip/basic_resolver.hpp:31,
                 from /usr/include/boost/asio.hpp:136,
                 from /b/uhd/host/lib/deps/rpclib/lib/rpc/client.cc:13:
(...)
/usr/include/boost/asio/ip/basic_resolver_results.hpp:147:15: error: 'void*
    memcpy(void*, const void*, size_t)' forming offset [28, 128] is out of the
    bounds [0, 28] of object 'endpoint' with type 'boost::asio::ip::tcp::endpoint'
    {aka 'boost::asio::ip::basic_endpoint<boost::asio::ip::tcp>'} [-Werror=array-bounds=]
2025-07-11 12:00:26 +02:00
Marian Koop
5f55866d46 host: examples: Align names of some python examples 2025-07-11 09:57:25 +02:00
Max Köhler
916e3d68b3 fpga: lib: add register on radio's digital loopback path 2025-07-11 07:53:50 +02:00
Wade Fife
3c40b3b573 fpga: lib: Add handshake_latch module 2025-07-10 17:09:54 +02:00
Wade Fife
e38ec07b48 fpga: rfnoc: Add CHDR channel demultiplexer module 2025-07-10 17:09:54 +02:00
Niels Garibaldi
f722912cf7 fpga: rfnoc: Add CHDR channel multiplexer module 2025-07-10 17:09:54 +02:00
Jörg Hofrichter
f37e61c882 examples: rfnoc-gain: correct cmake command in README
When running cmake, the FPGA directory must be provided as
variable UHD_FPGA_DIR.
2025-07-10 09:30:53 +02:00
Jörg Hofrichter
bc76d5166e utils: image builder: search constraints files in top directory
This allows using the contraints files which are located below the top
directory (e.g. fpga/usrp3/top/x400) in out-of-tree RFNoC blocks.
2025-07-10 09:30:53 +02:00
Jörg Hofrichter
18f87b8395 rfnoc_modtool: fix wrong substitution in README.md
The word "again" was accidently replaced.
2025-07-10 09:08:30 +02:00
Aki Tomita
818580702b ci: fixup the pythonpath for pebbles tests 2025-07-08 16:55:49 +02:00
Aki Tomita
3f9b97ffff ci: Moving the pebbles lagrid files to a private repo 2025-07-08 16:55:49 +02:00
Aki Tomita
7124bf5f29 ci: simulate an enter to clear some of the screen 2025-07-08 16:55:49 +02:00
Aki Tomita
dd99bb5002 ci: use the ettus-rts version of the labgrid files 2025-07-08 16:55:49 +02:00
Aki Tomita
b96b3c16db ci: Use a venv for n310 RF pytests and update dependencies 2025-07-08 16:55:49 +02:00
Aki Tomita
eaccb9e61c ci: the redis lock isn't necessary to use 2025-07-08 16:55:49 +02:00
Aki Tomita
f7d09af35f ci: Use the pipelineAgent parameter like the x4xx 2025-07-08 16:55:49 +02:00
Max Köhler
4229c98e98 ci: limit analyze changeset checkout to merge commit only 2025-07-08 08:53:55 +02:00
Aki Tomita
172afbe077 ci: Remove xilinxLocation and rely on the agent .path file 2025-07-03 10:30:16 +02:00
Grant Meyerhoff
171a221e6a x300: allow tx_frontend connection to be reconfigured 2025-07-02 21:34:19 +02:00
Max Köhler
221ab96061 fpga: rfnoc: add flop after RX radio core cmd FIFO 2025-07-02 08:26:02 -05:00
Max Köhler
d6509976cd fpga: x400: Regenerate register maps 2025-07-02 10:04:16 +02:00