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