- use Valuechanged mechanism
This commit is contained in:
@@ -5,7 +5,7 @@ from ws.server.ws_server_multi_user import WsServerMultiUser
|
||||
from components.sensor.tempSensorSim import TempSensorSim, ATemperatureSensor
|
||||
from components.plant.pot import Pot, APlant
|
||||
from components.actor.heater import Heater, AHeater
|
||||
from components.pid import kalman
|
||||
from components.pid import kalman, temp_controller
|
||||
from ws.message import MsgIo, MessageDispatcher
|
||||
from utils.value import Value, ValueChanged
|
||||
|
||||
@@ -179,14 +179,36 @@ if __name__ == '__main__':
|
||||
"kn" : 0.2
|
||||
}
|
||||
pot = Pot(pot_params)
|
||||
pot.connect_theta_changed(sensor.set_fake_temp)
|
||||
pot.set_on_changed("temp", ValueChanged(sensor.set_fake_temp, prec=1))
|
||||
taskmgr.add(PotTask(pot, 0.1, dispatcher.msgio_get("Pot")))
|
||||
|
||||
# Heater
|
||||
heater = Heater()
|
||||
heater.connect_power_changed(pot.setPower)
|
||||
heater.set_on_changed("power_eff", ValueChanged(pot.setPower, prec=0))
|
||||
taskmgr.add(HeaterTask(heater, 0.02, dispatcher.msgio_get("Heater")))
|
||||
|
||||
# Temperature Controller
|
||||
tc_params = {
|
||||
"dt": 1.0,
|
||||
"Hold": {
|
||||
"Pid": {
|
||||
"kp": 0.5,
|
||||
"ki": 0.0,
|
||||
"kd": 0.5,
|
||||
"rho": 1.0
|
||||
}
|
||||
},
|
||||
"Heat": {
|
||||
"Pid": {
|
||||
"kp": 0.002,
|
||||
"ki": 0.0002,
|
||||
"kd": 0.0,
|
||||
"rho": 1.0
|
||||
}
|
||||
}
|
||||
}
|
||||
tc = temp_controller.TempController(tc_params)
|
||||
|
||||
h_dispatcher = taskmgr.start()
|
||||
h_server = server.listen("localhost", 8765)
|
||||
asyncio.gather(h_dispatcher, h_server)
|
||||
|
||||
Reference in New Issue
Block a user