aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/python/usrp_mpm/periph_manager
diff options
context:
space:
mode:
Diffstat (limited to 'mpm/python/usrp_mpm/periph_manager')
-rw-r--r--mpm/python/usrp_mpm/periph_manager/base.py18
-rw-r--r--mpm/python/usrp_mpm/periph_manager/n310.py10
2 files changed, 27 insertions, 1 deletions
diff --git a/mpm/python/usrp_mpm/periph_manager/base.py b/mpm/python/usrp_mpm/periph_manager/base.py
index 303f7e805..69a20c369 100644
--- a/mpm/python/usrp_mpm/periph_manager/base.py
+++ b/mpm/python/usrp_mpm/periph_manager/base.py
@@ -407,13 +407,29 @@ class PeriphManagerBase(object):
@no_rpc
def get_device_info(self):
"""
- return the mboard_info dict and add a claimed field
+ Return the mboard_info dict and add a claimed field.
+
+ Will also call into get_device_info_dyn() for additional information.
+ Don't override this function.
"""
result = {"claimed": str(self.claimed)}
result.update(self.mboard_info)
+ result.update(self.get_device_info_dyn())
return result
@no_rpc
+ def get_device_info_dyn(self):
+ """
+ "Dynamic" device info getter. When get_device_info() is called, it
+ will also call into this function to see if there is 'dynamic' info
+ that needs to be returned. The reason to split up these functions is
+ because we don't want anyone to override get_device_info(), but we do
+ want periph managers to be able to inject custom device info data.
+ """
+ self.log.trace("Called get_device_info_dyn(), but not implemented.")
+ return {}
+
+ @no_rpc
def set_connection_type(self, conn_type):
"""
Specify how the RPC client has connected to this MPM instance. Valid
diff --git a/mpm/python/usrp_mpm/periph_manager/n310.py b/mpm/python/usrp_mpm/periph_manager/n310.py
index 899710475..be18228a1 100644
--- a/mpm/python/usrp_mpm/periph_manager/n310.py
+++ b/mpm/python/usrp_mpm/periph_manager/n310.py
@@ -689,6 +689,16 @@ class n310(PeriphManagerBase):
return self._xport_mgrs['liberio'].commit_xport(sid, xport_info)
###########################################################################
+ # Device info
+ ###########################################################################
+ def get_device_info_dyn(self):
+ """
+ Append the device info with current IP addresses.
+ """
+ return self._xport_mgrs['udp'].get_xport_info() \
+ if self._device_initialized else {}
+
+ ###########################################################################
# Clock/Time API
###########################################################################
def get_clock_sources(self):