Commit graph

9897 commits

Author SHA1 Message Date
Martin Braun
3da73de4ab 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-06-08 13:44:19 -07:00
David Raeman
722ae69156 uhd: fix minor typo when querying tx sensors property tree 2022-06-08 13:44:08 -07:00
Steven Koo
71d9a1b921 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-06 09:37:13 -07:00
Steven Koo
cd7515c0db 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-06 09:37:13 -07:00
Matthew Crymble
14a8e6fe01 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-06 09:36:38 -07:00
Aaron Rossetto
e80495654f N320: Revert PLL lock time reduction
This commit reverts the changes made in commit 81a9cc1f8 to reduce the
time for the LMK PLL to report lock status. The decision to revert the
change comes after an investigation found that reducing the overall time
to detect lock correlates with an increase in an error reported by the
TDC ('[ERROR] TDC measurements show a wide range of values!  Check your
clock rates for incompatibilities. ...  Uncaught exception in method
set_clock_source: TDC measurement out of expected range!').  Despite the
LMK PLL reporting lock status, our investigation revealed that it takes
additional time for the PLL to align the daughterboards' clocks closely
enough to pass the TDC measurement's range limit (i.e., no samples
exceeding the measurement mean +/- 500 ps). Reverting the change
increases the amount of time between achieving lock status and taking
the TDC measurements, thus greatly reducing the likelihood of the
reported error.
2022-06-03 13:58:23 -07:00
Lars Amsel
81711625be uhd: Align numeric data types in digital filter classes
Modified accessors and constructors in digital filter classes
to align with the type declared in the corresponding fields.
2022-06-03 13:15:19 -07:00
Lars Amsel
f5d2daa0f6 uhd: pybind: Fix digital filter compile issue on Windows
0cf8a60 introduces Python binding for the digital filter
classes. This does not compile under Windows because the
digital filter classes are header only classes but are
declared as UHD_API. They must be declared as UHD_API_HEADER.
See also 1b3ed20.
2022-06-03 13:15:19 -07:00
Steven Koo
cfce8b32d5 ci: Fix mgmt_addr=None entry for X310 DPDK case
X310 differs from X410 in that it doesn't require the mgmt_addr to
function. This does a check to see if the field has been added,
instead of assuming that it has a value.

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-06-03 13:14:31 -07:00
Steven Koo
453a99fd1b Revert "tests: streaming: temporarily mark b210 dropped samples as an xfail"
This reverts commit 50bda84c75.
2022-06-03 13:14:31 -07:00
Steven Koo
b907964c09 ci: Add recv and send frame tuning for streaming
This adds the ability to tune the recv and send frames as a parameter.
This is useful since some rates will fail with jitter in the system
with the default settings.

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-06-03 13:14:31 -07:00
Steven Koo
223ecc98c2 ci: set benchmark rate priority to high
This change increases the benchmark rate priority to high, which reduces
the jitter. This prevents UI interactions from causing overruns and
underruns.

Signed-off-by: Steven Koo <steven.koo@ni.com>
2022-06-03 13:14:31 -07:00
Stephane Fillod
abec285da8 host/README.md: Fix links to knowledge base 2022-06-03 07:20:44 -07:00
Martin Braun
90239cfee4 lib: Remove references to uhd::sid_t
This data structure was used in UHD 3, but is no longer relevant.
2022-06-03 06:12:41 -07:00
Martin Braun
8ac74ccb1e lib: Remove stray file async_msg.hpp 2022-06-03 06:12:41 -07:00
Martin Braun
e28516bc68 docs: Update section on radio transport protocols 2022-06-03 06:12:41 -07:00
Martin Braun
6419405e7c transport: Remove zero_copy_flow_ctrl
In the current streaming model, this is never used. Another UHD-3
remnant.
2022-06-03 06:12:41 -07:00
Martin Braun
840335390c lib: Remove vrt::chdr namespace
This is another remnant of UHD 3. This chdr:: namespace is not used
anywhere in the current streaming model.
2022-06-03 06:12:41 -07:00
Martin Braun
ff79118f43 tests: Remove packet_handler_benchmark
This was a test written in the early stages of re-writing UHD for the
4.0 release. It tests things that are no longer in use for UHD 4, thus,
the test can go as well.
2022-06-03 06:12:41 -07:00
Martin Braun
fdced6984a zbx: Remove stray include 2022-06-03 06:12:41 -07:00
Martin Braun
d5a7285bf6 utils: Remove usrp_e3x0_network_mode
This was removed from CMake ages ago, and hasn't been built in years. It
also no longer compiles. And since we do MPM on E310, it is also
completely pointless.
2022-06-03 05:07:57 -07:00
mattprost
8d75320365 ci: Add b210 hardware to rhombus
Installed a B210 and added support for usb-based devices in the devtest
pipeline.

