- do data signal wiring at one central place

- fixed initializations
This commit is contained in:
jens
2021-10-11 13:05:18 +02:00
parent 80fa983c96
commit c5c39732cf
4 changed files with 10 additions and 7 deletions
+7 -4
View File
@@ -26,8 +26,6 @@ if __name__ == '__main__':
# Plant
pot_params = config['Plant']
pot = Pot(DT, pot_params, 20)
if "sim" in config['Controller']['sensor_name']:
pot.set_on_changed("temp", ChangedFloat(sensor.set_fake_temp, prec=3).set)
taskmgr.add(PotTask(pot, DT_TASK, dispatcher.msgio_get("Pot")))
# Heater
@@ -39,10 +37,8 @@ if __name__ == '__main__':
# Temperature Controller
tc_params = config['TempCtrl']
tc = PidFactory.create(config['Controller']['pid_type'], DT, tc_params)
tc.set_on_changed("y", heater_task.actor)
tc_task = TcTask(tc, DT_TASK, dispatcher.msgio_get("TempCtrl"))
taskmgr.add(tc_task)
sensor.set_on_changed("temp", ChangedFloat(tc.set_theta_ist, prec=2).set)
# Stirrer
stirrer = StirrerFactory.create(config['Controller']['stirrer_name'], DT, config['Stirrer'])
@@ -52,6 +48,13 @@ if __name__ == '__main__':
# Tracer
taskmgr.add(TracerTask(sensor, heater, tc, DT_TASK, dispatcher.msgio_get("Tracer")))
# Assign data flow
tc.set_on_changed("y", heater_task.actor)
sensor.set_on_changed("temp", ChangedFloat(tc.set_theta_ist, prec=2).set)
if "sim" in config['Controller']['sensor_name']:
pot.set_on_changed("temp", ChangedFloat(sensor.set_fake_temp, prec=3).set)
sensor.set_fake_temp(pot.temp)
# Message dispatcher
h_dispatcher = taskmgr.start()
h_server = server.listen("0.0.0.0", 8765)