toolhead: Make sure reset_print_time() doesn't go backwards in time
Update the homing code to pass in the start of the homing operation to toolhead.reset_print_time(). This prevents an error when batch processing gcode files that contain multiple homing operations. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
4c40b50fb5
commit
6469cce2bc
|
@ -40,7 +40,7 @@ class Homing:
|
||||||
endstops.append((s, s.mcu_stepper.get_mcu_position()))
|
endstops.append((s, s.mcu_stepper.get_mcu_position()))
|
||||||
self.toolhead.move(self._fill_coord(movepos), speed)
|
self.toolhead.move(self._fill_coord(movepos), speed)
|
||||||
move_end_print_time = self.toolhead.get_last_move_time()
|
move_end_print_time = self.toolhead.get_last_move_time()
|
||||||
self.toolhead.reset_print_time()
|
self.toolhead.reset_print_time(print_time)
|
||||||
for s, last_pos in endstops:
|
for s, last_pos in endstops:
|
||||||
s.mcu_endstop.home_finalize(move_end_print_time)
|
s.mcu_endstop.home_finalize(move_end_print_time)
|
||||||
# Wait for endstops to trigger
|
# Wait for endstops to trigger
|
||||||
|
|
|
@ -257,9 +257,10 @@ class ToolHead:
|
||||||
def get_last_move_time(self):
|
def get_last_move_time(self):
|
||||||
self._flush_lookahead()
|
self._flush_lookahead()
|
||||||
return self.get_next_move_time()
|
return self.get_next_move_time()
|
||||||
def reset_print_time(self):
|
def reset_print_time(self, min_print_time=0.):
|
||||||
self._flush_lookahead(must_sync=True)
|
self._flush_lookahead(must_sync=True)
|
||||||
self.print_time = self.mcu.estimated_print_time(self.reactor.monotonic())
|
self.print_time = max(min_print_time, self.mcu.estimated_print_time(
|
||||||
|
self.reactor.monotonic()))
|
||||||
def _check_stall(self):
|
def _check_stall(self):
|
||||||
eventtime = self.reactor.monotonic()
|
eventtime = self.reactor.monotonic()
|
||||||
if self.sync_print_time:
|
if self.sync_print_time:
|
||||||
|
|
Loading…
Reference in New Issue