Signed-off-by: mattprost <matt.prost@ni.com>
2022-06-02 08:28:54 -07:00
Martin Braun
c2c45fb17e fixup! examples: gpio: Refactor example
The example refactoring required usage of the get/set source API, which
isn't available on B2xx series. This patch tests for the existence of
said API, and disables its usage if appropriate.
2022-06-01 13:28:31 -07:00
Martin Braun
8286b1f094 fixup! examples: gpio: Refactor example
The refactoring changed the behaviour of --bitbang: before, it would
terminate after one readback unless --repeat was specified, in which
case it would require a Ctrl-C (SIGINT). After the refactoring, it
always required a SIGINT. This changes the behaviour back to prior to
727141d, and will now only read back once, unless --repeat is provided.

This also fixes the bitbang devtest, which would go on indefinitely.
2022-05-27 13:02:55 -07:00
Martin Braun
76056c9781 rfnoc: Add atomic_item_size property to FFT block
The atomic item size for the FFT block is always equal to the length of
the FFT, multiplied by bytes-per-sample (4). For now, this is all the
FFT block supports.
2022-05-25 07:58:23 -07:00
Martin Braun
727141d851 examples: gpio: Refactor example
The example had organically grown and was getting hard to read, and also
had some known issues. Summary of fixes:

- Default GPIO bank and connector are now derived from the device. This
  allows this example to pass without throwing an exception on E3xx and
  X4xx series when using default arguments.
- The bitbang test is moved into its own code section, to make the rest
  more readable.
- We move all the streamer-related code into a helper struct
- Some repetitive parts of the code are moved into their own functions
- The argument --require-loopback is added, which will fail tests if
  GPIO pins are not correctly looped back externally
- --list-banks is renamed to --list_banks for consistency
2022-05-25 07:56:27 -07:00
Martin Braun
2e6cd12591 multi_usrp: Shorten GPIO bank names on single-db USRPs
In particular, the E3xx series have a single "daughterboard", and
a single radio block with two channels. Prior to this fix,
multi_usrp::get_gpio_banks() would return "INT0A", where the 'A' is to
distinguish the INT0 bank with other dboards. Since there are none, the
'A' is unnecessary.
2022-05-25 07:56:27 -07:00
Martin Braun
5bf02be2a8 x300: Change order of GPIO banks
FP0 is now listed first. This helps with determining a default GPIO
bank.
2022-05-25 07:56:27 -07:00
Matthew Crymble
50bda84c75 tests: streaming: temporarily mark b210 dropped samples as an xfail 2022-05-24 07:55:55 -07:00
Matthew Crymble
c592a3b38b tests: streaming: use assert instead of pytest.fail for underruns/overruns
When an assert statement fails, pytest will determine whether that should
be a fail or an xfail. By explicitly calling pytest.fail, we were
preventing pytest from doing that determination, so an individual
test case that had an xfail mark would have been a hard failure.
2022-05-24 07:55:55 -07:00
Aaron Rossetto
6a2c2effa2 rfnoc: Fix vector use in replay_block_control_impl
This commit fixes an issue in `replay_block_control_impl` with the
initialization of the `_cmd_fifo_spaces` vector member variable.
`std::vector<>::reserve()` only allocates memory for the vector items;
it does not resize the vector (i.e., instantiating an `std::vector<>`
and then calling `reserve()` leaves it with a size of 0). Attempting to
index a zero-sized vector causes some C++ debug mode runtimes to throw
an index out-of-range exception. The commit instantiates the vector
using the constructor variant that allocates memory sufficient for the
entries and default initializes them so that it can be indexed without
issue.
2022-05-24 07:55:11 -07:00
Clayton Smith
244c9d2d90 host: Remove redundant template parameter list
C++20 no longer allows redundant template parameter lists. The
template parameter list must be removed from the property_impl
constructor to allow C++20 projects to include UHD.

