From 32c79ff47b72cc5b6496ffc957b946b8f482a9d2 Mon Sep 17 00:00:00 2001 From: wendtalexander Date: Wed, 9 Oct 2024 17:14:56 +0200 Subject: [PATCH] [dataio] adding stop button --- pyrelacs/dataio/sin_producer.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/pyrelacs/dataio/sin_producer.py b/pyrelacs/dataio/sin_producer.py index 216c415..236a907 100644 --- a/pyrelacs/dataio/sin_producer.py +++ b/pyrelacs/dataio/sin_producer.py @@ -18,8 +18,7 @@ class SinProducer: buffer: CircBuffer, ) -> None: self.buffer = buffer - - # self.stopbutton = stopbutton + self.stop = False def produce_sin( self, @@ -32,20 +31,27 @@ class SinProducer: log.debug("producing Sin") start_time = time.time() t = 0 - while time.time() - start_time < 20: + while not self.stop: s = AMPLITUDE * np.sin(2 * np.pi * FREQUENCY * t) self.buffer.append(s) t += 1 / self.buffer.samplerate time.sleep(1 / self.buffer.samplerate) + end_time = time.time() + data = self.buffer.get_all() - log.debug(data.shape[0]) - log.debug(data.shape[0] / self.buffer.samplerate) + log.debug(f"duration sinus {end_time-start_time}") + log.debug(f"Stimulation time {t}") + # log.debug(data.shape[0]) + # log.debug(data.shape[0] / self.buffer.samplerate) # plt.plot(np.arange(data.size) / self.buffer.samplerate, data) # plt.show() + def stop_request(self): + self.stop = True + if __name__ == "__main__": - buf = CircBuffer(1_000_000, 1, samplerate=10000) + buf = CircBuffer(1_000_000, 1, samplerate=10_000) pro_sin = SinProducer(buf) pro_sin.produce_sin()