From a40edafad137e1ad5e5610a6bca983c212ed7d48 Mon Sep 17 00:00:00 2001 From: Arnaud Watlet <arnaud.watlet@umons.ac.be> Date: Wed, 29 Nov 2023 15:02:38 +0100 Subject: [PATCH] Enables previous roles formatting in config --- ohmpi/hardware_components/mux_2023_0_X.py | 7 +++++-- ohmpi/hardware_components/mux_2024_0_X.py | 3 +++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ohmpi/hardware_components/mux_2023_0_X.py b/ohmpi/hardware_components/mux_2023_0_X.py index df4bd14d..9bfdeb5d 100644 --- a/ohmpi/hardware_components/mux_2023_0_X.py +++ b/ohmpi/hardware_components/mux_2023_0_X.py @@ -74,10 +74,13 @@ class Mux(MuxAbstract): assert isinstance(self.connection, I2C) self.exec_logger.debug(f'configuration: {kwargs}') roles = kwargs.pop('roles', None) - if isinstance(roles, str): - roles = [roles] + if roles is None: roles = ['A'] # NOTE: defaults to 1-role + elif isinstance(roles, str): + roles = [roles] + if isinstance(roles,dict): # roles if config are already formatted as {'A':'X'} + self._roles = roles else: self._roles = {roles[0]:'X'} if np.alltrue([j in self._roles.values() for j in set([i[1] for i in list(inner_cabling['1_role'].keys())])]): diff --git a/ohmpi/hardware_components/mux_2024_0_X.py b/ohmpi/hardware_components/mux_2024_0_X.py index 1da3a6cf..fe14eaec 100644 --- a/ohmpi/hardware_components/mux_2024_0_X.py +++ b/ohmpi/hardware_components/mux_2024_0_X.py @@ -74,6 +74,9 @@ class Mux(MuxAbstract): roles = ['A', 'B', 'M', 'N'] # NOTE: defaults to 4-roles else: roles_board = ['X', 'Y', 'XX', 'YY'] + if isinstance(roles,dict): # roles if config are already formatted as {'A':'X', 'B':'Y',...} + self._roles = roles + else: self._roles = {roles[i]: roles_board[i] for i in range(len(roles))} if np.all([j in self._roles.values() for j in set([i[1] for i in list(inner_cabling['4_roles'].keys())])]): self._mode = '4_roles' -- GitLab