From 8fa03aed4dfbead53b62c6388bb5fb4fded85640 Mon Sep 17 00:00:00 2001 From: su530201 <olivier.kaufmann@umons.ac.be> Date: Wed, 18 Oct 2023 22:13:06 +0200 Subject: [PATCH] Fixes bug in mb_2023 TX_init with adc_gain --- ohmpi/hardware_components/mb_2023_0_X.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/ohmpi/hardware_components/mb_2023_0_X.py b/ohmpi/hardware_components/mb_2023_0_X.py index f7c34e38..dff4eaa4 100644 --- a/ohmpi/hardware_components/mb_2023_0_X.py +++ b/ohmpi/hardware_components/mb_2023_0_X.py @@ -31,7 +31,7 @@ SPECS = {'rx': {'model': {'default': os.path.basename(__file__).rstrip('.py')}, 'mcp_address': {'default': 0x20}, 'ads_address': {'default': 0x48}, 'compatible_power_sources': {'default': ['pwr_batt', 'dps5005']}, - 'r_shunt': {'min': 0., 'default': 2. }, + 'r_shunt': {'min': 0., 'default': 2.}, 'activation_delay': {'default': 0.005}, # Max turn on time of 211EH relays = 5ms 'release_delay': {'default': 0.001}, # Max turn off time of 211EH relays = 1ms }} @@ -91,6 +91,7 @@ class Tx(TxAbstract): # 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._ads_current.mode = Mode.CONTINUOUS @@ -116,7 +117,7 @@ class Tx(TxAbstract): def gain(self, value): assert value in [2/3, 2, 4, 8, 16] self._adc_gain = value - self._ads_current = ads.ADS1115(self.connection, gain=self.adc_gain, + self._ads_current = ads.ADS1115(self.connection, gain=self._adc_gain, data_rate=SPECS['tx']['data_rate']['default'], address=self._ads_current_address) self._ads_current.mode = Mode.CONTINUOUS @@ -182,12 +183,12 @@ class Tx(TxAbstract): @property def tx_bat(self): - if np.isnan(self.tx.pwr.battery_voltage): + if np.isnan(self.pwr.battery_voltage): self.soh_logger.warning(f'Cannot get battery voltage on {self.model}') self.exec_logger.debug(f'{self.model} cannot read battery voltage. Returning default battery voltage.') return self.pwr.voltage else: - return self.tx.pwr.battery_voltage + return self.pwr.battery_voltage def voltage_pulse(self, voltage=None, length=None, polarity=1): @@ -248,7 +249,7 @@ class Rx(RxAbstract): def gain(self, value): assert value in [2/3, 2, 4, 8, 16] self._adc_gain = value - self._ads_voltage = ads.ADS1115(self.connection, gain=self.adc_gain, + self._ads_voltage = ads.ADS1115(self.connection, gain=self._adc_gain, data_rate=SPECS['rx']['data_rate']['default'], address=self._ads_voltage_address) self._ads_voltage.mode = Mode.CONTINUOUS -- GitLab