Files
brewpi/config.json.sim
T
jensandClaude Sonnet 4.6 80da55da85 Make ambient temperature configurable and wire it everywhere it was hardcoded
brewpi.py passed a literal 20 as theta_amb to Pot, and
temp_controller_smith.py's two internal Pot models (and every demo's
Pot/TempController instantiation) silently relied on Pot's default of
20 instead. Add a top-level ambient_temperature key to
config.json(.templ/.sim), thread it through brewpi.py into both the
real plant and the Smith predictor's models via a new theta_amb param
on TempController, and make the demos pass it explicitly too.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 17:16:57 +02:00

59 lines
787 B
Plaintext
Executable File

{
"ambient_temperature": 20,
"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"
}
}