diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2021-08-06 09:56:06 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2021-08-06 11:19:36 -0400 |
commit | b17ec3d2e9d0afb96351a6ed26fba958584899ac (patch) | |
tree | 8b4ff3409373ecb5ebeb3b7fead0a3b4949efc4a /klippy/chelper | |
parent | 3176150050b666a582ac0993dc14e6663133ecb9 (diff) | |
download | kutter-b17ec3d2e9d0afb96351a6ed26fba958584899ac.tar.gz kutter-b17ec3d2e9d0afb96351a6ed26fba958584899ac.tar.xz kutter-b17ec3d2e9d0afb96351a6ed26fba958584899ac.zip |
stepcompress: Pass clock to stepcompress_set_last_position()
Using sc->last_step_clock for the last position marker does not work
properly, because the stepper.py code calls stepcompress_reset() prior
to calling stepcompress_set_last_position(). Fix by passing an
explicit clock to stepcompress_set_last_position().
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/chelper')
-rw-r--r-- | klippy/chelper/__init__.py | 2 | ||||
-rw-r--r-- | klippy/chelper/stepcompress.c | 5 | ||||
-rw-r--r-- | klippy/chelper/stepcompress.h | 2 |
3 files changed, 5 insertions, 4 deletions
diff --git a/klippy/chelper/__init__.py b/klippy/chelper/__init__.py index 6c579ab7..86560939 100644 --- a/klippy/chelper/__init__.py +++ b/klippy/chelper/__init__.py @@ -43,7 +43,7 @@ defs_stepcompress = """ void stepcompress_free(struct stepcompress *sc); int stepcompress_reset(struct stepcompress *sc, uint64_t last_step_clock); int stepcompress_set_last_position(struct stepcompress *sc - , int64_t last_position); + , uint64_t clock, int64_t last_position); int64_t stepcompress_find_past_position(struct stepcompress *sc , uint64_t clock); int stepcompress_queue_msg(struct stepcompress *sc diff --git a/klippy/chelper/stepcompress.c b/klippy/chelper/stepcompress.c index fab15a2c..b38b72ad 100644 --- a/klippy/chelper/stepcompress.c +++ b/klippy/chelper/stepcompress.c @@ -553,7 +553,8 @@ stepcompress_reset(struct stepcompress *sc, uint64_t last_step_clock) // Set last_position in the stepcompress object int __visible -stepcompress_set_last_position(struct stepcompress *sc, int64_t last_position) +stepcompress_set_last_position(struct stepcompress *sc, uint64_t clock + , int64_t last_position) { int ret = stepcompress_flush(sc, UINT64_MAX); if (ret) @@ -563,7 +564,7 @@ stepcompress_set_last_position(struct stepcompress *sc, int64_t last_position) // Add a marker to the history list struct history_steps *hs = malloc(sizeof(*hs)); memset(hs, 0, sizeof(*hs)); - hs->first_clock = hs->last_clock = sc->last_step_clock; + hs->first_clock = hs->last_clock = clock; hs->start_position = last_position; list_add_head(&hs->node, &sc->history_list); return 0; diff --git a/klippy/chelper/stepcompress.h b/klippy/chelper/stepcompress.h index d10cccf9..5bca39a5 100644 --- a/klippy/chelper/stepcompress.h +++ b/klippy/chelper/stepcompress.h @@ -22,7 +22,7 @@ int stepcompress_append(struct stepcompress *sc, int sdir , double print_time, double step_time); int stepcompress_commit(struct stepcompress *sc); int stepcompress_reset(struct stepcompress *sc, uint64_t last_step_clock); -int stepcompress_set_last_position(struct stepcompress *sc +int stepcompress_set_last_position(struct stepcompress *sc, uint64_t clock , int64_t last_position); int64_t stepcompress_find_past_position(struct stepcompress *sc , uint64_t clock); |