Commit Graph

12199 Commits

Author SHA1 Message Date
Wade Fife
02f11f970c b310: Flush stale RX data before enabling DMA
Signed-off-by: Grant Meyerhoff <grant.meyerhoff@emerson.com>
2026-08-28 14:58:07 +01:00
Wade Fife
53a1ef762e rfnoc: fir filter: Use burst op to write coefficients 2026-08-27 16:13:24 +01:00
Wade Fife
000cd8e3cb fpga: b310: Fix synthesis-only builds 2026-08-27 16:10:53 +01:00
mschill
0e3b241021 fpga: x440: add X1_200 bifile variant 2026-08-27 13:31:33 +01:00
Marian Koop
84d6af328b ci: Update fpga packaging configs 2026-08-27 08:41:16 +01:00
Max Köhler
44ecdb1f39 uhd: remove rj45 argument from X420 IQ correction 2026-08-27 08:40:35 +01:00
Max Köhler
5a8d5b3a6e fpga: x420: adding endpoint 0 for ctrl only 2026-08-27 08:40:35 +01:00
Marian Koop
874c196fec images: Update manifest for v4.11.0.0-rc2 2026-08-25 22:48:25 +01:00
Jörg Hofrichter
dffdfef5f5 mpm: make discovery response dependent on mpm_device
Display the "locked_fpga" information only for x4xx.
2026-08-25 22:13:45 +01:00
Jörg Hofrichter
d539960867 mpm: use flag locked_fpga=True for L variant devices 2026-08-25 22:03:46 +01:00
Max Becker
f0b4bf59f7 examples: rfnoc-gain: Update OOT example
- Fix target link libraries (UHD::uhd instead of uhd)
- Updated README
  - Better describe the different ways to build the FPGA bitfiles
  - Mention pybind11 requirement
- Add x410 image core to CMakeList to enable using make for this image
2026-08-25 17:40:59 +02:00
Abhishek Verma
0dda23bb52 rpc_server: remove reference leakage warning
We see this warning about lingering references during UHD operations
like image load even if they are not. We did some testing to verify.
It seems the garbage collector could take some time to remove these
reference. But the warning here could be misleading. Hence, removed.
2026-08-25 14:26:48 +02:00
Abhishek Verma
1da439c020 host/mpm: change MPM_RPC_PORT to avoid UHD<4.10 discovery crash
UHD hosts <4.10 speak mprpc and unconditionally connect to the RPC port
(49601) of any device they discover. When they reach a gRPC-based MPM
device, the protocol mismatch crashes uhd_find_device.

UHd host 4.10, prevents this by using rpc_version key from discovery
response and skips RPC attempt if mprpc device found during
uhd_find_devices.

This change moves the RPC port to 49602. Now, old UHD <4.10 hosts can
still discover both mprpc and grpc devices. But their mprpc connection
attempt on 49601 during uhd_find_devices is refused by grpc device
(running on new rpc port 49602) and is marked as not reachable instead
of crashing.
2026-08-25 12:11:37 +02:00
Martin Anderseck
ec7e94bd4b doc: Add Discoverable Feature Python doc
This adds the documentation of how to work with discoverable features in
the UHD Python API.
2026-08-24 23:12:45 +02:00
Martin Anderseck
167c179816 test: Add DiscoverableFeature Python API test
This adds a test that verifies that the DiscoverableFeature Python API
works properly.
2026-08-24 23:12:45 +02:00
Martin Anderseck
44791931c8 host: examples: Add Python SPI example for X4xx
Since with the availability of discoverable features in Python it is
possible to use the front panel SPI of the X4xx series from there, this
example shows how to do this. It is pretty much on par with the C++
version.
2026-08-24 23:12:45 +02:00
Martin Anderseck
538a2e3fb3 python: Make discoverable features available
This makes all discoverable features available and creates a pattern for
any future discoverable features.
2026-08-24 23:12:45 +02:00
Abhishek Verma
05443d301d host/mpm: make gRPC robust to idle teardowns
The main RPC channel can sit idle for a long time (e.g. an interactive
Python session) while only the claim-loop channel sees traffic. Without
keepalive, gRPC self-closes the idle transport (~30 min) and the next
RPC fails re-establishing within its per-call deadline.

