From 46f51b2bb0dadfff0382af32c22356571bb46d17 Mon Sep 17 00:00:00 2001 From: Kamil TrzciƄski Date: Mon, 14 Jun 2021 21:09:55 +0200 Subject: print_stats: add `cancelled` when `CANCEL_PRINT` used (#4366) Before this change, a `CANCEL_PRINT` set a `print_stats` to `paused` that would later be workaround-ed with `fluidd`/`mainsail` to re-define `CANCEL_PRINT`. This sets a proper canceled state, but additionally closes a file from a `virtual_sdcard` context for `canceled`/`error`, as this is no longer resumable from this point. Signed-off-by: Kamil Trzcinski --- klippy/extras/print_stats.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'klippy/extras/print_stats.py') diff --git a/klippy/extras/print_stats.py b/klippy/extras/print_stats.py index 7fc816d9..ab300f27 100644 --- a/klippy/extras/print_stats.py +++ b/klippy/extras/print_stats.py @@ -41,11 +41,15 @@ class PrintStats: self._update_filament_usage(curtime) if self.state != "error": self.state = "paused" - def note_error(self, message): - self.state = "error" - self.error_message = message def note_complete(self): - self.state = "complete" + self._note_finish("complete") + def note_error(self, message): + self._note_finish("error", message) + def note_cancel(self): + self._note_finish("cancelled") + def _note_finish(self, state, error_message = ""): + self.state = state + self.error_message = error_message eventtime = self.reactor.monotonic() self.total_duration = eventtime - self.print_start_time if self.filament_used < 0.0000001: -- cgit v1.2.3-70-g09d2