aboutsummaryrefslogtreecommitdiffstats
path: root/mpm
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* n3xx_bist: Fix spurious reference to self.REVMartin Braun2017-12-221-2/+1
|
* mpm: server supports binary strings being sent across rpcBrent Stapleton2017-12-221-2/+7
|
* n3xx_bist: Specify localhost for opening UHD sessionsMartin Braun2017-12-221-1/+1
|
* mpm: tdc_sync: Fix number of samples, formatting issuesMartin Braun2017-12-221-7/+9
| | | | | | - Number of samples for TDC measurement bumped back up to 512 (was previously reduced because of slow sampling speed) - Non-functional changes: Modified formatting to pacify PyLint
* mpm: Replace MMCM lock and TDC PPS sleeps with poll_with_timeoutMartin Braun2017-12-222-12/+18
| | | | This increases init speed by replacing worst-case sleeps with polls.
* mpm: Add mpmutils module, includes poll_with_timeoutMartin Braun2017-12-222-2/+41
| | | | This is a convenience function for polling with sleeps and timeouts.
* mpm: tdc_sync: Remove sleeps in offset pollingMartin Braun2017-12-221-7/+7
| | | | | | | On the N310, there's a penalty for calling time.sleep(). This means the polling loop was extremely slow for polling TDC updates. Now, it simply polls as fast as possible. Note: This could hog the bus if run outside of an initialization sequence, where no one else is using the bus.
* lmk: change holdover settings to reduce lock timedjepson12017-12-223-14/+25
| | | | | - Register 0x150 bit [1] to '0' - Change lock detect to poll operation
* mpm: mg: Minor cleanup in __init__Martin Braun2017-12-221-6/+26
| | | | | - Moved AD9371 API generation around - Fixed some PyLint warnings
* mpm: mg: Enable user EEPROM data read/writeMartin Braun2017-12-221-2/+100
|
* mpm: n310: Enable read/write of user EEPROM dataMartin Braun2017-12-221-0/+67
| | | | | | This exposes two new API calls to read and write arbitrary data to the device's EEPROM. Please keep in mind that EEPROMs have limited write cycles!
* mpm: Add BufferFS serialization libraryMartin Braun2017-12-223-0/+401
| | | | | | | | | | BufferFS is a serialization format with CRC checking and optional byte-alignment for records. It allows storing arbitrary blobs, together with a 8-character identifier, in a contiguous buffer that supports random access. This is suitable for storing arbitrary blobs in EEPROM, but could also support other things. Signed-off-by: Martin Braun <martin.braun@ettus.com>
* n3xx: enable 1G clock with gpio settings.Ryan Marlow2017-12-221-0/+17
|
* mpm: mg: Specify I2C parents for GPIO devicesTrung N Tran2017-12-221-3/+77
| | | | | | The Magnesium daughterboards have GPIO port expanders, but both have the same udev label. In order to specify which port expander to use, we pass in the parent udev I2c device.
* mpm: n3xx: Add GPS locked sensorTrung N Tran2017-12-221-0/+13
|
* mpm: mg: Specify the required overlay for FPGA auto-loadingMartin Braun2017-12-221-0/+15
|
* mpm: Provide default dboard EEPROM getter/settersMartin Braun2017-12-221-0/+28
| | | | | The setter will throw an exception though. It is supposed to be overriden by device-specific classes.
* mpm: Properly populate device_info dict for dboard classesMartin Braun2017-12-221-1/+18
| | | | | | | | | | | Prior to this commit, device_info was always an empty dictionary on all dboard classes. The device_info dict is now auto-populated from the EEPROM contents, if any were provided. Dboard classes can still opt to amend that dictionary in specific class implementations. Signed-off-by: Martin Braun <martin.braun@ettus.com>
* mpm: sysfsgpio: Allow to filter by parent deviceTrung Tran2017-12-221-11/+22
| | | | | | There are cases where we need to specify a parent device in order to disambiguate GPIO devices with the same label. This lets you passing in a parent udev device to clarify.
* bit to bin: initial commit of converter scriptBrent Stapleton2017-12-221-0/+121
|
* mpm: n310: Add mboard EEPROM supportMartin Braun2017-12-221-0/+15
| | | | | This is a specific override for the N310. It returns all the default device info as a dict.
* mpm: Add mboard EEPROM supportMartin Braun2017-12-222-4/+28
| | | | | | MPMD binds a property for the mboard EEPROM to the appropriate RPC calls. PeriphManager now provides default implementations for an mboard EEPROM.
* Sync: Improved range checking for offset measurements.djepson12017-12-221-2/+2
|
* mg: Updated JESD204b init seq and documentation.djepson12017-12-222-41/+65
| | | | | | | | | | | - Based on feedback from ADI, updated SYSREF sequencing for meeting deterministic latency requirements. - Changed majority of register addresses in nijesdcore.py to constants. - Corrected write data to SYSREF_CAPTURE_CONTROL to produce the correct SYSREF toggle rate inside the FPGA. Signed-off-by: djepson1 <daniel.jepson@ni.com>
* mg: Fix debug support for CPLD accessesdjepson12017-12-221-1/+0
| | | | Signed-off-by: djepson1 <daniel.jepson@ni.com>
* mg: Clean up CPLD initialization.djepson12017-12-221-16/+32
| | | | Signed-off-by: djepson1 <daniel.jepson@ni.com>
* mg: Preliminary clock sync supportdjepson12017-12-222-7/+49
| | | | Signed-off-by: djepson1 <daniel.jepson@ni.com>
* mg: Clean up radio_regs creationdjepson12017-12-221-5/+9
| | | | Signed-off-by: djepson1 <daniel.jepson@ni.com>
* mg: Updated support for LMKdjepson12017-12-222-32/+116
| | | | | | | | - add clock shifting - add DAC support - modify __init__ calls for cleanup Signed-off-by: djepson1 <daniel.jepson@ni.com>
* mpm/n310: Moved the mboard ref_locked sensor into MPMMartin Braun2017-12-221-0/+28
| | | | | | | | An N310 device will query all its dboards for ref lock status and return a Boolean combination as a motherboard sensors (note: the N310 does not actually have a ref_locked sensor on the motherboard, this is mostly for backwards-compat with UHD applications that expect a motherboard ref lock sensor).
* mpm: Added sensor APIMartin Braun2017-12-222-0/+76
| | | | | | | | - Motherboard sensors are automatically populated into the property tree, they can be automatically enumerated and queried - Daughterboard sensors have an API for querying and enumerating sensors, but this commit does not automatically add them to the property tree
* mpm: add n310 motherboard revD supportTrung N Tran2017-12-222-40/+91
| | | | | | | | | | This will enable both RevC and RevD from an MPM perspective. The revision read back from the EEPROM is used to enable the code for either rev. The impact on the code is limited to the port expander GPIOs. Port expander objects are instantiated in both the N310 MPM module as well as the n3xx_bist executable.
* mpm: n3xx_bist: Added more comments, clarified timeout unitsMartin Braun2017-12-221-7/+18
|
* 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-222-10/+50
| | | | | change error outputs add comments to some functions
* ad937x: add missing docstrings to ctrlMark Meserve2017-12-221-0/+26
|
* 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
|