Check off theta_amb backlog item now that it's config-driven

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-19 17:27:47 +02:00
co-authored by Claude Sonnet 4.6
parent b3d965fec9
commit 519bbd485f
+10 -5
View File
@@ -27,11 +27,16 @@ the current `delay`-line rewrite of `Pot`.
that nothing reads anymore — harmless but worth deleting (see that nothing reads anymore — harmless but worth deleting (see
`components/pid/TODO.md`'s config-validation item). `components/pid/TODO.md`'s config-validation item).
- [ ] **`theta_amb` is hardcoded, not configured.** Still true — - [x] **`theta_amb` is hardcoded, not configured.** Fixed: added a
`brewpi.py`: `pot = Pot(DT, pot_params, 20)` passes a literal `20` top-level `ambient_temperature` key to `config.json`(`.templ`/`.sim`);
instead of reading it from config or a live ambient sensor. Real `brewpi.py` reads it once and passes it to both the real `Pot` and
ambient temperature drifts and is never modeled as a disturbance, so (via a new `theta_amb` param) `temp_controller_smith.py`'s internal
the controller's robustness to it is untested. models, so the Smith predictor's model matches the real plant's
assumed ambient instead of silently defaulting to 20. Real ambient
temperature still isn't modeled as a *drifting* disturbance (it's a
static config value, not a live sensor reading), so robustness to
ambient drift remains untested — that part of the original concern
stands.
- [ ] **No actuator/process realism.** Partially improved: `process()` - [ ] **No actuator/process realism.** Partially improved: `process()`
now clamps `self.temp` to `min(100, ...)` (won't simulate past now clamps `self.temp` to `min(100, ...)` (won't simulate past