PanelDue: Dump recieved gcode queue on restart

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
This commit is contained in:
Arksine 2020-10-11 08:57:38 -04:00
parent 8fcccfd46e
commit 28844cb41d
1 changed files with 8 additions and 0 deletions

View File

@ -9,6 +9,7 @@ import time
import json
import errno
import logging
from collections import deque
from utils import ServerError
from tornado import gen
from tornado.ioloop import IOLoop
@ -19,6 +20,7 @@ MIN_EST_TIME = 10.
class PanelDueError(ServerError):
pass
RESTART_GCODES = ["RESTART", "FIRMWARE_RESTART"]
class SerialConnection:
@ -140,6 +142,7 @@ class PanelDue:
self.current_file = ""
self.file_metadata = {}
self.enable_checksum = config.getboolean('enable_checksum', True)
self.debug_queue = deque(maxlen=100)
# Initialize tracked state.
self.printer_state = {
@ -304,6 +307,7 @@ class PanelDue:
{'beep_freq': frequency, 'beep_length': duration})
async def process_line(self, line):
self.debug_queue.append(line)
# If we find M112 in the line then skip verification
if "M112" in line.upper():
await self.klippy_apis.emergency_stop()
@ -727,6 +731,10 @@ class PanelDue:
async def close(self):
self.ser_conn.disconnect()
msg = "\nPanelDue GCode Dump:"
for i, gc in enumerate(self.debug_queue):
msg += f"\nSequence {i}: {gc}"
logging.debug(msg)
def load_plugin(config):
return PanelDue(config)