How to limit extruder feedrate without limiting retraction speed
-
Bear in mind that setting a low limit on positive E moves and a higher one on negative E moves (which I think is what @mildw4ve is asking for) would also make filament loading very slow. Reprime moves are also positive extruding moves, and for those I don't think you would want to apply the low speed limit. So if this were to be implemented, it would have to apply only to moves with positive extrusion and X or Y movement.
-
In my option (whatever it's worth), I could see a separate "retraction speed" be beneficial as it would allow faster retraction and reload where filament pressure is not a concern.
I really see two different types of extruder movement that could potentially need different max speeds.
First, extruder movements that generate filament pressure (and are likely to make the extruder skip) such as printing, filament load macros, and filament purge macros. Let's call these "pressure moves".
And the other would be movements that do not generate pressure such as filament retraction and reload. Let's call these "non-pressure moves".
What if the pressure moves remained subject to the speed set in M203. And non-pressure moves could only be made faster if they were done via firmware retraction? This would keep the normal extrusion speed at a lower rate to keep the pressure in the hotend low and help prevent the extruder from skipping but allow quicker retraction where pressure is not typically an issue.
Allowing this new max retraction speed to only be used for firmware retraction would keep filament load/unload or purge macros that do generate filament pressure limited by typical M203 max rates. This would keep all commands that generate filament pressure subject to M203 max rates and firmware retractions could be limited by a new higher max rate.
In short, anything that generates filament pressure is subject to M203, and firmware retraction and reload would have a new max speed since it doesn't generate pressure.
-
You could try changing the limits as part of your load/unload code?
-
@dc42 said in How to limit extruder feedrate without limiting retraction speed:
Bear in mind that setting a low limit on positive E moves and a higher one on negative E moves (which I think is what @mildw4ve is asking for) would also make filament loading very slow. Reprime moves are also positive extruding moves, and for those I don't think you would want to apply the low speed limit. So if this were to be implemented, it would have to apply only to moves with positive extrusion and X or Y movement.
Which is a very good reason to separate "single" vs "multi" axis moves (and not Pos/Neg).