aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ci: Mark devtest as failure on SucceededWithIssuesSteven Koo2022-07-201-0/+7
| | | | | | | 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>
* fpga: Fix first arg in calls to $fatal()Wade Fife2022-07-209-68/+67
| | | | | | 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".
* fpga: x400: Fix AXI/LBUS testbench namesWade Fife2022-07-202-2/+2
|
* ci: Enable root privileges for non-DPDK streaming testsmattprost2022-07-201-1/+4
| | | | | | | | 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>
* ci: Add n321 to devtestSteven Koo2022-07-205-1/+65
| | | | Signed-off-by: Steven Koo <steven.koo@ni.com>
* ci: Build init_usrp example for Windowsmattprost2022-07-202-21/+38
| | | | | | | Generating this binary allows us to sanity check the linking for UHD builds on Windows. Signed-off-by: mattprost <matt.prost@ni.com>
* ci: Build init_usrp example for macOSmattprost2022-07-202-2/+44
| | | | | | | Generating this binary allows us to sanity check the linking for UHD builds on macOS. Signed-off-by: mattprost <matt.prost@ni.com>
* python: cmake: Detect python virtual environmentsmattprost2022-07-201-2/+3
| | | | | | | 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>
* ci: Make Windows installer job self-containedmattprost2022-07-203-9/+43
| | | | | | | | 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>
* ci: Only include rpm files in the Fedora installer artifactsmattprost2022-07-202-2/+14
| | | | Signed-off-by: mattprost <matt.prost@ni.com>
* docs: DPDK Linux kernel underruns solutionmattprost2022-07-201-5/+21
| | | | | | | | | 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>
* rfnoc: Add LUA based dissectorLars Amsel2022-07-202-0/+569
| | | | | | | | | | | | | | | | | | | | | 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>
* ci: streaming: flash x310 fpgaSteven Koo2022-07-202-0/+13
| | | | | | | | | | | 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>
* rfnoc: Fix warnings in replay_block_controlMartin Braun2022-07-201-3/+4
| | | | | | | - 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.
* usrp2: Remove unused code segmentsMartin Braun2022-07-201-6/+0
| | | | This fixes compiler warnings under Clang12.
* uhd: refactor get_all_addrs to remove duplicatesSteven Koo2022-07-201-8/+17
| | | | | | | | | | 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>
* ci: Add n310 into devtestsSteven Koo2022-07-208-83/+289
| | | | | | | | | 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>
* ci: devtests: fix knownhost entrySteven Koo2022-07-201-1/+1
| | | | Signed-off-by: Steven Koo <steven.koo@ni.com>
* ci: Increase devtest job timeout to 90 minutesSteven Koo2022-07-201-0/+1
| | | | | | | 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>
* mpm: x4xx: Make get_chdr_link_types() more genericMartin Braun2022-07-201-4/+3
| | | | | | 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.
* examples: gpio: output before end of streammattprost2022-07-201-1/+1
| | | | | | | | 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>
* x300: Fix invalid GPIO source bank error messageAaron Rossetto2022-07-201-2/+2
| | | | | | | | | | | | | | | 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.
* mpm: udp: Fix Pylint warnings in UDP-related filesMartin Braun2022-07-202-27/+36
| | | | | Fixes long lines, missing docstrings, and deprecated Pythonisms from ethdispatch.py and xportmgr_udp.py.
* uhd: fix minor typo when querying tx sensors property treeDavid Raeman2022-07-201-1/+1
|
* REVERT images: zbx lattice cpld image manifestVirendra Kakade2022-07-202-5/+7
| | | | Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
* mpm: add support for lattice zbx cpldVirendra Kakade2022-07-201-70/+219
| | | | | Co-authored-by: Steven Koo <steven.koo@ni.com> Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
* ci: Point meta-ettus repo ref to v4.2.0.0Aaron Rossetto2022-06-152-2/+2
|
* ci: Run multiple fpgas per jobSteven Koo2022-06-104-102/+80
| | | | | | This consolidates the different FPGA runs into a single job. Signed-off-by: Steven Koo <steven.koo@ni.com>
* ci: Add devtests to hardware-test-devSteven Koo2022-06-103-3/+32
| | | | | | | This enables running the devtests without having to rebuild uhd, typically for development purposes. Signed-off-by: Steven Koo <steven.koo@ni.com>
* tests: mark test jobs as an overall failure if there is a test failureMatthew Crymble2022-06-102-0/+13
| | | | | | | 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.
* N320: Revert PLL lock time reductionAaron Rossetto2022-06-101-2/+2
| | | | | | | | | | | | | | | | | 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.
* ci: Fix mgmt_addr=None entry for X310 DPDK caseSteven Koo2022-06-101-1/+7
| | | | | | | | 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>
* Revert "tests: streaming: temporarily mark b210 dropped samples as an xfail"Steven Koo2022-06-101-12/+4
| | | | This reverts commit 50bda84c75c2087caebc2bfd5f8e8cd64b41e739.
* ci: Add recv and send frame tuning for streamingSteven Koo2022-06-104-2/+44
| | | | | | | | 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>
* ci: set benchmark rate priority to highSteven Koo2022-06-101-0/+1
| | | | | | | | 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>
* host/README.md: Fix links to knowledge baseStephane Fillod2022-06-101-2/+2
|
* lib: Remove stray file async_msg.hppMartin Braun2022-06-101-85/+0
|
* docs: Update section on radio transport protocolsMartin Braun2022-06-101-16/+14
|
* tests: Remove packet_handler_benchmarkMartin Braun2022-06-102-380/+0
| | | | | | 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.
* zbx: Remove stray includeMartin Braun2022-06-101-1/+0
|
* utils: Remove usrp_e3x0_network_modeMartin Braun2022-06-101-72/+0
| | | | | | 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.
* ci: Add b210 hardware to rhombusmattprost2022-06-102-1/+32
| | | | | | | Installed a B210 and added support for usb-based devices in the devtest pipeline. Signed-off-by: mattprost <matt.prost@ni.com>
* fixup! examples: gpio: Refactor exampleMartin Braun2022-06-101-14/+32
| | | | | | 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.
* fixup! examples: gpio: Refactor exampleMartin Braun2022-06-101-4/+13
| | | | | | | | | | 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.
* rfnoc: Add atomic_item_size property to FFT blockMartin Braun2022-06-102-1/+41
| | | | | | 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.
* examples: gpio: Refactor exampleMartin Braun2022-06-101-286/+368
| | | | | | | | | | | | | | | | 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
* x300: Change order of GPIO banksMartin Braun2022-06-101-1/+1
| | | | | FP0 is now listed first. This helps with determining a default GPIO bank.
* tests: streaming: temporarily mark b210 dropped samples as an xfailMatthew Crymble2022-06-101-4/+12
|
* tests: streaming: use assert instead of pytest.fail for underruns/overrunsMatthew Crymble2022-06-101-2/+2
| | | | | | | 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.
* rfnoc: Fix vector use in replay_block_control_implAaron Rossetto2022-06-101-2/+2
| | | | | | | | | | | | | 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.