Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | mpm: mg: Make Magnesium __init__ exception-safe | Martin Braun | 2017-12-22 | 1 | -5/+33 |
| | |||||
* | mpm: Make dboard manager __init__ exception-safe | Martin Braun | 2017-12-22 | 1 | -12/+17 |
| | |||||
* | mpm: enable RX external LO set through args | Trung N Tran | 2017-12-22 | 1 | -0/+11 |
| | | | | | | | | | 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 API | Trung Tran | 2017-12-22 | 1 | -2/+21 |
| | | | | | | | | | | | | | | | | | | | 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: mg: Add lowband LO lock and AD9371 lock sensors | Martin Braun | 2017-12-22 | 2 | -3/+55 |
| | | | | Note: The AD9371 lock sensors are only stubbed out for now. | ||||
* | mpm: mg: Refactor some periph inits into __init__ | Martin Braun | 2017-12-22 | 1 | -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 warnings | Martin Braun | 2017-12-22 | 1 | -51/+47 |
| | | | | | | - Removed superfluous code - Fixed most PyLint warnings - Reordered methods to match call order | ||||
* | mpm: Fix minor logging issues with LMK04828 code | Martin Braun | 2017-12-22 | 2 | -4/+3 |
| | | | | Log prefixes weren't properly being set. | ||||
* | mpm: mg: Move CPLD controls to dedicated class | Martin Braun | 2017-12-22 | 1 | -91/+163 |
| | |||||
* | mpm: Replace MMCM lock and TDC PPS sleeps with poll_with_timeout | Martin Braun | 2017-12-22 | 1 | -4/+7 |
| | | | | This increases init speed by replacing worst-case sleeps with polls. | ||||
* | lmk: change holdover settings to reduce lock time | djepson1 | 2017-12-22 | 2 | -11/+24 |
| | | | | | - Register 0x150 bit [1] to '0' - Change lock detect to poll operation | ||||
* | mpm: mg: Minor cleanup in __init__ | Martin Braun | 2017-12-22 | 1 | -6/+26 |
| | | | | | - Moved AD9371 API generation around - Fixed some PyLint warnings | ||||
* | mpm: mg: Enable user EEPROM data read/write | Martin Braun | 2017-12-22 | 1 | -2/+100 |
| | |||||
* | mpm: mg: Specify I2C parents for GPIO devices | Trung N Tran | 2017-12-22 | 1 | -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: mg: Specify the required overlay for FPGA auto-loading | Martin Braun | 2017-12-22 | 1 | -0/+15 |
| | |||||
* | mpm: Properly populate device_info dict for dboard classes | Martin Braun | 2017-12-22 | 1 | -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: Add mboard EEPROM support | Martin Braun | 2017-12-22 | 1 | -3/+3 |
| | | | | | | MPMD binds a property for the mboard EEPROM to the appropriate RPC calls. PeriphManager now provides default implementations for an mboard EEPROM. | ||||
* | mg: Updated JESD204b init seq and documentation. | djepson1 | 2017-12-22 | 1 | -25/+37 |
| | | | | | | | | | | | - 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 accesses | djepson1 | 2017-12-22 | 1 | -1/+0 |
| | | | | Signed-off-by: djepson1 <daniel.jepson@ni.com> | ||||
* | mg: Clean up CPLD initialization. | djepson1 | 2017-12-22 | 1 | -16/+32 |
| | | | | Signed-off-by: djepson1 <daniel.jepson@ni.com> | ||||
* | mg: Preliminary clock sync support | djepson1 | 2017-12-22 | 1 | -1/+36 |
| | | | | Signed-off-by: djepson1 <daniel.jepson@ni.com> | ||||
* | mg: Clean up radio_regs creation | djepson1 | 2017-12-22 | 1 | -5/+9 |
| | | | | Signed-off-by: djepson1 <daniel.jepson@ni.com> | ||||
* | mg: Updated support for LMK | djepson1 | 2017-12-22 | 2 | -32/+116 |
| | | | | | | | | - add clock shifting - add DAC support - modify __init__ calls for cleanup Signed-off-by: djepson1 <daniel.jepson@ni.com> | ||||
* | mpm: Added sensor API | Martin Braun | 2017-12-22 | 1 | -0/+38 |
| | | | | | | | | - 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: Update TDC sync code to make it generic for N dboards | Daniel Jepson | 2017-12-22 | 1 | -0/+3 |
| | |||||
* | mpm: Added lmk_mg to CMake | Daniel Jepson | 2017-12-22 | 1 | -0/+1 |
| | |||||
* | mpm: Streaming-related improvements to Magnesium controls | DJ Epson | 2017-12-22 | 2 | -79/+310 |
| | |||||
* | mg: General fixes | Mark Meserve | 2017-12-22 | 1 | -4/+6 |
| | | | | | - Make DB probe-able - Add RPC client | ||||
* | n310/eiscat: Removed 20 MHz as a valid ref clock frequency | Martin Braun | 2017-12-22 | 2 | -9/+13 |
| | |||||
* | eiscat: Change sync pin configuration to switch to CD in case of error | Derek Kozel | 2017-12-22 | 1 | -17/+49 |
| | |||||
* | eiscat: Fixing a sequencing issue with channel enables for signal integrity ↵ | djepson1 | 2017-12-22 | 1 | -8/+5 |
| | | | | reasons | ||||
* | mpm: fixed mpm rerun issue | sugandhagupta | 2017-12-22 | 1 | -0/+6 |
| | |||||
* | eiscat: Move JESD init and ADC reset to its own function | Martin Braun | 2017-12-22 | 1 | -29/+37 |
| | |||||
* | eiscat: JESD failure does no longer throw; returns failure | Martin Braun | 2017-12-22 | 1 | -2/+2 |
| | |||||
* | eiscat: Unset initialized-flag when ref clock freq is changed | Martin Braun | 2017-12-22 | 1 | -3/+4 |
| | |||||
* | eiscat: Minor logging update for clock sync | Martin Braun | 2017-12-22 | 1 | -0/+4 |
| | |||||
* | eiscat: Skip re-initialization of dboards | Martin Braun | 2017-12-22 | 1 | -1/+16 |
| | |||||
* | EISCAT: Hard reset ADCs before init, fixed interleaving engine | Daniel Jepson | 2017-12-22 | 1 | -5/+15 |
| | |||||
* | mpm/mpmd: Call init() during UHD session init, not on hwd spawn | Martin Braun | 2017-12-22 | 2 | -7/+23 |
| | |||||
* | eiscat: Made more functions return status values instead of None/void | Martin Braun | 2017-12-22 | 1 | -0/+2 |
| | |||||
* | mpm: Removed gratuitous encode(), safer udev lookups | Martin Braun | 2017-12-22 | 1 | -2/+2 |
| | | | | | - Udev lookups now just return empty lists when they can't find anything - Made SPI dev interface factory Py2/3 safe | ||||
* | mpm: Made code Python3-compatible | Martin Braun | 2017-12-22 | 5 | -2/+10 |
| | |||||
* | mpm: Replaced xrange with range for better Python future-proofing | Martin Braun | 2017-12-22 | 2 | -2/+2 |
| | |||||
* | eiscat/mpm: Moved EISCAT full init sequence to UHD | Martin Braun | 2017-12-22 | 1 | -2/+5 |
| | |||||
* | mpm/eiscat: Updated bringup procedure for dual-synched dboards | Daniel Jepson | 2017-12-22 | 1 | -146/+228 |
| | |||||
* | mpm/eiscat: Updates to LMK04828 driver | Daniel Jepson | 2017-12-22 | 1 | -35/+52 |
| | |||||
* | mpm/EISCAT: Renamed UIO udev labels, enabled spidevs on both dboards | Martin Braun | 2017-12-22 | 1 | -1/+4 |
| | | | | The UIO labels will require an update to the device tree overlay file. | ||||
* | mpm: Made overlay selection a static method for more flexibility | Martin Braun | 2017-12-22 | 2 | -7/+27 |
| | |||||
* | mpm: Added auto-loading of dboard-specific overlays | Martin Braun | 2017-12-22 | 2 | -0/+7 |
| | |||||
* | mpm: Factored out common LMK04828 code | Martin Braun | 2017-12-22 | 2 | -55/+8 |
| |