From ced445dec199144946bfa154c267f2efefbb0435 Mon Sep 17 00:00:00 2001
From: su530201 <olivier.kaufmann@umons.ac.be>
Date: Sat, 22 Apr 2023 21:43:24 +0200
Subject: [PATCH] Fixes a bug in _read_values when append is True

---
 measure.py                           |  6 ++++--
 test_measure_with_ohmpi_card_3_15.py | 13 +++++++++++--
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/measure.py b/measure.py
index 10b82402..55104847 100644
--- a/measure.py
+++ b/measure.py
@@ -62,7 +62,9 @@ class OhmPiHardware:
     def _read_values(self, sampling_rate, append=False):  # noqa
         if not append:
             self._clear_values()
-        _readings = []
+            _readings = []
+        else:
+            _readings = self.readings.tolist()
         sample = 0
         self.tx_sync.wait()
         start_time = datetime.datetime.utcnow()
@@ -153,7 +155,7 @@ class OhmPiHardware:
 
     def vab_square_wave(self, vab, length, sampling_rate, cycles=3, polarity=1):
         self.tx.polarity = polarity
-        self._vab_pulses(vab, [length]*2*cycles, sampling_rate)
+        self._vab_pulses(vab, [length]*2*cycles, sampling_rate, )
 
     def _vab_pulse(self, vab, length, sampling_rate=None, polarity=None, append=False):
         """ Gets VMN and IAB from a single voltage pulse
diff --git a/test_measure_with_ohmpi_card_3_15.py b/test_measure_with_ohmpi_card_3_15.py
index 8135d8eb..53e7260a 100644
--- a/test_measure_with_ohmpi_card_3_15.py
+++ b/test_measure_with_ohmpi_card_3_15.py
@@ -5,9 +5,18 @@ change_config('config_ohmpi_card_3_15.py', verbose=False)
 from OhmPi.measure import OhmPiHardware
 
 k = OhmPiHardware()
+# Test #1:
+print('Testing _vab_pulse')
+k._vab_pulse(vab=12, length=1., sampling_rate=k.rx.sampling_rate, polarity=1)
+r = k.readings[:,2]/k.readings[:,1]
+print(f'Mean resistance: {np.mean(r):.3f} Ohms, Dev. {100*np.std(r)/np.mean(r):.1f} %')
+print(f'sampling rate: {k.rx.sampling_rate:.1f} ms, mean sample spacing: {np.mean(np.diff(k.readings[:,0]))*1000.:.1f} ms')
+
+# Test #2:
+print('\n\nTesting vab_square_wave')
 k.vab_square_wave(vab=12, length=1., sampling_rate=k.rx.sampling_rate, cycles=3)
-r = k.readings[:,3]*k.readings[:,2]/k.readings[:,1]
+r = k.readings[:,2]/k.readings[:,1]
 print(f'Mean resistance: {np.mean(r):.3f} Ohms, Dev. {100*np.std(r)/np.mean(r):.1f} %')
 print(f'sampling rate: {k.rx.sampling_rate:.1f} ms, mean sample spacing: {np.mean(np.diff(k.readings[:,0]))*1000.:.1f} ms')
+
 change_config('config_default.py', verbose=False)
-print(k.readings)
\ No newline at end of file
-- 
GitLab