With this change the client now pings every 30 s to keep the channel
warm, and the server is configured to accept that cadence instead of
replying GOAWAY "too_many_pings".
2026-08-23 02:23:02 +02:00
Abhishek Verma
a076ee6dd7 rpc_server: disable BDP pings on server
The MPM gRPC server runs on a single-threaded gevent hub. gRPC's BDP
(bandwidth-estimation) probe fires repeatedly while the reclaim loop
keeps the link busy, and its ACK must return within grpcio's short,
RTT-derived internal BDP deadline. Any blocking hardware register read
(e.g. a ClkMgr PLL-lock poll) stalls all socket I/O on the hub until it
returns; , but these polls also run periodically in steady state.
When a stall outlasts the BDP deadline the server sends GOAWAY
"ping_timeout" and drops the transport. The fix is to disable BDP on
the server. The default flow-control window is fine on the LAN link,
so this costs nothing here. BDP is left enabled on the client, whose
native-threaded stack never freezes.
2026-08-23 02:23:02 +02:00
Jörg Hofrichter
dfc1ad17c3 mpm: e320: fix reading of FAN speed
The fan is named fan0 in the hwmon based implementation.
2026-08-23 02:19:52 +02:00
Lars Amsel
29c459f1b3 fpga: enable clock watch circuit on X440 images
Enable clock watch circuit for images with 200 and 400MHz bandwidth
as well. With this we also move from watch the rfdc_clk to watch the
radio_clk. This makes is easier to calculate the max clock rate for
all flavours of images.
2026-08-23 02:17:12 +02:00
Marian Koop
f9e8c5896f python: Fix error in python import warning on Windows 2026-08-23 02:11:55 +02:00
Jörg Hofrichter
e23454654f mpm: xportmgr_udp: create nft tables only if missing 2026-08-23 02:11:21 +02:00
Abhishek Verma
c4cf03925a mpm: replace mprpc with grpc pkg requirements 2026-08-23 02:08:45 +02:00
Max Köhler
f0b5d454cc doc: add phase coherency information 2026-08-23 02:03:43 +02:00
Niels Garibaldi
344c6793ac doc: fpga: host: Updated Wideband DDC DUC related documentation
Updated the references to DDC and DUC RFNoC blocks to reflect the
new split between legacy(singlesample) and wideband(multisample)
implementations.
Updated the related manual references as well as the C++ block
controller API comments that are pulled in by doxygen.
Also fixed a minor outdated comment in the FPGA source code.
2026-08-23 02:03:43 +02:00
Marian Koop
8d9c53c83e ci: fpga: Added pipeline switch to optionally build alternate X420 designs
Added pipeline switch to select between building X420_CG targets
with (default) or w/o DDC/DUC (alternate). In the pipeline the default
is to build the alternative design because of the low compile success
rates for these fpga designs when DDC/DUC is included.
2026-08-23 02:02:27 +02:00
Niels Garibaldi
6ab55e0cf4 fpga: add wideband ddc and duc blocks to default fpga images(Part2)
Adding the RFNoC DDC and DUC blocks to our shipping bitfiles.

The new wideband DxC implementation allow processing input/output
rates up to a maximum of 2000MSps.
This commit adds the DDC/DUC blocks to some of our shipping
bitfiles for all channels.

Co-authored-by: Niels Garibaldi <niels.steffen.garibaldi@emerson.com>
Co-authored-by: André Zoch <andre.zoch@emerson.com>
Co-authored-by: Meghana Halladamath <meghana.halladamath@emerson.com>
Co-authored-by: Wade Fife <wade.fife@ettus.com>
Co-authored-by: Max Köhler <max.koehler@emerson.com>
2026-08-23 02:02:27 +02:00
Virendra Kakade
c0be7431c0 fixup! docs: add b310 kernel driver docs 2026-08-23 00:22:47 +02:00
Virendra Kakade
cc29eb4496 docs: add b310 transport notes
Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
2026-08-23 00:22:47 +02:00
Virendra Kakade
add2d9efa6 docs: add b310 kernel driver docs
Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
2026-08-23 00:22:47 +02:00
Grant Meyerhoff
0e9a62834f docs: Add B310 documentation 2026-08-23 00:22:47 +02:00
Grant Meyerhoff
e98e866709 b300: fix external ref assignment 2026-08-23 00:22:03 +02:00
Grant Meyerhoff
bc64ff0ad6 b300: disallow changing clock source mid-session 2026-08-23 00:22:03 +02:00
Grant Meyerhoff
9291d7e18b adrv9032: store nco as per channel 2026-08-23 00:18:25 +02:00
Grant Meyerhoff
e8079eca45 adrv9032: fix nco source check 2026-08-23 00:18:25 +02:00
Grant Meyerhoff
b8d34e36be adrv9032: correct channel assignment for agc 2026-08-23 00:18:25 +02:00
Virendra Kakade
3716dd0884 b300: depend on installed nib310rio.h for Linux PCIe support
Remove the vendored copy of nib310rio.h from the inchworm tree and
replace it with a build-time dependency on the header installed by
the nib310rio-dev package:

    /usr/include/nib310rio/nib310rio.h

