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

Changes readings append mode as multi-dim array

Showing with 4 additions and 6 deletions
+4 -6
...@@ -62,9 +62,7 @@ class OhmPiHardware: ...@@ -62,9 +62,7 @@ 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()
...@@ -74,7 +72,7 @@ class OhmPiHardware: ...@@ -74,7 +72,7 @@ class OhmPiHardware:
sample+=1 sample+=1
sleep_time = start_time + datetime.timedelta(seconds = sample * sampling_rate / 1000) - lap sleep_time = start_time + datetime.timedelta(seconds = sample * sampling_rate / 1000) - lap
time.sleep(np.min([0, np.abs(sleep_time.total_seconds())])) time.sleep(np.min([0, np.abs(sleep_time.total_seconds())]))
self.readings = np.array(_readings) self.readings = np.hstack([self.readings, np.array(_readings)])
def _compute_tx_volt(self, best_tx_injtime=0.1, strategy='vmax', tx_volt=5, def _compute_tx_volt(self, best_tx_injtime=0.1, strategy='vmax', tx_volt=5,
vab_max=voltage_max, vmn_min=voltage_min): vab_max=voltage_max, vmn_min=voltage_min):
...@@ -157,7 +155,7 @@ class OhmPiHardware: ...@@ -157,7 +155,7 @@ class OhmPiHardware:
self.tx.polarity = polarity self.tx.polarity = polarity
lengths = [cycle_length/2]*2*cycles # TODO: delete me lengths = [cycle_length/2]*2*cycles # TODO: delete me
print(f'vab_square_wave lengths: {lengths}') print(f'vab_square_wave lengths: {lengths}')
self._vab_pulses(vab, lengths, sampling_rate, append) self._vab_pulses(vab, lengths, sampling_rate, append=append)
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
......
...@@ -14,7 +14,7 @@ print(f'sampling rate: {k.rx.sampling_rate:.1f} ms, mean sample spacing: {np.mea ...@@ -14,7 +14,7 @@ print(f'sampling rate: {k.rx.sampling_rate:.1f} ms, mean sample spacing: {np.mea
# Test #2: # Test #2:
print('\n\nTesting vab_square_wave') 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, cycle_length=2., sampling_rate=k.rx.sampling_rate, cycles=3)
r = 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')
......
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