From ec429d818db566a8444e7aa095fa940a6045f0d7 Mon Sep 17 00:00:00 2001 From: Arnaud Watlet <arnaud.watlet@umons.ac.be> Date: Fri, 1 Dec 2023 10:25:34 +0100 Subject: [PATCH] Updates components for tests --- ohmpi/hardware_components/mb_2023_0_X.py | 13 ++++++++++--- ohmpi/hardware_components/mb_2024_0_2.py | 3 ++- ohmpi/hardware_components/mux_2023_0_X.py | 3 +++ ohmpi/hardware_components/mux_2024_0_X.py | 3 +++ 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/ohmpi/hardware_components/mb_2023_0_X.py b/ohmpi/hardware_components/mb_2023_0_X.py index 4fe1c0b6..5aba8e17 100644 --- a/ohmpi/hardware_components/mb_2023_0_X.py +++ b/ohmpi/hardware_components/mb_2023_0_X.py @@ -88,13 +88,14 @@ class Tx(TxAbstract): self.current_adjustable = False # I2C connexion to MCP23008, for current injection - self.mcp_board = MCP23008(self.connection, address=kwargs['mcp_address']) + self._mcp_address = kwargs['mcp_address'] + self.reset_mcp() # ADS1115 for current measurement (AB) self._ads_current_address = kwargs['ads_address'] self._ads_current_data_rate = kwargs['data_rate'] self._adc_gain = 2 / 3 - self._ads_current = ads.ADS1115(self.connection, gain=self._adc_gain, data_rate=self._ads_current_data_rate, - address=self._ads_current_address) + self.reset_ads() + self._ads_current.mode = Mode.CONTINUOUS self._r_shunt = kwargs['r_shunt'] self.adc_voltage_min = kwargs['adc_voltage_min'] @@ -182,6 +183,12 @@ class Tx(TxAbstract): # def turn_on(self): # self.pwr.turn_on(self) + def reset_ads(self): + self._ads_current = ads.ADS1115(self.connection, gain=self._adc_gain, data_rate=self._ads_current_data_rate, + address=self._ads_current_address) + def reset_mcp(self): + self.mcp_board = MCP23008(self.connection, address=self._mcp_address) + @property def tx_bat(self): if np.isnan(self.pwr.battery_voltage): diff --git a/ohmpi/hardware_components/mb_2024_0_2.py b/ohmpi/hardware_components/mb_2024_0_2.py index 99f38833..ae7f8198 100644 --- a/ohmpi/hardware_components/mb_2024_0_2.py +++ b/ohmpi/hardware_components/mb_2024_0_2.py @@ -142,7 +142,8 @@ class Rx(Rx_mb_2023): if not subclass_init: self.exec_logger.event(f'{self.model}\trx_init\tbegin\t{datetime.datetime.utcnow()}') # I2C connection to MCP23008, for voltage - self.mcp_board = MCP23008(self.connection, address=kwargs['mcp_address']) + # self.mcp_board = MCP23008(self.connection, address=kwargs['mcp_address']) + # self.reset_mcp() # ADS1115 for voltage measurement (MN) self._coef_p2 = 1. # Define default DG411 gain diff --git a/ohmpi/hardware_components/mux_2023_0_X.py b/ohmpi/hardware_components/mux_2023_0_X.py index 960caa5e..fa3ec370 100644 --- a/ohmpi/hardware_components/mux_2023_0_X.py +++ b/ohmpi/hardware_components/mux_2023_0_X.py @@ -126,6 +126,9 @@ class Mux(MuxAbstract): self._mcp[2] = MCP23017(self._tca[2]) self._mcp[3] = MCP23017(self._tca[3]) + def reset_one(self, which=0): + self._mcp[which] = MCP23017(self._tca[which]) + def switch_one(self, elec=None, role=None, state=None): MuxAbstract.switch_one(self, elec=elec, role=role, state=state) diff --git a/ohmpi/hardware_components/mux_2024_0_X.py b/ohmpi/hardware_components/mux_2024_0_X.py index b6e11bd8..b11c324e 100644 --- a/ohmpi/hardware_components/mux_2024_0_X.py +++ b/ohmpi/hardware_components/mux_2024_0_X.py @@ -152,6 +152,9 @@ class Mux(MuxAbstract): self._mcp[0] = MCP23017(self._tca, address=int(self._mcp_addresses[0], 16)) self._mcp[1] = MCP23017(self._tca, address=int(self._mcp_addresses[1], 16)) + def reset_one(self, which=0): + self._mcp[which] = MCP23017(self._tca, address=int(self._mcp_addresses[which], 16)) + def switch_one(self, elec=None, role=None, state=None): MuxAbstract.switch_one(self, elec=elec, role=role, state=state) def activate_relay(mcp, mcp_pin, value=True): -- GitLab