mirror of
https://github.com/MarlinFirmware/Marlin.git
synced 2025-01-22 17:52:57 +00:00
🩹Disable nonlinear extrusion on unretract (#26824)
* Fixes disable NLE on unretract #26808, which reported blobs at the start of lines during unretract.
This commit is contained in:
parent
a337a43bfd
commit
c91771a51e
3 changed files with 8 additions and 6 deletions
|
@ -2462,11 +2462,7 @@ bool Planner::_populate_block(
|
|||
#if ENABLED(LIN_ADVANCE)
|
||||
bool use_advance_lead = false;
|
||||
#endif
|
||||
if (true NUM_AXIS_GANG(
|
||||
&& !block->steps.a, && !block->steps.b, && !block->steps.c,
|
||||
&& !block->steps.i, && !block->steps.j, && !block->steps.k,
|
||||
&& !block->steps.u, && !block->steps.v, && !block->steps.w)
|
||||
) { // Is this a retract / recover move?
|
||||
if (!ANY_AXIS_MOVES(block)) { // Is this a retract / recover move?
|
||||
accel = CEIL(settings.retract_acceleration * steps_per_mm); // Convert to: acceleration steps/sec^2
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -1123,4 +1123,10 @@ class Planner {
|
|||
|
||||
#define PLANNER_XY_FEEDRATE() _MIN(planner.settings.max_feedrate_mm_s[X_AXIS], planner.settings.max_feedrate_mm_s[Y_AXIS])
|
||||
|
||||
#define ANY_AXIS_MOVES(BLOCK) \
|
||||
(false NUM_AXIS_GANG( \
|
||||
|| BLOCK->steps.a, || BLOCK->steps.b, || BLOCK->steps.c, \
|
||||
|| BLOCK->steps.i, || BLOCK->steps.j, || BLOCK->steps.k, \
|
||||
|| BLOCK->steps.u, || BLOCK->steps.v, || BLOCK->steps.w))
|
||||
|
||||
extern Planner planner;
|
||||
|
|
|
@ -2770,7 +2770,7 @@ hal_timer_t Stepper::block_phase_isr() {
|
|||
ne_edividend = advance_dividend.e;
|
||||
const float scale = (float(ne_edividend) / advance_divisor) * planner.mm_per_step[E_AXIS_N(current_block->extruder)];
|
||||
ne_scale = (1L << 24) * scale;
|
||||
if (current_block->direction_bits.e) {
|
||||
if (current_block->direction_bits.e && ANY_AXIS_MOVES(current_block)) {
|
||||
ne_fix.A = (1L << 24) * ne.A;
|
||||
ne_fix.B = (1L << 24) * ne.B;
|
||||
ne_fix.C = (1L << 24) * ne.C;
|
||||
|
|
Loading…
Reference in a new issue