From 605d63d630c155b0bb657ab6ec66bca26de75f1e Mon Sep 17 00:00:00 2001
From: su530201 <olivier.kaufmann@umons.ac.be>
Date: Thu, 19 Oct 2023 22:48:34 +0200
Subject: [PATCH] Updates switch A & B to discharge dps

---
 ohmpi/hardware_system.py | 1 +
 ohmpi/ohmpi.py           | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/ohmpi/hardware_system.py b/ohmpi/hardware_system.py
index 823a5629..0307270c 100644
--- a/ohmpi/hardware_system.py
+++ b/ohmpi/hardware_system.py
@@ -456,6 +456,7 @@ class OhmPiHardware:
             #     self.tx.pwr.pwr_state = 'off'
         else:
             vab_opt = tx_volt
+
         # if strategy == 'vmax':
         #     # implement different strategies
         #     if vab < vab_max and iab < current_max:
diff --git a/ohmpi/ohmpi.py b/ohmpi/ohmpi.py
index e11f974f..59e72b25 100644
--- a/ohmpi/ohmpi.py
+++ b/ohmpi/ohmpi.py
@@ -518,6 +518,9 @@ class OhmPi(object):
         d = {}
         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, vmn_max=vmn_max)  # TODO: use tx_volt and vmn_max instead of hardcoded values
+            self._hw.switch_mux(electrodes=quad[0:2], roles=['A', 'B'], state='on')
+            time.sleep(0.5)
+            self._hw.switch_mux(electrodes=quad[0:2], roles=['A', 'B'], state='off')
             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']
@@ -579,7 +582,6 @@ class OhmPi(object):
             self._hw.switch_mux(electrodes=quad[0:2], roles=['A', 'B'], state='on')
             time.sleep(1.0)
             self._hw.switch_mux(electrodes=quad[0:2], roles=['A', 'B'], state='off')
-
         else:
             self.exec_logger.info(f'Skipping {quad}')
         self.switch_mux_off(quad, cmd_id)
-- 
GitLab