From 3bc4ae14cc0588a6dc8c86738af5f0b0c50f5cfe Mon Sep 17 00:00:00 2001 From: Shawn Bruce Date: Tue, 5 May 2020 12:07:54 -0400 Subject: [PATCH] Fix issue where _simulateTemps may never reach target temp but instead be stuck within 0.5C(delta) --- src/octoprint/plugins/virtual_printer/virtual.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/octoprint/plugins/virtual_printer/virtual.py b/src/octoprint/plugins/virtual_printer/virtual.py index b20b36a6cf..1d3afb08b0 100644 --- a/src/octoprint/plugins/virtual_printer/virtual.py +++ b/src/octoprint/plugins/virtual_printer/virtual.py @@ -1422,9 +1422,13 @@ def _simulateTemps(self, delta=0.5): self.lastTempAt = monotonic_time() def simulate(actual, target, ambient): - if target > 0 and abs(actual - target) > delta: + if target > 0: goal = target - factor = 10 + remaining = abs(actual - target) + if remaining > delta: + factor = 10 + elif remaining < delta: + factor = remaining elif not target and abs(actual - ambient) > delta: goal = ambient factor = 2