Commit a40edafa authored by Arnaud WATLET's avatar Arnaud WATLET
Browse files

Enables previous roles formatting in config

Showing with 8 additions and 2 deletions
+8 -2
......@@ -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())])]):
......
......@@ -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'
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment