diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2019-11-13 17:59:40 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2019-11-13 19:00:17 -0500 |
commit | 224574da4a623e3f37ebfe8082a546a9df697638 (patch) | |
tree | 81c65dca1a785d7a18708a81ad674866f58a9d22 /klippy/stepper.py | |
parent | e0e2f154986aa05666f3e0eea44a8c4074fa7cf7 (diff) | |
download | kutter-224574da4a623e3f37ebfe8082a546a9df697638.tar.gz kutter-224574da4a623e3f37ebfe8082a546a9df697638.tar.xz kutter-224574da4a623e3f37ebfe8082a546a9df697638.zip |
stepper: Add get/set_tag_position() and convert calc_position()
Rename calc_position() to calc_tag_position() and have it calculate
the value of the position from the last stepper set_tag_position()
call. This enables the calc_tag_position() code to be more flexible
as it can be run with arbitrary positions.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/stepper.py')
-rw-r--r-- | klippy/stepper.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/klippy/stepper.py b/klippy/stepper.py index 97a1283e..eff0fa67 100644 --- a/klippy/stepper.py +++ b/klippy/stepper.py @@ -29,7 +29,7 @@ class MCU_stepper: "Stepper dir pin must be on same mcu as step pin") self._dir_pin = dir_pin_params['pin'] self._invert_dir = dir_pin_params['invert'] - self._mcu_position_offset = 0. + self._mcu_position_offset = self._tag_position = 0. self._min_stop_interval = 0. self._reset_cmd_id = self._get_position_cmd = None self._active_callbacks = [] @@ -107,6 +107,10 @@ class MCU_stepper: if mcu_pos >= 0.: return int(mcu_pos + 0.5) return int(mcu_pos - 0.5) + def get_tag_position(self): + return self._tag_position + def set_tag_position(self, position): + self._tag_position = position def set_stepper_kinematics(self, sk): old_sk = self._stepper_kinematics self._stepper_kinematics = sk @@ -193,6 +197,8 @@ class PrinterRail: self.endstops = [] self.add_extra_stepper(config) self.get_commanded_position = self.steppers[0].get_commanded_position + self.get_tag_position = self.steppers[0].get_tag_position + self.set_tag_position = self.steppers[0].set_tag_position # Primary endstop position mcu_endstop = self.endstops[0][0] if hasattr(mcu_endstop, "get_position_endstop"): |