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