From 4f1a55c2dfbd5e3a1c679143705c5a010b17bab5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Thu, 21 Jul 2016 16:25:49 +0200 Subject: [PATCH] Added AWOL debug command to virtual printer --- src/octoprint/plugins/virtual_printer/virtual.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/octoprint/plugins/virtual_printer/virtual.py b/src/octoprint/plugins/virtual_printer/virtual.py index 93ad5825..7f0b1457 100644 --- a/src/octoprint/plugins/virtual_printer/virtual.py +++ b/src/octoprint/plugins/virtual_printer/virtual.py @@ -82,6 +82,7 @@ class VirtualPrinter(object): self._incoming_lock = threading.RLock() + self._debug_awol = False self._debug_sleep = None self._sleepAfterNext = dict() self._sleepAfter = dict() @@ -403,6 +404,9 @@ class VirtualPrinter(object): self._debug_drop_connection = True elif data == "maxtemp_error": self._output("Error: MAXTEMP triggered!") + elif data == "go_awol": + self._output("// Going AWOL") + self._debug_awol = True else: try: sleep_match = VirtualPrinter.sleep_regex.match(data) @@ -782,6 +786,9 @@ class VirtualPrinter(object): pass def write(self, data): + if self._debug_awol: + return len(data) + if self._debug_drop_connection: self._logger.info("Debug drop of connection requested, raising SerialTimeoutException") raise SerialTimeoutException() @@ -801,6 +808,10 @@ class VirtualPrinter(object): raise SerialTimeoutException() def readline(self): + if self._debug_awol: + time.sleep(self._read_timeout) + return "" + if self._debug_drop_connection: raise SerialTimeoutException()