aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/klippy.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2019-01-08 10:55:18 -0500
committerKevin O'Connor <kevin@koconnor.net>2019-01-08 10:59:43 -0500
commit797367b9f5652df4103d7185567c8d749a8afbff (patch)
tree347768577a2a400b8c511d486d4eca8d4b2c339c /klippy/klippy.py
parentf4be0ac7be6ec1e94264a7b2f86484e4bcd607ed (diff)
downloadkutter-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.py17
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