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 | 
