aboutsummaryrefslogtreecommitdiffstats
path: root/host/utils/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* tools: Add general purpose tool for USRP configurationLars Amsel2022-03-231-0/+10
| | | | | | | | Over the years the UHD code base got a whole bunch of tools to control and configure devices. This is an attempt to unify these tools into one. Co-authored-by: Alexander Weber <alexander.weber@ni.com>
* uhd: Add support for the USRP X410Lars Amsel2021-06-101-0/+1
| | | | | | | | | | | | | | | | 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>
* 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>
* utils/python: Add uhd_power_cal scriptMartin Braun2020-05-281-0/+1
| | | | This is a tool for running power calibration.
* python: Move the rfnoc image builder module under the uhd moduleMartin Braun2020-05-051-32/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* utils: Add convert_cal_data utilityMartin Braun2020-04-021-0/+1
| | | | | | | | | This will convert cal data files based on CSV to the new binary format. In most cases, running ./convert_cal_data.py is sufficient.
* Remove proto-RFNoC filesMartin Braun2019-11-261-1/+1
| | | | | | | This commit removes all files and parts of files that are used by proto-RFNoC only. uhd: Fix include CMakeLists.txt, add missing files
* rfnoc: Add a new builder script for FPGA images based on eRFNoC.Lars Amsel2019-11-261-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The builder has two major jobs: * generate an image core file which reflects the FPGA image configuration given by the user * invoke Xilinx toolchain to actually build the FPGA image For this purpose it needs to know where to find the FPGA source tree. This tree can be give by the -F option. The code that represents the user configurable part of the image is written to a file called <device>_rfnoc_sandbox.v. To generate the file these configuration files are needed: * io_signatures.yml: A file describing the known IO signatures. This file is global for all devices and contains the superset of all signatures (not all signatures are used by all devices). It resides in usrp3/top/ of the tree given by -F. * bsp.yml: A file describing interfaces of a specific device such as AXIS transport interfaces or IO ports as well as device specific settings. It resides in usrp3/top/<device> of the tree given by -F. * <image>.yml: a file provided by the user with freely chosen name. It describes which elements the image should contain (RFNoC blocks, streaming endpoints, IO ports) and how to connect them. The file also contains image setting such as the CHDR width to be used. The script uses mako templates to generate the sandbox file. Before the template engine is invoked sanity checks are executed to ensure the configuration is synthactic correct. The script also build up structures to ease Verilog code generation in the template engine. The engine should not invoke more Python than echoing variables or iterating of lists or dictionaries. This eases debugging as errors in the template engine are hard to track and difficult to read for the user. All Python code is placed in a package called rfnoc. The templates used by the builder are also part of this package. image_builder.py contains a method called build_image which is the main entry point for the builder. It can also be utilized by other Python programs. To align with the existing uhd_image_builder there is also a wrapper in bin called rfnoc_image_builder which expects similar commands as the uhd_image_builder. For debugging purpuse the script can be invoked from host/utils using $ PYTHONPATH=. python bin/rfnoc_image_builder <options> When installed using cmake/make/make install the builder installs to ${CMAKE_INSTALL_PREFIX}bin and can be invoked without specifying a PYTHONPATH. One can also install the package using pip from host/utils $ pip install . Image config generation can also be done from GNU Radio Companion files. The required GRC files are merged into gr-ettus. Example usage: $ rfnoc_image_builder -F ~/src/fpgadev -d x310 \ -r path/to/x310_rfnoc_image_core.grc \ -b path/to/gr-ettus/grc Co-Authored-By: Alex Williams <alex.williams@ni.com> Co-Authored-By: Sugandha Gupta <sugandha.gupta@ettus.com> Co-Authored-By: Martin Braun <martin.braun@ettus.com>
* e310/e320: Move E310 to MPM architecture and refactorSugandha Gupta2019-05-011-7/+0
| | | | | | | | | | | | - Turns the E310 into an MPM device (like N3xx, E320) - Factor out common code between E320 and E310, maximize sharing between the two devices - Remove all pre-MPM E310 code that is no longer needed - Modify MPM to remove all existing overlays before applying new ones (this is necessary to enable idle image mode for E310) Co-authored-by: Virendra Kakade <virendra.kakade@ni.com> Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
* cmake: Update coding style to use lowercase commandsMartin Braun2018-11-141-56/+56
| | | | | | | | | | | | | | | | | 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!)
* cmake: Improve warning for missing requestsMartin Braun2018-03-281-1/+2
|
* uhd: Move internal headers to uhdlib/Martin Braun2018-03-141-0/+1
| | | | | | | | | | | | | | | | To avoid the proliferation of additional include directories and multiple ways of including project-local headers, we now default to moving all headers that are used across UHD into the uhdlib/ subdirectory. Some #include statements were also reordered as they were modified for closer compliance with the coding guidelines. Internal cpp source files should now include files like this: #include <uhdlib/rfnoc/ctrl_iface.hpp> Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
* utils: Removed deprecated utilitiesMartin Braun2018-03-051-32/+1
| | | | | | This removes all the tools that have been declared deprecated for a while. No functionality is removed, all utilities have a separate equivalent, e.g., with uhd_image_loader.
* cmake: force cmake to regenerate uhd_images_downloader.pyTrung N Tran2018-02-271-0/+8
| | | | ... when manifest.txt changed.
* Revert "utils: images downloader: forced update of CMake variable"Trung N Tran2018-02-271-10/+5
| | | | This reverts commit cf1bf696649c958c53d7f4cf0a280242c254e4be.
* uhd: Update license headersMartin Braun2018-02-191-0/+1
| | | | | | | All copyright is now attributed to "Ettus Research, a National Instruments company". SPDX headers were also updated to latest version 3.0.
* utils: images downloader: forced update of CMake variableBrent Stapleton2018-01-291-5/+10
| | | | | | | | | Moved the uhd_images_downloader.py.in configuration to its own script so that the manifest file is added as a dependency and read into a CMake variable. Reviewed-by: Ashish Chaudhari <ashish@ettus.com> Reviewed-by: Martin Braun <martin.braun@ettus.com>
* utils: refactor uhd_images_downloaderBrent Stapleton2018-01-231-0/+1
| | | | | | | | | | | | | | | | | Changing structure of the files.ettus.com images directory, and updating uhd_images_downloader correspondingly. The images downloader now downloads a number of smaller archives of images, instead of one large archive containing all of our images. Furthermore, the images downloader maintains an inventory of currently installed images, so that images are not redownloaded unnecessarily. When called with no arguments, behavior should not change. CMake variables are used to populate a number of fields in the images downloader, including the contents of the manifest file. Reviewed-by: Martin Braun <martin.braun@ettus.com> Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
* Move all license headers to SPDX format.Martin Braun2017-12-221-12/+1
|
* utils: Also removed usrp_n2xx_net_burner_gui.pyMartin Braun2016-09-281-2/+0
|
* cmake: Check for python requests, warn if not found (does not fail though)Martin Braun2016-09-221-0/+3
|
* Merge branch 'maint'Martin Braun2016-03-251-0/+14
|\
| * cmake: Added installation of .reg fileMartin Braun2016-03-241-0/+14
| |
* | Added uhd_config_info utilityNicholas Corgan2015-12-301-0/+1
| |
* | Merge branch 'maint'Ashish Chaudhari2015-12-151-2/+1
|\| | | | | | | | | | | | | Conflicts: host/lib/usrp/b200/b200_impl.hpp host/lib/usrp/e300/e300_fpga_defs.hpp host/lib/usrp/x300/x300_fw_common.h
| * ihex: Windows fixesNicholas Corgan2015-12-141-1/+0
| |
| * octoclock: Now uses internal ihex parserMartin Braun2015-12-141-1/+1
| |
* | usrp_x3xx_fpga_burner: use internal cdecode filesNicholas Corgan2015-12-151-1/+2
| |
* | cmake: Proper selection of files for ENABLE_X300Martin Braun2015-10-261-5/+11
| |
* | tools: Added converter benchmark toolMartin Braun2015-10-191-0/+11
|/
* octoclock: replaced Intel hex -> binary converterNicholas Corgan2015-08-141-1/+3
|
* e300: added -DE300_FORCE_NETWORK flag to CMake configurationNicholas Corgan2015-08-101-2/+2
| | | | | | * Fixes building E300 support in native mode on any Linux system with libudev headers * Added E300_NATIVE check to e300_common.cpp * Improved network mode documentation
* tools: Moved nirio_programmer out of utilsMartin Braun2015-07-211-1/+0
|
* Added uhd::image_loader class and uhd_image_loader utilityNicholas Corgan2015-07-151-1/+2
| | | | | | * Single class for loading firmware/FPGA images onto devices instead of multiple utilities * Loading functions are registered for each device, corresponding to their --args="type=foo" name * Deprecation warnings added to all product-specific image loading utilities
* cmake: Improve usage of C modulesMartin Braun2015-04-211-2/+0
|
* cmake: Skip building fx3 utils if B200 is disabledMartin Braun2015-03-101-6/+11
|
* utils: Added latency measurement utilityBalint Seeber2014-10-091-0/+2
|
* Initial commit E300 support.Martin Braun2014-10-071-0/+7
|
* octoclock: Fixed merge conflict. Utils compile now.Ashish Chaudhari2014-08-071-1/+15
|
* b200: Moved AD9361 driver to hostAshish Chaudhari2014-08-011-16/+5
| | | | | | | - Switched to FPGA SPI engine - Moved firmware AD9361 driver to UHD - Bumped FW compat to 5, FPGA compat to 4 - Known Issue: AD9361 SPI rate is too slow
* OctoClock firmware upgrade, added host driverNicholas Corgan2014-07-231-1/+15
| | | | | | | | | | * OctoClock can communicate with UHD over Ethernet * Can read NMEA strings from GPSDO and send to host * Added multi_usrp_clock class for clock devices * uhd::device can now filter to return only USRP devices or clock devices * New OctoClock bootloader can accept firmware download over Ethernet * Added octoclock_burn_eeprom,octoclock_firmware_burner utilities * Added test_clock_synch example to show clock API
* Merging USRP X300 and X310 support!!Ben Hilburn2014-02-041-2/+14
|
* Merging mwest's improvements to B2xx utility.Ben Hilburn2013-12-111-1/+1
|
* BUG #182: Cleaned up for proper dynamic linking of libuhd.Michael West2013-11-181-9/+3
|
* BUG #182: Refactored b2xx_fx3_utils to use files from UHDMichael West2013-11-151-1/+9
|
* b200: squashed support for b200 onto master branchJosh Blum2013-07-191-0/+2
|
* uhd: explicitly link the apps w/ boostJosh Blum2013-06-211-2/+2
|
* Added CMake variables to customize builds to match Debian package configurationsNicholas Corgan2013-05-101-10/+10
| | | | | | * -DLIBUHD_PKG=ON installs with libuhd003 configuration * -DLIBUHDDEV_PKG=ON installs with libuhd-dev configuration * -DUHDHOST_PKG=ON installs with uhd-host configuration
* UHD has man pages nowNicholas Corgan2013-05-031-9/+24
| | | | | * Linux installations will automatically install man pages * Moved usrp_n2xx_simple_net_burner and usrp2_card_burner into bin
* Made uhd_images_downloader more robust to match Debian's uhd_firmware_installerNicholas Corgan2013-05-031-0/+8
| | | | | * Uses custom User Agent * Compares md5sum of downloaded zip file to stored value