| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
```
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
| |
This fixes compiler warnings under Clang12.
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
This reverts commit 50bda84c75c2087caebc2bfd5f8e8cd64b41e739.
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
FP0 is now listed first. This helps with determining a default GPIO
bank.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This commit *only* touches comments in the code for RFNoC streaming,
link management and management portal.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
result of get double was saved in an int value instead of double
replaced C cast by static_cast
|
|
|
|
|
| |
The N320 code include some constants that were either unused or
incorrect. This clarifies the lowband frequency.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Prompt users for download confirmation of files larger than 1 GiB
instead of 100 MiB. Improve messaging to make this process less
concerning for users. The defined limit is only for the user's
convenience. A 1 GiB limit should allow users to download most uhd
images and related files without being prompted.
Signed-off-by: mattprost <matt.prost@ni.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds support for read only registers in generated interfaces.
For this the default is extended to an option string. The old format
is still supported for backward compability, so if options string is
just a number it will be handled as a writable number.
The option string is a comma separated list with key=value pairs. The
value is optional and treated as None if missing.
common.py now allows to pass in **kwargs to the generate method which
is used by gen_zbx_cpld_regs.py to pass a filter function for registers
used by mpm only.
get_all_addr now has an additional (optional, defaults to false) flag
to indicate whether read only addresses are to be returned or not.
It also supports type generic for the result to align with
get_changed_addr function.
The ZBX CPLD CTRL map is adapted accordingly to reflect read only
registers. The power registers are flagged as MPM scope only (and not
used in ZBX CPLD control of UHD).
Co-authored-by: Martin Braun <martin.braun@ettus.com>
|
|
|
|
|
|
|
|
|
| |
Adds cmake option for replacing dashes in the UHD Component version with
underscores. This is necessary as Fedora package management is now
enforcing the format <Package>-<Version>-<Release> for all rpm builds,
so dashes in the UHD_VERSION from dev branches is not supported.
Signed-off-by: mattprost <matt.prost@ni.com>
|
|
|
|
|
|
|
|
| |
If ALL option is specified, set lo source for both lo's. Do not report
an error if user sets LO2 to internal. Enforce single lo target for
queries about lo state.
Signed-off-by: mattprost <matt.prost@ni.com>
|
|
|
|
|
|
| |
Building .deb files has an entire ecosystem dedicated to it which is
superior to cpack, and we don't test cpack, either. Users wanting to
build .deb files should take a look at tools/debs/uhd_ubuntu_deb.py.
|
|
|
|
|
| |
When a file exceeds the download limit, print the name of the file in
the message that asks if we want to continue downloading.
|