diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2018-06-14 16:33:57 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2018-06-20 09:26:10 -0400 |
commit | 926829e737bc18ffeab7c40618341104ba8ea9bc (patch) | |
tree | a996d2c7bd2a9d9e8c065c9d9df8692085f99aeb /klippy/chelper | |
parent | 8f747e27209f6c70737862db95bb3abff5c8906b (diff) | |
download | kutter-926829e737bc18ffeab7c40618341104ba8ea9bc.tar.gz kutter-926829e737bc18ffeab7c40618341104ba8ea9bc.tar.xz kutter-926829e737bc18ffeab7c40618341104ba8ea9bc.zip |
itersolve: Move tracking of commanded position to itersolve code
Track the commanded position in just the itersolve.c code instead of
in mcu.py.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/chelper')
-rw-r--r-- | klippy/chelper/__init__.py | 3 | ||||
-rw-r--r-- | klippy/chelper/itersolve.c | 11 |
2 files changed, 10 insertions, 4 deletions
diff --git a/klippy/chelper/__init__.py b/klippy/chelper/__init__.py index fd8b60a6..027cf277 100644 --- a/klippy/chelper/__init__.py +++ b/klippy/chelper/__init__.py @@ -49,9 +49,10 @@ defs_itersolve = """ , double axes_d_x, double axes_d_y, double axes_d_z , double start_v, double cruise_v, double accel); int32_t itersolve_gen_steps(struct stepper_kinematics *sk, struct move *m); - void itersolve_set_commanded_pos(struct stepper_kinematics *sk, double pos); void itersolve_set_stepcompress(struct stepper_kinematics *sk , struct stepcompress *sc, double step_dist); + void itersolve_set_commanded_pos(struct stepper_kinematics *sk, double pos); + double itersolve_get_commanded_pos(struct stepper_kinematics *sk); """ defs_kin_cartesian = """ diff --git a/klippy/chelper/itersolve.c b/klippy/chelper/itersolve.c index 72e6ad89..c9ce9b8f 100644 --- a/klippy/chelper/itersolve.c +++ b/klippy/chelper/itersolve.c @@ -149,7 +149,7 @@ itersolve_gen_steps(struct stepper_kinematics *sk, struct move *m) double mcu_freq = stepcompress_get_mcu_freq(sc); struct timepos last = { 0., sk->commanded_pos }, low = last, high = last; double seek_time_delta = 0.000100; - int steps = 0, sdir = stepcompress_get_step_dir(sc); + int sdir = stepcompress_get_step_dir(sc); struct queue_append qa = queue_append_start(sc, m->print_time, .5); for (;;) { // Determine if next step is in forward or reverse direction @@ -192,7 +192,6 @@ itersolve_gen_steps(struct stepper_kinematics *sk, struct move *m) int ret = queue_append(&qa, next.time * mcu_freq); if (ret) return ret; - steps += sdir ? 1 : -1; seek_time_delta = next.time - last.time; if (seek_time_delta < .000000001) seek_time_delta = .000000001; @@ -205,7 +204,7 @@ itersolve_gen_steps(struct stepper_kinematics *sk, struct move *m) } queue_append_finish(qa); sk->commanded_pos = last.position; - return steps; + return 0; } void __visible @@ -221,3 +220,9 @@ itersolve_set_commanded_pos(struct stepper_kinematics *sk, double pos) { sk->commanded_pos = pos; } + +double __visible +itersolve_get_commanded_pos(struct stepper_kinematics *sk) +{ + return sk->commanded_pos; +} |