mirror of https://github.com/Desuuuu/klipper.git
gcode_arcs: Disable E moves in absolute extrude mode
Commit 402110f6
didn't actually fix absolute extrude mode. For now,
report an error if an extrude move is requested in absolute extrude
mode.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
fc627ec470
commit
43fa41c1af
|
@ -38,23 +38,20 @@ class ArcSupport:
|
||||||
if not asI and not asJ:
|
if not asI and not asJ:
|
||||||
raise self.gcode.error("G2/G3 neither I nor J given")
|
raise self.gcode.error("G2/G3 neither I nor J given")
|
||||||
asE = self.gcode.get_float("E", params, None)
|
asE = self.gcode.get_float("E", params, None)
|
||||||
|
if asE is not None and gcodestatus['absolute_extrude']:
|
||||||
|
raise self.gcode.error("G2/G3 only supports relative extrude mode")
|
||||||
asF = self.gcode.get_float("F", params, None)
|
asF = self.gcode.get_float("F", params, None)
|
||||||
clockwise = (params['#command'] == 'G2')
|
clockwise = (params['#command'] == 'G2')
|
||||||
|
|
||||||
# Build list of linear coordinates to move to
|
# Build list of linear coordinates to move to
|
||||||
coords = self.planArc(currentPos, [asX, asY, asZ], [asI, asJ],
|
coords = self.planArc(currentPos, [asX, asY, asZ], [asI, asJ],
|
||||||
clockwise)
|
clockwise)
|
||||||
e_per_move = e_base = 0.
|
|
||||||
if asE is not None:
|
|
||||||
if gcodestatus['absolute_extrude']:
|
|
||||||
e_base = currentPos[3]
|
|
||||||
e_per_move = (asE - e_base) / len(coords)
|
|
||||||
|
|
||||||
# Convert coords into G1 commands
|
# Convert coords into G1 commands
|
||||||
for coord in coords:
|
for coord in coords:
|
||||||
g1_params = {'X': coord[0], 'Y': coord[1], 'Z': coord[2]}
|
g1_params = {'X': coord[0], 'Y': coord[1], 'Z': coord[2]}
|
||||||
if e_per_move:
|
if asE is not None:
|
||||||
g1_params['E'] = e_base + e_per_move
|
g1_params['E'] = asE / len(coords)
|
||||||
if asF is not None:
|
if asF is not None:
|
||||||
g1_params['F'] = asF
|
g1_params['F'] = asF
|
||||||
self.gcode.cmd_G1(g1_params)
|
self.gcode.cmd_G1(g1_params)
|
||||||
|
|
|
@ -3,6 +3,7 @@ DICTIONARY atmega2560.dict
|
||||||
CONFIG gcode_arcs.cfg
|
CONFIG gcode_arcs.cfg
|
||||||
|
|
||||||
# Home and move in arcs
|
# Home and move in arcs
|
||||||
|
M83
|
||||||
G28
|
G28
|
||||||
G1 X20 Y20 Z20
|
G1 X20 Y20 Z20
|
||||||
G2 X125 Y32 Z20 E1 I10.5 J10.5
|
G2 X125 Y32 Z20 E1 I10.5 J10.5
|
||||||
|
|
Loading…
Reference in New Issue