- ws/message.py, ws/server/ws_server_multi_user.py: drop the loop= kwarg and replace asyncio.wait(coroutines) with asyncio.gather(), both of which were removed/forbidden in Python 3.10+. - brewpi/requirements.txt: pin websockets==10.4, the latest version that still supports this code's serve()/handler API. - config.json.sim: move Model to the top level and add the missing gain field so it matches the schema brewpi.py and config.json.templ expect. - brewpi/brewpi.py: add -c/-m/-s/-d CLI args for selecting config/model files, simulation mode, and debug. - .gitignore: exclude __pycache__, logs, the local config.json, and editor/venv directories. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
58 lines
759 B
Plaintext
Executable File
58 lines
759 B
Plaintext
Executable File
{
|
|
"Controller" : {
|
|
"dt": 0.1,
|
|
"sim_warp_factor": 10.0,
|
|
"stirrer_name": "sim",
|
|
"heater_name": "sim",
|
|
"sensor_name": "sim",
|
|
"plant_name": "sim",
|
|
"pid_type": "Smith"
|
|
},
|
|
"TempCtrl": {
|
|
"Kalman": {
|
|
"var_P" : 1.0,
|
|
"var_Q" : 0.0001,
|
|
"var_R" : 1.0
|
|
},
|
|
"Hold": {
|
|
"kp": 0.25,
|
|
"ki": 0.0,
|
|
"kd": 0.0,
|
|
"kt": 0.0
|
|
},
|
|
"Heat": {
|
|
"kp": 0.05,
|
|
"ki": 0.01,
|
|
"kd": 0.0,
|
|
"kt": 1.5
|
|
}
|
|
},
|
|
"Model": {
|
|
"theta": 20,
|
|
"C": 4190,
|
|
"M": 25,
|
|
"L": 0.05,
|
|
"Td": 80,
|
|
"kn": 0.2,
|
|
"gain": 0.8
|
|
},
|
|
"Plant": {
|
|
"theta": 20,
|
|
"C": 4190,
|
|
"M": 22,
|
|
"L": 0.05,
|
|
"Td": 80,
|
|
"kn": 0.2,
|
|
"gain": 0.8
|
|
},
|
|
"Heater": {
|
|
"port": "/dev/ttyUSB0",
|
|
"speed": "115200"
|
|
},
|
|
"Stirrer": {
|
|
"port": "/dev/ttyACM0",
|
|
"speed": "115200"
|
|
}
|
|
}
|
|
|