Commit ced445de authored by Olivier Kaufmann's avatar Olivier Kaufmann
Browse files

Fixes a bug in _read_values when append is True

Showing with 15 additions and 4 deletions
+15 -4
...@@ -62,7 +62,9 @@ class OhmPiHardware: ...@@ -62,7 +62,9 @@ class OhmPiHardware:
def _read_values(self, sampling_rate, append=False): # noqa def _read_values(self, sampling_rate, append=False): # noqa
if not append: if not append:
self._clear_values() self._clear_values()
_readings = [] _readings = []
else:
_readings = self.readings.tolist()
sample = 0 sample = 0
self.tx_sync.wait() self.tx_sync.wait()
start_time = datetime.datetime.utcnow() start_time = datetime.datetime.utcnow()
...@@ -153,7 +155,7 @@ class OhmPiHardware: ...@@ -153,7 +155,7 @@ class OhmPiHardware:
def vab_square_wave(self, vab, length, sampling_rate, cycles=3, polarity=1): def vab_square_wave(self, vab, length, sampling_rate, cycles=3, polarity=1):
self.tx.polarity = polarity 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): def _vab_pulse(self, vab, length, sampling_rate=None, polarity=None, append=False):
""" Gets VMN and IAB from a single voltage pulse """ Gets VMN and IAB from a single voltage pulse
......
...@@ -5,9 +5,18 @@ change_config('config_ohmpi_card_3_15.py', verbose=False) ...@@ -5,9 +5,18 @@ change_config('config_ohmpi_card_3_15.py', verbose=False)
from OhmPi.measure import OhmPiHardware from OhmPi.measure import OhmPiHardware
k = 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) 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'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') 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) change_config('config_default.py', verbose=False)
print(k.readings)
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment