From 0549cfe0d6907b524cc0c46a7030eeedf9aa782d Mon Sep 17 00:00:00 2001 From: Jacob Date: Sun, 30 Jan 2022 21:50:03 +0100 Subject: [PATCH] Configure refresh rate in ExampleDeviceScalar --- CoreLibrary/ExampleDeviceScalar.py | 14 ++++++++------ CoreLibrary/mess.py | 9 ++++----- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/CoreLibrary/ExampleDeviceScalar.py b/CoreLibrary/ExampleDeviceScalar.py index 30b7d66..9c0829d 100644 --- a/CoreLibrary/ExampleDeviceScalar.py +++ b/CoreLibrary/ExampleDeviceScalar.py @@ -13,8 +13,9 @@ LOGGER = logging.getLogger("my_logger") class ExampleDeviceWorker(Thread): """Communicates with the measuring hardware. Here we only produce random data.""" - def __init__(self, message_queue): + def __init__(self, message_queue, refresh_rate): super().__init__(name="Measure") + self.refresh_rate = refresh_rate self.message_queue = message_queue self.produceData = Event() self.exit_request = Event() @@ -30,7 +31,7 @@ class ExampleDeviceWorker(Thread): self.message_queue.put((ts, temp)) else: pass - sleep(0.2) + sleep(self.refresh_rate) class ExampleDeviceScalar(Device): @@ -38,11 +39,11 @@ class ExampleDeviceScalar(Device): def __init__(self): super(Device, self).__init__() + self.refresh_rate = 0.2 self.measureQueue = Queue() - self.measureThread = ExampleDeviceWorker(self.measureQueue) + self.measureThread = ExampleDeviceWorker(self.measureQueue, self.refresh_rate) self.measureThread.start() self.measureThread.produceData.set() - self.speed = 10 self.running = False def exit(self): @@ -50,10 +51,11 @@ class ExampleDeviceScalar(Device): self.measureThread.exit_request.set() def set_config(self, config: dict): - self.speed = config["speed"] + self.refresh_rate = config["refresh_rate"] + self.measureThread.refresh_rate = self.refresh_rate def get_config(self): - return {"speed": self.speed} + return {"refresh_rate": self.refresh_rate} def get_status(self): return {"running": self.running} diff --git a/CoreLibrary/mess.py b/CoreLibrary/mess.py index e1f1d33..0a3a211 100644 --- a/CoreLibrary/mess.py +++ b/CoreLibrary/mess.py @@ -1,7 +1,6 @@ from time import sleep from shutil import rmtree from CoreLibrary.Param_Model import Param_Model -from CoreLibrary.Measurement import Measurement import matplotlib.pyplot as plt @@ -15,17 +14,17 @@ def clean(): def main(param_model: Param_Model): sensor = param_model.devices["mess1"] driver = param_model.devices["treib1"] - driver.set_config({"speed": 2}) + driver.set_config({"refresh_rate": 0.2}) status = driver.get_status() plot_data = param_model.get_plot_data() - for speed in [1.0, 2.0, 3.0]: + for speed in [0.2, 0.5, 1.0]: print(speed) - driver.set_config({"speed": speed}) + driver.set_config({"refresh_rate": speed}) measurement = param_model.new_measurement(name=f"penis_{speed}", writer="CSV") - measurement.attach_device(device=sensor, name="mess1") + measurement.attach_device(device=driver, name="treib1") measurement.write_log("ich mag ramen") param_model.start_measuring() sleep(2)