aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/include
Commit message (Collapse)AuthorAgeFilesLines
* mpm: Apply clang-format against all .cpp and .hpp filesMartin Braun2020-03-034-72/+63
|
* mpm: mg: Make set_master_clock_rate() an async callMartin Braun2019-11-261-0/+15
| | | | | | The ad9371 call set_master_clock_rate() can take a while depending on the rate change, so make it asynchronous in order not to lock out the reclaimer loop.
* e310: Fix issues in MPM and UHDMartin Braun2019-11-261-12/+16
| | | | | | | | | | | - Remove superfluous INFO logging - Improve formatting in many places - Improve Pylint score in various places - Add tear_down to DB object - Simplify custom EEPROM code for E310 - Fix time source selection code - Remove references to GPS_CTRL and GPS_STATUS (are E320 only) - Move clock source control out of MboardRegs object
* Remove proto-RFNoC filesMartin Braun2019-11-262-61/+0
| | | | | | | This commit removes all files and parts of files that are used by proto-RFNoC only. uhd: Fix include CMakeLists.txt, add missing files
* n3xx: mg: Make set_freq() call asynchronousMartin Braun2019-08-221-0/+25
| | | | | | | This does not change the MPM/UHD API, but it makes the set_freq() call asynchronous on the MPM side. The upside is that it will release the GIL if the set_freq() call takes too long, e.g., because of MPM calibrations.
* e310/e320: Move E310 to MPM architecture and refactorSugandha Gupta2019-05-016-1/+142
| | | | | | | | | | | | - 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-028-106/+94
|
* uhd: mpm: update all license header w/ "-or-later"Brent Stapleton2019-03-086-6/+6
| | | | Updating all SPDX license identifiers to include "-or-later"
* uhd: mpm: apply clang-format to all filesBrent Stapleton2019-01-1622-738/+670
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Applying formatting changes to all .cpp and .hpp files in the following directories: ``` find host/examples/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/tests/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/dboard/neon/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/dboard/magnesium/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/device3/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/mpmd/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/x300/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/utils/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find mpm/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file ``` Also formatted host/include/, except Cpp03 was used as a the language standard instead of Cpp11. ``` sed -i 's/ Cpp11/ Cpp03/g' .clang-format find host/include/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file ``` Formatting style was designated by the .clang-format file.
* cmake: Update coding style to use lowercase commandsMartin Braun2018-11-148-21/+21
| | | | | | | | | | | | | | | | | 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: i2c: Open and close i2c file descriptor on every accessAlex Williams2018-11-121-2/+6
| | | | | | 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.
* mpm: i2c: Add vector-based transfer functionAlex Williams2018-10-192-0/+23
| | | | This could lead to a less-restricted implementation for use in Python.
* mpm: Add i2c APIs for simple transfersAlex Williams2018-10-194-0/+108
|
* mpm: initial commit of E320 codeBrent Stapleton2018-07-186-7/+182
| | | | Co-authored-by: Sugandha Gupta <sugandha.gupta@ettus.com>
* mpm: adding adf400x support to chipsBrent Stapleton2018-06-272-1/+10
| | | | | Adding ADF400X driver to MPM. This uses the Boost.Python bound spidev, and is largely a translation from the C++ driver in UHD.
* mpm: replace long execution function with async callTrung N Tran2018-04-301-2/+45
| | | | | | - Replace mykonos finish_initialization with async version - Replace myknonos setup_cal with async version - Remove disable_timeout on rpc_server init()
* mpm: Use configurable components for build systemAlex Williams2018-04-181-1/+4
| | | | | For a minimal build, default to off for components unless the MPM_DEVICE or the user requests it specifically.
* mpm: Update all license headersMartin Braun2018-02-1916-32/+32
| | | | | - Fix typo in company name (missing 'a') - Updated SPDX license identifier to version 3.0
* mpm: ad937x: RefactorMartin Braun2018-01-221-11/+41
| | | | | | - No functional changes - const-ify parameters and local variables where appropriate - Fix long lines and inconsistent formatting
* mpm: mg: Pass deserializer_lane_xbar to ad937x_configTrung N Tran2018-01-122-2/+4
| | | | | | | | | Slot A and Slot B are different in how the JESD lanes are connected. We now pass in different deserializer_lane_xbar config values for each slot. Reviewed-by: Martin Braun <martin.braun@ettus.com> Reviewed-by: Daniel Jepson <daniel.jepson@ettus.com> Reviewed-by: Mark Meserve <mark.meserve@ni.com>
* mpm: Harmonize all license headerMartin Braun2017-12-2221-275/+43
| | | | Now uses SPDX headers everywhere.
* mpm: Add mmap_regs_ifaceMartin Braun2017-12-222-0/+66
| | | | | | | This is a C++-based peek/poke interface into mmaped objects. Useful for better control over UIO devices. Reviewed-By: Brent Stapleton <brent.stapleton@ettus.com>
* mpm: Enable TX external LO set through args, simplify codeTrung N Tran2017-12-221-12/+7
| | | | | | | Simplify the process of setting external LO without calling through many API layers. Reviewed-By: Martin Braun <martin.braun@ettus.com>
* mpm: mykonos: Add API to change master clock rateTrung N Tran2017-12-221-0/+4
|
* mpm: ad937x: Add LO lock APIMartin Braun2017-12-221-0/+10
| | | | | Reviewed-By: Steven Bingler <steven.bingler@ni.com> Reviewed-By: Trung Tran <trung.tran@ettus.com>
* mpm: enable RX external LO set through argsTrung N Tran2017-12-221-2/+14
| | | | | | | | | This change allow user to set RX LO of ad9371 to external or internal from args constructor of usrp device. new args is rx_lo_source value can be either internal or external: If there's no rx_lo_source specified or invalid value, default rx_lo is used; which is internal LO. Usage example: usrp_application --args "rx_lo_source=external"
* mg: enable init and track calibration APITrung Tran2017-12-221-2/+89
| | | | | | | | | | | | | | | | | | | Currently, AD9371 turned on most of the calibration and hard coding the turning on process during bringup time. This change enables users to pass in a mask field for init ARM calibration and tracking arm calibration at the time creating USRP device reference. This mask field can be passed through device arguments of: 1/ init_cals : for init ARM calibration masks. This is defined in AD9371 UG-992 table 65. Default to 0x4DFF 2/ tracking_cals : for tracking calibration masks. This is defined in AD9371 UG-992 table 66. Default to 0xC3 Example of pasing in init calibration and tracking calibration mask usrp_application --args "init_cals=0x4f, tracking_cals=0xC3" NOTE: UHD currently expect user to input the correct init_cals and tracking_cals. There's no mechanism to check if init mask and tracking mask are valid. For example if the init mask field not mask 0x4f, the AD9371 will failed to setup.
* mpm: Add log_buf classMartin Braun2017-12-222-0/+105
| | | | | | | This is a buffer for log messages, designed for getting log messages from C++ back into Python. Reviewed-By: Mark Meserve <mark.meserve@ni.com>
* ad937x: address TODOs in adi_ctrlMark Meserve2017-12-221-0/+6
| | | | | change error outputs add comments to some functions
* ad937x: add missing docstrings to ctrlMark Meserve2017-12-221-0/+26
|
* mpm: ad937x: Updated controlsMark Meserve2017-12-221-0/+7
|
* mpm: spi: Added 16-bit SPI transactionsMark Meserve2017-12-221-0/+10
| | | | | - Adds convenience method to read 16-bit SPI transactions - Fixes peek16 in spi_regs_iface to actually use 16-bit transactions
* mg: General fixesMark Meserve2017-12-221-3/+2
| | | | | - Make DB probe-able - Add RPC client
* mpm: spi: Added 16-bit access to SPI regsMartin Braun2017-12-222-0/+15
|
* mpm: Enabled selection of SPI modeMartin Braun2017-12-222-1/+3
|
* mpm: eiscat: magnesium: Removed C++-only SPI ifacesMartin Braun2017-12-224-116/+6
| | | | | | | - EISCAT is now Python only with the exception of the definition of the SPI ifaces - Magnesium uses a Python-generated SPI iface - Removed SPI lock from EISCAT dboard
* mpm: eiscat: Added first pass at EISCAT dboard driverMartin Braun2017-12-221-0/+70
|
* mpm: Exposed spi regs iface factory to PythonMartin Braun2017-12-222-0/+38
|
* mpm: Added peek/poke interface to ad937x_ctrlMartin Braun2017-12-221-0/+6
|
* mpm: Major refactoringMartin Braun2017-12-2217-167/+512
| | | | | | - Created clean interfaces for SPI and registers - Severed most links to UHD - Added a lockable class which allows exposing mutexes into Python
* mpm: Fixed a plethora of SPI-related issuesMartin Braun2017-12-223-5/+5
|
* lmk: Update LMK04828 driver with values for MagnesiumDerek Kozel2017-12-221-1/+1
|
* ad9371: Added JESD init functionalityMark Meserve2017-12-221-0/+22
|
* mpm: mpm reorganizationAndrej Rode2017-12-225-133/+3
|
* mpm: Improved ad937x codeMark Meserve2017-12-222-1/+150
| | | | | | - Add gain control pin configuration - Fixed gcc compilation - Better docstrings
* mpm: fixup for spi and ad937x path changesMark Meserve2017-12-225-42/+3
|
* mpm: clean up spiMark Meserve2017-12-223-3/+2
| | | | | remove spi_lock remove ad9371 spi_config types
* ad9371: update jesd default configMark Meserve2017-12-221-1/+1
|
* ad9371: cleanup ctrlMark Meserve2017-12-221-6/+0
| | | | | | remove device forward declaration make helper functions local to ad9371_ctrl.cpp fix UHD include paths
* Renamed or moved files (minor cleanup)Martin Braun2017-12-227-78/+2
|