Commit Graph

11571 Commits

Author SHA1 Message Date
Andre Zoch
fbc5ad9eb0 example: cpp: Enhanced documentation for rfnoc_* examples
- Added program documentation string.
- Marked required options as required().
- Added short option strings for required options.
- Made individual option descriptions more descriptive.
- Harmonized naming of options where appropriate.
  Introduced alias options for renamed options to keep
  backward compatibility.
2025-11-18 13:26:26 +01:00
Andre Zoch
981d2d41e1 example: cpp: Enhanced doc for txrx_loopback_to_file.cpp example
- Added program documentation string.
- Marked required options as required().
- Made individual option descriptions more descriptive.
- Harmonized naming of options: renamed ampl into wave-ampl.
2025-11-18 13:26:16 +01:00
Andre Zoch
2304dd21d8 example: cpp: Enhanced documentation for rx_* examples
- Added program documentation string.
- Marked required options as required().
- Added short option strings for required options.
- Made individual option descriptions more descriptive.
- Harmonized naming of options where appropriate.
  Kept old option names as alias options not getting printed by --help.
2025-11-18 13:26:05 +01:00
Martin Braun
66e08ac458 python: Apply minor formatting fixes
To signals.py and usrp_calibrator.py.
2025-11-18 11:40:55 +01:00
Martin Braun
666e02ccd5 ci: Specify tests for ad936x-based devices 2025-11-18 11:40:10 +01:00
David Raeman
f24a30333c lib: ad9361: fix rounding bug on RF PLL tuning calculations 2025-11-18 11:40:10 +01:00
Martin Anderseck
b3f4a54627 python: Split waiting for buffer from issue_stream_cmd()
This takes issue_stream_cmd() apart in a way that it can be used to
arm the trigger that waits for the TX, then return, so that the TX can
be issued. Afterwards the received data needs to be collected with the
wait_for_buffer_full() method. The default behavior when not using the
new trigger is unchanged.
2025-11-18 11:39:24 +01:00
Niels Garibaldi
fdc2872786 ci: increase fpga build timeout for X440 variants
Fixes an issue that was recently introduced with commit 2a77ec9,
which fixed the per attempt timeout of FPGA builds. Some of the
x440 FPGA builds can take longer than the default 6h timeout to
successfully compile. After the per attempt timeout bug was fixed
some of our most crowded FPGA targets were prematurely terminated,
significantly reducing compile success rate. This commit increases
the per attempt timeout from 6h to 9h.
2025-11-18 08:52:54 +01:00
Eckhard Ohlmer
bed2601c4e docs: improved getting started content
- Update link for Video RFNoC FPGA Design in GNURadio Companion
- call out devices in the Getting Started Guide TOC
2025-11-14 17:52:31 +01:00
Martin Anderseck
340b8b6c1f ci: Enable passing CMake arguments
This adds the option to pass CMake arguments to the pipeline, so that
for instance installers with more detailed logging can be built.
2025-11-14 17:50:51 +01:00
Wade Fife
89a151b873 fpga: sim: Add CHDR reset to Ctrl-only BFM
While the Ctrl-only BFM doesn't necessarily have CHDR data, it can
still use the CHDR clock. This means we need to be able to control the
reset for that clock. Without this, blocks that use the rfnoc_chdr_clk
will hang in simulation.
2025-11-13 17:03:46 -06:00
Wade Fife
550fac791f fpga: lib: Fix lint warnings about oversized constants 2025-11-12 15:11:11 -06:00
Wade Fife
3f2b1d9c32 fpga: tools: Turn off cs_server version check
The version check causes an error in Vivado that prevents the use of
JTAG/debug when users have a patch installed. This disables the error,
but it will still give a warning in case they really do have a
legitimate mismatch. This change fixes the issue when users use our
tooling to launch a build in the GUI then launch the hardware manager,
but it may still occur if they launch the GUI themselves outside of our
tooling.
2025-11-12 15:10:38 -06:00
Aki Tomita
4706e33232 host: include chrono to files using chrono_literals and other components 2025-11-07 14:56:42 +01:00
Max Köhler
34ece31af4 ci: fpga: add xsim simulation job 2025-11-04 16:48:29 -06:00
Max Köhler
9cc9fe81b7 fpga: tools: update Vivado simulator exclusions 2025-11-04 16:48:29 -06:00
Max Köhler
fbd517c65a fpga: rfnoc: enable chdr_channel_demux_tb to run in Vivado 2025-11-04 16:48:29 -06:00
azoch
ac0cd1d4df example: cpp: Enhanced documentation for tx_* examples
- Added program documentation string.
- Marked required options as required().
- Added short option strings for required options.
- Made individual option descriptions more descriptive.
- Harmonized naming of options where appropriate.
2025-11-03 17:01:29 +01:00
Martin Anderseck
0a2c16040a log: Fix C++ 20 warnings
This fixes warnings that appeared after the dependency update from C++
17 to 20.
2025-11-03 17:00:21 +01:00
Max Köhler
a5145f597f devtest: add x440 testcase for TX to RX trigger 2025-10-30 21:38:27 -05:00
Max Köhler
35e42af73a host: extend stream cmd to support TX to RX trigger 2025-10-30 21:38:27 -05:00
Max Köhler
3839c0fb2e fpga: rfnoc: add TX to RX trigger in radio core 2025-10-30 21:38:27 -05:00
Marian Koop
0f522267b4 doc: Fix B206 getting started link name
Correct link name "Getting Started with USRP B206mini-i and Python on Windows"
2025-10-29 13:09:27 +01:00
Eckhard Ohlmer
0d34f72af1 docs: moved manpages from host/docs to host/docs/manpages
Manpages have been moved into a dedicated subfolder to make it easier
to maintain uhd documentation.
2025-10-27 14:32:55 +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
Lars Amsel
192b3b24f0 Host: Examples: Add error check for open failures
If open output file failed (e.g. missing permission) this was not
tracked and the C rx example crashed when try to write to the
empty file descriptor. This checks the result of fopen and prints
the str error of the failure for graceful exit.
2025-10-24 10:48:38 +02:00
Eckhard Ohlmer
12de60b20b docs: Moved FPGA manual content to host/docs
- All FPGA manual content is now side-by-side with other manual content.
- Switched instantiating files to using the \subpage command.
- Repaired broken ToC entries.
- Removed references to former FPGA doc directory from cmakelist.
2025-10-22 09:25:41 +02:00
Martin Braun
f597853c59 cmake: Fix warning in create_newmod.yml
config.hpp was erroneously listed as a file that needs changing during
create_newmod.yml.
2025-10-21 10:15:04 +02:00
Wade Fife
2a77ec9a86 ci: fpga: Add timeout per build attempt 2025-10-20 08:25:30 +02:00
Martin Braun
0ca6dd7f56 mpm: Bump C++ version to 20
This matches the UHD version and allows using advanced C++ constructs in
MPM also.
2025-10-15 11:34:59 +02:00
Jörg Hofrichter
9cd00e74af rfnoc: python API: update rfnoc_graph functions
- added function get_chdr_width
- added function get_chdr_xport_adapters
2025-10-10 16:49:32 +02:00
Jason
f9dd250d2f rfnoc_graph: add function for listing transport adapters
Implement a getter function to return the list of transport adapters
that can be used for remote streaming.

