From 890298d34d76923e895ff7905b9dbe374035e694 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Fri, 22 Jun 2018 13:03:07 -0400 Subject: 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 --- klippy/chelper/itersolve.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'klippy/chelper/itersolve.c') diff --git a/klippy/chelper/itersolve.c b/klippy/chelper/itersolve.c index c9ce9b8f..2bd27ac6 100644 --- a/klippy/chelper/itersolve.c +++ b/klippy/chelper/itersolve.c @@ -215,6 +215,16 @@ itersolve_set_stepcompress(struct stepper_kinematics *sk sk->step_dist = step_dist; } +void __visible +itersolve_set_position(struct stepper_kinematics *sk + , double x, double y, double z) +{ + struct move m; + memset(&m, 0, sizeof(m)); + move_fill(&m, 0., 0., 1., 0., x, y, z, 0., 1., 0., 0., 1., 0.); + sk->commanded_pos = sk->calc_position(sk, &m, 0.); +} + void __visible itersolve_set_commanded_pos(struct stepper_kinematics *sk, double pos) { -- cgit v1.2.3-70-g09d2