Commit Graph

9928 Commits

Author SHA1 Message Date
Steven Koo
321295fba4 uhd: Prepare for 4.2.0.1 release
- Updated manifest

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-07-28 13:51:39 -05:00
Steven Koo
ad05997cb9 uhd: Prepare for 4.2.0.1-rc1 release
- Updated CHANGELOG
- Updated Debian changelog
- Updated manifest
- Updated version

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-07-21 16:31:10 -05:00
Steven Koo
d22bfbddc3 ci: set meta-ettus-dev repo to zeus-ci
Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-07-20 15:57:20 -05:00
Javier Valenzuela
7d86e2e17e fpga: lib: Update error call for undefined RW mode 2022-07-20 15:57:20 -05:00
Zlika
25a127c843 doc: Fix generation of man pages
Reviewed-by: Steven Koo <steven.koo@ni.com>
2022-07-20 15:57:20 -05:00
Steven Koo
770711c40a ci: add devtest e320 support
This commit adds devtest support for e320 via tftp. The e320 has
a hardware incompatibility with sdmuxes that we use for the n3xx
devices, which makes them unreliable. Instead this loads a small
Linux OS into the e320 system memory and reimages the sd card
from there.

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-07-20 15:57:20 -05:00
Aaron Rossetto
a3ca7796b7 fpga: Add READMEs describing Lattice and ADI IP sourcing 2022-07-20 15:57:20 -05:00
David Raeman
82fc237c16 e3xx: change radio_control_impl mutex to be a recursive_mutex
This allows one setter to call a second setter in an atomic way,
without dropping the lock. This is groundwork for incorporating the power
calibraiton manager, which may change the gain setting during the process
of changing the tuned frequency.
2022-07-20 15:57:20 -05:00
Martin Braun
54990c55f8 mpm: Factor out transport API into PeriphManagerBase
All MPM devices use identical implementations of the transport API.
Minor differences between the actual lines of code in the various
transport adapters are due to minor optimizations, such as hard-coding
'udp' as the only valid transport type for the N3xx series.

This change moves the implementation of the transport API calls
(get_chdr_link_options() and get_chdr_link_types()) into
PeriphManagerBase. The class attributes _xport_adapter_mgrs is also
declared in that class, but defining them is left up to the individual
device implementations.
2022-07-20 15:57:20 -05:00
Neel Pandeya
807e19c107 Update README.md 2022-07-20 15:57:20 -05:00
Steven Koo
058e4a59de ci: call powerbtn multiple times to power on
Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-07-20 15:57:20 -05:00
Javier Valenzuela
917fe5e7d7 images: Update manifest with latest cpld firmware 2022-07-20 15:57:20 -05:00
Martin Braun
a85934cfb3 examples: Fix rfnoc_replay_samples_from_file
It was creating a TX streamer with zero channels.

Without this fix, you might see an error like this:

```
Error: AssertionError: channel < _mtu_out.size()
in connect_channel at
/path/to/uhd/host/lib/rfnoc/rfnoc_tx_streamer.cpp:127
```
2022-07-20 15:57:20 -05:00
Martin Braun
43f5ac70ce mpm: xportmgr_udp: Include iface name in info
XportMgrUDP.get_chdr_link_options() now also returns the interface name
(e.g., sfp0) in its return values, which is very useful for identifying
a transport in a different context (e.g., when only the node_inst value
of a transport is known).
2022-07-20 15:57:20 -05:00
David Raeman
414e67480a cal: add method to get the current power cal tracking mode 2022-07-20 15:57:20 -05:00
Lars Amsel
35352b4b9e doc: Remove ZBX phase sync documentation
The current ZBX documents how to use the phase sync feature.
Because phase sync is not working yet, the documentation should
be removed as well.
2022-07-20 15:57:20 -05:00
Steven Koo
d9f9a901f4 ci: change gr-ettus ref to master
gr-ettus added a stronger UHD version check in the maint-3.8-uhd4.0.
Set this to master instead.

Steven Koo <steven.koo@ni.com>
2022-07-20 15:57:20 -05:00
Javier Valenzuela
303ddf1238 fpga: x400: zbx: Add support for XO3 CPLD variant.
The main changes included are:
- Variant-dependent pin-out instantiation.
- Update clocking scheme in top level file
  to include XO3 PLL
- Add ability to shift outgoing data for
  the GPIO communication interface with
  the X410 FPGA.
- Include project files required to build
  the XO3 variant of the ZBX CPLD.
