aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/gcode.py
diff options
context:
space:
mode:
Diffstat (limited to 'klippy/gcode.py')
-rw-r--r--klippy/gcode.py20
1 files changed, 10 insertions, 10 deletions
diff --git a/klippy/gcode.py b/klippy/gcode.py
index c2abbf45..057f845a 100644
--- a/klippy/gcode.py
+++ b/klippy/gcode.py
@@ -16,6 +16,7 @@ class GCodeParser:
def __init__(self, printer, fd):
self.printer = printer
self.fd = fd
+ printer.register_event_handler("klippy:shutdown", self.handle_shutdown)
# Input handling
self.reactor = printer.get_reactor()
self.is_processing_data = False
@@ -112,17 +113,16 @@ class GCodeParser:
'homing_ypos': self.homing_position[1],
'homing_zpos': self.homing_position[2]
}
- def printer_state(self, state):
- if state == 'shutdown':
- if not self.is_printer_ready:
- return
- self.is_printer_ready = False
- self.gcode_handlers = self.base_gcode_handlers
- self.dump_debug()
- if self.is_fileinput:
- self.printer.request_exit('error_exit')
- self._respond_state("Shutdown")
+ def handle_shutdown(self):
+ if not self.is_printer_ready:
return
+ self.is_printer_ready = False
+ self.gcode_handlers = self.base_gcode_handlers
+ self.dump_debug()
+ if self.is_fileinput:
+ self.printer.request_exit('error_exit')
+ self._respond_state("Shutdown")
+ def printer_state(self, state):
if state != 'ready':
if state == 'disconnect':
self._respond_state("Disconnect")