Include a time estimate for gcode which uses firmware retract, if retract settings are seen in gcode
This commit is contained in:
parent
8af8b8f79a
commit
0253f525b0
1 changed files with 16 additions and 0 deletions
|
|
@ -54,6 +54,9 @@ class gcode(object):
|
||||||
absoluteE = True
|
absoluteE = True
|
||||||
scale = 1.0
|
scale = 1.0
|
||||||
posAbs = True
|
posAbs = True
|
||||||
|
fwretractTime = 0
|
||||||
|
fwretractDist = 0
|
||||||
|
fwrecoverTime = 0
|
||||||
feedRateXY = min(printer_profile["axes"]["x"]["speed"], printer_profile["axes"]["y"]["speed"])
|
feedRateXY = min(printer_profile["axes"]["x"]["speed"], printer_profile["axes"]["y"]["speed"])
|
||||||
if feedRateXY == 0:
|
if feedRateXY == 0:
|
||||||
# some somewhat sane default if axes speeds are insane...
|
# some somewhat sane default if axes speeds are insane...
|
||||||
|
|
@ -172,6 +175,10 @@ class gcode(object):
|
||||||
P = getCodeFloat(line, 'P')
|
P = getCodeFloat(line, 'P')
|
||||||
if P is not None:
|
if P is not None:
|
||||||
totalMoveTimeMinute += P / 60.0 / 1000.0
|
totalMoveTimeMinute += P / 60.0 / 1000.0
|
||||||
|
elif G == 10: #Firmware retract
|
||||||
|
totalMoveTimeMinute += fwretractTime
|
||||||
|
elif G == 11: #Firmware retract recover
|
||||||
|
totalMoveTimeMinute += fwrecoverTime
|
||||||
elif G == 20: #Units are inches
|
elif G == 20: #Units are inches
|
||||||
scale = 25.4
|
scale = 25.4
|
||||||
elif G == 21: #Units are mm
|
elif G == 21: #Units are mm
|
||||||
|
|
@ -214,6 +221,15 @@ class gcode(object):
|
||||||
absoluteE = True
|
absoluteE = True
|
||||||
elif M == 83: #Relative E
|
elif M == 83: #Relative E
|
||||||
absoluteE = False
|
absoluteE = False
|
||||||
|
elif M == 207 or M == 208: #Firmware retract settings
|
||||||
|
s = getCodeFloat(line, 'S')
|
||||||
|
f = getCodeFloat(line, 'F')
|
||||||
|
if s is not None and f is not None:
|
||||||
|
if M == 207:
|
||||||
|
fwretractTime = s / f
|
||||||
|
fwretractDist = s
|
||||||
|
else:
|
||||||
|
fwrecoverTime = (fwretractDist + s) / f
|
||||||
|
|
||||||
elif T is not None:
|
elif T is not None:
|
||||||
if T > settings().getInt(["gcodeAnalysis", "maxExtruders"]):
|
if T > settings().getInt(["gcodeAnalysis", "maxExtruders"]):
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue