From 08adecd226b4d712eb900b1768a7a96294a89c20 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Fri, 4 Sep 2020 11:49:43 -0400 Subject: [PATCH] homing: Prefer printer.command_error() instead of homing.CommandError() Update callers to use the printer.command_error reference instead of directly using homing.CommandError() when raising or catching errors. Signed-off-by: Kevin O'Connor --- klippy/extras/bed_screws.py | 1 - klippy/extras/manual_probe.py | 3 +-- klippy/extras/manual_stepper.py | 4 ++-- klippy/extras/probe.py | 11 +++++------ klippy/kinematics/extruder.py | 6 ++++-- klippy/stepper.py | 2 +- klippy/toolhead.py | 4 ++-- klippy/webhooks.py | 2 +- 8 files changed, 16 insertions(+), 17 deletions(-) diff --git a/klippy/extras/bed_screws.py b/klippy/extras/bed_screws.py index 483fc7ef..ccf9b327 100644 --- a/klippy/extras/bed_screws.py +++ b/klippy/extras/bed_screws.py @@ -3,7 +3,6 @@ # Copyright (C) 2019 Kevin O'Connor # # This file may be distributed under the terms of the GNU GPLv3 license. -import homing def parse_coord(config, param): pair = config.get(param).strip().split(',', 1) diff --git a/klippy/extras/manual_probe.py b/klippy/extras/manual_probe.py index f42aaba8..e678bdf7 100644 --- a/klippy/extras/manual_probe.py +++ b/klippy/extras/manual_probe.py @@ -4,7 +4,6 @@ # # This file may be distributed under the terms of the GNU GPLv3 license. import logging, bisect -import homing class ManualProbe: def __init__(self, config): @@ -97,7 +96,7 @@ class ManualProbeHelper: if curpos[2] < z_bob_pos: self.toolhead.manual_move([None, None, z_bob_pos], self.speed) self.toolhead.manual_move([None, None, z_pos], self.speed) - except homing.CommandError as e: + except self.printer.command_error as e: self.finalize(False) raise def report_z_status(self, warn_no_change=False, prev_pos=None): diff --git a/klippy/extras/manual_stepper.py b/klippy/extras/manual_stepper.py index 5807c04c..fba23f6a 100644 --- a/klippy/extras/manual_stepper.py +++ b/klippy/extras/manual_stepper.py @@ -3,7 +3,7 @@ # Copyright (C) 2019 Kevin O'Connor # # This file may be distributed under the terms of the GNU GPLv3 license. -import stepper, homing, chelper +import stepper, chelper from . import force_move ENDSTOP_SAMPLE_TIME = .000015 @@ -110,7 +110,7 @@ class ManualStepper: error = str(e) self.sync_print_time() if error is not None: - raise homing.CommandError(error) + raise self.printer.command_error(error) cmd_MANUAL_STEPPER_help = "Command a manually configured stepper" def cmd_MANUAL_STEPPER(self, gcmd): enable = gcmd.get_int('ENABLE', None) diff --git a/klippy/extras/probe.py b/klippy/extras/probe.py index d97a5e7f..9b4f1cb0 100644 --- a/klippy/extras/probe.py +++ b/klippy/extras/probe.py @@ -115,11 +115,11 @@ class PrinterProbe: try: homing_state.homing_move(pos, endstops, speed, probe_pos=True, verify_movement=verify) - except homing.CommandError as e: + except self.printer.command_error as e: reason = str(e) if "Timeout during endstop homing" in reason: reason += HINT_TIMEOUT - raise homing.CommandError(reason) + raise self.printer.command_error(reason) pos = toolhead.get_position() self.gcode.respond_info("probe at %.3f,%.3f is z=%.6f" % (pos[0], pos[1], pos[2])) @@ -162,8 +162,7 @@ class PrinterProbe: z_positions = [p[2] for p in positions] if max(z_positions) - min(z_positions) > samples_tolerance: if retries >= samples_retries: - raise homing.CommandError( - "Probe samples exceed samples_tolerance") + raise gcmd.error("Probe samples exceed samples_tolerance") gcmd.respond_info("Probe samples exceed tolerance. Retrying...") retries += 1 positions = [] @@ -295,14 +294,14 @@ class ProbeEndstopWrapper: start_pos = toolhead.get_position() self.activate_gcode.run_gcode_from_command() if toolhead.get_position()[:3] != start_pos[:3]: - raise homing.CommandError( + raise self.printer.command_error( "Toolhead moved during probe activate_gcode script") def probe_finish(self): toolhead = self.printer.lookup_object('toolhead') start_pos = toolhead.get_position() self.deactivate_gcode.run_gcode_from_command() if toolhead.get_position()[:3] != start_pos[:3]: - raise homing.CommandError( + raise self.printer.command_error( "Toolhead moved during probe deactivate_gcode script") def get_position_endstop(self): return self.position_endstop diff --git a/klippy/kinematics/extruder.py b/klippy/kinematics/extruder.py index 302c4eed..a931c896 100644 --- a/klippy/kinematics/extruder.py +++ b/klippy/kinematics/extruder.py @@ -4,7 +4,7 @@ # # This file may be distributed under the terms of the GNU GPLv3 license. import math, logging -import stepper, homing, chelper +import stepper, chelper class PrinterExtruder: def __init__(self, config, extruder_num): @@ -214,6 +214,8 @@ class PrinterExtruder: # Dummy extruder class used when a printer has no extruder at all class DummyExtruder: + def __init__(self, printer): + self.printer = printer def update_move_time(self, flush_time): pass def check_move(self, move): @@ -223,7 +225,7 @@ class DummyExtruder: def get_name(self): return "" def get_heater(self): - raise homing.CommandError("Extruder not configured") + raise self.printer.command_error("Extruder not configured") def add_printer_objects(config): printer = config.get_printer() diff --git a/klippy/stepper.py b/klippy/stepper.py index a2e31c61..a8ab2298 100644 --- a/klippy/stepper.py +++ b/klippy/stepper.py @@ -4,7 +4,7 @@ # # This file may be distributed under the terms of the GNU GPLv3 license. import math, logging, collections -import homing, chelper +import chelper class error(Exception): pass diff --git a/klippy/toolhead.py b/klippy/toolhead.py index f14e81b9..f09e9016 100644 --- a/klippy/toolhead.py +++ b/klippy/toolhead.py @@ -250,7 +250,7 @@ class ToolHead: self.trapq_free_moves = ffi_lib.trapq_free_moves self.step_generators = [] # Create kinematics class - self.extruder = kinematics.extruder.DummyExtruder() + self.extruder = kinematics.extruder.DummyExtruder(self.printer) kin_name = config.get('kinematics') try: mod = importlib.import_module('kinematics.' + kin_name) @@ -470,7 +470,7 @@ class ToolHead: # Submit move try: self.move(newpos, speed) - except homing.CommandError as e: + except self.printer.command_error as e: self.flush_step_generation() raise # Transmit move in "drip" mode diff --git a/klippy/webhooks.py b/klippy/webhooks.py index dfa2a491..1e8022e4 100644 --- a/klippy/webhooks.py +++ b/klippy/webhooks.py @@ -228,7 +228,7 @@ class ClientConnection: try: func = self.webhooks.get_callback(web_request.get_method()) func(web_request) - except homing.CommandError as e: + except self.printer.command_error as e: web_request.set_error(WebRequestError(e.message)) except Exception as e: msg = ("Internal Error on WebRequest: %s"