diff options
author | Martin Braun <martin.braun@ettus.com> | 2017-05-23 16:23:42 -0700 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2017-12-22 15:03:53 -0800 |
commit | 7c9b8019063eee06d090bc0e3c26d340c3f1d9a8 (patch) | |
tree | 5db665348ef415f9601d2487d485bd0d6628dc0c /mpm/python/usrp_mpm/dboard_manager | |
parent | 5926f1b9d9f67856dac2849e9ce9961220e4e0c1 (diff) | |
download | uhd-7c9b8019063eee06d090bc0e3c26d340c3f1d9a8.tar.gz uhd-7c9b8019063eee06d090bc0e3c26d340c3f1d9a8.tar.bz2 uhd-7c9b8019063eee06d090bc0e3c26d340c3f1d9a8.zip |
mpm: Made overlay selection a static method for more flexibility
Diffstat (limited to 'mpm/python/usrp_mpm/dboard_manager')
-rw-r--r-- | mpm/python/usrp_mpm/dboard_manager/base.py | 19 | ||||
-rw-r--r-- | mpm/python/usrp_mpm/dboard_manager/eiscat.py | 15 |
2 files changed, 27 insertions, 7 deletions
diff --git a/mpm/python/usrp_mpm/dboard_manager/base.py b/mpm/python/usrp_mpm/dboard_manager/base.py index e16906cb4..cc18292c1 100644 --- a/mpm/python/usrp_mpm/dboard_manager/base.py +++ b/mpm/python/usrp_mpm/dboard_manager/base.py @@ -38,12 +38,19 @@ class DboardManagerBase(object): # maps these keys to actual spidev paths. Also throws a warning/error if # the SPI configuration is invalid. spi_chipselect = {} - # Lists device tree overlays that need to be applied before this class can - # be used. List of strings. If strings contain the token {sfp}, it will be - # expanded to the flavour of SFP configuration is (XG, 1G, ...). - # Example: 'magnesium-{sfp}' could get expanded to 'eiscat-XG'. - # Are applied in order. - dt_overlays = [] + @staticmethod + def list_required_dt_overlays(eeprom_md, sfp_config, device_args): + """ + Lists device tree overlays that need to be applied before this class can + be used. List of strings. + Are applied in order. + + eeprom_md -- Dictionary of info read out from the dboard EEPROM + sfp_config -- A string identifying the configuration of the SFP ports. + Example: "XG", "HG", "XA", ... + device_args -- Arbitrary dictionary of info, typically user-defined + """ + return [] def __init__(self, slot_idx, **kwargs): self.log = get_logger('dboardManager') diff --git a/mpm/python/usrp_mpm/dboard_manager/eiscat.py b/mpm/python/usrp_mpm/dboard_manager/eiscat.py index c0a5e2fb1..78dae0c1f 100644 --- a/mpm/python/usrp_mpm/dboard_manager/eiscat.py +++ b/mpm/python/usrp_mpm/dboard_manager/eiscat.py @@ -366,7 +366,20 @@ class EISCAT(DboardManagerBase): "adc1": create_spidev_iface_sane, "phase_dac": create_spidev_iface_phasedac, } - dt_overlays = ['eiscat-{sfp}'] + + @staticmethod + def list_required_dt_overlays(eeprom_md, sfp_config, device_args): + """ + Lists device tree overlays that need to be applied before this class can + be used. List of strings. + Are applied in order. + + eeprom_md -- Dictionary of info read out from the dboard EEPROM + sfp_config -- A string identifying the configuration of the SFP ports. + Example: "XG", "HG", "XA", ... + device_args -- Arbitrary dictionary of info, typically user-defined + """ + return ['eiscat-{sfp}'.format(sfp=sfp_config)] def __init__(self, slot_idx, **kwargs): super(EISCAT, self).__init__(slot_idx, **kwargs) |