Also, add documentation for the get_chdr_width function.

Co-authored-by: Jörg Hofrichter <joerg.hofrichter@emerson.com>
2025-10-10 16:49:32 +02:00
Martin Braun
fe1a4ec2ef Update CHANGELOG 2025-10-10 15:51:56 +02:00
Eckhard Ohlmer
0634e63ec5 docs: restructured the UHD manual on chapter level
- intent: make it easier to find and maintain content
- introduced a doxygen layout file to adapt the structure
- changed the top-level chapter structure
- shifted existing sections into new chapters
- organized section-level doxygen files into subfolders
- added getting started and RFNoC content
2025-10-09 14:44:37 +02:00
Lars Amsel
89401ed49b host: rework the download of data from replay
Currently we download all data at once from replay in the DRAM utils.
This gets problematic on sequencing error on connections with multiple
hops for the UDP transport. In that case we need to query the replay
block for status but because of the sequence errors the response can
get lost and UHD has no measure to handle lost request responses.

The alternative implementation now downloads the data in chunks and
retriggers a complete chunk in case of an error. That way we do not
need to query the replay block for it's position.
2025-10-09 11:09:15 +02:00
Lars Amsel
74849045bb host: add wait time between resend init and do flow control.
We handle responses for init and flow control in the same code
location, because both send the same message to the host. Because
the FPGA removes messages in the queue, we need to delay the flow
control so the request does not get lost.
2025-10-09 11:09:15 +02:00
Martin Braun
872df113cb cmake: Update C++ version to 20 2025-10-09 09:48:12 +02:00
Wade Fife
9a97c84a43 fpga: rfnoc: Fix alignment of first sample
Fixed an issue where the first sample could have a different alignment
from the rest of the samples. This could manifest as a missing or
duplicated sample in the data stream.

