Log each Sud run's measured data and forecast to JSON for offline analysis
Add SudLogTask: starts a fresh in-memory buffer the moment a run actually starts (Sud.state leaves IDLE/DONE) and writes it out whole the moment it ends (DONE, or aborted via Stop) - log_<date>T<time>_<sud-name>.json holds the same six signals the GUI's Automatic tab plots live (temp/rate ist+soll, power set+eff) with per-sample timestamps; forecast_<date>T<time>_<sud-name>.json holds the final, most-corrected forecast curve from the same run, sharing the run's date-time token so the two pair up. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DkkuG48uHFCGKe6dPSERFk
This commit is contained in:
+7
-2
@@ -13,7 +13,7 @@ from components.plant import Pot
|
||||
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
|
||||
from tasks import TaskManager, TempSensorTask, HeaterTask, PotTask, TcTask, StirrerTask, TracerTask, SudTask, SudLogTask
|
||||
from tracer import Tracer
|
||||
|
||||
import argparse as ap
|
||||
@@ -109,7 +109,12 @@ if __name__ == '__main__':
|
||||
# see components/sud_forecast.py.
|
||||
forecast_estimator = SudForecastEstimator(
|
||||
DT, theta_amb, DEFAULT_PLANT_PARAMS, config['Controller']['pid_type'], config['TempCtrl'], heater.get_power_max())
|
||||
taskmgr.add(SudTask(sud, tc, stirrer, pot, DT, DT_TASK, dispatcher.msgio_get("Sud"), forecast_estimator))
|
||||
sud_task = SudTask(sud, tc, stirrer, pot, DT, DT_TASK, dispatcher.msgio_get("Sud"), forecast_estimator)
|
||||
taskmgr.add(sud_task)
|
||||
# Records every Sud run's measured data and forecast to their own
|
||||
# JSON files under logs/, for later offline analysis - see
|
||||
# tasks/sud_log.py.
|
||||
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")))
|
||||
|
||||
Reference in New Issue
Block a user