aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* fixup! ic_reg_maps: Remove SPCC core reg mapmichael-west2021-05-281-4/+0
|
* ic_reg_maps: Remove SPCC core reg mapLars Amsel2021-05-271-116/+0
| | | | These registers aren't used anywhere in UHD.
* mpm: gpsd_iface: Refactor classMartin Braun2021-05-241-94/+103
| | | | | | - There's a lengthy conversion of TPV/SKY dicts into GPGGA which is removed from the class to enhance readability - The file had some Pylint issues, including a Python2-ism
* examples: Fix underrun/seq error reporting in benchmark_rate.pyMartin Braun2021-05-201-10/+10
| | | | The numbers for these were swapped.
* mpm: remove unnecessary importsMichael Dickens2021-05-201-2/+0
|
* mpm: add FPGA type to the info returned during discoveryMichael Dickens2021-05-203-0/+8
| | | | Also update this info upon server reset, such as when a new FPGA image is loaded
* mpm: remove unused argument infoMichael Dickens2021-05-201-2/+0
|
* tools: Add bool-property-set ability to rx_settling_time.pyMartin Braun2021-05-201-9/+22
| | | | | | | | Adds a new command line argument: rx_settling_time.py --property-bool /path/to/prop=True [...] will set a Boolean property to true at the given time.
* types: Add mm_iface structsMartin Braun2021-05-202-0/+43
| | | | | This adds two structs (mm32_iface and mm32_iface_timed) which are a container for peek/poke interfaces.
* uhd: Reword log.hpp documentationLane Kolbly2021-05-191-7/+19
|
* multi_usrp, x300: Relax LO set API strictnessAaron Rossetto2021-05-192-12/+24
| | | | | | | | | | | This PR relaxes the set_{rx|tx}_lo_{source|sources|export_enabled}() functions to allow them to be called with 'internal'/ALL_LOS or false/ALL_LOS on devices which do not support changing their LO source or exporting. This makes the get and set functions for those LOs settings more symmetrical in that the values returned from the get function can be successfully passed to the set function. Prior to this change, calling the set functions would throw an error indicating that the device does not support manual configuration of the LO.
* ci: Add deb build support for ubuntu 1804/2004Steven Koo2021-05-183-14/+49
| | | | | | | | This change adds build support for Ubuntu debs in CI. This will generate the dsc file and then build the debs. These are then saved as a pipeline artifact. Signed-off-by: Steven Koo <steven.koo@ni.com>
* ci: Update docker images for Ubuntu with pbuilderSteven Koo2021-05-184-0/+31
| | | | | | | This changes adds pbuilder to the docker files to support building dsc into debs for use with uhd_ubuntu_deb.py. Signed-off-by: Steven Koo <steven.koo@ni.com>
* installers: refactor deb script and buildSteven Koo2021-05-181-0/+144
| | | | | | | This is a rewrite of upload_debs.sh in python. It adds support for building the generated dsc into debs before uploading. Signed-off-by: Steven Koo <steven.koo@ni.com>
* installers: resolve ubuntu linter issueSteven Koo2021-05-181-71/+87
| | | | | | The debian copyright requires the Apache 2.0 stanza for flatbuffers. Signed-off-by: Steven Koo<steven.koo@ni.com>
* MPM for N32x: Add 'XQ' image as valid when using sfp0 as time_sourceMichael Dickens2021-05-181-1/+1
|
* tests: Add MTU forwarding policy restriction unit testAaron Rossetto2021-05-181-0/+58
|
* rfnoc: noc_block_base: Throw if set_mtu_forwarding_policy() called multiplyAaron Rossetto2021-05-182-1/+15
|
* rfnoc: noc_block_base: Refactor MTU prop resolverAaron Rossetto2021-05-182-46/+64
| | | | | | | | | | | | | | | | | | | | | | Prior to this commit, the MTU property resolver in noc_block_base had an issue: for every MTU edge property (both input and output on each port) on the block, the property resolver listed every other MTU edge property in its output sensitivity list, regardless of whether or not the output edge properties would ever be affected by the current MTU forwarding policy. This breaks an inherent (and up until now, unwritten) contract between a property resolver and UHD that only properties that can be affected by the resolver should be included in the output sensitivity list. The result of breaking the contract leads to errors being thrown when committing an RFNoC graph in certain multi-channel use cases. This commit refactors the MTU property resolver to use the MTU forwarding policy to determine the correct set of edge properties to include in the output sensitivity list. The change also introduces a new restriction--the MTU forwarding policy may only be set once per instance of a noc_block_base. Typically, a subclass implementing an RFNoC block will call `set_mtu_forwarding_policy()` in its constructor to set a custom MTU forwarding policy (if desired) and leave it untouched for the lifetime of the block.
* mpm: lmk04832: Clean up driverMartin Braun2021-05-101-12/+23
| | | | Mostly cosmetic and Pylint fixes.
* tests: Update multi_usrp_test.pyMartin Braun2021-05-101-115/+259
| | | | | | | | | | Many updates to this test. Most tests weren't even working properly. Highlights: - Add device-specific configuration. Includes defaults, but also the option to specify a YAML file. - Improved output for better readability - Made a whole bunch of tests work
* devtest: Make Python tests their own type of devtestMartin Braun2021-05-103-41/+68
| | | | | | | | | | | Like the example test, the Python-based test is now codified. The "special sauce" for Python tests revolves around the fact that they require the Python API, so we have to gracefully fail if the Python API was never enabled, but hard-fail when the Python API is enabled, but not working. This creates a new type of devtest (UHDPythonTestCase) and moves uhd_python_api_test over to the new type.
* RFNoc: Fix graph connect timeout errorMichael West2021-05-101-2/+3
| | | | | | | | | A loop in mgmt_portal::_validate_stream_setup() was missing a sleep, which was causing it to return long before the timeout with a timeout error. This change adds that sleep and reduces the duration of the sleep so it responds faster. Signed-off-by: Michael West <michael.west@ettus.com>
* n320: Add correction APIs to radio_control objectMartin Braun2021-05-062-0/+63
| | | | | | | | | | The N320, like the X310, has some frontend corrections (IQ balance, DC offset) which can be controlled from software. The property tree entries exist for these, but the radio_control APIs do not (which also disables the multi_usrp APIs). This makes it harder to disable DC offset or IQ balance corrections from software, and disables our calibration utilities.
* tests: Update device identifiers for N310mattprost2021-05-051-2/+2
| | | | | | New hardware is now being used for N310 testing. Signed-off-by: mattprost <matt.prost@ni.com>
* multi_usrp_rfnoc: Fix get_device()->get_tree()michael-west2021-05-051-6/+3
| | | | | | | | | | | | | | | Property tree access via the device tree was resulting in a segmentation fault because the device::_tree member was not properly initialized for the redirector_device class. The redirector_device also had a get_tree() method that was not actually called because the get_tree() method in the parent class was not declared virtual and all calls to get_tree() were done on the parent class (i.e. get_device()->get_tree(). - Added initializer for device::_tree member in redirector_device class constructor - Removed redirector_device::get_tree() method Signed-off-by: michael-west <michael.west@ettus.com>
* experts: Change coercion policy for regular prop nodesMartin Braun2021-05-042-6/+19
| | | | | | | | | | | | | | | | The experts framework has two ways of integrating expert nodes into the property tree: add_prop_node() and add_dual_prop_node(). In the latter case, the experts should take care of coercion, and thus, we subscribe to the desired value. In the former case, this is not necessary, and precludes us from using set_coercer() with prop nodes on the prop tree. This change lets us use regular nodes in the expert framework that also use property tree coercers. As of now, there is not a single property node in UHD that uses add_prop_node() and also does any kind of coercion, so this change has no effect on current code (this is only used in TwinRX as of now).
* lib: Fix misssing include in e3xx_radio_control_implMartin Braun2021-05-041-0/+3
| | | | Adds a missing <thread>, <algorithm>, and <chrono>.
* host: utils: Print block ID for RFNoC dboardsLane Kolbly2021-05-031-11/+9
| | | | | | | | | Previously, uhd_usrp_probe would simply print "RX Dboard: dboard" as the header for RFNoC dboards. This was not very informative, so this change prints out the block ID to get a little bit more information. Non-RFNoC dboards retain their old functionality.
* dboard: magnesium: Update Rx IF Frequency Valuemattprost2021-04-301-1/+1
| | | | | | | Add extra precision to if frequency in the low band rx path in order to avoid hitting the edges of a filter. Signed-off-by: mattprost <matt.prost@ni.com>
* Revert "N310: Low band IF adjustments"mattprost2021-04-301-17/+21
| | | | | | | | This reverts commit 969e426f2ef57f8d6fd3099870955ba2083abf9c. Revert "fixup! N310: Low band IF adjustments" This reverts commit 71137999430afaca18bfff179e6a3c4b0276d54c.
* uhd: Remove references to device3Martin Braun2021-04-302-11/+7
| | | | device3 was an object used in UHD-3 RFNoC. It is no longer required.
* utils: Improve cal TX threadsmichael-west2021-04-294-152/+86
| | | | | | | Increase thread priority on TX thread and remove memory copy to reduce underruns. Signed-off-by: michael-west <michael.west@ettus.com>
* rfnoc: Add option to disable flow control on rx streamingmattprost2021-04-299-60/+146
| | | | | | | | | | | Disabling this feature will allow the USRP to send a continuous stream of Rx data to a host machine without throttling due to lack of flow control credits. This is unnecessary overhead on lossless transports such as pcie or aurora. Usage: add 'enable_fc=false' to stream_args.args Signed-off-by: mattprost <matt.prost@ni.com>
* mpm: PeriphManagerBase: Add _add_public_methods()Martin Braun2021-04-291-0/+41
| | | | This allows conditionally adding public API methods.
* mpm: Fix minor log formatting issueMartin Braun2021-04-271-1/+1
|
* mpm: db_flash: Check mount status before mountingMartin Braun2021-04-261-7/+13
| | | | | This will make sure the flash partition is not already mounted before trying to re-mount.
* N320: Fix calibrationsmichael-west2021-04-221-6/+7
| | | | | | | Added "n320" to supported devices and set TX and RX sample rates to 12.288 Msps. Signed-off-by: michael-west <michael.west@ettus.com>
* N320: Fix IQ mapping and frontend correctionsmichael-west2021-04-221-2/+4
| | | | | | | | Changed register offset from 4 bytes to 8 bytes. The registers in the frontend were not being properly addressed, so calibration, IQ mapping, and frontend corrections were not working properly. Signed-off-by: michael-west <michael.west@ettus.com>
* N320: Fix available antennasmichael-west2021-04-221-2/+2
| | | | | | Available antennas for TX and RX were swapped. Signed-off-by: michael-west <michael.west@ettus.com>
* fixup! mpm: rpc: don't expose reset_mgr call via RPCGrant Meyerhoff2021-04-221-1/+1
|
* mpm: sysutils: mount: Check both mount point and data pathMartin Braun2021-04-211-4/+5
| | | | | This will return False on ismounted() if a Mount class is mounted, but in the wrong spot.
* mpm: mount: Demote already-mounted warningMartin Braun2021-04-211-1/+1
| | | | | | | | The class Mount defines a mount point and device path. It currently warns if mount() is called twice, but that warning is at odds with the contract of that API. It even returns 'True' (== success) after printing the warning, and the outcome is the desired one. For that reason, we demote the warning to a debug statement.
* mpm: periph_mgr: Demote "no SPI nodes" warningMartin Braun2021-04-211-1/+1
| | | | | | | | | When there are SPI nodes declared for a daughterboard, MPM will emit a warning: "No SPI nodes for dboard". The warning is misleading, because this only occurs when no SPI nodes where *declared*, not when they were declared but not found. This is entirely normal for USRPs where the daughterboards do not have SPI nodes, and thus, not even worth a debug statement.
* uhd: Update all headers for setters on multi_usrp re coerce/throwMartin Braun2021-04-191-50/+144
| | | | | | | | | | | | | | | Our APIs are not consistent when it comes to handling invalid settings. Some setting (like antenna, LO name, ...) will trigger an exception when invalid. Other settings (gain, frequency, clock rate) will get coerced to a valid value. This behaviour does make sense for the most part (it is more intuitive that 81 dB gets coerced to 80 dB if that's the maximum, but coercing an invalid antenna value like "RX1" has no clear alternative). And in any case, this is the behaviour that UHD has always had. In this commit, all Doxygen headers in multi_usrp are updated to exactly describe their behaviour (coerce or throw).
* docs: Fix missing section header in power level controls pageMartin Braun2021-04-191-1/+1
|
* mpm: mg: periphs: Read lowband lo lock status from cpldmattprost2021-04-191-1/+2
| | | | | | | Fix the issue where N310 did not correctly read the lo lock status from the cpld. Signed-off-by: mattprost <matt.prost@ni.com>
* X300: Reduce phase noise for 184.32 MHz MCRmichael-west2021-04-161-2/+5
| | | | | | | Reverts charge pump current changes for 10 MHz reference / 184.32 MHz master clock rate case that caused additional phase noise. Signed-off-by: michael-west <michael.west@ettus.com>
* ci: support for x3xx devtest on rhombusSteven Koo2021-04-166-15/+424
| | | | | | | | | | Rhombus is a test suite that is intended run devtests for multiple devices in parallel. This commit adds support for x300 and x310 support. This uses redis to mutex access to the hardware between Azure Pipeline agents. This also updates the fpga using Vivado over ssh to the host machine. Signed-off-by: Steven Koo <steven.koo@ni.com>
* examples: Add min dynamic range limit to ascii art DFT exampleLane Kolbly2021-04-152-3/+9
| | | | | | The DFT plotting routine hangs when the dynamic range equals zero, so this change adds a limit so that the dynamic range never goes below 10.