Revert Sud hold "duration" back to minutes
Reverts 19dc7a9 ("Fix Sud hold duration units: seconds, not minutes")
per explicit instruction - duration is minutes again. Re-adds the
*60.0 conversion in Sud._advance() (hold_remaining is ticked in
simulated seconds), the matching conversion in the forecast plot's
_estimate_course(), and flips the README wording back.
This commit is contained in:
@@ -134,7 +134,7 @@ Files under `sude/` describe a brew's mash schedule ("Sud"): `pot_mass`,
|
|||||||
- a ramp — `"ramp": {"rate": ..., "temp": ...}` — ramp to `temp` at `rate`
|
- a ramp — `"ramp": {"rate": ..., "temp": ...}` — ramp to `temp` at `rate`
|
||||||
(°C/min), or
|
(°C/min), or
|
||||||
- a hold — `"hold": {"duration": ...}` — hold the current target for
|
- a hold — `"hold": {"duration": ...}` — hold the current target for
|
||||||
`duration` seconds (omit/`0` for an immediate step).
|
`duration` minutes (omit/`0` for an immediate step).
|
||||||
|
|
||||||
Both `ramp` and `hold` carry a `stirrer` block (`speed`, `interval_time`,
|
Both `ramp` and `hold` carry a `stirrer` block (`speed`, `interval_time`,
|
||||||
`on_ratio`): `interval_time: 0` runs the stirrer continuously at `speed`;
|
`on_ratio`): `interval_time: 0` runs the stirrer continuously at `speed`;
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ class SudForecastPlot(FigureCanvasQTAgg):
|
|||||||
t.append(t[-1] + abs(target - theta[-1]) / rate * 60.0)
|
t.append(t[-1] + abs(target - theta[-1]) / rate * 60.0)
|
||||||
theta.append(target)
|
theta.append(target)
|
||||||
elif hold is not None:
|
elif hold is not None:
|
||||||
t.append(t[-1] + hold.get('duration', 0))
|
t.append(t[-1] + hold.get('duration', 0) * 60.0)
|
||||||
theta.append(theta[-1])
|
theta.append(theta[-1])
|
||||||
return t, theta
|
return t, theta
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -178,7 +178,9 @@ class Sud(AttributeChange):
|
|||||||
if 'ramp' in next_step:
|
if 'ramp' in next_step:
|
||||||
self.state = SudState.RAMPING
|
self.state = SudState.RAMPING
|
||||||
else:
|
else:
|
||||||
self.hold_remaining = next_step['hold'].get('duration', 0)
|
# "duration" is in minutes; hold_remaining (ticked by tick()'s
|
||||||
|
# simulated-seconds dt) is in seconds.
|
||||||
|
self.hold_remaining = next_step['hold'].get('duration', 0) * 60.0
|
||||||
self.state = SudState.HOLDING
|
self.state = SudState.HOLDING
|
||||||
|
|
||||||
self.user_message = next_step.get('user_message')
|
self.user_message = next_step.get('user_message')
|
||||||
|
|||||||
Reference in New Issue
Block a user