aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/kinematics
diff options
context:
space:
mode:
authorDavid Smith <davidosmith@gmail.com>2020-03-28 09:52:46 -0400
committerGitHub <noreply@github.com>2020-03-28 09:52:46 -0400
commitd4bf61262e6f78b5366fe368b3d4ec1dcbc82f60 (patch)
treeeb67b23c7079bb7e106dcd92d4f0c7f6dc3919dc /klippy/kinematics
parent8f8cf7ef4151adab8f1122bf6b61c185575f32f6 (diff)
downloadkutter-d4bf61262e6f78b5366fe368b3d4ec1dcbc82f60.tar.gz
kutter-d4bf61262e6f78b5366fe368b3d4ec1dcbc82f60.tar.xz
kutter-d4bf61262e6f78b5366fe368b3d4ec1dcbc82f60.zip
Extruder: Add g-code to set extruder step_distance (#2598)
Signed off by: David Smith <davidosmith@gmail.com>
Diffstat (limited to 'klippy/kinematics')
-rw-r--r--klippy/kinematics/extruder.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/klippy/kinematics/extruder.py b/klippy/kinematics/extruder.py
index b4450596..f0264e1e 100644
--- a/klippy/kinematics/extruder.py
+++ b/klippy/kinematics/extruder.py
@@ -72,6 +72,9 @@ class PrinterExtruder:
gcode.register_mux_command("ACTIVATE_EXTRUDER", "EXTRUDER",
self.name, self.cmd_ACTIVATE_EXTRUDER,
desc=self.cmd_ACTIVATE_EXTRUDER_help)
+ gcode.register_mux_command("SET_EXTRUDER_STEP_DISTANCE", "EXTRUDER",
+ self.name, self.cmd_SET_E_STEP_DISTANCE,
+ desc=self.cmd_SET_E_STEP_DISTANCE_help)
def update_move_time(self, flush_time):
self.trapq_free_moves(self.trapq, flush_time)
def _set_pressure_advance(self, pressure_advance, smooth_time):
@@ -185,6 +188,20 @@ class PrinterExtruder:
pressure_advance, smooth_time))
self.printer.set_rollover_info(self.name, "%s: %s" % (self.name, msg))
gcode.respond_info(msg, log=False)
+ cmd_SET_E_STEP_DISTANCE_help = "Set extruder step distance"
+ def cmd_SET_E_STEP_DISTANCE(self, params):
+ gcode = self.printer.lookup_object('gcode')
+ toolhead = self.printer.lookup_object('toolhead')
+ if 'DISTANCE' not in params:
+ step_dist = self.stepper.get_step_dist()
+ gcode.respond_info("%s E step distance: %f" % (self.name, step_dist))
+ return
+ dist = gcode.get_float('DISTANCE', params, 0.)
+ toolhead.flush_step_generation()
+ self.stepper.set_step_dist(self.sk_extruder, dist)
+ step_dist = self.stepper.get_step_dist()
+ gcode.respond_info("%s E step distance set: %f" %
+ (self.name, step_dist))
cmd_ACTIVATE_EXTRUDER_help = "Change the active extruder"
def cmd_ACTIVATE_EXTRUDER(self, params):
gcode = self.printer.lookup_object('gcode')