diff options
Diffstat (limited to 'klippy/gcode.py')
-rw-r--r-- | klippy/gcode.py | 20 |
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") |