gcode: Add a run_script() helper method to run g-code scripts

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2018-01-25 11:39:46 -05:00
parent 51e1085dbc
commit f0a754e496
1 changed files with 4 additions and 4 deletions

View File

@ -179,6 +179,8 @@ class GCodeParser:
self.toolhead.wait_moves()
self.printer.request_exit()
self.is_processing_data = False
def run_script(self, script):
self.process_commands(script.split('\n'), need_ack=False)
# Response handling
def ack(self, msg=None):
if not self.need_ack or self.is_fileinput:
@ -311,16 +313,14 @@ class GCodeParser:
e = extruders[index]
if self.extruder is e:
return
deactivate_gcode = self.extruder.get_activate_gcode(False)
self.process_commands(deactivate_gcode.split('\n'), need_ack=False)
self.run_script(self.extruder.get_activate_gcode(False))
try:
self.toolhead.set_extruder(e)
except homing.EndstopError as e:
raise error(str(e))
self.extruder = e
self.reset_last_position()
activate_gcode = self.extruder.get_activate_gcode(True)
self.process_commands(activate_gcode.split('\n'), need_ack=False)
self.run_script(self.extruder.get_activate_gcode(True))
all_handlers = [
'G1', 'G4', 'G28', 'M18', 'M400',
'G20', 'M82', 'M83', 'G90', 'G91', 'G92', 'M206', 'M220', 'M221',