diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2018-06-22 13:03:07 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2018-06-22 14:09:01 -0400 |
commit | 890298d34d76923e895ff7905b9dbe374035e694 (patch) | |
tree | cdc5590ef88c62b76f5fb0543c12d2cbe267edf2 /klippy/delta.py | |
parent | 0216201cb6b9b486a75e446ca1cb2bbd18f329d7 (diff) | |
download | kutter-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/delta.py')
-rw-r--r-- | klippy/delta.py | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/klippy/delta.py b/klippy/delta.py index efcfe7a5..d80959b5 100644 --- a/klippy/delta.py +++ b/klippy/delta.py @@ -87,19 +87,14 @@ class DeltaKinematics: self.set_position([0., 0., 0.], ()) def get_rails(self, flags=""): return list(self.rails) - def _cartesian_to_actuator(self, coord): - return [math.sqrt(self.arm2[i] - (self.towers[i][0] - coord[0])**2 - - (self.towers[i][1] - coord[1])**2) + coord[2] - for i in StepList] def _actuator_to_cartesian(self, pos): return actuator_to_cartesian(self.towers, self.arm2, pos) def calc_position(self): spos = [rail.get_commanded_position() for rail in self.rails] return self._actuator_to_cartesian(spos) def set_position(self, newpos, homing_axes): - pos = self._cartesian_to_actuator(newpos) - for i in StepList: - self.rails[i].set_position(pos[i]) + for rail in self.rails: + rail.set_position(newpos) self.limit_xy2 = -1. if tuple(homing_axes) == StepList: self.need_home = False |