aboutsummaryrefslogtreecommitdiffstats
path: root/host/utils
Commit message (Collapse)AuthorAgeFilesLines
* rfnoc: Add vivado-path to rfnoc_image_builderWade Fife2021-09-101-0/+6
| | | | | | | Adds a --vivado-path option to rfnoc_image_builder that, if present, gets passed to setupenv.sh for the target device. This can be used to specify the location of Vivado if it is not installed in one of the default search locations.
* cal: Use safe version of set_thread_priority()Aaron Rossetto2021-08-041-1/+1
| | | | | | | | | | | | | | | The calibration utilities attempt to bump the transmit thread priority to realtime to prevent underruns. However, on platforms that use pthread, `pthread_setschedparam()` typically requires elevated privileges. When called without those privileges, the code path throws an exception that is left unhandled, thus terminating the process with an unhelpful error message. This commit changes the thread priority function call to use a safe version which catches any exceptions thrown by `pthread_setschedparam()` and prints a much more instructive error message without terminating the process. This gives the user a fighting chance to correct the issue and successfully use the calibration utilities.
* utils: Get signal above noise floor when finding optimal gainmattprost2021-07-201-9/+31
| | | | | | | | | | Ensure that the signal is at least visible above the noise floor before attempting to identify gain compression. Another option that was considered involved starting from the top of the gain range and working down to avoid this issue, however, that option could expose the device to unsafe amounts of incoming signal power. Signed-off-by: mattprost <matt.prost@ni.com>
* cal: Add tune-settling timeMartin Braun2021-06-241-0/+2
| | | | | | This is a device-specific parameter to allow for the tune to settle before proceeding with the calibration. On X410, we set this time to 500 ms. On other devices, we leave it at 0.
* cal: Add X410 internal antenna names to invalid antenna listLars Amsel2021-06-231-1/+1
| | | | Added CAL_LOOPBACK and TERMINATION to invalid antenna list
* cal: make 'calibrate all channels' default for --channels argumentLars Amsel2021-06-231-1/+1
|
* uhd: Add support for the USRP X410Lars Amsel2021-06-103-2/+79
| | | | | | | | | | | | | | | | Co-authored-by: Lars Amsel <lars.amsel@ni.com> Co-authored-by: Michael Auchter <michael.auchter@ni.com> Co-authored-by: Martin Braun <martin.braun@ettus.com> Co-authored-by: Paul Butler <paul.butler@ni.com> Co-authored-by: Cristina Fuentes <cristina.fuentes-curiel@ni.com> Co-authored-by: Humberto Jimenez <humberto.jimenez@ni.com> Co-authored-by: Virendra Kakade <virendra.kakade@ni.com> Co-authored-by: Lane Kolbly <lane.kolbly@ni.com> Co-authored-by: Max Köhler <max.koehler@ni.com> Co-authored-by: Andrew Lynch <andrew.lynch@ni.com> Co-authored-by: Grant Meyerhoff <grant.meyerhoff@ni.com> Co-authored-by: Ciro Nishiguchi <ciro.nishiguchi@ni.com> Co-authored-by: Thomas Vogel <thomas.vogel@ni.com>
* cal: Fix minor issues in the calibration utilitiesMartin Braun2021-06-101-2/+2
| | | | | | - Whitespace issues - Unclear help messages - Unnecessary derive-from-object
* rfnoc: Add image_core_name option to rfnoc_image_builderWade Fife2021-06-021-3/+13
| | | | | | 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.
* 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.
* 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>
* 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>
* uhd: enable vcpkg support on windowsSteven Koo2021-03-191-0/+1
| | | | | | | | | | | | | | | | | | | | vcpkg can be used for the Windows C++ dependencies for uhd with this commit. To use vcpkg on Windows: 1) Copy the custom triplets in host/cmake/vcpkg/ to the vcpkg/triplets/ folder. 2) Install boost and libusb for the custom triplet "vcpkg install libusb:uhd-x64-windows-static-md boost:uhd-x64-windows-static-md" 3) Call CMake with vcpkg toolchain file flags: -DVCPKG_TARGET_TRIPLET=uhd-x64-windows-static-md -DCMAKE_TOOLCHAIN_FILE=%VCPKG_INSTALL_DIR%/scripts/buildsystems/vcpkg.cmake -G "Visual Studio 16 2019" -A x64 Replace the -G with the installed version of Visual Studio and matching architecture. Then build normally by running vcvarsall.bat and msbuild. Signed-off-by: Steven Koo <steven.koo@ni.com>
* lib: Use const-ref in for loops instead of const-copyMartin Braun2021-03-041-2/+2
| | | | | | This is potentially a performance issue, even though it doesn't have a big impact in this context. Clang will warn about it, and this fixes the compiler warning.
* utils: Remove unused constant from b2xx_fx3_utilsMartin Braun2021-03-041-1/+0
| | | | This reduces compiler warnings.
* host: Update code base using clang-tidyMartin Braun2021-03-047-15/+14
| | | | | | | | | The checks from the new clang-tidy file are applied to the source tree using: $ find . -name "*.cpp" | sort -u | xargs \ --max-procs 8 --max-args 1 clang-tidy --format-style=file \ --fix -p /path/to/compile_commands.json
* utils: Fix GUI argument in rfnoc_image_builderMarkus Unger2020-11-161-1/+1
|
* uhd_images_downloader: Add environment variable for http authLane Kolbly2020-10-151-2/+31
| | | | | | | | | This allows the image downloader to download files from restricted sources using HTTP basic auth, specifying the credentials in the UHD_IMAGES_USER and UHD_IMAGES_PASSWORD environment variables: ``` UHD_IMAGES_USER=lane UHD_IMAGES_PASSWORD=MyS3cretPassword uhd_images_downloader.py ```
* uhd_images_downloader: Remove unused default_no parameterLane Kolbly2020-10-151-3/+2
| | | | | This parameter isn't used by any callers of the function. Additionally, it doesn't actually change the default answer.
* utils: Improve NMEA string outputmichael-west2020-10-121-47/+42
| | | | | | | | | | Separated output of GPGGA and GPRMC strings into separate try/catch so each one would display independently. Resolves issue of GPGGA string not displaying on devices that don't support the GPRMC string. Also removed unnecessary uses of boost::format. Signed-off-by: michael-west <michael.west@ettus.com>
* utils: Set rfnoc_create_verilog.py as executableWade Fife2020-10-091-0/+0
|
* utils: b2xx_fx3_utils: Add unload-bootloadermichael-west2020-08-251-1/+32
| | | | | | | Added unload-bootloader option to cleanly unload a previously loaded bootloader image. It properly moves the VID, PID, and EEPROM data. Signed-off-by: michael-west <michael.west@ettus.com>
* tests: fbs test: Fix issues around missing gitMartin Braun2020-08-251-2/+5
| | | | | | | | | - update_fbs.py would use git directly, instead of the requested git executable - There are other corner cases for the git executable detection, which are now all captured under a more general exception type Credit to Christopher Friedt for pointing out the original issue.
* NI-2974: Add cal supportmichael-west2020-08-191-0/+1
| | | | Signed-off-by: michael-west <michael.west@ettus.com>
* python: power cal: Minor fixes to power cal codeMartin Braun2020-08-171-1/+1
| | | | | | | | - Fix some typos - Fix incorrect arg name for RFSGPowerGenerator.enable() - Fix case where incorrect args would cause an uncaught TypeError. Now, if USRP is chose as signal generator, but fails to find one, a proper error is shown.
* python: Change default name for rfnoc_image_coreWade Fife2020-08-101-4/+5
| | | | | | | | This changes the default name of the image core file to <DEVICE>_rfnoc_image_core.v instead of naming it after the YAML file. This ensures that when you use a custom YAML file, the resulting FPGA build will use the generated rfnoc_image_core and static_router files, rather than just the generated static_router file.
* utils: Make uhd_config_info print help by defaultDerek Kozel2020-07-091-1/+1
|
* test: Use git hashes to verify flatbuffers schemaLars Amsel2020-06-231-55/+78
| | | | | | | | | | | | Each version of flatbuffers (might) generate different header files for the same schema file. Therefore we cannot compare the content of the generated headers to detect changes in the schema that are not accompanied by a change in the generated header. To have at least a minimal check that the schema matches the generated header we compare the git hashes of both. We will not allow to change the schema without changing the header and vice versa. This condition is checked by a unit test.
* utils: update_fbs.py: Minor refactor, fix path bugMartin Braun2020-06-221-9/+15
| | | | | | | - The UHD auto-detection was broken. Now it can find UHD in the same directory. - The main() function was split into main() and run(), which would allow loading this module and calling run() as it's own function.
* utils: Make uhd_images_downloader raise warning for invalid pathsSteve Czabaniuk2020-06-221-11/+21
| | | | | This makes the utility warn the user when they pass a path argument that is invalid; the utility falls back to defaults if this occurs.
* cal: Add automated port switchLars Amsel2020-06-171-1/+9
| | | | | | | | | | | | | | | | | Current implementation needed manual interaction to calibrate each antenna. More sophisticated setups are able to switch between channels and antennas programmatically. This commit introduces a base class that handle the switch behaviour. The previous implementation moved to a ManualSwitch class which is the default switch. Without any options the previous flow remains unchanged. A new class is able to handle NI switch models. The switch port can be given via options parameter (comA is default). The channels are connected in ascending order. The user has to ensure that the cable setup matches the order given for channels and antennas. Co-authored-by: Martin Braun <martin.braun@ettus.com>
* utils: Make fpga-dir arg optional for rfnoc_image_builderWade Fife2020-06-051-12/+34
|
* utils/python: Add uhd_power_cal scriptMartin Braun2020-05-282-0/+251
| | | | This is a tool for running power calibration.
* utils: Let uhd_images_downloader also use HTTPS proxiesMartin Braun2020-05-271-3/+4
| | | | | | This complements b721621. In that commit, we directly go to HTTPS, but in either case (direct or indirect) the --http-proxy command line argument did not use the proxy for https.
* utils: Fix FPGA search in rfnoc_image_builder from fpga-src to fpgaMartin Braun2020-05-201-1/+1
| | | | | When the FPGA repository was merged back into the UHD repository, this line was forgotten.
* utils: Fix usrp_burn_db_eeprom w.r.t. new property tree pathsMartin Braun2020-05-151-15/+38
| | | | | usrp_burn_db_eeprom operates directly on property tree paths, and so the utility required an update to work with RFNoC devices.
* utils: Correct relative path to config dir in rfnoc_image_builderAaron Rossetto2020-05-151-1/+1
| | | | | | | | | In commit 6a488d32, the RFNoC image builder module was moved from the host/utils/bin subdirectory to host/utils. That move rendered the relative path to the configuration directory in `get_config_path()` incorrect. This commit fixes the relative path specification of the configuration directory to reflect the new location of the Python script.
* utils: Remove 'six' dependency, fix minor PyLint issuesMartin Braun2020-05-121-9/+8
| | | | | | | This removes the 'six' dependency from converter_benchmark, thus making the utils subdirectory no longer depend on six. A few Python2-isms and PyLint issues were also fixed.
* utils: Update mako to propagate parametersWade Fife2020-05-112-13/+27
| | | | | | This cleans up the default parameters generated for the testbench template and adds the block parameters to the block and noc_shell instances so they can be used without having to remember to add them.
* Remove remaining Python 2 referencesMartin Braun2020-05-0713-15/+11
| | | | | | | This changes two things in all applicable files: - Remove imports from __future__ - Change default shebangs from /usr/bin/env python to /usr/bin/env python3
* python: Move the rfnoc image builder module under the uhd moduleMartin Braun2020-05-0520-1563/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note: This commit changes nothing to the way the image builder is being called. One can still run rfnoc_image_builder [...] as before. The difference is in the Python guts: Where previously one had to do import rfnoc now the incantation becomes: from uhd import imgbuilder (Note that the submodule uhd.rfnoc already exists for wrapping the RFNoC API into Python, hence the renaming from rfnoc to imgbuilder). This is done for a variety of reasons: - Now, there is only one and exactly one Python module for UHD that contains all the things, as opposed to before where there were two. - The rfnoc and uhd modules were installed in different ways (setuptools vs. CMake); that is now harmonized. This also removes a lot of CMake plumbing. - It is not common to import the rfnoc module for anyone other than rfnoc_image_builder
* uhd: Replaced deprecated usage of boost timer with std::chronoLars Amsel2020-05-041-3/+5
| | | | | replaced boost::timer by std::chrono::steady_timer to measure time interval
* utils: Remove trailing white space from mako templatesWade Fife2020-04-302-4/+4
|
* utils: Fix typo in testbench mako templateWade Fife2020-04-301-1/+1
|
* utils: Update copyright generated by blocktoolWade Fife2020-04-235-5/+5
| | | | | Updated to output current year. Changed capitalization and wording to be consistent with exisiting code.
* utils: Add sideband_at_end support to Mako templateWade Fife2020-04-213-15/+22
| | | | | | | | This adds a new option to the "AXI-Stream Data" (axis_data) FPGA interface type. The new option, "sideband_at_end", can be added to the output port of a block's YAML description to control whether the sideband information should be sampled at the end (sideband_at_end: 1) or the beginning (sideband_at_end: 0) of the AXI-Stream packet.
* utils: Add --lib-path option to uhd_config_infoMartin Braun2020-04-171-0/+4
| | | | This will print the path to the UHD library using get_lib_path().
* cal: Add utility to update all .fbs files, or check the generated onesMartin Braun2020-04-171-0/+126
| | | | | | | | | | | | Calling ./update_fbs.py will update all the generated files. ./update_fbs.py -V will check if the generated files are OK, and return non-zero if not.
* utils: usrp_burn_mb_eeprom: Avoid EEPROM write in read only casesteviez2020-04-151-17/+19
| | | | | | The usrp_burn_mb_eeprom previously updated the EEPROM at the end of the script, regardless of whether any values were actually specified for write. This skips the EEPROM write for read only usage.
* utils: Fix comment in axis_data templateWade Fife2020-04-141-1/+1
|