Does not extrude first g1 after a pause
-
I tried pausing and resuming prints many times yesterday. In every case, extrusion started again at the correct place. However, I found and fixed two issues in the pause code:
-
The setting of a variable that controls the extrusion on resuming a print may not have been correct in some cases. This didn't cause a problem on my printer, but could perhaps explain the problem on your printer.
-
It was intended that if a move gets segmented (for example because it is an arc move, or it is a long move with mesh bed compensation enabled, or on a SCARA printer), the print could be paused between segments if the allowed jerk was high enough. But the printer never paused between segments.
These fixes will be in 2.0RC6.
-
-
Sounds good, looking forward to testing it.
Kulitorum
-
Sorry, it still do not work.
And on top of that, pausing in the middle of a G2/G3 move is messed up - it will pause and when continuing it moves to a semi-random point, then makes a wierd arc to the endpoint (while not extruding).
I will try to film it.
Kulitorum
-
It looks like it's not re-calculating the center point (which is relative to the start point, remember) but running a new arc code with the "same" - but now offset - center, is that possible?
Do you seperate the arcs into piecewise linear sections? If you do, can I please decide the segment length?
Kulitorum
Kulitorum
-
Sorry for the SD quality, I can't upload HD from my phone outside of wifi.
Kulitorum
-
Pause-extrude-test video
Running this gcode:
g92 e0
g1 x0 y0 u90
g1 x0 y300 e15 f6000
g1 x0 y600 e30 f6000
g1 x0 y900 e45 f6000
g1 x0 y1200 e60 f6000
g1 x0 y1500 e75 f6000
g1 x0 y1800 e90 f6000
g1 x0 y2100 e105 f6000
g1 x0 y2400 e120 f6000
g1 x0 y2700 e135 f6000I pause and resume.
Kulitorum
-
EDIT: FORGET THIS POST, I WAS WRONG, IT STILL FAILS WITHOUT PRESSURE ADVANCE.
Ok, I found a hint, it only fails to extrude after a pause if you have pressure advance enabled.
Try with M572 D0 S0.1 ;Pressure advance 0.1sek
I don't really need pressure advance, so I'm fine with a "known bugs" note for now, if you want to release.
-
Ok, better hint:
It only happens in absolute extrusion mode.
This will not extrude after a pause:
M302 P1
T0
g92 e0
M82
g1 x0 y0 u90
g1 x0 y100 e5 f6000
g1 x0 y200 e10 f6000
g1 x0 y300 e15 f6000
g1 x0 y400 e20 f6000
g1 x0 y500 e25 f6000
g1 x0 y600 e30 f6000
g1 x0 y700 e35 f6000
g1 x0 y800 e40 f6000
g1 x0 y900 e45 f6000This WILL extrude after a pause:
M302 P1
T0
g92 e0
M83
g1 x0 y0 u90
g1 x0 y100 e5 f6000
g1 x0 y200 e5 f6000
g1 x0 y300 e5 f6000
g1 x0 y400 e5 f6000
g1 x0 y500 e5 f6000
g1 x0 y600 e5 f6000
g1 x0 y700 e5 f6000
g1 x0 y800 e5 f6000
g1 x0 y900 e5 f6000Kulitorum
-
Thanks, it's on my list to retest this, using absolute extrusion mode.
-
Ok, cool.
Did you have a chance to take a look at the pause-during-arc-moves problem?
Kulitorum
-
@kulitorum said in Does not extrude first g1 after a pause:
Ok, cool.
Did you have a chance to take a look at the pause-during-arc-moves problem?
Kulitorum
I'm sorry, that one slipped off my radar. The extrude-after-pause issue is fixed in firmware 2.0.
I've added resume-after-pause during G2 and G3 moves to the work list for firmware 2.01. The simplest fix would be to defer the pause until the arc move has completed.
-
that would be a bad solution though, quite often I need to make a stop to clean a jammed extruder or something like that, so the current behavour is perfect, you just need to recalculate the center when you continue.
Kulitorum
-
@kulitorum said in Does not extrude first g1 after a pause:
that would be a bad solution though, quite often I need to make a stop to clean a jammed extruder or something like that, so the current behavour is perfect, you just need to recalculate the center when you continue.
The disadvantage of allowing a pause in the middle of an arc move is that it will be necessary either to store additional information in each move segment to record what the original XY coordinates were at the start of the arc move (so that the centre can be calculated properly), or to read back through the print file when resuming to establish what those original XY coordinates were. The first requires additional memory, the second introduces additional complexity.
-
The Extruder problem has been fixed in the latest version.
Thank you.