From e24ce94e248d312050e9e606bf907a7b9ca719b2 Mon Sep 17 00:00:00 2001 From: su530201 <olivier.kaufmann@umons.ac.be> Date: Tue, 26 Sep 2023 16:02:13 +0200 Subject: [PATCH] Updates hardware_sytem to handle MUX_CONFIG --- ohmpi/hardware_system.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/ohmpi/hardware_system.py b/ohmpi/hardware_system.py index 505d59d5..edd3b8a9 100644 --- a/ohmpi/hardware_system.py +++ b/ohmpi/hardware_system.py @@ -20,14 +20,13 @@ ctl_module = importlib.import_module(f'ohmpi.hardware_components.{HARDWARE_CONFI pwr_module = importlib.import_module(f'ohmpi.hardware_components.{HARDWARE_CONFIG["pwr"]["model"]}') tx_module = importlib.import_module(f'ohmpi.hardware_components.{HARDWARE_CONFIG["tx"]["model"]}') rx_module = importlib.import_module(f'ohmpi.hardware_components.{HARDWARE_CONFIG["rx"]["model"]}') -MUX_CONFIG = HARDWARE_CONFIG['mux'] -# for mux_id, mux_config in HARDWARE_CONFIG['mux']['boards'].items(): -# mux_module = importlib.import_module(f'ohmpi.hardware_components.{mux_config["model"]}') -# MUX_CONFIG[mux_id] = mux_module.MUX_CONFIG -# MUX_CONFIG[mux_id].update(mux_config) -# MUX_CONFIG[mux_id].update({'id': mux_id}) +MUX_DEFAULT = HARDWARE_CONFIG['mux']['default'] MUX_CONFIG = HARDWARE_CONFIG['mux']['boards'] +for k, v in HARDWARE_CONFIG.items(): + MUX_CONFIG[k].update({'id': k}) + for k2, v2 in MUX_DEFAULT.items(): + MUX_CONFIG[k].update({k2: MUX_CONFIG[k].pop(k2, v2)}) TX_CONFIG = tx_module.TX_CONFIG RX_CONFIG = rx_module.RX_CONFIG @@ -100,10 +99,10 @@ class OhmPiHardware: self.tx.pwr = self.pwr self._cabling = kwargs.pop('cabling', {}) self.mux_boards = {} - for mux_id, mux_config in HARDWARE_CONFIG['mux']['boards'].items(): + for mux_id, mux_config in MUX_CONFIG.items(): mux_config.update({'exec_logger': self.exec_logger, 'data_logger': self.data_logger, 'soh_logger': self.soh_logger}) - mux_config.update(**HARDWARE_CONFIG['mux']['boards'][mux_id]) + mux_config.update(**MUX_CONFIG[mux_id]) ctl = mux_config.pop({'ctl': self.ctl}) mux_module = importlib.import_module(f'ohmpi.hardware_components.{mux_config["model"]}') if isinstance(ctl, dict): ### TODO: is this needed? -- GitLab