aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2022-01-29 19:13:31 -0500
committerKevin O'Connor <kevin@koconnor.net>2022-02-10 13:24:21 -0500
commit9ec97424844c76bbc0c5604e15aa195282b6c955 (patch)
treeff05667b33edfff52b86768ed962e5c0f4e597df /klippy/extras
parent189188e3ca3e40d8272fb4ad48316e329f8ec453 (diff)
downloadkutter-9ec97424844c76bbc0c5604e15aa195282b6c955.tar.gz
kutter-9ec97424844c76bbc0c5604e15aa195282b6c955.tar.xz
kutter-9ec97424844c76bbc0c5604e15aa195282b6c955.zip
extruder: Add support for reversing the direction of extruder stepper movement
Extend SET_EXTRUDER_ROTATION_DISTANCE to support reversing the direction of extruder movement. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras')
-rw-r--r--klippy/extras/motion_report.py2
-rw-r--r--klippy/extras/tmc.py4
2 files changed, 4 insertions, 2 deletions
diff --git a/klippy/extras/motion_report.py b/klippy/extras/motion_report.py
index 10cf3583..34fc455d 100644
--- a/klippy/extras/motion_report.py
+++ b/klippy/extras/motion_report.py
@@ -139,7 +139,7 @@ class DumpStepper:
mcu_pos = first.start_position
start_position = self.mcu_stepper.mcu_to_commanded_position(mcu_pos)
step_dist = self.mcu_stepper.get_step_dist()
- if self.mcu_stepper.is_dir_inverted():
+ if self.mcu_stepper.get_dir_inverted()[0]:
step_dist = -step_dist
d = [(s.interval, s.step_count, s.add) for s in data]
return {"data": d, "start_position": start_position,
diff --git a/klippy/extras/tmc.py b/klippy/extras/tmc.py
index 767ada39..18aad419 100644
--- a/klippy/extras/tmc.py
+++ b/klippy/extras/tmc.py
@@ -224,6 +224,8 @@ class TMCCommandHelper:
self.stepper_enable = self.printer.load_object(config, "stepper_enable")
self.printer.register_event_handler("stepper:sync_mcu_position",
self._handle_sync_mcu_pos)
+ self.printer.register_event_handler("stepper:set_sdir_inverted",
+ self._handle_sync_mcu_pos)
self.printer.register_event_handler("klippy:mcu_identify",
self._handle_mcu_identify)
self.printer.register_event_handler("klippy:connect",
@@ -306,7 +308,7 @@ class TMCCommandHelper:
if enable_line.is_motor_enabled():
raise
return
- if not stepper.is_dir_inverted():
+ if not stepper.get_dir_inverted()[0]:
driver_phase = 1023 - driver_phase
phases = self._get_phases()
phase = int(float(driver_phase) / 1024 * phases + .5) % phases