Allow manual_stepper to run in parallel than an other stepper

Signed-off-by: Jeremy Briffaut <kakou@kakou.org>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Jeremy Briffaut 2020-03-21 10:54:01 +01:00 committed by Kevin O'Connor
parent 6b7e917a8e
commit 6be552f6e6
2 changed files with 23 additions and 15 deletions

View file

@ -58,7 +58,7 @@ class ManualStepper:
self.sync_print_time()
def do_set_position(self, setpos):
self.rail.set_position([setpos, 0., 0.])
def do_move(self, movepos, speed, accel):
def do_move(self, movepos, speed, accel, sync=True):
self.sync_print_time()
cp = self.rail.get_commanded_position()
dist = movepos - cp
@ -73,7 +73,8 @@ class ManualStepper:
self.trapq_free_moves(self.trapq, self.next_cmd_time + 99999.9)
toolhead = self.printer.lookup_object('toolhead')
toolhead.note_kinematic_activity(self.next_cmd_time)
self.sync_print_time()
if sync:
self.sync_print_time()
def do_homing_move(self, movepos, speed, accel, triggered, check_trigger):
if not self.can_home:
raise self.gcode.error("No endstop for this manual stepper")
@ -115,6 +116,7 @@ class ManualStepper:
if 'SET_POSITION' in params:
setpos = self.gcode.get_float('SET_POSITION', params)
self.do_set_position(setpos)
sync = self.gcode.get_int('SYNC', params, 1)
homing_move = self.gcode.get_int('STOP_ON_ENDSTOP', params, 0)
speed = self.gcode.get_float('SPEED', params, self.velocity, above=0.)
accel = self.gcode.get_float('ACCEL', params, self.accel, minval=0.)
@ -124,7 +126,9 @@ class ManualStepper:
homing_move > 0, abs(homing_move) == 1)
elif 'MOVE' in params:
movepos = self.gcode.get_float('MOVE', params)
self.do_move(movepos, speed, accel)
self.do_move(movepos, speed, accel, sync)
elif 'SYNC' in params and sync:
self.sync_print_time()
def load_config_prefix(config):
return ManualStepper(config)