diff --git a/server/brewpi.py b/server/brewpi.py index 9b9cb57..cc92616 100755 --- a/server/brewpi.py +++ b/server/brewpi.py @@ -14,7 +14,6 @@ from components.actor import HeaterFactory, StirrerFactory from components.sud import Sud from components.sud_forecast import SudForecastEstimator from tasks import TaskManager, TempSensorTask, HeaterTask, PotTask, TcTask, StirrerTask, TracerTask, SudTask, SudLogTask -from tracer import Tracer import argparse as ap @@ -92,10 +91,6 @@ if __name__ == '__main__': tc_task = TcTask(tc, DT_TASK, dispatcher.msgio_get("TempCtrl")) taskmgr.add(tc_task) - tc_trace_vars = [] - - trace_tc = Tracer(tc, tc_trace_vars, name='tc_trace') - # Stirrer stirrer = StirrerFactory.create(config['Controller']['stirrer_name'], DT, config['Stirrer']) stirrer_task = StirrerTask(stirrer, DT_TASK, dispatcher.msgio_get("Stirrer")) @@ -117,7 +112,7 @@ if __name__ == '__main__': taskmgr.add(SudLogTask(sud, tc, heater, heater_task, sud_task, DT_TASK)) # Tracer - taskmgr.add(TracerTask(sensor, heater, tc, trace_tc, DT_TASK_TRACER, dispatcher.msgio_get("Tracer"))) + taskmgr.add(TracerTask(sensor, heater, tc, DT_TASK_TRACER, dispatcher.msgio_get("Tracer"))) # Assign data flow # Assign tc control value to heater diff --git a/tasks/tracer.py b/tasks/tracer.py index 8ef61bb..daf58d6 100644 --- a/tasks/tracer.py +++ b/tasks/tracer.py @@ -5,7 +5,6 @@ from ws.message import MsgIo from components import ATemperatureSensor from components import AHeater from components import APid -from tracer import Tracer import numpy as np import scipy.io @@ -13,7 +12,7 @@ import os class TracerTask(ATask): - def __init__(self, sensor: ATemperatureSensor, heater: AHeater, temp_ctrl: APid, tracer: Tracer, interval, msg_handler: MsgIo, path= './logs'): + def __init__(self, sensor: ATemperatureSensor, heater: AHeater, temp_ctrl: APid, interval, msg_handler: MsgIo, path= './logs'): ATask.__init__(self, interval) if not os.path.exists(path): os.makedirs(path) @@ -24,7 +23,6 @@ class TracerTask(ATask): self.sensor = sensor self.heater = heater self.temp_ctrl = temp_ctrl - self.tracer = tracer self.path = path async def recv(self, data): @@ -51,8 +49,6 @@ class TracerTask(ATask): filename_full = os.path.join(self.path, '') + name + "." + time.strftime("%Y%m%d%H%M%S", time.localtime()) + ".mat" while True: - self.tracer.process() - _timestamp = np.append(_timestamp, timestamp) _sensor_temp = np.append(_sensor_temp, self.sensor.temperature()) _heater_power = np.append(_heater_power, self.heater.get_power()) diff --git a/tracer.py b/tracer.py deleted file mode 100755 index 920af16..0000000 --- a/tracer.py +++ /dev/null @@ -1,71 +0,0 @@ -import numpy as np -import scipy.io -import os -import sys -import time -if sys.version_info[0] == 3 and sys.version_info[1] >= 8: - from typing import TypedDict -else: - from typing_extensions import TypedDict - - -class Entry(TypedDict): - variable: str - name: str - unit: str - - -class Tracer: - def __init__(self, obj, var_list: Entry, name='default', path='./logs'): - if not os.path.exists(path): - os.makedirs(path) - self.obj = obj - self.var_list = var_list - self.timestamp = 0 - self.timestamp_data = np.empty(0) - self.filename_full = os.path.join(path, '') + name + "." + time.strftime("%Y%m%d%H%M%S", time.localtime()) + ".mat" - self.filename = os.path.join(path, '') + name + ".mat" - self.data_list = {} - for var in self.var_list: - self.data_list[var['name']] = np.empty(0) - - def process(self): - data = {} - self.timestamp_data = np.append(self.timestamp_data, self.timestamp) - data['time'] = self.timestamp_data - - for var in self.var_list: - key_name = var['name'] - key_variable = var['variable'] - self.data_list[key_name] = np.append(self.data_list[key_name], self.obj.__getattribute__(key_variable)) - data[key_name] = self.data_list[key_name] - - scipy.io.savemat(self.filename, data) - scipy.io.savemat(self.filename_full, data) - self.timestamp += 1 - - -class Test: - def __init__(self): - self.a = 0 - self.b = 0 - - def process(self): - self.a += 1 - self.b += 10 - - @staticmethod - def get_entry(): - a: Entry = [{'variable': 'a', 'name' : 'v_a', 'unit': 'u_a'}] - b: Entry = [{'variable': 'b', 'name' : 'v_b', 'unit': 'u_b'}] - return a + b - - -if __name__ == '__main__': - test = Test() - - dut = Tracer(test, Test.get_entry(), name='TracerTest') - - for i in range(0, 10): - dut.process() - test.process()