diff --git a/ohmpi/hardware_system.py b/ohmpi/hardware_system.py index 3dfed2f626a64cdcd9c2236ed010a004983056e3..c787a0c363c789a94185b87751e33505c26d9d1c 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