From a7349432e121c1d21bde5d06cccd797f8b6231bb Mon Sep 17 00:00:00 2001 From: su530201 <olivier.kaufmann@umons.ac.be> Date: Thu, 27 Apr 2023 09:15:46 +0200 Subject: [PATCH] Checks mux_2024_rev_0_0 reset --- hardware_components/mux_2024_rev_0_0.py | 24 +++++------------------- test_mux_2024.py | 3 ++- 2 files changed, 7 insertions(+), 20 deletions(-) diff --git a/hardware_components/mux_2024_rev_0_0.py b/hardware_components/mux_2024_rev_0_0.py index 866db231..c7d92744 100644 --- a/hardware_components/mux_2024_rev_0_0.py +++ b/hardware_components/mux_2024_rev_0_0.py @@ -95,14 +95,13 @@ class Mux(MuxAbstract): self._tca = self.controller.bus else: self._tca = adafruit_tca9548a.TCA9548A(self.controller.bus, tca_address)[tca_channel] - self._mcp = [0, 0] - self._mcp[0] = MCP23017(self._tca, address=int(kwargs.pop('mcp_0', '0x22'), 16)) # TODO add assert on valid addresses.. - self._mcp[1] = MCP23017(self._tca, address=int(kwargs.pop('mcp_1', '0x23'), 16)) + self._mcp_addresses = (kwargs.pop('mcp_0', '0x22'), kwargs.pop('mcp_1', '0x23')) # TODO add assert on valid addresses.. + self._mcp = (None, None) + self.reset() if self.addresses is None: self._get_addresses() self.exec_logger.debug(f'addresses: {self.addresses}') - def _get_addresses(self): d = inner_cabling[self._mode] self.addresses = {} @@ -110,22 +109,9 @@ class Mux(MuxAbstract): self.addresses.update({(k[0], self._roles[k[1]]): v}) print(f'addresses: {self.addresses}') - # def _get_addresses(self, addresses_file): TODO : delete me - # self.exec_logger.debug('Getting addresses...') - # with open(addresses_file, 'r') as f: - # x = json.load(f) - # - # self.addresses = {} - # for k, v in x.items(): - # y = k.strip('(').strip(')').split(', ') - # if v['TCA_address'] is not None: - # v['TCA_address'] = int(v['TCA_address'], 16) - # if v['MCP_address'] is not None: - # v['MCP_address'] = int(x[k]['MCP_address'], 16) - # self.addresses.update({(int(y[0]), y[1]): v}) - def reset(self): - pass + self._mcp[0] = MCP23017(self._tca, address=int(self._mcp_addresses[0], 16)) + self._mcp[1] = MCP23017(self._tca, address=int(self._mcp_addresses[0], 16)) def switch_one(self, elec=None, role=None, state=None): MuxAbstract.switch_one(self, elec=elec, role=role, state=state) diff --git a/test_mux_2024.py b/test_mux_2024.py index 7de578c9..e9b2e182 100644 --- a/test_mux_2024.py +++ b/test_mux_2024.py @@ -11,6 +11,7 @@ time.sleep(2) mux.switch_one(elec=1, role='M', state='off') mux.switch({'A': [1], 'B': [4], 'M': [2], 'N': [3]}, state='on') time.sleep(8) -mux.switch({'A': [1], 'B': [4], 'M': [2], 'N': [3]}, state='off') +#mux.switch({'A': [1], 'B': [4], 'M': [2], 'N': [3]}, state='off') +mux.reset() # mux.test({'A': [1, 2, 3, 4], 'B': [4, 5, 6, 7], 'M': [2, 3, 4, 5], 'N': [3, 4, 5, 6]}) change_config('config_default.py', verbose=False) -- GitLab