- Add build flow for Lattice Diamond designs.
- Add ability to build XO3 variant of ZBX CPLD.
2022-07-20 15:57:20 -05:00
Javier Valenzuela
32786c6393 fpga: lib: Add read-only strategy for port B in 2-port RAM 2022-07-20 15:57:20 -05:00
Steven Koo
802696d9eb ci: Set n310 and n321 to specific agents
Since these take awhile to setup, there have been cases where an agent
will get selected for these devices and wait until the previous run
to complete. It's possible that it will take a long time and timeout
if there were other instances launched at similar times.

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-07-20 15:57:20 -05:00
Steven Koo
538beaadab ci: Mark devtest as failure on SucceededWithIssues
This marks the job as a failure on SucceededWithIssues. This could be
from failure in device setup or other reasons.

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-07-20 15:57:20 -05:00
Wade Fife
f41f050ef8 fpga: Fix first arg in calls to $fatal()
This fixes warnings regarding the first argument to $fatal(), which is
supposed to be a number indicating what diagnostics to display. 1
corresponds to "Prints simulation time and location".
2022-07-20 15:57:20 -05:00
Wade Fife
6b8df10554 fpga: x400: Fix AXI/LBUS testbench names 2022-07-20 15:57:20 -05:00
mattprost
acf2eeb6a4 ci: Enable root privileges for non-DPDK streaming tests
This allows underlying benchmark_rate calls to elevate the streaming
threads' priorities. This is similar to how we invoke the streaming test
scripts for DPDK use cases.

Signed-off-by: mattprost <matt.prost@ni.com>
2022-07-20 15:57:20 -05:00
Steven Koo
c0ac9f100e ci: Add n321 to devtest
Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-07-20 15:57:20 -05:00
mattprost
b1bc6ec720 ci: Build init_usrp example for Windows
Generating this binary allows us to sanity check the linking for UHD
builds on Windows.

Signed-off-by: mattprost <matt.prost@ni.com>
2022-07-20 15:57:20 -05:00
mattprost
047085a985 ci: Build init_usrp example for macOS
Generating this binary allows us to sanity check the linking for UHD
builds on macOS.

Signed-off-by: mattprost <matt.prost@ni.com>
2022-07-20 15:57:20 -05:00
mattprost
f1917e661e python: cmake: Detect python virtual environments
This allows a UHD build to link to python modules installed in a virtual
environment such a venv or pyenv.

Signed-off-by: mattprost <matt.prost@ni.com>
2022-07-20 15:57:20 -05:00
mattprost
e78962d8d0 ci: Make Windows installer job self-contained
Rebuild UHD to generate the Windows installer. This increases the time
it takes for the job to run, but it removes any interference that other
jobs may have had on the build environment.

Signed-off-by: mattprost <matt.prost@ni.com>
2022-07-20 15:57:20 -05:00
mattprost
4a8150df4f ci: Only include rpm files in the Fedora installer artifacts
Signed-off-by: mattprost <matt.prost@ni.com>
2022-07-20 15:57:20 -05:00
mattprost
f9707e97e2 docs: DPDK Linux kernel underruns solution
Previously we had documented a known issue involving the Linux kernel,
which was causing a streaming performance regression. This resulted in
periodic underruns. We now know what is causing the regression. Document
the procedure to restore the original behavior.

Signed-off-by: mattprost <matt.prost@ni.com>
2022-07-20 15:57:20 -05:00
Lars Amsel
9a07184e28 rfnoc: Add LUA based dissector
Add a dissector based on LUA. The C/C++ based dissector is hard
to use on Windows system, because one needs to compile Wireshark as well.

The LUA based dissector can be used without any compilation and it
runs out of the box on all systems that run wireshark. It also provides
improved preview display in the info column which makes it less often
necessary to lookup data in the detail pane.

Along with the LUA dissector comes a color rules file that colors the
RFNoC packets based on their type which makes navigation in the log
even more easy.

There LUA dissector is able to configure the CHDR width in it's
preferences.

Co-authored-by: Martin Braun <martin.braun@ettus.com>
Co-authored-by: Wade Fife <wade.fife@ettus.com>
Co-authored-by: Aaron Rossetto <aaron.rossetto@ni.com>
2022-07-20 15:57:20 -05:00
Steven Koo
3dc9aad756 ci: streaming: flash x310 fpga
This uses openFPGALoader to flash the fpga before
running the test. This tool is needed because
uhd_image_loader only updates the flash for x3xx,
which requires a hard power cycle to commit.
This openFPGALoader directly updates the fpga
SRAM.

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-07-20 15:57:20 -05:00
Martin Braun
7466cefb0d rfnoc: Fix warnings in replay_block_control
- Missing override statements
- Rephrase logical statement when reading command FIFO space. The
  statement was correct, but Clang12 issues a warning because it
  considers the choice of syntax error-prone.
