aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* fpga: Change RFNoC YAML version numbers to stringsWade Fife2021-06-0834-68/+68
| | | | | Change version from a numeric to a string, in order to differentiate between versions like "1.1" and "1.10".
* images: Update manifestAaron Rossetto2021-06-081-8/+8
|
* dboard_iface: Fix sleep()michael-west2021-06-031-1/+1
| | | | | | Sleep was incorrectly in nanosecond counts instead of microsecond counts. Signed-off-by: michael-west <michael.west@ettus.com>
* rfnoc: Fix post action behavior of nodesLars Amsel2021-06-031-0/+4
| | | | | | | | | | | When a node has an action callback assigned this must be cleared along with the block removal. Otherwise a post action callback might try to modify node that are already removed which results in an undefined behavior. In particular this one fixes the Unexpected error [ERROR] [CTRLEP] Caught exception during async message handling: map::at when running the multi_usrp_test.py
* fpga: lib: Add modports to SV AXI-Stream blocksWade Fife2021-06-034-8/+8
|
* fpga: lib: Add time_increment port to timekeeperWade Fife2021-06-031-17/+43
| | | | | Adds a time_increment port for situations in which the parameter TIME_INCREMENT can't be used. They offer the same behavior.
* fpga: lib: Pipeline ctrlport_timerWade Fife2021-06-031-24/+81
| | | | | | | This pipelines ctrlport_timer to eliminate the long combinational path caused by the time comparisons. This change also removes the PRECISION_BITS parameter and converts it to a signal named time_ignore_bits.
* fpga: lib: Add clock domain comments to interfacesWade Fife2021-06-037-13/+28
|
* fpga: lib: Add 2 to 1 gearbox moduleWade Fife2021-06-035-0/+517
|
* fpga: lib: Add PHASE parameter to sim_clk_genWade Fife2021-06-031-1/+3
|
* fpga: lib: Add AXI4 (full) interfaceAndrew Moch2021-06-034-0/+619
| | | | | Add a SystemVerilog interface for connecting AXI4 ports, and an associated header file with helper macros.
* fpga: lib: add pause support to ethernet xportAndrew Moch2021-06-036-7/+112
|
* fpga: lib: Add eth_ipv4_internalWade Fife2021-06-032-0/+442
| | | | | This adds a generic version of eth_internal that allows you to specify the CHDR width.
* fpga: lib: Add zynquplus family to axi_bitqHumberto Jimenez2021-06-031-12/+13
|
* fpga: tools: Add ability to run commands before routeWade Fife2021-06-031-5/+11
|
* fpga: tools: Add ability to patch IP during generationWade Fife2021-06-032-0/+87
| | | | | | This adds the ability to call BUILD_VIVADO_IP, as before, followed by REBUILD_VIVADO_IP_WITH_PATCH to patch a file generated by the IP and then rebuild the IP with the patched file.
* fpga: tools: Add support for RFSoCHumberto Jimenez2021-06-032-9/+9
| | | | | | | This commit includes the following changes to the tools: - Change part definition in XCI and BD editors for the RFSoC family - Resolve part name in Vivado IP management utilities with viv_gen_part_id.py
* mpm: Add chip driver for LMK05318 PLLThomas Vogel2021-06-033-0/+198
|
* mpm: gpsd_iface: Make GPGGA generation more robustMartin Braun2021-06-031-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | The GPGGA string generation relies on TPV and SKY messages being accurate, meaning they are a list of dictionaries. There have been cases where this was inaccurate (an empty list was returned). MPM would show errors as such: [ERROR] [MPM.RPCServer] Uncaught exception in method get_mb_sensor :list index out of range Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/usrp_mpm/rpc_server.py", line 184, in new_claimed_function return function(*args) File "/usr/lib/python3.7/site-packages/usrp_mpm/periph_manager/base.py", line 1000, in get_mb_sensor self, self.mboard_sensor_callback_map.get(sensor_name) File "/usr/lib/python3.7/site-packages/usrp_mpm/gpsd_iface.py", line 313, in get_gps_gpgga_sensor tpv_sensor_data = gps_info.get('tpv', [{}])[0] IndexError: list index out of range This is a patch to check that the lists are not empty before directly referencing index 0 therein.
* mpm: sys_utils: add libgpiod-based Gpio helperMichael Auchter2021-06-034-6/+143
| | | | | | This adds a new Gpio helper class, which uses libgpiod under the hood instead of the deprecated sysfs GPIO access. This class provides the ability to get/set a specific GPIO, which is looked up by name.
* mpm: Remove helper classes from RPC APILars Amsel2021-06-031-9/+9
| | | | | | | | All public callables are exported as part of the RPC API. Because classes are callable in Python they are now protected to prevent export. Having theses inner helper classes marked as protected also matches better their purpose as the are not meant to be used outside the class.
* mpm: systemd: Add UseDomains=true to eth0.networkLars Amsel2021-06-031-0/+1
|
* mpm: Fix MD5 hashing of opkg statusLars Amsel2021-06-031-1/+1
|
* python: Add graceful exit of claim loop on SIGTERMLars Amsel2021-06-031-19/+58
|
* fpga: lib: Minor cleanup of axi_lite.vhLars Amsel2021-06-031-2/+23
|
* mpm: check-filesystem: liberalize version checkMichael Auchter2021-06-022-12/+3
| | | | | | | | | | check-filesystem assumed that UHD's version string always had the format of <version>-<git_count>-<git_hash>. However, this is not always the case; see ./host/cmake/Modules/UHDVersion.cmake for more details. Instead of trying to parse the version string into components, just check to make sure the version and git hash are present in the version string.
* rfnoc: Add image_core_name option to rfnoc_image_builderWade Fife2021-06-023-13/+29
| | | | | | This change adds the ability to specify in the YAML description for your RFNoC image what the rfnoc_image_core should be named. This allows you to have multiple RFNoC image cores generated for the same target.
* python: Add rfnoc_image_core.vh generationWade Fife2021-06-022-1/+87
| | | | | | This causes a header file, rfnoc_image_core.vh, to be generated along with rfnoc_image_core.v so that parameters like the CHDR width can be shared betweend RFNoC and the BSP.
* python: Update RFNoC image builder to use CHDR_W parameterWade Fife2021-06-022-10/+17
| | | | | | CHDR_W was previosly hard coded to be 64, regardless of what the YAML indicated. This updates to code to pull in the chdr_width from the YAML image configuration file.
* tests: Make python_api_test.py always explicitly call PythonMartin Braun2021-06-022-9/+5
| | | | | | | | | This change makes it such that python_api_test.py will spawn a subprocess for multi_usrp_test.py by explicitly calling the Python interpreter, and making the path to multi_usrp_test.py the first argument. This fixes running this devtest after installing Python tests via ipks on embedded devices.
* rfnoc: Fix MTU prop resolver refactoringAaron Rossetto2021-06-011-8/+70
| | | | | | | | | | | | | | | | | | | | | | | | In 073574e24, the MTU property resolver in `noc_block_base` was refactored to make the resolver's output sensitivity list less broad. The broadness was intentional as a consequence of allowing the MTU forwarding policy to be changed at will, but had the unintended side effect of being incompatible with certain RFNoC graph use cases. The refactoring solved the issues, but added a new restriction that the MTU forwarding policy could only be called once per instance of a NoC block. Unfortunately, that refactoring introduced a bug. By moving the registration of MTU resolvers to `set_mtu_forwarding_policy()`, no resolvers would be added if the MTU forwarding policy was never changed from the default of `DROP` (which is the case for the vast majority of NoC blocks). However, the resolver had code that would run in the `DROP` case to coerce the incoming MTU edge property to be the smaller of the new value or the existing MTU value on that edge. With the resolvers only getting added when the MTU forwarding policy is changed, this coercion behavior would never execute, thus breaking a number of devtests. This commit ensures that the default coercion behavior is always present regardless of whether the MTU forwarding policy is changed or not.
* tlv_eeprom: add eeprom-set-autoboot helper scriptMichael Auchter2021-05-312-0/+60
| | | | | | | This adds a simple script to control the autoboot flag (i.e., whether the device will automatically boot when power is connected or not). Signed-off-by: Michael Auchter <michael.auchter@ni.com>
* mpm: add unit tests for EEPROM readersLars Amsel2021-05-3111-0/+202
|
* mpm: Add symbol name based EEPROM read, cleanup EEPROM handlingLars Amsel2021-05-312-71/+217
| | | | | | | | | | | | Handling of EEPROM read was cleanup in PeriphManagerBase such that EEPROM reading for mother and daugther board have similar names and signatures. Base class supports symbol names for the nvmem files which make it easy to find them by name such as db0_eeprom instead of addresses like ff020000.i2c:cros-ec@3c:db0-i2c-tunnel. Base class furthermore reads out all available auxiliary board EEPROM files and stores them in a dictionary member.
* mpm: add tlv_eepromMichael Auchter2021-05-3117-3/+1386
| | | | | | | | | Add support for parsing an eeprom that uses tag-length-value to store contents. Co-authored-by: Michael Auchter <michael.auchter@ni.com> Co-authored-by: Virendra Kakade <virendra.kakade@ni.com> Co-authored-by: Cristina Fuentes <cristina.fuentes@ni.com>
* 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>