aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/python/usrp_mpm/periph_manager/base.py
Commit message (Collapse)AuthorAgeFilesLines
* mpm: Harmonize all license headerMartin Braun2017-12-221-13/+2
| | | | Now uses SPDX headers everywhere.
* mpm: UIOs now open only when necessaryBrent Stapleton2017-12-221-0/+4
| | | | | | | Refactoring to use the C++-based UIO objects. The Liberio and Ethernet objects now open the UIO before using it, and close it once done. Reviewed-By: Martin Braun <martin.braun@ettus.com>
* mpm: Harmonize imports, tidy + sort modulesMartin Braun2017-12-221-6/+6
| | | | | | | | - Moved nijesdcore to cores/ - Moved udev, net, dtoverlay, uio to sys_utils/ - Made all imports non-relative (except in __init__.py files) - Removed some unnecessary imports - Reordered some imports for Python conventions
* mpm: Factor out xport managers as own objectsMartin Braun2017-12-221-5/+0
| | | | | | - Move XportMgr classes out of n310.py - Subclass them there and apply N310-specific settings - Remove chdr_interfaces option from PeriphManagerBase
* mpm: Reset periph manager on updateBrent Stapleton2017-12-221-1/+7
| | | | | | | | | | Upon updating certain components (the FPGA, for example), the Peripheral Manager is restarted, and the overlay is reapplied. In order to facilitate this, the RPC server intercepts and handles the update_component function. Tested on the RJ45 ethernet connection. It probably won't work as well if the SFP connection goes down when the overlay is removed.
* mpm: PeriphManager decides and applies overlayBrent Stapleton2017-12-221-15/+0
| | | | | | | Previously, the daughterboard requested an overlay file based on SFP preference using magic values. This commit moves the decision making to the peripheral manager, which uses our singular name (ie 'n3xx' for the N310).
* fpga load: Atomic updating of multiple componentsBrent Stapleton2017-12-221-40/+29
| | | | | | | - The MPM function update_component now accepts multiple components to be updated in one RPC call. - Updated the property tree and image loader to match this change. - Also added DTS loading to the image loader.
* 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: Made PeriphManagerBase.__init__ more exception-safeMartin Braun2017-12-221-4/+13
|
* mpm/mpmd: Move to request_xport()/commit_xport() architectureMartin Braun2017-12-221-20/+68
| | | | | 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: Cache connection type in PeriphManagerBaseMartin Braun2017-12-221-0/+13
| | | | | | 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: Remove leading _ from _get_device_info()Martin Braun2017-12-221-1/+2
| | | | Use @norpc instead. This fixes some linting issues.
* mpm: Make list_updateable_components return somethingMartin Braun2017-12-221-2/+1
|
* fpga load: add update_component function to MPMBrent Stapleton2017-12-221-0/+68
| | | | | | | | -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-221-8/+2
|
* 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: Add mboard EEPROM supportMartin Braun2017-12-221-1/+25
| | | | | | MPMD binds a property for the mboard EEPROM to the appropriate RPC calls. PeriphManager now provides default implementations for an mboard EEPROM.
* mpm: Added sensor APIMartin Braun2017-12-221-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: Added max rev check overridableMartin Braun2017-12-221-5/+29
| | | | | | When reading revision numbers from EEPROM, we now have an easy way of checking of our version MPM is sufficient to run on the current device. N310 implicitly makes use of this starting with this commit.
* mpm: Overlay handling functions use dtoverlay moduleMartin Braun2017-12-221-10/+8
|
* mpm/n310: Moved eth dispatcher setup into __init__Martin Braun2017-12-221-7/+6
|
* n310: Allow --override-db-pids to skip dbsMartin Braun2017-12-221-0/+5
|
* mpm/mpmd: Dboard info is now stored in mboard info; refactored initializationMartin Braun2017-12-221-6/+4
|
* mpmd/mpm/n310: Added clock and time source APIsMartin Braun2017-12-221-2/+4
|
* mpm/mpmd: Call init() during UHD session init, not on hwd spawnMartin Braun2017-12-221-2/+7
|
* mpm: Addition Py3k fixes, all related to string/UTF-8/ascii differencesMartin Braun2017-12-221-1/+8
| | | | - Also fixed some error handling in various cases
* mpm/mpmd: Further improvements on multi-device operationsMartin Braun2017-12-221-3/+23
| | | | | | | - Crossbar local addr is now written during initialization of UHD session - Support for multiple crossbars per device (at least on UHD side) - Crossbars are now sequentially given a unique address
* mpm: Made code Python3-compatibleMartin Braun2017-12-221-3/+6
|
* mpm/mpmd: Crossbar info is now polled instead of hardcodedMartin Braun2017-12-221-0/+32
| | | | - Extended base periph manager to provide crossbar info
* mpm: Factored out eeprom code into its own moduleMartin Braun2017-12-221-127/+8
|
* mpm: motherboards can now also request overlays, dboard overlay code ↵Martin Braun2017-12-221-10/+41
| | | | slightly refactored
* mpm: Made overlay selection a static method for more flexibilityMartin Braun2017-12-221-4/+8
|
* mpm: dt overlay handling: Better error handling, fewer FIXMEsMartin Braun2017-12-221-10/+10
|
* mpm: Added auto-loading of dboard-specific overlaysMartin Braun2017-12-221-2/+7
|
* mpm: Better handling of case where no CHDR interfaces are availableMartin Braun2017-12-221-1/+4
|
* mpm: periphs and n310 use eth table dispatcher nowMartin Braun2017-12-221-11/+30
|
* mpm: SIDs are returned to pool after device is uninitializedMartin Braun2017-12-221-12/+5
|
* mpm: Guaranteed stringification of mboard_info valuesMartin Braun2017-12-221-1/+3
|
* mpm: Moved device and dboard init/deinit to their own methodsMartin Braun2017-12-221-13/+28
| | | | Also cleaned up some cruft.
* mpm: Added command line args to usrp_hwd.pyMartin Braun2017-12-221-4/+3
|
* mpm: Enabled mboard EEPROM readoutMartin Braun2017-12-221-39/+309
|
* mpm: Fixed python import in discovery moduleMartin Braun2017-12-221-1/+1
|
* mpm: Various EISCAT fixesMartin Braun2017-12-221-1/+1
|
* mg: bring up linksMark Meserve2017-12-221-1/+1
|
* mpm: Updating ref clock frequency will propagate to dboard, changed slot ↵Martin Braun2017-12-221-3/+2
| | | | indexing to numbers
* mpm: eiscat: Added first pass at EISCAT dboard driverMartin Braun2017-12-221-1/+1
|
* mpm: Improved udev identification of SPI device nodesMartin Braun2017-12-221-2/+2
|
* mpm: Moved over to new logging infrastructureMartin Braun2017-12-221-15/+32
| | | | Also currently hardcodes some settings.
* mpm: comment out functionality to make it workAndrej Rode2017-12-221-5/+7
| | | | | | | | - add uio udev find routine - add debug prints Signed-off-by: Andrej Rode <andrej.rode@ettus.com> Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>