diff options
Diffstat (limited to 'mpm/python/usrp_mpm/periph_manager')
-rw-r--r-- | mpm/python/usrp_mpm/periph_manager/base.py | 18 | ||||
-rw-r--r-- | mpm/python/usrp_mpm/periph_manager/n310.py | 10 |
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): |