aboutsummaryrefslogtreecommitdiffstats
path: root/mpm
diff options
context:
space:
mode:
Diffstat (limited to 'mpm')
-rw-r--r--mpm/python/usrp_mpm/dboard_manager/base.py6
-rw-r--r--mpm/python/usrp_mpm/periph_manager/base.py26
2 files changed, 28 insertions, 4 deletions
diff --git a/mpm/python/usrp_mpm/dboard_manager/base.py b/mpm/python/usrp_mpm/dboard_manager/base.py
index b87033860..cf3510abf 100644
--- a/mpm/python/usrp_mpm/dboard_manager/base.py
+++ b/mpm/python/usrp_mpm/dboard_manager/base.py
@@ -134,8 +134,8 @@ class DboardManagerBase(object):
format.
"""
callback_map = \
- rx_sensor_callback_map if direction.lower() == 'rx' \
- else tx_sensor_callback_map
+ self.rx_sensor_callback_map if direction.lower() == 'rx' \
+ else self.tx_sensor_callback_map
if sensor_name not in callback_map:
error_msg = "Was asked for non-existent sensor `{}'.".format(
sensor_name
@@ -143,6 +143,6 @@ class DboardManagerBase(object):
self.log.error(error_msg)
raise RuntimeError(error_msg)
return getattr(
- self, self.callback_map.get('sensor_name')
+ self, callback_map.get('sensor_name')
)()
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
+