diff options
author | Martin Braun <martin.braun@ettus.com> | 2022-07-04 14:33:51 +0200 |
---|---|---|
committer | skooNI <60897865+skooNI@users.noreply.github.com> | 2022-07-20 15:57:20 -0500 |
commit | 54990c55f8ca4568c3281325636f15d02bb31f3f (patch) | |
tree | e2b5d06fd327ba21ead9ebf5ae54094898c45b21 /mpm/python/usrp_mpm/periph_manager/x4xx.py | |
parent | 807e19c107fcc316988b8f58a16a5b5613d3354f (diff) | |
download | uhd-54990c55f8ca4568c3281325636f15d02bb31f3f.tar.gz uhd-54990c55f8ca4568c3281325636f15d02bb31f3f.tar.bz2 uhd-54990c55f8ca4568c3281325636f15d02bb31f3f.zip |
mpm: Factor out transport API into PeriphManagerBase
All MPM devices use identical implementations of the transport API.
Minor differences between the actual lines of code in the various
transport adapters are due to minor optimizations, such as hard-coding
'udp' as the only valid transport type for the N3xx series.
This change moves the implementation of the transport API calls
(get_chdr_link_options() and get_chdr_link_types()) into
PeriphManagerBase. The class attributes _xport_adapter_mgrs is also
declared in that class, but defining them is left up to the individual
device implementations.
Diffstat (limited to 'mpm/python/usrp_mpm/periph_manager/x4xx.py')
-rw-r--r-- | mpm/python/usrp_mpm/periph_manager/x4xx.py | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/mpm/python/usrp_mpm/periph_manager/x4xx.py b/mpm/python/usrp_mpm/periph_manager/x4xx.py index fdebaeb3c..8f364b0ef 100644 --- a/mpm/python/usrp_mpm/periph_manager/x4xx.py +++ b/mpm/python/usrp_mpm/periph_manager/x4xx.py @@ -664,8 +664,6 @@ class x4xx(ZynqComponents, PeriphManagerBase): args.get('trig_direction', X400_DEFAULT_TRIG_DIRECTION) ) - for xport_mgr in self._xport_mgrs.values(): - xport_mgr.init(args) return result def deinit(self): @@ -685,8 +683,6 @@ class x4xx(ZynqComponents, PeriphManagerBase): self.set_sync_source(source) super(x4xx, self).deinit() self.ctrlport_regs.deinit() - for xport_mgr in self._xport_mgrs.values(): - xport_mgr.deinit() def tear_down(self): """ @@ -714,39 +710,6 @@ class x4xx(ZynqComponents, PeriphManagerBase): )) for overlay in active_overlays: dtoverlay.rm_overlay(overlay) - - ########################################################################### - # Transport API - ########################################################################### - def get_chdr_link_types(self): - """ - Return a list of ways how UHD can connect to the X4xx. See - PeriphManagerBase.get_chdr_link_types() for more docs. - """ - return list(self._xport_mgrs.keys()) - - def get_chdr_link_options(self, xport_type): - """ - Returns a list of dictionaries. Every dictionary contains information - about one way to connect to this device in order to initiate CHDR - traffic. - - The interpretation of the return value is very highly dependant on the - transport type (xport_type). - For UDP, the every entry of the list has the following keys: - - ipv4 (IP Address) - - port (UDP port) - - link_rate (bps of the link, e.g. 10e9 for 10GigE) - """ - if xport_type not in self._xport_mgrs: - self.log.warning("Can't get link options for unknown link type: `{}'.") - return [] - if xport_type == "udp": - return self._xport_mgrs[xport_type].get_chdr_link_options( - self.mboard_info['rpc_connection']) - # else: - return self._xport_mgrs[xport_type].get_chdr_link_options() - ########################################################################### # Device info ########################################################################### |