aboutsummaryrefslogtreecommitdiffstats
path: root/mpm
Commit message (Collapse)AuthorAgeFilesLines
...
* mpm: mg: Add flag to see if master clock rate is being changedMartin Braun2017-12-221-10/+26
| | | | Note: On the first run, this flag will always assert.
* mpm: mg: Fix linter errors, compacted SPI factoriesMartin Braun2017-12-221-27/+16
|
* mpm: mg: Move some class attributes to local scopesMartin Braun2017-12-222-32/+38
| | | | | | The clock_synchronizer, jesdcore, and dboard_clk_control objects don't need to exist for the full lifetime of the Magnesium class. Having them around complicates management of UIO file descriptors.
* mpm: n310: Remove unused imports (linter warnings)Martin Braun2017-12-221-2/+1
|
* mpm: mykonos: Increase SPI speed to 20 MHzTrung N Tran2017-12-221-1/+1
|
* mpm: mg: Remove unused spi_factories keyTrung N Tran2017-12-221-5/+3
|
* mpm: mg: Set default master_clock_rate to 125 MHz at every initTrung Tran2017-12-221-0/+2
|
* mpm: mykonos: Add API to change master clock rateTrung N Tran2017-12-228-10/+135
|
* jesd: add reset routine and make portions more generic for various linksdjepson12017-12-221-33/+101
|
* n3xx: add support for 122.88 and 153.6 MHz sample clock ratesMartin Braun2017-12-225-91/+207
| | | | | | - re-wrote portions of the LMK driver for flexible rates and configuration - tweaked TDC driver for compatibility and ease of debugging - updated comments and log statements throughout for uniformity
* mg: Enable variable master clock ratesMartin Braun2017-12-221-2/+6
| | | | | | | | | | The master_clock_rate argument is passed to init() during initialization; this change allows to query the correct MCR at initialization time. It does not allow changing the MCR while a session is active. The MCR also affects the LO settings; it is the reference clock for the lowband LOs.
* mpm: mg: Add dboard sensors for low- and highband LO lock statusMartin Braun2017-12-222-14/+26
| | | | | | | | | - Add LO locked APIs to Magnesium - Add LO locked sensor APIs for RX/TX and highband/lowband LOs - Poll all those sensors from magnesium_radio_ctrl_impl Reviewed-By: Steven Bingler <steven.bingler@ni.com> Reviewed-By: Trung Tran <trung.tran@ettus.com>
* mpm: ad937x: Add LO lock APIMartin Braun2017-12-222-0/+21
| | | | | Reviewed-By: Steven Bingler <steven.bingler@ni.com> Reviewed-By: Trung Tran <trung.tran@ettus.com>
* mpm: Let usrp_hwd.py --init-only show init status and durationMartin Braun2017-12-221-1/+10
| | | | Reviewed-By: Brent Stapleton <brent.stapleton@ettus.com>
* mpm: mg: Optionally parallelize init calls to dboardMartin Braun2017-12-221-3/+19
| | | | | | Default is to run in parallel. serialize_init=1 will run them serially. Reviewed-By: Brent Stapleton <brent.stapleton@ettus.com>
* mpm: Minor spidev fixesMartin Braun2017-12-221-18/+5
| | | | Fixes some compiler warnings.
* mpm: Add 'hijack' mode to mpm_shellMartin Braun2017-12-221-1/+42
|
* mpm: n310: Made n310.__init__() more exception-safeMartin Braun2017-12-221-1/+15
|
* mpm: Made PeriphManagerBase.__init__ more exception-safeMartin Braun2017-12-221-4/+13
|
* mpm: discovery returns 'product' informationBrent Stapleton2017-12-222-2/+5
| | | | | - Added 'product' information to N310 - MPM discovery checks for 'product' field
* n3xx_bist: remove unused python packageTrung N Tran2017-12-221-1/+0
| | | | | This tqdm is not using anywhere and causing trouble for the sdimage; so I remove it.
* mpm: mg: Make Magnesium __init__ exception-safeMartin Braun2017-12-221-5/+33
|
* mpm: Make dboard manager __init__ exception-safeMartin Braun2017-12-221-12/+17
|
* mpm: net: Add ip_addr_to_iface() functionMartin Braun2017-12-221-0/+17
| | | | Reviewed-By: Trung Tran <trung.tran@ettus.com>
* mpm: n310: Allow Ethernet connections to both SFPsMartin Braun2017-12-221-16/+30
| | | | Reviewed-By: Trung Tran <trung.tran@ettus.com>
* 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-227-7/+75
| | | | | | | | | 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-225-62/+185
| | | | | | | | | | | | | | | | | | | 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: Run C++ logger through central loggingMartin Braun2017-12-221-0/+16
| | | | Reviewed-By: Mark Meserve <mark.meserve@ni.com>
* 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-224-0/+170
| | | | | | | 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>
* mpm: mg: Add lowband LO lock and AD9371 lock sensorsMartin Braun2017-12-222-3/+55
| | | | Note: The AD9371 lock sensors are only stubbed out for now.
* mpm/mpmd: Move to request_xport()/commit_xport() architectureMartin Braun2017-12-225-166/+386
| | | | | This commit combines code from various branches to finally enable both UDP and Liberio transports.
* mpm: Lower logging level for PeriphManagerBase.deinit()Martin Braun2017-12-221-2/+2
|
* mpm: n310: Load Liberio dispatcherMartin Braun2017-12-221-9/+39
| | | | | Note: The dispatcher is not yet used at this point. However, it will check the existence of certain devices.
* mpm: mg: Refactor some periph inits into __init__Martin Braun2017-12-221-40/+18
| | | | | | | SPI interfaces and -lock, user EEPROM, radio regs, CPLD, dboard clock control and GPIO expander can be initialized in Magnesium.__init__(). This shaves a little time off of the actual init() call and allows for earlier failures.
* mpm: mg: Fix linting issues and warningsMartin Braun2017-12-221-51/+47
| | | | | | - Removed superfluous code - Fixed most PyLint warnings - Reordered methods to match call order
* mpm: Fix minor logging issues with LMK04828 codeMartin Braun2017-12-223-7/+5
| | | | Log prefixes weren't properly being set.
* mpm: mg: Move CPLD controls to dedicated classMartin Braun2017-12-221-91/+163
|
* mpm: Add configurable log levelsMartin Braun2017-12-222-4/+30
|
* mpm: Cache connection type in PeriphManagerBaseMartin Braun2017-12-222-1/+19
| | | | | | Now, when claiming a device, the connection type will be stored as a string in PeriphManagerBase. This way we can read out the current connection type even when not currently inside an RPC call.
* mpm: Add LiberioDispatcherTableTrung Tran2017-12-222-0/+74
|
* mykonos: turn on init cals and tracking calsTrung N Tran2017-12-221-13/+13
|
* mpm: Remove leading _ from _get_device_info()Martin Braun2017-12-223-4/+5
| | | | Use @norpc instead. This fixes some linting issues.
* mpm: Make list_updateable_components return somethingMartin Braun2017-12-221-2/+1
|
* mpm: Improve exception/error handlingMartin Braun2017-12-221-19/+75
| | | | | | | | - Any RPC call with uncaught exceptions will result in additional logging on MPM side - Adds get_last_error() API call - get_last_error() is populated by various methods within rpc_server.py, but also from every uncaught exception
* fpga load: add N310 update FPGA functionBrent Stapleton2017-12-221-0/+14
| | | | | -update_fpga loads the FPGA image from the base class's update_component function -checks if FPGA image is a bit or bin file, and converts to Zynq-compatible binfile if necessary
* fpga load: add update_component function to MPMBrent Stapleton2017-12-222-0/+95
| | | | | | | | -update_component takes a byte array containing the data to be written, and a dictionary containing the metadata of the component to be updated -The metadata must contain 'id' and 'filename' -The metadata may contain an md5 hash ('md5')
* mpm: Minor refactoring of PeriphManagerBase attributesMartin Braun2017-12-222-8/+3
|
* sync: add PDAC BIST testdjepson12017-12-221-0/+80
|