This was most likely to occur when doing a timed RX/TX followed by an
untimed RX/TX, in which case a sample might be missing at the
beginning of the burst.
2025-10-08 09:26:55 -05:00
Martin Anderseck
a4ad9c2763 python: Speed up dram utils receiver
...by decreasing polling time and timeout.
2025-10-08 15:14:07 +02:00
Martin Anderseck
8497adcc2e python: Format dram_utils.py
...to comply with out style guide.
2025-10-08 15:14:07 +02:00
Martin Braun
4cf9d4ee1a rfnoc: Fix compiler warnings around usage of abs()
The code was using abs() where std::abs() would be appropriate. The
former is from the C library, and therefore does not do overloads, and
only operates on integers.
2025-10-08 14:18:18 +02:00
Martin Braun
a4739515c9 lib: dram_utils: Fix warning around unused variable
This variable is only used when UHD_MIN_LOG_LEVEL=trace.
2025-10-08 14:18:18 +02:00
Martin Braun
477f3c5fe7 tests: ranges: Add test for clip in initalizer list test 2025-10-08 14:00:38 +02:00
Martin Braun
d2eacfb0ba lib: Avoid using braced-initializers for meta ranges
Because a meta_range_t is a vector of ranges, the following syntax is
ambiguous, if not to the compiler then to human readers:

```cpp
meta_range_t r{0.0, 1.0};
// Not intuitively clear if this means r{range_t(0.0), range_t(1.0)}, or
// if it means r{range_t(0.0, 1.0)}.
```

Within UHD, we modify some calls to meta_range_t constructors that are
using braced initializers to explicitly use other constructors.

Note that the ambiguous usage of the braced initializer syntax is
allowed and documented in ranges.hpp, we simply remove it to clarify the
intent of certain lines. Also, non-ambiguous usage of the braced
initializer ctor is also perfectly fine, e.g.:

```cpp
meta_range_t r{range_t(0.0), range_t(1.0), range_t(4.0)};
```
2025-10-08 14:00:38 +02:00
Martin Braun
1655b0ff7c ranges: Recreate original behaviour for braced-init
Prior to 7bae6e60, the following two calls were equivalent:

```cpp
meta_range_t r1{0.0, 2.0};
meta_range_t r2(0.0, 2.0);
```

With that additional constructor for initializer lists, the former call
would be interpreted as:

```cpp
meta_range_t r1{range_t(0.0), range_t(2.0)};
```
...which has a different meaning.

With this patch, we bring back the original behaviour while retaining
the new initializer list syntax.

Additional unit tests cover this behaviour.
2025-10-08 14:00:38 +02:00
Jörg Hofrichter
6a7c529648 usrp: obx: fix unused-private-field warning 2025-10-07 16:35:34 +02:00
Jörg Hofrichter
3e9f34cb49 ci: support building with custom boost version on macos 2025-10-07 14:26:40 +02:00
Jörg Hofrichter
58c13409b0 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:26:40 +02:00
Jörg Hofrichter
41ec754980 Revert "cmake: remove Boost from dyn libs for tests on Apple"
This reverts commit a743036971.
2025-10-07 14:26:40 +02:00
Jörg Hofrichter
8ac0b95e60 host: fix compile issue with unused variable
... which is caused by previous commit.
2025-10-07 14:16:53 +02:00