diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2017-09-19 17:12:04 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2017-09-19 17:22:29 -0400 |
commit | f1c2f789b65810d258d9f870685acb0c7ee5b8dd (patch) | |
tree | 0d3b12ff0b0e2bf7427fe89138dd9ea2a6f5b78e /klippy | |
parent | 123719bf9293bbbcf8e99e2fe56eef40cdc5e065 (diff) | |
download | kutter-f1c2f789b65810d258d9f870685acb0c7ee5b8dd.tar.gz kutter-f1c2f789b65810d258d9f870685acb0c7ee5b8dd.tar.xz kutter-f1c2f789b65810d258d9f870685acb0c7ee5b8dd.zip |
klippy: Do not start stats timer until after connect completes
Generating stats during connect leads to potential use of not yet
initialized variables.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy')
-rw-r--r-- | klippy/klippy.py | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/klippy/klippy.py b/klippy/klippy.py index 286e56f4..d779c97b 100644 --- a/klippy/klippy.py +++ b/klippy/klippy.py @@ -190,31 +190,27 @@ class Printer: "Unknown option '%s' in section '%s'" % ( option, section)) def _connect(self, eventtime): + self.reactor.unregister_timer(self.connect_timer) try: self._load_config() - if self.start_args.get('debugoutput') is None: - self.reactor.update_timer(self.stats_timer, self.reactor.NOW) self.mcu.connect() self.gcode.set_printer_ready(True) self.state_message = message_ready + if self.start_args.get('debugoutput') is None: + self.reactor.update_timer(self.stats_timer, self.reactor.NOW) except (self.config_error, pins.error) as e: logging.exception("Config error") self.state_message = "%s%s" % (str(e), message_restart) - self.reactor.update_timer(self.stats_timer, self.reactor.NEVER) except msgproto.error as e: logging.exception("Protocol error") self.state_message = "%s%s" % (str(e), message_protocol_error) - self.reactor.update_timer(self.stats_timer, self.reactor.NEVER) except mcu.error as e: logging.exception("MCU error during connect") self.state_message = "%s%s" % (str(e), message_mcu_connect_error) - self.reactor.update_timer(self.stats_timer, self.reactor.NEVER) except: logging.exception("Unhandled exception during connect") self.state_message = "Internal error during connect.%s" % ( message_restart,) - self.reactor.update_timer(self.stats_timer, self.reactor.NEVER) - self.reactor.unregister_timer(self.connect_timer) return self.reactor.NEVER def run(self): systime = time.time() |