From 9951c789d45d60c4208a9ff01562adf8997c9009 Mon Sep 17 00:00:00 2001 From: su530201 <olivier.kaufmann@umons.ac.be> Date: Tue, 27 Jun 2023 15:22:06 +0200 Subject: [PATCH] Does not store last sample if tx is not still set --- ohmpi/hardware_system.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/ohmpi/hardware_system.py b/ohmpi/hardware_system.py index 3dfed2f6..c787a0c3 100644 --- a/ohmpi/hardware_system.py +++ b/ohmpi/hardware_system.py @@ -186,15 +186,16 @@ class OhmPiHardware: time.sleep(np.max([self.rx._latency, self.tx._latency])) while self.tx_sync.is_set(): lap = datetime.datetime.utcnow() - _readings.append([elapsed_seconds(self._start_time), self._pulse, self.tx.polarity, self.tx.current, - self.rx.voltage]) - sample += 1 - sleep_time = self._start_time + datetime.timedelta(seconds=sample / sampling_rate) - lap - if sleep_time.total_seconds() < 0.: - # TODO: count how many samples were skipped to make a stat that could be used to qualify pulses - sample += int(sampling_rate * np.abs(sleep_time.total_seconds())) + 1 + r = [elapsed_seconds(self._start_time), self._pulse, self.tx.polarity, self.tx.current, self.rx.voltage] + if self.tx_sync.is_set(): + sample += 1 + _readings.append(r) sleep_time = self._start_time + datetime.timedelta(seconds=sample / sampling_rate) - lap - time.sleep(np.max([0., sleep_time.total_seconds()])) + if sleep_time.total_seconds() < 0.: + # TODO: count how many samples were skipped to make a stat that could be used to qualify pulses + sample += int(sampling_rate * np.abs(sleep_time.total_seconds())) + 1 + sleep_time = self._start_time + datetime.timedelta(seconds=sample / sampling_rate) - lap + time.sleep(np.max([0., sleep_time.total_seconds()])) self.exec_logger.warning(f'pulse {self._pulse}: elapsed time {(lap-self._start_time).total_seconds()} s') # TODO: Set to debug level self.exec_logger.warning(f'pulse {self._pulse}: total samples {len(_readings)}') # TODO: Set to debug level -- GitLab