diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2019-01-08 10:55:18 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2019-01-08 10:59:43 -0500 |
commit | 797367b9f5652df4103d7185567c8d749a8afbff (patch) | |
tree | 347768577a2a400b8c511d486d4eca8d4b2c339c /klippy/klippy.py | |
parent | f4be0ac7be6ec1e94264a7b2f86484e4bcd607ed (diff) | |
download | kutter-797367b9f5652df4103d7185567c8d749a8afbff.tar.gz kutter-797367b9f5652df4103d7185567c8d749a8afbff.tar.xz kutter-797367b9f5652df4103d7185567c8d749a8afbff.zip |
klippy: Convert printer_state("ready") to an event handler
Convert all users of the printer_state("ready") handler to register a
"klippy:ready" event handler instead.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/klippy.py')
-rw-r--r-- | klippy/klippy.py | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/klippy/klippy.py b/klippy/klippy.py index 0ac421ae..0a8f2852 100644 --- a/klippy/klippy.py +++ b/klippy/klippy.py @@ -138,11 +138,6 @@ class Printer: if self.state_message is not message_startup: return cb('connect') - self._set_state(message_ready) - for cb in self.state_cb: - if self.state_message is not message_ready: - return - cb('ready') except (self.config_error, pins.error) as e: logging.exception("Config error") self._set_state("%s%s" % (str(e), message_restart)) @@ -156,6 +151,15 @@ class Printer: logging.exception("Unhandled exception during connect") self._set_state("Internal error during connect.%s" % ( message_restart,)) + try: + self._set_state(message_ready) + for cb in self.event_handlers.get("klippy:ready", []): + if self.state_message is not message_ready: + return + cb() + except: + logging.exception("Unhandled exception during ready callback") + self.invoke_shutdown("Internal error during ready callback") def run(self): systime = time.time() monotime = self.reactor.monotonic() @@ -173,8 +177,7 @@ class Printer: if run_result == 'firmware_restart': for n, m in self.lookup_objects(module='mcu'): m.microcontroller_restart() - for cb in self.state_cb: - cb('disconnect') + self.send_event("klippy:disconnect") except: logging.exception("Unhandled exception during post run") return run_result |