aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/mcu.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2018-06-22 13:03:07 -0400
committerKevin O'Connor <kevin@koconnor.net>2018-06-22 14:09:01 -0400
commit890298d34d76923e895ff7905b9dbe374035e694 (patch)
treecdc5590ef88c62b76f5fb0543c12d2cbe267edf2 /klippy/mcu.py
parent0216201cb6b9b486a75e446ca1cb2bbd18f329d7 (diff)
downloadkutter-890298d34d76923e895ff7905b9dbe374035e694.tar.gz
kutter-890298d34d76923e895ff7905b9dbe374035e694.tar.xz
kutter-890298d34d76923e895ff7905b9dbe374035e694.zip
itersolve: Support setting the stepper position via a cartesian coordinate
Add support for an itersolve_set_position() function that sets a stepper position from a cartesian coordinate. This eliminates the need for both the python and C code to be able to translate from a cartesian coordinate to a stepper position. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/mcu.py')
-rw-r--r--klippy/mcu.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/klippy/mcu.py b/klippy/mcu.py
index 1969ff82..8d7e86cb 100644
--- a/klippy/mcu.py
+++ b/klippy/mcu.py
@@ -71,9 +71,11 @@ class MCU_stepper:
return self._oid
def get_step_dist(self):
return self._step_dist
- def set_position(self, pos):
- self._mcu_position_offset += self.get_commanded_position() - pos
- self._ffi_lib.itersolve_set_commanded_pos(self._stepper_kinematics, pos)
+ def set_position(self, newpos):
+ orig_cmd_pos = self.get_commanded_position()
+ self._ffi_lib.itersolve_set_position(
+ self._stepper_kinematics, newpos[0], newpos[1], newpos[2])
+ self._mcu_position_offset += orig_cmd_pos - self.get_commanded_position()
def get_commanded_position(self):
return self._ffi_lib.itersolve_get_commanded_pos(
self._stepper_kinematics)