| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds Boost test cases for benchmarking each of the existing
conversions that are tested in convert_test. The benchmarks do take some
time, and we do not want to run they as part of every CI run, so they
are marked with a test decorator that disables the benchmark by default.
To run the benchmarks, invoke convert_test with `--run-test=+benchmark*`
to explicitly enable all disabled tests that begin with the word
'benchmark'. Individual benchmark test cases can be enabled by
specifying the full name of the benchmark test or by crafting a wildcard
that includes all benchmark test cases of interest.
|
|
|
|
|
| |
This commit adds code to the convert tests to support the ability to
benchmark individual conversion test cases.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit implements some minor cleanup of various converter- and
convert test-related code:
* Improves the log messages regarding which converter was returned for a
request.
* Modifies the result checking code in the converter tests to only
report an out-of-range sample error once, rather than reporting every
out-of-range sample encountered during the test. This vastly cuts down
on the output when a conversion has failed.
* Adds a function `reverse_converter()` which, given a
`convert::id_type` describing a conversion from C1 to C2, returns a
`convert::id_type` describing the reverse conversion (C2 to C1).
* Removes two redundant test cases from the converter test.
|
|
|
|
| |
Signed-off-by: Ron Economos <w6rz@comcast.net>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When executing eeprom-init on E320 (which was originally written for
N310), it would use defaults from N310, potentially causing issues.
These issues would have arisen if we letter-revved the E320 one more
time (because at rev 5, N310 had a compatibility cutover).
Summary of changes:
- eeprom-init will now read values *not* given on the command line from
the existing content of the EEPROM, if it contains valid data. This
means that DT, MCU, and rev compat values will no longer get
auto-derived if the EEPROM already contained "good" values.
- If the EEPROM is empty or corrupted, eeprom-init will no longer run if
the pid value is not provided. This is to avoid N310 defaults being
written to E320 EEPROMs.
- A README is added to explain which devices use which utilities.
- PID checks are more strict now. It is unlikely we'll build new devices
using the old EEPROM format (prior to TLV), so we can check
specifically for E320, N3x0.
- The hard-coded list of PIDs for the EEPROM tools are moved to
a central location (eeprom-pids.h).
- The code to derive values for DT/MCU/rev compat from the rev is now
pid-specific and no longer device-agnostic.
|
|
|
|
|
| |
* A uhd_test.so lacks the necessary symbols for testing
due to default visibility set to hidden.
|
|
|
|
|
|
|
| |
Instead of squashing errors, set continue on error so that warnings
propagate up. Also reset timeout to default 60 minutes.
Signed-off-by: Steven Koo <steven.koo@ni.com>
|
|
|
|
|
|
|
| |
- Add notes on playback and record behaviour
- Improve docs for play()
Co-authored-by: Wade Fife <wade.fife@ettus.com>
|
|
|
|
|
|
|
|
| |
When connecting an Rx streamer to a replay block, this now allows
requesting data from the replay block using a stream command. This will
automatically request data from all ports the streamer is connected to,
and even if there are blocks in between (depending on their action
forwarding policies).
|
|
|
|
| |
These RFNoC C++ API calls were previously not exported into Python.
|
|
|
|
|
|
|
| |
rfnoc::connect_through_blocks(), unlike rfnoc_graph::connect(), did not
have an argument to declare a back-edge. This patch remedies this
situation by adding a skip_property_propagation argument that works
exactly as with rfnoc_graph::connect().
|
|
|
|
|
| |
This was left over from when the manual was ported to Doxygen in
a74919c2. It is not used by Doxygen.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a Doxygen setting where to find MathJax. The default might not
be suitable for everyone, and in particular, if people already have MJ
installed on their local system, they might prefer using that instead of
an online one.
Example usage: Assume you have MathJax installed locally, e.g., through
the mathjax package on Fedora, or the libjs-mathjax package on
Debian/Ubuntu. Then you could build UHD as such:
cmake -DMATHJAX_RELPATH=/usr/share/javascript/mathjax
This will now use the local version. Note that locally generated HTML
documentation can now no longer be copied to other machines, unless they
also have MathJax installed to the same path.
|
|
|
|
|
| |
This fixes an issue where tinfo and ncurses are split into separate
libraries.
|
| |
|
|
|
|
| |
Iterate over copy and delete from original dictionary.
|
|
|
|
|
| |
This thread is a vestige from copy & pasting N310 code, it does
absolutely nothing but occupy resources.
|
|
|
|
|
| |
USRP N230 is no longer supported starting with UHD 4, and thus, the
firmware code is also no longer required.
|
|
|
|
|
|
|
| |
These x4xx pipelines have been obsoleted
by x4xx integration with mono pipeline.
Signed-off-by: Steven Koo <steven.koo@ni.com>
|
| |
|
|
|
|
|
| |
The sw_iface entry in the `control` section is yet underdefined, so we
can remove it from the block descriptors.
|
|
|
|
|
|
|
| |
The FSRU (aka EISCAT) was never supported in UHD 4.0. The FPGA
repository never had the relevant files, and the block controller also
never existed. This removes all the corresponding files from MPM, as
well as some references from makefiles.
|
|
|
|
| |
UHD no longer depends on ORC since 41812aa2f (merged 2015).
|
|
|
|
|
|
|
| |
Change the --to argument to --to-destination. Both seem to work, but the
latter is what is listed in iptables-extensions(8). What's confusing is
that `--to` also exists in another context (in the `string` match
extension).
|
|
|
|
|
| |
This adds two additional ports to the DRAM, for a total of up to
four channels connected to DRAM.
|
|
|
|
|
|
| |
- Fix some Pylint warnings in eeprom.py
- Improve comments in n3xx.py and e320.py regarding rev_compat values in
EEPROM
|
|
|
|
|
| |
On N3x0 and E3x0 devices, we were erroneously installing EEPROM
utilities that are only relevant on X410.
|
|
|
|
|
|
|
| |
n32x is specced to 3 Mhz. Added a note about performance below
specced frequency minimums
Signed-off-by: Steven Koo <steven.koo@ni.com>
|
|
|
|
|
|
| |
USRP N230 is no longer supported starting with UHD 4, and thus, we can
remove it from the image manifest. This will no longer download N230
images when calling uhd_images_downloader from UHD 4.
|
|
|
|
| |
Signed-off-by: Steven Koo <steven.koo@ni.com>
|
|
|
|
|
|
|
|
| |
set_gpio_src takes a list of twelve sources to apply to the pins. For
the DIO mapping, this is fine, because the twelve pins are zero through
eleven. However, for the HDMI mapping, the pin indices range from one
to nineteen. This commit adds a function to convert from the set_gpio_src
list indices into the pin number.
|
|
|
|
|
|
|
|
| |
This change enables download / network failures to propagate up and fail
the job for Windows builds. It also reduces the job timeout in case
the network hangs.
Signed-off-by: Steven Koo <steven.koo@ni.com>
|
| |
|
|
|
|
|
| |
The full path names can cause non-reproducible builds, because they
include the build directory.
|
| |
|
|
|
|
|
| |
Change AWIDTH to be the same as MEM_ADDR_W by default. Current USRPs
assume the AXI address width is the same as MEM_ADDR_W.
|
| |
|
|
|
|
|
|
|
|
|
| |
This adds DRAM support to E31x devices. Due to the size of the DDR3
memory controller, it is not enabled by default. You can include the
memory controller IP in the build by adding the DRAM environment
variable to your build. For example:
DRAM=1 make E310_SG3
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the build process copies the .twr and .syr files into the
build/ process after running ISE. For a succinct utilization report,
those files are not suitable, though, because they contain too much
information.
However, the build process already produces a custom, short utilization
report using grep and a summary of those reports. This patch modifies
the build such that the same output is copied into
a usrp_$product_fpga.rpt file, similar to our gen-3 devices.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MPM devices currently do not report their device name in the discovery
process. This adds the device name. After the change the device name
is reported, e.g. when using uhd_find_devices, like so:
$> uhd_find_devices
--------------------------------------------------
-- UHD Device 0
--------------------------------------------------
Device Address:
serial: DEADBEEF
claimed: False
fpga: X4_200
mgmt_addr: <mpm device ip>
name: <mpm device host name>
product: x410
type: x4xx
|
|
|
|
| |
Signed-off-by: Steven Koo <steven.koo@ni.com>
|
|
|
|
| |
Signed-off-by: Steven Koo <steven.koo@ni.com>
|