aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/lib
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* mpm: eiscat: magnesium: Removed C++-only SPI ifacesMartin Braun2017-12-225-84/+3
| | | | | | | - 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-222-0/+37
|
* mpm: Exposed spi regs iface factory to PythonMartin Braun2017-12-221-0/+20
|
* mpm: Added peek/poke interface to ad937x_ctrlMartin Braun2017-12-221-0/+12
|
* mpm: Major refactoringMartin Braun2017-12-2222-290/+704
| | | | | | - Created clean interfaces for SPI and registers - Severed most links to UHD - Added a lockable class which allows exposing mutexes into Python
* spidev: initialize cs_changeMark Meserve2017-12-221-2/+3
|
* mpm: Fixed a plethora of SPI-related issuesMartin Braun2017-12-228-39/+80
|
* ad9371: Added JESD init functionalityMark Meserve2017-12-227-112/+223
|
* mpm: mpm reorganizationAndrej Rode2017-12-223-213/+0
|
* mpm: Improved ad937x codeMark Meserve2017-12-227-79/+481
| | | | | | - Add gain control pin configuration - Fixed gcc compilation - Better docstrings
* mpm: fixup for spi and ad937x path changesMark Meserve2017-12-223-3/+3
|