diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2018-06-08 19:55:24 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2018-06-20 09:26:10 -0400 |
commit | 2511471b0dfa7dd60c65fffa9727ceb8a88b347b (patch) | |
tree | f6b7305776671b59469e5f48bd313f6d18e127c6 /klippy/chelper/stepcompress.c | |
parent | ba3428822d61af7653f65f6a1b3b46813e104439 (diff) | |
download | kutter-2511471b0dfa7dd60c65fffa9727ceb8a88b347b.tar.gz kutter-2511471b0dfa7dd60c65fffa9727ceb8a88b347b.tar.xz kutter-2511471b0dfa7dd60c65fffa9727ceb8a88b347b.zip |
itersolve: Add kinematic iterative solver code
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/chelper/stepcompress.c')
-rw-r--r-- | klippy/chelper/stepcompress.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/klippy/chelper/stepcompress.c b/klippy/chelper/stepcompress.c index ebab287a..788965ba 100644 --- a/klippy/chelper/stepcompress.c +++ b/klippy/chelper/stepcompress.c @@ -389,6 +389,12 @@ stepcompress_get_oid(struct stepcompress *sc) return sc->oid; } +int +stepcompress_get_step_dir(struct stepcompress *sc) +{ + return sc->sdir; +} + /**************************************************************** * Queue management @@ -485,6 +491,22 @@ queue_append(struct queue_append *qa, double step_clock) return 0; } +inline int +queue_append_set_next_step_dir(struct queue_append *qa, int sdir) +{ + struct stepcompress *sc = qa->sc; + uint64_t old_last_step_clock = sc->last_step_clock; + sc->queue_next = qa->qnext; + int ret = set_next_step_dir(sc, sdir); + if (ret) + return ret; + qa->qnext = sc->queue_next; + qa->qend = sc->queue_end; + qa->last_step_clock_32 = sc->last_step_clock; + qa->clock_offset -= sc->last_step_clock - old_last_step_clock; + return 0; +} + /**************************************************************** * Step compress synchronization |