CMake now searches for this header before registering the B300
component. On Linux, if the header is absent, B300 support is
silently skipped with a status message pointing to the missing
package. If the user explicitly passes -DENABLE_B300=ON without
the header present, CMake fails with a clear error.

Update the two Linux-only include sites to use the system path:

    #include <nib310rio/nib310rio.h>

This makes the build-time dependency on the kernel driver explicit
and removes the risk of the vendored copy drifting out of sync with
the installed driver.

Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
2026-08-23 00:17:02 +02:00
Max Köhler
a9ddd67fb9 fpga: lib: rfnoc: Merge payload and async FIFO
Merge the payload and async FIFOs in the axis_data_to_chdr and
chdr_to_axis_data conversion conversion modules.
2026-08-20 17:31:01 +02:00
Max Köhler
2ff1a639eb fpga: lib: Make axis_width_conv FIFO size configurable 2026-08-20 17:31:01 +02:00
Niels Garibaldi
2f0fb8a1fa ci: add ddc/duc ats template tests for x410_x4_400 2026-08-20 17:08:19 +02:00
Frank Dietze
879ed08bb1 ci: usrp4 sim: only run this stage if source is not master 2026-08-20 16:07:33 +02:00
Max Köhler
27e8768431 ci: remove unused hwtools references 2026-08-20 13:27:17 +02:00
Max Köhler
5cb4e4f57f fpga: ci: use latest version of hwtools 2026-08-20 13:27:17 +02:00
Marian Koop
f88231c7c1 ci: Add Python 3.13 support 2026-08-20 02:03:09 +02:00
Marian Koop
6efbd7986b ci: docker: Re-add python 3.13 targets 2026-08-20 02:03:09 +02:00
Marian Koop
414e99f509 ci: docker: Re-add support for using vcpkg pipeline cache
Re-add steps to use and create pipeline cache for vcpkg binary caching.
Enable optionally disabling consuming and creating cache via
pipeline variable.
2026-08-20 02:03:09 +02:00
Marian Koop
b9f346664a ci: docker: Improve build success rate for windows containers
Resolve common transitive docker build failures on Windows,
which forced commit 4d0c9c8dfd
   Author: Marian Koop <marian.koop@emerson.com>
   Date:   Tue Aug 11 17:01:53 2026 +0200

       ci: docker: Revert docker build improvements

- Abstract vcpkg triplet port creation in ps script to
  implement error trapping and inspect logs prior to failing
- Move vs_buildtools install to front, to fail fast
- Abstract vs_buildtools install in ps script to
  - implement error trapping and inspect logs prior to failing
  - reduce docker layers
  - eliminate incl. temporary installer data into docker layers
- Switch to using powershell script to trap choco install errors
  and expose error logs during docker build. Script also
  - combines all choco installs into single container layers
  - attempt (by default) 2 retry attempts per package install
    (workaround for temporary URL download/access failues)
- Combine some python commands into single RUN statement
  to reduce docker layers
- Implement docker build step retry attempts (3) to address
  other temporary failures like ability to create layer.
2026-08-20 02:03:09 +02:00
Grant Meyerhoff
9015e01d3c b300: bump expected minor compat number for FPGA 2026-08-20 02:00:29 +02:00
Grant Meyerhoff
e7ea67c2c7 ci: add FPGA image loading before testing 2026-08-20 01:59:34 +02:00