mirror of
https://github.com/Klipper3d/klipper.git
synced 2025-07-08 23:46:25 -06:00
itersolve: Support calculating a stepper position from a cartesian coordinate
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
e2b4b1616f
commit
cb29143939
5 changed files with 15 additions and 12 deletions
|
@ -69,11 +69,13 @@ class MCU_stepper:
|
|||
return self._oid
|
||||
def get_step_dist(self):
|
||||
return self._step_dist
|
||||
def calc_position_from_coord(self, coord):
|
||||
return self._ffi_lib.itersolve_calc_position_from_coord(
|
||||
self._stepper_kinematics, coord[0], coord[1], coord[2])
|
||||
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()
|
||||
spos = self.calc_position_from_coord(newpos)
|
||||
self._mcu_position_offset += self.get_commanded_position() - spos
|
||||
self._ffi_lib.itersolve_set_commanded_pos(self._stepper_kinematics, spos)
|
||||
def get_commanded_position(self):
|
||||
return self._ffi_lib.itersolve_get_commanded_pos(
|
||||
self._stepper_kinematics)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue