From a1a43aad6c4c148194f8ca892a66b0510fe1e823 Mon Sep 17 00:00:00 2001 From: sldesnoo-Delft <s.l.desnoo@tudelft.nl> Date: Wed, 30 Aug 2023 09:57:00 +0200 Subject: [PATCH] Fixed bug in lazy reset time --- pulse_lib/segments/segment_acquisition.py | 4 ++++ pulse_lib/segments/segment_base.py | 2 ++ 2 files changed, 6 insertions(+) diff --git a/pulse_lib/segments/segment_acquisition.py b/pulse_lib/segments/segment_acquisition.py index 38e68fb3..31cbceb2 100644 --- a/pulse_lib/segments/segment_acquisition.py +++ b/pulse_lib/segments/segment_acquisition.py @@ -141,6 +141,8 @@ class segment_acquisition(): if self.is_slice or time is None: self._reset_time(time) else: + if self._pending_reset_time is not None: + time = np.fmax(time, self._pending_reset_time) self._pending_reset_time = time def _lazy_reset_time(self): @@ -274,6 +276,8 @@ class segment_acquisition(): def total_time(self): if not self.render_mode: # use end time from numpy array instead of individual lookup of data elements. + if self._pending_reset_time is not None: + return np.fmax(self._pending_reset_time, self._end_times) return self._end_times # return self.data.total_time else: diff --git a/pulse_lib/segments/segment_base.py b/pulse_lib/segments/segment_base.py index 2c7c8ea5..ca0d04cf 100644 --- a/pulse_lib/segments/segment_base.py +++ b/pulse_lib/segments/segment_base.py @@ -237,6 +237,8 @@ class segment_base(): @property def total_time(self): if not self.render_mode: + if self._pending_reset_time is not None: + return np.fmax(self._pending_reset_time, self._end_times) # use end time from numpy array instead of individual lookup of data elements. return self._end_times # return self.data.total_time -- GitLab