Signed-off-by: Clayton Smith <argilo@gmail.com>
2022-05-24 07:52:00 -07:00
Martin Braun
3b2380430d rfnoc: Fix register_xport_hop_cfg_fns() usage
Note: This function is currently unused. However, it is not correctly
implemented. During init, it would call the routing configuration
function instead of the init configuration function.
2022-05-24 07:51:24 -07:00
Lars Amsel
a5b55390e5 doc: Update documentation according to changes in usrptest
Reflect changes in usrptest (rename/move of files) in documentation.
2022-05-24 07:50:21 -07:00
Lars Amsel
22f7036ffb uhd: Remove outdated test infrastructure
GNU Radio-based tests are not used anymore. The gr- prefix is removed
from the USRP test folder name and tests from the apps folder that do
not depend on GNU Radio are kept in the top level folder.
2022-05-24 07:50:21 -07:00
mattprost
30dec2dda7 ci: Add new x3xx hardware to rhombus
Added an X310 with TwinRx dboards and moved the SBX dboards to an X300.

Signed-off-by: mattprost <matt.prost@ni.com>
2022-05-20 06:33:45 -07:00
Martin Braun
3f900ba3d6 rfnoc: Improve comments regarding streaming and mgmt. code
This commit *only* touches comments in the code for RFNoC streaming,
link management and management portal.
2022-05-18 08:23:53 -07:00
Matthew Crymble
44deb4ad82 tests: streaming: mark non-dpdk failures as xfails 2022-05-18 07:54:54 -07:00
Matthew Crymble
ce973864ed tests: streaming: select appropriate uhd config file before test runs 2022-05-18 07:54:54 -07:00
Matthew Crymble
a416ea36e2 tests: streaming: don't set master clock rate on x310 2022-05-18 07:54:54 -07:00
Matthew Crymble
622a223550 tests: streaming: fix x310 test case values 2022-05-18 07:54:54 -07:00
Matthew Crymble
8c52b3bddc tests: streaming: add support for B210 DUTs
The use_dpdk will be false for all B210 test cases, but still needs
to be defined since the main test_streaming() function requires
a value for it.
2022-05-18 07:54:54 -07:00
Matthew Crymble
7f141330de tests: streaming: include dual_SFP parameter for all cases
The dual_SFP test case parameter will be false for all B210 and
E320 test cases, but it still needs to be defined since the main
test_streaming() function requires a value for it.
2022-05-18 07:54:54 -07:00
Matthew Crymble
d8540e3524 tests: streaming: add support for more DUTs
This commit enables runs for X310, X310 TwinRx, E320, and N310.

By default, python's argparse module will expect a value to be
provided for each argument defined.  Specifying an nargs value of '?'
for the pytest options allows us to use a single pytest invocation
in our pipeline configuration, even though some options don't apply
to some DUT types.
2022-05-18 07:54:54 -07:00
Martin Braun
0a02801bf8 n320: Fix reading DB serial in applying corrections
The frontend corrections for N320 (IQ imbalance, DC offset) require the
DB serial. However, there was an error in reading the DB serial in the
code that applies the corrections.
2022-05-16 12:51:20 -07:00
Lars Amsel
4698078d41 rfnoc: fix double conversions
result of get double was saved in an int value instead of double
replaced C cast by static_cast
2022-05-16 06:24:49 -07:00
Martin Braun
7749948c50 n320: Improve comments regarding low band
The N320 code include some constants that were either unused or
incorrect. This clarifies the lowband frequency.
2022-05-16 06:19:54 -07:00
Virendra Kakade
e7c2035df2 REVERT images: zbx lattice cpld image manifest
Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
2022-05-16 06:18:09 -07:00
Virendra Kakade
09936d54c7 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-05-16 06:18:09 -07:00
Wade Fife
92016a585a fpga: rfnoc: Remove rfnoc_version from target YAML
This causes the latest RFNoC protocol version to be used by default
and avoids the need to update YAML files every time the RFNoC
protocol version gets bumped.
2022-05-11 12:29:35 -07:00