From 005e88e479c2a5bee90d83ec5fceb4533e1924b0 Mon Sep 17 00:00:00 2001
From: su530201 <olivier.kaufmann@umons.ac.be>
Date: Wed, 18 Oct 2023 23:39:06 +0200
Subject: [PATCH] Fixes bug in _compute_tx_volt

---
 ohmpi/hardware_system.py | 8 ++++----
 ohmpi/ohmpi.py           | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/ohmpi/hardware_system.py b/ohmpi/hardware_system.py
index c8cc39bd..8c26be98 100644
--- a/ohmpi/hardware_system.py
+++ b/ohmpi/hardware_system.py
@@ -511,11 +511,11 @@ class OhmPiHardware:
                 # ax.plot([0, vab_max], [0, vmn_upper_bound * vab_max / vab[k]], '-r', alpha=(k + 1) / n_steps)
                 # ax.plot([0, vab_max], [0, vmn_lower_bound * vab_max / vab[k]], '-g', alpha=(k + 1) / n_steps)
                 # bounds on rab
-                rab_lower_bound = np.min([0.1, vab_list[k] / iab_upper_bound])
-                rab_upper_bound = np.min([0.1, vab_list[k] / iab_lower_bound])
+                rab_lower_bound = np.min([0.1, np.abs(vab_list[k] / iab_upper_bound)])
+                rab_upper_bound = np.min([0.1, np.abs(vab_list[k] / iab_lower_bound)])
                 # bounds on r
-                r_lower_bound = np.min([0.01, vmn_lower_bound / iab_upper_bound])
-                r_upper_bound = np.min([0.01, vmn_upper_bound / iab_lower_bound])
+                r_lower_bound = np.min([0.01, np.abs(vmn_lower_bound / iab_upper_bound)])
+                r_upper_bound = np.min([0.01, np.abs(vmn_upper_bound / iab_lower_bound)])
                 # conditions for vab update
                 cond_vmn_max = rab_lower_bound / r_upper_bound * vmn_max
                 cond_p_max = np.sqrt(p_max * rab_lower_bound)
diff --git a/ohmpi/ohmpi.py b/ohmpi/ohmpi.py
index 75579607..b18f4406 100644
--- a/ohmpi/ohmpi.py
+++ b/ohmpi/ohmpi.py
@@ -491,7 +491,7 @@ class OhmPi(object):
         # tx_volt = float(kwargs.pop('tx_volt', self.settings['tx_volt']))
         bypass_check = kwargs['bypass_check'] if 'bypass_check' in kwargs.keys() else False
         if self.switch_mux_on(quad, bypass_check=bypass_check, cmd_id=cmd_id):
-            # tx_volt,_ ,_ = self._hw._compute_tx_volt(tx_volt=tx_volt, strategy=strategy)
+            tx_volt,_ ,_ = self._hw._compute_tx_volt(tx_volt=tx_volt, strategy=strategy)
             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