aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* n3xx: removing HA, XA image packagesBrent Stapleton2018-11-142-48/+14
| | | | | | | - Removing the Aurora image package from the images manifest. It was previously commented out, and hasn't been updated, so we're not actually losing anything here. - Moving the N310 and N300 _AA image to the _default image package
* rh: fix typo in initMark Meserve2018-11-141-1/+1
| | | | - This broke tx streaming via the multi_usrp API.
* uhd: Add device arg to enable dual ethernet for txCiro Nishiguchi2018-11-142-2/+17
| | | | | | | | UHD currently only uses a single ethernet link for tx data, even if the device is initialized with dual 10GbE links. Using both links when a DMA FIFO is present causes sequence errors due to DMA FIFO bandwidth limitations. This maintains the current default behavior but allows users to override it through a device arg "enable_tx_dual_eth".
* cmake: Update coding style to use lowercase commandsMartin Braun2018-11-14134-2398/+2401
| | | | | | | | | | | | | | | | | Also updates our coding style file. Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. Run the following shell code (with GNU compliant sed): cmake --help-command-list | grep -v "cmake version" | while read c; do echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g' done > convert.sed \ && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' \ '*CMakeLists.txt' | xargs -0 gsed -i -f convert.sed && rm convert.sed (Make sure the backslashes don't get mangled!)
* python: Adding phase alignment exampleBrent Stapleton2018-11-141-0/+545
| | | | | | | | | | | | | | This tool uses the Python API to determine if USRP devices are receiving a phase aligned signal. It is designed to be a stand-in replacement for usrp_phasealignment.py, although the capabilities and invocation are not identical. The return value of this tool will indicate whether the signal is sufficiently phase aligned, and allows integration into scripts or other test frameworks. This tool also includes options to save data to file or plot it using PyLab. Currently only supports 2 channel RX phase alignment.
* mpm:e320: fixup gps_locked typeTrung Tran2018-11-131-1/+1
| | | | gps_locked should be a bool not int.
* mpm:gpsd_iface: handle errors from gpsdTrung Tran2018-11-131-50/+87
| | | | | | | gpsd connection is not reliable. Adding more error handling to re-connect during polling. Add control flows to get_gps_time in order to give an effect of getting the value on pps edge.
* mpmd: increase rpc timeout during reading mb sensorTrung Tran2018-11-131-1/+4
| | | | | | | Reading motherboard sensor, sometimes, takes more than 2 seconds. We don't have asynchronous RPC, increase this timeout will help long sensor reading such as reading GPSD value when GPSD connection is unreliable.
* utils: Fix downloader return value for main()Martin Braun2018-11-131-7/+11
| | | | | | This is effectively a refactoring: The main() function now returns True on success. This fixes a bug where one branch would simply return (None) instead of returning a value.
* utils: Downloader stall on error for Windows usersMartin Braun2018-11-131-2/+30
| | | | | | | | | If platform.system() is 'Windows', the Python script will stall on error before terminating, e.g., when an import is missing or when an unexpected Exception occurred during the execution. The rationale is that many Windows users run this script directly, without a shell, and wouldn't have a way to see error messages from the script in that case.
* utils: uhd_images_downloader: Remove archive typeMartin Braun2018-11-131-28/+22
| | | | | | | Since the uhd_images_downloader is so tightly integrated into our infrastructure, we've dropped support for .tar.gz and .tar.xz file for this particular purpose. Note that UHD releases still receive images in all three formats.
* utils: uhd_images_downloader: Refactor the toolMartin Braun2018-11-131-115/+153
| | | | | No functional changes. The main effort was to reduce the length of main() and reduce the number of Pylint warnings.
* utils: Allow downloader to ship non-zip filesMartin Braun2018-11-131-5/+13
| | | | | | Note: All archives shipped using this tool are zip files. However, this allows us to ship other types of files, which will be downloaded and sorted into the images directory as-is.
* images: Updated filesystem to latest maint imagesMartin Braun2018-11-131-3/+7
|
* utils: uhd_images_downloader: Add download limitMartin Braun2018-11-131-1/+25
| | | | | | | | | | | | | | This download limit prevents users from accidentally downloading really large files. The default limit is 100 MiB. When a file is selected for download that exceeds this size, the user is prompted if she really wants to download that file. By specifying --yes (or -y), this can can be bypassed. Example: $ uhd_images_downloader --yes -t sdimg Will match all files that match 'sdimg', which are typically larger than 100 MiB, without interaction.
* utils: uhd_images_downloader: Add --yes optionMartin Braun2018-11-131-0/+25
| | | | | | | | | This will answer 'yes' to all questions that are asked and allows to script the downloader. Example: $ uhd_images_downloader -t sdimg -y Any interaction that the script will have with the user will be skipped.
* utils: add downloader printing fetchable URLsMartin Braun2018-11-131-12/+24
| | | | | | | | | | | | | | Running $ uhd_images_downloader -l will now print the full URL of the target. By specifying $ uhd_images_downloader -l --url-only It will *only* print the URLs, nothing else, making this suitable for scripting. The list will always go to stdout, whereas the logging is going to stderr and thus can easily be siphoned off.
* utils: Make uhd_images_downloader log to stderrMartin Braun2018-11-131-2/+2
|
* coding guidelines: Add .at() vs [] commentMartin Braun2018-11-131-0/+5
|
* rfnoc: Replace some [] with .at() in radio_ctrl_implMartin Braun2018-11-131-8/+8
| | | | | This makes it easier to detect errors in derived classes that expect getters in radio_ctrl_impl to also do error checking.
* rh: change uio access to utilize with-asMark Meserve2018-11-122-79/+85
|
* mpm: i2c: Open and close i2c file descriptor on every accessAlex Williams2018-11-122-24/+48
| | | | | | This will release the i2c device when it's not in use. If MPM hangs on to the i2c devices, we won't be able to cleanly change FPGA images--The kernel hangs up the process until the refcount drops to zero.
* uhd: add .clang-format fileBrent Stapleton2018-11-121-0/+92
| | | | | | Adding clang-format configuration file. The chosen style is meant to match current UHD coding style, except in certain cases where we have consciously decided to format our code in a particular way.
* images: Add Rhodium CPLD image to manifestAlex Williams2018-11-091-0/+5
|
* docs: n3xx & e320: Add more information on SaltMartin Braun2018-11-082-0/+83
|
* mpm: n3xx_bist: Add QSFP loopback to BIST testsAlex Williams2018-11-071-1/+45
|
* mpm: Add basic driver for QSFP board's retimerAlex Williams2018-11-074-0/+142
|
* mpm: Add convenience function to pull i2c bus from device treeAlex Williams2018-11-072-0/+37
| | | | | This function grabs the i2c character device path from the OF_NAME property. That property must be unique in the device tree!
* rh: initialize switchesMark Meserve2018-11-071-3/+10
|
* docs: x300: Add section on motherboard clockingMartin Braun2018-11-071-0/+50
|
* x300: Remove 120 MHz optionMartin Braun2018-11-072-3/+1
| | | | | None of our FPGA images support a 120 MHz master clock rate, so the UHD code should match that.
* mpm: rh: Add MAX 10 update scriptAlex Williams2018-11-071-0/+165
|
* images: Add Rh images to the image_package_mapping scriptMartin Braun2018-11-071-0/+24
| | | | This enables a default package for Rhodium images.
* rh: adjust tx lo gain tableMark Meserve2018-11-052-7/+12
| | | | - Improves performance for frequencies greater than 3.5 GHz
* rh: add lo distribution supportMark Meserve2018-11-057-4/+306
| | | | | | | | | - This is a combination of 5 commits. - rh: add lo distribution board gpio expander - rh: add lo distribution mpm functions - rh: add code to conditionally initialize lo distribution - rh: change empty i2c device from exception to assertion - rh: add lo distribution board control
* rh: fix handling of spur_dodging argMark Meserve2018-11-013-7/+30
|
* uhd: Changes to traffic counter register namesCiro Nishiguchi2018-10-312-78/+62
| | | | | | This makes the noc traffic counter register actually reflect the registers in the FPGA. The FPGA register names were changed prior to merging to master, and the ready count registers were removed.
* tests: device3_test: add graph impl testTrung Tran2018-10-317-59/+295
|
* rh: disable lmk test outputMark Meserve2018-10-301-1/+1
| | | | - Improves spur performance
* rh: Phase DAC configuration clean-upHumberto Jimenez2018-10-301-6/+4
| | | | | | | | | | | | | | | | | | | | | - Confirmed the Phase DAC to be initialized at mid-scale. - Confirmed the Phase DAC step resolution for fine clock shifting. The clock synchronization algorithm relies on the Phase DAC to fine shift the sampling clocks on each daughterboard. Only a certain number of DAC codes are required for the actual clock adjustment, thus a different range of codes may be chosen by initializing the Phase DAC with a given value. With the selected range, one may measure the Phase DAC's linearity and step resolution, which defines how many steps are required when performing the fine shifting of the clocks. After initializing the 16-bit Phase DAC at 25%, 50% (mid-scale), and 75%; it was found that the clock distribution PLL locks relatively faster when using mid-scale (2^15). By testing the Phase DAC's linearity, it was confirmed that the circuit resolution is 1.11 ps per code.
* rh: Deterministic latency optimization in JESD204BHumberto Jimenez2018-10-301-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Optimized JESD204B RX/TX links' latency. - Made JESD latency constant across supported frequencies. - Checking RX SYSREF capture in the FPGA deframer block. The JESD204B standard can be linked in such a way to produce a repeatable, deterministic delay from the framer to deframer. This is accomplished by setting up a LMFC (local multiframe clock) in both devices. The LMFCs are reset whenever a SYSREF edge is captured by the framer and deframer. Therefore, it is simple to control the LMFC rising edges in each device by implementing variable delay elements on the SYSREF pulses to the framer and deframer. Latency across the JESD204B TX/RX links should remain constant and deterministic across the supported sampling_clock_rate values. By testing the roundtrip latency (i.e. FPGA -> TX -> RX -> FPGA) with different delay values in the FPGA, one may decrease the latency and provide enough setup and hold margin for the data to be transfered through each JESD link. It was found that a different set of SYSREF delay values are required for sampling_clock_rate = 400 MSPS to match the latency of the other supported rates.
* debian: Update control files for .deb filesMartin Braun2018-10-294-21/+29
| | | | | | | | | - Better alignement with public Debian files. - Move to a different package name: libuhd003.so -> libuhd3.13.0.so This allows to install multiple packages in parallel for better ABI compatibility by third-party dependees. The new package replaces the old one. - Remove .shlibs file
* cmake: Change SOVERSION and VERSION for the library filesMartin Braun2018-10-292-2/+9
| | | | | | The SOVERSION will now match the ABI string, and the VERSION matches the full UHD version. This will allow easier parallel installation of multiple versions of UHD.
* cores:rx_frontend_core_3000: fix real modeGwenhael Goavec-Merou2018-10-291-0/+2
|
* python: Add missing constructors of time_spec_tPiotr Krysik2018-10-251-0/+3
| | | | | | Currently Python interface of time_spec_t exposes only constructor with 'double' parameter. Other constructors are also important as they provide higher precision. This change adds them to the Python API.
* manifest: FPGA bug fixesBrent Stapleton2018-10-252-9/+11
| | | | | | | | | | | | | | Updating FPGA images for the following devices with the following bug fixes. No compat number bumps included in the changes. Also updating the submodule pointer. X3xx, N3xx, E3xx: - DDS flushing fix - Fix sequence number clearing B2xx: - Async reset from misc registers - Redistributed buffering in radio and xport
* rh: add support for rhodium devicesMark Meserve2018-10-2526-4/+6147
| | | | | | Co-authored-by: Humberto Jimenez <humberto.jimenez@ni.com> Co-authored-by: Alex Williams <alex.williams@ni.com> Co-authored-by: Derek Kozel <derek.kozel@ni.com>
* nijesdcore: add PRBS-31 testingMark Meserve2018-10-251-0/+37
|
* nijesdcore: add eyescan utilityMark Meserve2018-10-253-4/+860
|
* nijesdcore: add variable configuration supportMark Meserve2018-10-254-30/+50
|