Allow a Sud step to combine a ramp and a hold
A step can now carry both 'ramp' and 'hold': it ramps to the target temp, then holds there for the given duration, instead of needing two separate schedule entries. Sud.temp_reached() switches such a step from its ramp phase into its hold phase in place (re-firing the step-changed callback so SudTask/demo_sud re-apply the hold's stirrer settings); user_wait_for_continue still applies once the whole step - both phases - is done. Merges sud_0010.json's three ramp/hold pairs into combined steps.
This commit is contained in:
@@ -129,13 +129,19 @@ environment (`$WORKON_HOME`/`$BREWPI_HOME`) on a Raspberry Pi-style deployment.
|
||||
## Mash schedules
|
||||
|
||||
Files under `sude/` describe a brew's mash schedule ("Sud"): `pot_mass`,
|
||||
`pot_material` (fixed for the whole brew), and a `steps` list, each either:
|
||||
`pot_material` (fixed for the whole brew), and a `steps` list, each a ramp, a
|
||||
hold, or both:
|
||||
|
||||
- a ramp — `"ramp": {"rate": ..., "temp": ...}` — ramp to `temp` at `rate`
|
||||
(°C/min), or
|
||||
(°C/min), and/or
|
||||
- a hold — `"hold": {"duration": ...}` — hold the current target for
|
||||
`duration` minutes (omit/`0` for an immediate step).
|
||||
|
||||
A step with both ramps to `temp` and then holds there for `duration` -
|
||||
useful for a mash rest ("ramp to 63°C, then hold 40 min") without needing two
|
||||
separate schedule entries. `user_wait_for_continue`/`user_message` (below)
|
||||
apply once the whole step is done, i.e. after the hold phase if there is one.
|
||||
|
||||
Both `ramp` and `hold` carry a `stirrer` block (`speed`, `interval_time`,
|
||||
`on_ratio`): `interval_time: 0` runs the stirrer continuously at `speed`;
|
||||
`interval_time > 0` pulses it on a period of `interval_time` seconds, on for
|
||||
|
||||
Reference in New Issue
Block a user