aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/chelper/itersolve.c
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/chelper/itersolve.c
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/chelper/itersolve.c')
-rw-r--r--klippy/chelper/itersolve.c10
1 files changed, 10 insertions, 0 deletions
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
@@ -216,6 +216,16 @@ itersolve_set_stepcompress(struct stepper_kinematics *sk
}
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)
{
sk->commanded_pos = pos;