gcode: Split G0/G1 command handling to new gcode_move class

Split up the main GCodeParser class into GCodeDispatch and GCodeMove
classes.  The GCodeMove class is now available using the "gcode_move"
printer object name.  This split simplifies the gcode.py code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2020-08-05 11:43:45 -04:00
parent cd7c1b8e68
commit 4c5e93d51d
15 changed files with 219 additions and 194 deletions

View file

@ -87,7 +87,9 @@ class BedMesh:
self.gcode.register_command(
'BED_MESH_CLEAR', self.cmd_BED_MESH_CLEAR,
desc=self.cmd_BED_MESH_CLEAR_help)
self.gcode.set_move_transform(self)
# Register transform
gcode_move = self.printer.lookup_object('gcode_move')
gcode_move.set_move_transform(self)
def handle_ready(self):
self.toolhead = self.printer.lookup_object('toolhead')
self.bmc.print_generated_points(logging.info)
@ -126,7 +128,8 @@ class BedMesh:
self.z_mesh = mesh
self.splitter.initialize(mesh)
# cache the current position before a transform takes place
self.gcode.reset_last_position()
gcode_move = self.printer.lookup_object('gcode_move')
gcode_move.reset_last_position()
def get_z_factor(self, z_pos):
if z_pos >= self.fade_end:
return 0.