diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2020-04-22 12:40:32 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2020-05-05 11:08:11 -0400 |
commit | ddb8311890a130e3735d77fbb7fb24900a5152b2 (patch) | |
tree | 8b80d4f7f298fb0b536c6fb4dc5156e245c0cc25 /klippy/extras | |
parent | 1eb2d4da902867b3bf4fdee1b2d272c170f93468 (diff) | |
download | kutter-ddb8311890a130e3735d77fbb7fb24900a5152b2.tar.gz kutter-ddb8311890a130e3735d77fbb7fb24900a5152b2.tar.xz kutter-ddb8311890a130e3735d77fbb7fb24900a5152b2.zip |
gcode: Create new wrapper class for gcode command parameters
Instead of passing a dictionary to the command handlers, create a
wrapper class and pass that class to the command handlers. This can
simplify the command handler code.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras')
-rw-r--r-- | klippy/extras/gcode_arcs.py | 3 | ||||
-rw-r--r-- | klippy/extras/gcode_macro.py | 6 | ||||
-rw-r--r-- | klippy/extras/homing_override.py | 2 | ||||
-rw-r--r-- | klippy/extras/pause_resume.py | 2 | ||||
-rw-r--r-- | klippy/extras/probe.py | 3 | ||||
-rw-r--r-- | klippy/extras/safe_z_home.py | 6 |
6 files changed, 13 insertions, 9 deletions
diff --git a/klippy/extras/gcode_arcs.py b/klippy/extras/gcode_arcs.py index 61b1a0fc..eec746d1 100644 --- a/klippy/extras/gcode_arcs.py +++ b/klippy/extras/gcode_arcs.py @@ -54,7 +54,8 @@ class ArcSupport: g1_params['E'] = asE / len(coords) if asF is not None: g1_params['F'] = asF - self.gcode.cmd_G1(g1_params) + g1_gcmd = self.gcode.create_gcode_command("G1", "G1", g1_params) + self.gcode.cmd_G1(g1_gcmd) # function planArc() originates from marlin plan_arc() # https://github.com/MarlinFirmware/Marlin diff --git a/klippy/extras/gcode_macro.py b/klippy/extras/gcode_macro.py index 2d4ebc75..b462e2cd 100644 --- a/klippy/extras/gcode_macro.py +++ b/klippy/extras/gcode_macro.py @@ -154,10 +154,10 @@ class GCodeMacro: value,)) self.variables[variable] = literal cmd_desc = "G-Code macro" - def cmd(self, params): + def cmd(self, gcmd): if self.in_script: - raise self.gcode.error( - "Macro %s called recursively" % (self.alias,)) + raise gcmd.error("Macro %s called recursively" % (self.alias,)) + params = gcmd.get_command_parameters() kwparams = dict(self.kwparams) kwparams.update(params) kwparams.update(self.variables) diff --git a/klippy/extras/homing_override.py b/klippy/extras/homing_override.py index 8a40044c..b15b3b9f 100644 --- a/klippy/extras/homing_override.py +++ b/klippy/extras/homing_override.py @@ -54,7 +54,7 @@ class HomingOverride: self.gcode.reset_last_position() # Perform homing kwparams = { 'printer': self.template.create_status_wrapper() } - kwparams['params'] = params + kwparams['params'] = params.get_command_parameters() try: self.in_script = True self.template.run_gcode_from_command(kwparams) diff --git a/klippy/extras/pause_resume.py b/klippy/extras/pause_resume.py index 4b3b88b5..b70895cd 100644 --- a/klippy/extras/pause_resume.py +++ b/klippy/extras/pause_resume.py @@ -57,7 +57,7 @@ class PauseResume: self.pause_command_sent = False if self.sd_paused: # Printing from virtual sd, run pause command - self.v_sd.cmd_M24({}) + self.v_sd.cmd_M24(gcmd) else: self.gcode.respond_info("action:resumed") def cmd_CLEAR_PAUSE(self, params): diff --git a/klippy/extras/probe.py b/klippy/extras/probe.py index 703ef5b4..3d84aa9e 100644 --- a/klippy/extras/probe.py +++ b/klippy/extras/probe.py @@ -410,7 +410,8 @@ class ProbePointsHelper: def _manual_probe_start(self): done = self._move_next() if not done: - manual_probe.ManualProbeHelper(self.printer, {}, + gcmd = self.gcode.create_gcode_command("", "", {}) + manual_probe.ManualProbeHelper(self.printer, gcmd, self._manual_probe_finalize) def _manual_probe_finalize(self, kin_pos): if kin_pos is None: diff --git a/klippy/extras/safe_z_home.py b/klippy/extras/safe_z_home.py index 4e0801c4..265cbf41 100644 --- a/klippy/extras/safe_z_home.py +++ b/klippy/extras/safe_z_home.py @@ -63,7 +63,8 @@ class SafeZHoming: if need_y: new_params['Y'] = '0' if new_params: - self.prev_G28(new_params) + g28_gcmd = self.gcode.create_gcode_command("G28", "G28", new_params) + self.prev_G28(g28_gcmd) # Home Z axis if necessary if need_z: # Move to safe XY homing position @@ -75,7 +76,8 @@ class SafeZHoming: toolhead.move(pos, self.speed) self.gcode.reset_last_position() # Home Z - self.prev_G28({'Z': '0'}) + g28_gcmd = self.gcode.create_gcode_command("G28", "G28", {'Z': '0'}) + self.prev_G28(g28_gcmd) # Perform Z Hop again for pressure-based probes pos = toolhead.get_position() if self.z_hop: |