Remove the unused tc_trace logging

trace_tc (tasks/tracer.py's TracerTask wired to a generic Tracer instance)
was logging to tc_trace.mat, but its var_list was empty, so it only ever
wrote a bare tick counter - no actual tc data, despite the name. Drop the
dead plumbing and the now-unused tracer.py module entirely; the real,
populated brewpi.mat logging (sensor/heater/tc data, built directly inside
TracerTask) is untouched.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DkkuG48uHFCGKe6dPSERFk
This commit is contained in:
2026-06-22 17:50:46 +02:00
co-authored by Claude Sonnet 4.6
parent c1f4bac3f2
commit 6c50a819fc
3 changed files with 2 additions and 82 deletions
+1 -6
View File
@@ -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
+1 -5
View File
@@ -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())
-71
View File
@@ -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()