MCPcopy Create free account
hub / github.com/Klipper3d/klipper / handle_gcode_state

Method handle_gcode_state

scripts/logextract.py:353–375  ·  view source on GitHub ↗
(self, line)

Source from the content-addressed store, hash-verified

351 except:
352 return {}
353 def handle_gcode_state(self, line):
354 kv = self.extract_params(line)
355 out = ['; Start g-code state restore', 'G28']
356 if not kv.get('absolute_coord', kv.get('absolutecoord')):
357 out.append('G91')
358 if not kv.get('absolute_extrude', kv.get('absoluteextrude')):
359 out.append('M83')
360 lp = kv['last_position']
361 out.append('G1 X%f Y%f Z%f F%f' % (
362 lp[0], lp[1], lp[2], kv['speed'] * 60.))
363 bp = kv['base_position']
364 if bp[:3] != [0., 0., 0.]:
365 out.append('; Must manually set base position...')
366 out.append('G92 E%f' % (lp[3] - bp[3],))
367 hp = kv['homing_position']
368 if hp != [0., 0., 0., 0.]:
369 out.append('; Must manually set homing position...')
370 if abs(kv['speed_factor'] - 1. / 60.) > .000001:
371 out.append('M220 S%f' % (kv['speed_factor'] * 60. * 100.,))
372 if kv['extrude_factor'] != 1.:
373 out.append('M221 S%f' % (kv['extrude_factor'] * 100.,))
374 out.extend(['; End of state restore', '', ''])
375 self.gcode_state = '\n'.join(out)
376 def parse_line(self, line_num, line):
377 m = gcode_cmd_r.match(line)
378 if m is not None:

Callers 1

parse_lineMethod · 0.80

Calls 2

extract_paramsMethod · 0.95
getMethod · 0.45

Tested by

no test coverage detected