aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/python/usrp_mpm
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2018-03-01 11:59:52 -0800
committerMartin Braun <martin.braun@ettus.com>2018-03-02 13:48:14 -0800
commitd15044982206030b8ecb104c37073cb6292e819e (patch)
tree1e0a76662e4768a64194c2c885d7e2ac4eb17bbd /mpm/python/usrp_mpm
parentd04b6e3a62e2ad213ef3ac8ce80649d1932a6e04 (diff)
downloaduhd-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/usrp_mpm')
-rw-r--r--mpm/python/usrp_mpm/periph_manager/base.py7
-rw-r--r--mpm/python/usrp_mpm/periph_manager/n310.py8
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