From 34e4f4d72423e99749482f2c3dc7d86ba1ce26f6 Mon Sep 17 00:00:00 2001
From: su530201 <olivier.kaufmann@umons.ac.be>
Date: Thu, 19 Oct 2023 14:57:45 +0200
Subject: [PATCH] Fixes gain ratios with DG411

---
 ohmpi/hardware_components/mb_2024_0_2.py | 10 ++++++----
 ohmpi/ohmpi.py                           |  2 +-
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/ohmpi/hardware_components/mb_2024_0_2.py b/ohmpi/hardware_components/mb_2024_0_2.py
index 6153b53a..33fe7ee4 100644
--- a/ohmpi/hardware_components/mb_2024_0_2.py
+++ b/ohmpi/hardware_components/mb_2024_0_2.py
@@ -21,7 +21,7 @@ SPECS = {'rx': {'model': {'default': os.path.basename(__file__).rstrip('.py')},
                 'mcp_address': {'default': 0x27},
                 'ads_address': {'default': 0x49},
                 'voltage_min': {'default': 10.0},
-                'dg411_gain_ratio': 1/2, #  lowest resitor value over sum of resistor values
+                'dg411_gain_ratio': {'default': 1/2},  # lowest resistor value over sum of resistor values
                 'vmn_hardware_offset': {'default': 2500.},
                 },
          'tx': {'model': {'default': os.path.basename(__file__).rstrip('.py')},
@@ -145,7 +145,9 @@ class Rx(Rx_mb_2023):
         # ADS1115 for voltage measurement (MN)
         self._coef_p2 = 1.
         # Define default DG411 gain
-        self._dg411_gain = kwargs['dg411_gain_ratio']
+        self._dg411_gain_ratio = kwargs['dg411_gain_ratio']
+        self._dg411_gain = self._dg411_gain_ratio
+
         # Define pins for DG411
         self.pin_DG0 = self.mcp_board.get_pin(0)
         self.pin_DG0.direction = Direction.OUTPUT
@@ -171,7 +173,7 @@ class Rx(Rx_mb_2023):
         if self.voltage < self._vmn_hardware_offset :
             self._dg411_gain = 1.
         else:
-            self._dg411_gain = 1/2
+            self._dg411_gain = self._dg411_gain_ratio
         self.exec_logger.debug(f'Setting RX DG411 gain automatically to {self._dg411_gain}')
 
     @property
@@ -185,7 +187,7 @@ class Rx(Rx_mb_2023):
         if self._dg411_gain == 1.:
             self.pin_DG1.value = False  # closed gain 1 active
             self.pin_DG2.value = True  # open gain 0.5 inactive
-        elif self._dg411_gain == 1/2:
+        elif self._dg411_gain == self._dg411_gain_ratio:
             self.pin_DG1.value = True  # closed gain 1 active
             self.pin_DG2.value = False  # open gain 0.5 inactive
 
diff --git a/ohmpi/ohmpi.py b/ohmpi/ohmpi.py
index 6ede54e0..515b67d5 100644
--- a/ohmpi/ohmpi.py
+++ b/ohmpi/ohmpi.py
@@ -500,7 +500,7 @@ class OhmPi(object):
         bypass_check = kwargs['bypass_check'] if 'bypass_check' in kwargs.keys() else False
         d = {}
         if self.switch_mux_on(quad, bypass_check=bypass_check, cmd_id=cmd_id):
-            tx_volt = self._hw._compute_tx_volt(tx_volt=.5, strategy=strategy, voltage_max=5.)
+            tx_volt = self._hw._compute_tx_volt(tx_volt=.5, strategy=strategy, voltage_max=5.)  # TODO: use tx_
             self._hw.vab_square_wave(tx_volt, cycle_duration=injection_duration*2/duty_cycle, cycles=nb_stack, duty_cycle=duty_cycle)
             if 'delay' in kwargs.keys():
                 delay = kwargs['delay']
-- 
GitLab