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>
This commit is contained in:
Kevin O'Connor 2021-08-06 09:56:06 -04:00
parent 3176150050
commit b17ec3d2e9
4 changed files with 9 additions and 5 deletions

View file

@ -151,7 +151,10 @@ class MCU_stepper:
last_pos = params['pos']
if self._invert_dir:
last_pos = -last_pos
ret = ffi_lib.stepcompress_set_last_position(self._stepqueue, last_pos)
print_time = self._mcu.estimated_print_time(params['#receive_time'])
clock = self._mcu.print_time_to_clock(print_time)
ret = ffi_lib.stepcompress_set_last_position(self._stepqueue, clock,
last_pos)
if ret:
raise error("Internal error in stepcompress")
self._set_mcu_position(last_pos)