diff options
author | Martin Braun <martin.braun@ettus.com> | 2018-03-01 11:59:52 -0800 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2018-03-02 13:48:14 -0800 |
commit | d15044982206030b8ecb104c37073cb6292e819e (patch) | |
tree | 1e0a76662e4768a64194c2c885d7e2ac4eb17bbd /mpm/python | |
parent | d04b6e3a62e2ad213ef3ac8ce80649d1932a6e04 (diff) | |
download | uhd-d15044982206030b8ecb104c37073cb6292e819e.tar.gz uhd-d15044982206030b8ecb104c37073cb6292e819e.tar.bz2 uhd-d15044982206030b8ecb104c37073cb6292e819e.zip |
n310: Make MPM report FPGA version and description, UHD read it
The FPGA and MPM version as well as the description of the device
("N300-Series Device") and its name (its the hostname) are now properly
reported coming from MPM, properly saved in the prop tree, and
uhd_usrp_probe can nicely display them this way.
Diffstat (limited to 'mpm/python')
-rw-r--r-- | mpm/python/usrp_mpm/periph_manager/base.py | 7 | ||||
-rw-r--r-- | mpm/python/usrp_mpm/periph_manager/n310.py | 8 |
2 files changed, 14 insertions, 1 deletions
diff --git a/mpm/python/usrp_mpm/periph_manager/base.py b/mpm/python/usrp_mpm/periph_manager/base.py index 9d9a293a2..079635bb1 100644 --- a/mpm/python/usrp_mpm/periph_manager/base.py +++ b/mpm/python/usrp_mpm/periph_manager/base.py @@ -20,6 +20,7 @@ from usrp_mpm.mpmlog import get_logger from usrp_mpm.sys_utils.udev import get_eeprom_paths from usrp_mpm.sys_utils.udev import get_spidev_nodes from usrp_mpm.sys_utils import dtoverlay +from usrp_mpm.sys_utils import net from usrp_mpm import eeprom from usrp_mpm.rpc_server import no_claim, no_rpc from usrp_mpm import prefs @@ -54,6 +55,8 @@ class PeriphManagerBase(object): # Very important: A list of PIDs that apply to the current device. Must be # list, even if there's only one entry. pids = [] + # A textual description of this device type + description = "MPM Device" # Address of the motherboard EEPROM. This could be something like # "e0005000.i2c". This value will be passed to get_eeprom_paths() tos # determine a full path to an EEPROM device. @@ -447,6 +450,10 @@ class PeriphManagerBase(object): """ result = {"claimed": str(self.claimed)} result.update(self.mboard_info) + result.update({ + 'name': net.get_hostname(), + 'description': self.description, + }) result.update(self.get_device_info_dyn()) return result diff --git a/mpm/python/usrp_mpm/periph_manager/n310.py b/mpm/python/usrp_mpm/periph_manager/n310.py index 07e432278..c491cf472 100644 --- a/mpm/python/usrp_mpm/periph_manager/n310.py +++ b/mpm/python/usrp_mpm/periph_manager/n310.py @@ -456,6 +456,7 @@ class n310(PeriphManagerBase): # See PeriphManagerBase for documentation on these fields ######################################################################### pids = [0x4242,] + description = "N300-Series Device" mboard_eeprom_addr = "e0005000.i2c" mboard_eeprom_max_len = 256 mboard_info = {"type": "n3xx", @@ -782,8 +783,13 @@ class n310(PeriphManagerBase): """ Append the device info with current IP addresses. """ - return self._xport_mgrs['udp'].get_xport_info() \ + device_info = self._xport_mgrs['udp'].get_xport_info() \ if self._device_initialized else {} + device_info.update({ + 'fpga_version': "{}.{}".format( + *self.mboard_regs_control.get_compat_number()) + }) + return device_info ########################################################################### # Clock/Time API |