aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/lib
Commit message (Collapse)AuthorAgeFilesLines
* uhd: mpm: apply clang-format to all filesBrent Stapleton2019-01-1624-1725/+1770
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-46/+46
| | | | | | | | | | | | | | | | | 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-22/+42
| | | | | | 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-191-0/+18
| | | | This could lead to a less-restricted implementation for use in Python.
* mpm: Add i2c APIs for simple transfersAlex Williams2018-10-196-0/+386
|
* mpm: initial commit of E320 codeBrent Stapleton2018-07-184-2/+137
| | | | Co-authored-by: Sugandha Gupta <sugandha.gupta@ettus.com>
* mpm: ad9371: Accept PID 0x01 as well as 0x03Martin Braun2018-06-281-1/+5
|
* mpm: replace long execution function with async callTrung N Tran2018-04-301-7/+7
| | | | | | - 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-182-4/+4
| | | | | For a minimal build, default to off for components unless the MPM_DEVICE or the user requests it specifically.
* mg: fix char printout of arm versionMark Meserve2018-03-081-3/+3
|
* mpm: break up device compilationBrent Stapleton2018-03-052-5/+9
| | | | Breaking up dboard compilation based on the target MPM_DEVICE.
* mpm: Update all license headersMartin Braun2018-02-1923-46/+46
| | | | | - Fix typo in company name (missing 'a') - Updated SPDX license identifier to version 3.0
* mpm: ad937x: implement set_bw_filterTrung N Tran2018-02-083-6/+24
|
* mpm: ad9371: Enable separate RX1/RX2 enable pinsTrung N Tran2018-02-081-2/+2
| | | | | | For each channel, we have individual enable input trigger. Reviewed-by: Martin Braun <martin.braun@ettus.com>
* mpm: ad937x: RefactorMartin Braun2018-01-223-138/+271
| | | | | | - 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-126-8/+13
| | | | | | | | | 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-2229-315/+76
| | | | Now uses SPDX headers everywhere.
* mpm: Add mmap_regs_ifaceMartin Braun2017-12-222-0/+118
| | | | | | | 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: Fix floating-point errors in MCR configurationMartin Braun2017-12-223-83/+114
| | | | | | Use fuzzy comparisons for setting the MCR. Reviewed-By: Trung Tran <trung.tran@ettus.com>
* mpm: Enable TX external LO set through args, simplify codeTrung N Tran2017-12-225-48/+67
| | | | | | | Simplify the process of setting external LO without calling through many API layers. Reviewed-By: Martin Braun <martin.braun@ettus.com>
* mpm: mykonos: Increase SPI speed to 20 MHzTrung N Tran2017-12-221-1/+1
|
* mpm: mykonos: Add API to change master clock rateTrung N Tran2017-12-226-9/+126
|
* mpm: ad937x: Add LO lock APIMartin Braun2017-12-221-0/+11
| | | | | Reviewed-By: Steven Bingler <steven.bingler@ni.com> Reviewed-By: Trung Tran <trung.tran@ettus.com>
* mpm: Minor spidev fixesMartin Braun2017-12-221-18/+5
| | | | Fixes some compiler warnings.
* mpm: lib: ad937x: Change _get_arm_binary_pathMoritz Fischer2017-12-221-1/+1
| | | | | | | The firmware will be installed under /lib/firmware/adi/mykonos-m3.bin, so going forward this is the path we require. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* mpm: enable RX external LO set through argsTrung N Tran2017-12-225-5/+50
| | | | | | | | | 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-223-58/+75
| | | | | | | | | | | | | | | | | | | 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: ad937x: Make log functions go through central loggerMartin Braun2017-12-221-5/+26
| | | | Reviewed-By: Mark Meserve <mark.meserve@ni.com>
* mpm: Add log_buf classMartin Braun2017-12-222-0/+65
| | | | | | | 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>
* mykonos: turn on init cals and tracking calsTrung N Tran2017-12-221-13/+13
|
* spidev: fix error handling in initializationMark Meserve2017-12-222-41/+78
| | | | | | | | | | | - Reversed the incorrect logic in spidev_iface.cpp for error checking on init_spi - Error on failed fd creation is now valid and added a null pointer check for fd - ioctl read operations are now given non-const references - Bits per word coercion check is now initialized correctly - Coercion errors now return -ENOTSUP instead of 2 - Improved logging messages with more information
* ad937x: remove magic constant in ad937x_config_tMark Meserve2017-12-222-4/+7
|
* ad937x: revise ad937x_deviceMark Meserve2017-12-221-8/+8
| | | | | | add comments add TODOs fix set_gain return value
* ad937x: add comments to ad937x_gain_ctrl_configMark Meserve2017-12-222-17/+19
|
* ad937x: update ad937x_firMark Meserve2017-12-222-3/+4
| | | | | add comment label get_fir as const
* ad937x: address TODOs in adi_ctrlMark Meserve2017-12-221-10/+44
| | | | | change error outputs add comments to some functions
* ad937x: cleanup and optimize ad937x_config_tMark Meserve2017-12-222-66/+54
|
* mg: replace bind with lambda in ad937x_deviceMark Meserve2017-12-221-49/+56
|
* mg: add const where possible in ad937x_deviceMark Meserve2017-12-222-43/+43
|
* mg: make timeout values uint32_tMark Meserve2017-12-221-1/+1
|
* mg: add new framer/deframer valuesMark Meserve2017-12-221-3/+6
| | | | | this fixes the channel swap in RX preserves functionality in TX
* adi: update arm_version function signatureMark Meserve2017-12-223-1/+36
|
* adi: reapply our changes to API version 3565Mark Meserve2017-12-224-33/+33
|
* adi: update to API version 3565Mark Meserve2017-12-2214-1191/+3244
|
* mpm: ad937x: Updated controlsMark Meserve2017-12-226-236/+460
|
* mpm: spi: Added 16-bit SPI transactionsMark Meserve2017-12-222-4/+28
| | | | | - 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-224-133/+128
| | | | | - Make DB probe-able - Add RPC client
* mpm: spi: Added 16-bit access to SPI regsMartin Braun2017-12-221-1/+30
|
* mpm: Enabled selection of SPI modeMartin Braun2017-12-222-6/+10
|
* mg: bring up linksMark Meserve2017-12-224-64/+76
|