aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* cmake: Replace distutils with CMake for version checksAaron Rossetto2022-01-141-3/+5
| | | | | | | This commit replaces the use of distutils.version.LooseVersion() with CMake's version comparison operator, which implements relational version string checking in the same manner (i.e., comparing numeric components of a version string numerically).
* cmake: Replace CMAKE_{SOURCE,BINARY}_DIR with UHD_*_DIRMartin Braun2021-09-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | See the CMake 3.8 documentation on these two variables: https://cmake.org/cmake/help/v3.8/variable/PROJECT-NAME_SOURCE_DIR.html https://cmake.org/cmake/help/v3.8/variable/CMAKE_SOURCE_DIR.html Under normal circumstances, these two are identical. For sub-projects (i.e., when building UHD as part of something else that is also a CMake project), only the former is useful. There is no discernible downside of using UHD_SOURCE_DIR over CMAKE_SOURCE_DIR. This was changed using sed: $ sed -i "s/CMAKE_SOURCE_DIR/UHD_SOURCE_DIR/g" \ `ag -l CMAKE_SOURCE_DIR **/{CMakeLists.txt,*.cmake}` $ sed -i "s/CMAKE_BINARY_DIR/UHD_BINARY_DIR/g" \ `ag -l CMAKE_BINARY_DIR **/{CMakeLists.txt,*.cmake}` At the same time, we also replace the CMake variable UHD_HOST_ROOT (used in MPM) with UHD_SOURCE_DIR. There's no reason to have two variables with the same meaning and different names, but more importantly, this means that UHD_SOURCE_DIR is defined even in those cases where MPM calls into CMake files from UHD without any additional patches. Shoutout to GitHub user marcobergamin for bringing this up.
* uhd: Add support for the USRP X410Lars Amsel2021-06-101-1/+6
| | | | | | | | | | | | | | | | 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>
* cmake: Add RegMaps build component to MPMToni Jones2021-03-011-0/+10
| | | | | | | | | | Add RegMaps build component to MPM. The PYTHON_CHECK_MODULE is included from UHDPython in order to look up the presence of Mako. Mako is required for generating the regmaps and RegMap will be disabled without it. The RegMaps component creates custom commands for generating all regmaps, creates a Python submodule "ic_reg_maps" with a custom __init__.py file, and creates a target "ic_reg_maps" which gets installed with usrp_mpm.
* sim: Lay Groundwork for SimulatorSamuel O'Brien2020-10-071-21/+29
| | | | | | | | | | | | | | | At this point, only about half of the mpm methods work on the simulator over the mpm shell, and it hasn't been tested with uhd at all. If you want to give it a try, first install all of the python dependencies of mpm (The simulator doesn't require libusrp or any of the C++ deps). In addition, running mpm on a desktop machine requires the python lib netifaces. Next, make an /mpm/build directory and open it. Run `cmake .. -DMPM_DEVICE=sim`, then `make`. Finally, run `python3 python/usrp_hwd.py`. You should be able to open another terminal and run `mpm/tools/mpm_shell.py localhost` to connect to the mpm server. Signed-off-by: Samuel O'Brien <sam.obrien@ni.com>
* mpm: cmake: use UHDPython module to find PythonJoerg Hofrichter2020-08-041-10/+5
| | | | | Use UHDPython module (from UHD) to find Python interpreter, libraries and include directories.
* mpm: cmake: added date_time as required boost componentJoerg Hofrichter2020-02-101-0/+1
| | | | | | | this fixes the error of a missing symbol _ZNK5boost9gregorian10greg_month15as_short_stringEv in /usr/lib/libusrp-periphs.so.4 when building with Boost 1.71
* mpm: cmake: adopt default enable values of modulesJoerg Hofrichter2020-01-221-4/+4
| | | | | | | | | | | | The cmake script (macro MPM_REGISTER_COMPONENT) has an issue that the default value is ignored which will be fixed in the following commit. As a result of this issue, the modules Mykonos, Magnesium, E320 and E300 never got enabled per default. It was always necessary to use an override like ENABLE_MYKONOS=ON. Therefore, change the default enable values so that a fix to MPM_REGISTER_COMPONENT does not change the current behavior.
* e310/e320: Move E310 to MPM architecture and refactorSugandha Gupta2019-05-011-1/+4
| | | | | | | | | | | | - 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>
* mpm: python: Move from Boost.Python to PyBind11Martin Braun2019-04-021-1/+0
|
* cmake: Add unit testing framework to MPMToni Jones2019-03-261-0/+1
| | | | | | | Add unit testing framework to MPM which can be run by calling "make test". The testing is done using the built in unittest Python module. Tests can be run on a dev machine or on the USRP itself when compiling natively.
* mpm: cmake: Clean out top-level CMake fileMartin Braun2019-03-211-43/+30
| | | | | This file contained a whole lot of copy pasta from during its inception. Removed all the special cases for Windows, MinGW, and RedHat.
* cmake: Update coding style to use lowercase commandsMartin Braun2018-11-141-117/+117
| | | | | | | | | | | | | | | | | 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!)
* mpm: initial commit of E320 codeBrent Stapleton2018-07-181-1/+4
| | | | Co-authored-by: Sugandha Gupta <sugandha.gupta@ettus.com>
* mpm: Set C++ standard to C++14Martin Braun2018-04-301-1/+7
|
* mpm: Use configurable components for build systemAlex Williams2018-04-181-0/+12
| | | | | For a minimal build, default to off for components unless the MPM_DEVICE or the user requests it specifically.
* mpm: Validate MPM_DEVICE in CMakeBrent Stapleton2018-04-181-1/+9
|
* mpm: update cmake to find the correct python3Trung Tran2018-04-171-6/+6
| | | | | | | We need to set it before including UHDPython.cmake where PythonInterp is set without version requirement. Reviewed-by: Martin Braun <martin.braun@ettus.com>
* mpm: cmake: Add git hash and version info to Python moduleMartin Braun2018-04-021-15/+38
| | | | Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>
* mpm: cmake: Make default install path /usrMartin Braun2018-03-051-5/+14
|
* mpm: Rename n310 to n3xxMartin Braun2018-03-051-2/+2
| | | | | This module (and class) are, in fact, used for all N3xx-derivates so renaming it is the more correct thing to do.
* mpm: cmake: Disable Python 2Martin Braun2018-01-041-19/+4
| | | | | Removing Python 2 makes repo management for MPM a lot easier, and it's 2018 after all.
* mpm: systemd: Add a systemd service file for MPMMoritz Fischer2018-01-041-0/+1
| | | | | | Add a service file to start MPM on bootup via systemd. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* mpm: Harmonize all license headerMartin Braun2017-12-221-0/+5
| | | | Now uses SPDX headers everywhere.
* mpm: fix cmake on windows targetsMark Meserve2017-12-221-1/+8
|
* mpm/cmake: Remove invalid additional Python versionsMartin Braun2017-12-221-1/+5
|
* mpm: Cleaned up CMake, made Python version an optionMartin Braun2017-12-221-3/+14
|
* mpm: Made CMake more future-proof w.r.t. newer Boost and PythonMartin Braun2017-12-221-3/+2
|
* mpm: libusrp-periphs: Add SOVERSION and VERSIONMoritz Fischer2017-12-221-0/+7
| | | | Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* mpm: Fix missing library installMoritz Fischer2017-12-221-0/+1
| | | | Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* mpm: Major refactoringMartin Braun2017-12-221-1/+0
| | | | | | - Created clean interfaces for SPI and registers - Severed most links to UHD - Added a lockable class which allows exposing mutexes into Python
* mpm: CMake cleanup, Python code enhancementsAndrej Rode2017-12-221-11/+26
| | | | | - Send user defined data in ping - Improve rpc_shell, add mpm_debug.py, fix tracebacks in multiprocessing
* mpm: python refactoringAndrej Rode2017-12-221-11/+17
|
* mpm: cleanup CMakeLists, fixup minor bugsAndrej Rode2017-12-221-11/+6
|
* Initial commit for N3xx development.Martin Braun2017-12-221-0/+112
- Creates mpm/ subdirectory - First pass at hardware daemon/MPM - New code for LMK04828, AD9371 - spidev integration Contributions by: Martin Braun <martin.braun@ettus.com> Derek Kozel <derek.kozel@ettus.com> Mark Meserve <mark.meserve@ni.com> Andrej Rode <andrej.rode@ettus.com>