2022-07-20 15:57:20 -05:00
Martin Braun
f96b8e7059 usrp2: Remove unused code segments
This fixes compiler warnings under Clang12.
2022-07-20 15:57:20 -05:00
Steven Koo
8f2a9a9186 uhd: refactor get_all_addrs to remove duplicates
This commit refactors the existing register definitions, so that
duplicate entries don't get added to the get_all_addrs method.
Duplicates caused long builds on macOS/Clang, where build times
would go from sub 5 min to 50 min or more likely because
of the compiler trying to optimize.

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-07-20 15:57:20 -05:00
Steven Koo
8d05b1cda1 ci: Add n310 into devtests
This commit adds support for reimaging n3xx devices and running
devtest against a n310. This uses Labgrid to control an sdmux,
which we then reimage the device. In the future, other devices can
use this support to run other tests.

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-07-20 15:57:20 -05:00
Steven Koo
ce000955ae ci: devtests: fix knownhost entry
Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-07-20 15:57:20 -05:00
Steven Koo
36035a54f3 ci: Increase devtest job timeout to 90 minutes
This changes the timeout for devtest jobs. Since we are running multiple
devtests per job now, this is needed to avoid timeout failures.

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-07-20 15:57:20 -05:00
Martin Braun
a9a9a8ac84 mpm: x4xx: Make get_chdr_link_types() more generic
This code was copy/pasta'd from N3x0. In theory, X410 can have more
options regarding streaming than UDP, although for now, this function
returns the exact same as before, it's just no longer hard coded.
2022-07-20 15:57:20 -05:00
mattprost
c741604b1e examples: gpio: output before end of stream
The gpio values should be output before the stream ends. This matches
the behavior of other tests in this file and prevents strange logs for
passing tests.

Signed-off-by: mattprost <matt.prost@ni.com>
2022-07-20 15:57:20 -05:00
Aaron Rossetto
6a3540ed46 x300: Fix invalid GPIO source bank error message
When calling `get_gpio_srcs()` or `get_gpio_src()` with an invalid bank
parameter, the error text associated with the `uhd::runtime_error` that
is thrown prints the expected bank, not the erroneous bank, e.g.:

>>> my_x310.get_gpio_srcs('BAD_BANK', 0)
[ERROR] [X300::MB_CTRL] Invalid GPIO source bank: BAD_BANK. Only supported
bank is FP0
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
RuntimeError: RuntimeError: Invalid GPIO source bank: FP0

The invalid source bank on the last line should read BAD_BANK, not FP0.
2022-07-20 15:57:20 -05:00
Martin Braun
44c50ff370 mpm: udp: Fix Pylint warnings in UDP-related files
Fixes long lines, missing docstrings, and deprecated Pythonisms from
ethdispatch.py and xportmgr_udp.py.
2022-07-20 15:57:20 -05:00
David Raeman
e786178db9 uhd: fix minor typo when querying tx sensors property tree 2022-07-20 15:57:20 -05:00
Virendra Kakade
be619d63f8 REVERT images: zbx lattice cpld image manifest
Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
2022-07-20 15:57:20 -05:00
Virendra Kakade
54d07516ed mpm: add support for lattice zbx cpld
Co-authored-by: Steven Koo <steven.koo@ni.com>
Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
2022-07-20 15:57:20 -05:00
Aaron Rossetto
12bcc1dc47 ci: Point meta-ettus repo ref to v4.2.0.0 2022-06-15 14:04:51 -05:00
Steven Koo
ea0dded3ec ci: Run multiple fpgas per job
This consolidates the different FPGA runs into a single job.

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-06-10 13:24:06 -05:00
Steven Koo
693ec038b6 ci: Add devtests to hardware-test-dev
This enables running the devtests without having to rebuild uhd,
typically for development purposes.

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-06-10 13:24:06 -05:00
Matthew Crymble
0190ed14d9 tests: mark test jobs as an overall failure if there is a test failure
using the continueOnError option for test run steps is a convenient
way to allow all subsequent steps to run despite a test failure.
But this causes the job status to be 'SucceededWithIssues' and not
a full 'Failed' status.
2022-06-10 13:24:05 -05:00