diff options
Diffstat (limited to 'mpm/python/usrp_mpm/periph_manager/base.py')
-rw-r--r-- | mpm/python/usrp_mpm/periph_manager/base.py | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/mpm/python/usrp_mpm/periph_manager/base.py b/mpm/python/usrp_mpm/periph_manager/base.py index 72066b9ef..dc52b3a1b 100644 --- a/mpm/python/usrp_mpm/periph_manager/base.py +++ b/mpm/python/usrp_mpm/periph_manager/base.py @@ -174,7 +174,7 @@ class PeriphManagerBase(object): ) self.log.trace("Found EEPROM metadata: `{}'".format(str(self._eeprom_head))) self.log.trace("Read {} bytes of EEPROM data.".format(len(self._eeprom_rawdata))) - for key in ('pid', 'serial', 'rev'): + for key in ('pid', 'serial', 'rev', 'eeprom_version'): # In C++, we can only handle dicts if all the values are of the # same type. So we must convert them all to strings here: try: @@ -464,6 +464,9 @@ class PeriphManagerBase(object): xbar_file.write(laddr_value) return True + ########################################################################## + # Mboard Sensors + ########################################################################## def get_mb_sensors(self): """ Return a list of sensor names. @@ -499,3 +502,24 @@ class PeriphManagerBase(object): self, self.mboard_sensor_callback_map.get(sensor_name) )() + ########################################################################## + # EEPROMS + ########################################################################## + def get_mb_eeprom(self): + """ + Return a dictionary with EEPROM contents + + All key/value pairs are string -> string + """ + return {k: str(v) for k, v in iteritems(self._eeprom_head)} + + def set_mb_eeprom(self, eeprom_vals): + """ + eeprom_vals is a dictionary (string -> string) + + By default, we do nothing. Writing EEPROMs is highly device specific + and is thus defined in the individual device classes. + """ + self.log.warn("Called set_mb_eeprom(), but not implemented!") + raise NotImplementedError + |