|
@@ -451,7 +451,7 @@ void Stepper::isr() {
|
451
|
451
|
#endif // ADVANCE or LIN_ADVANCE
|
452
|
452
|
|
453
|
453
|
#if ENABLED(ADVANCE) || ENABLED(LIN_ADVANCE)
|
454
|
|
- eISR_Rate = (timer >> 2) / abs(e_steps[current_block->active_extruder]);
|
|
454
|
+ eISR_Rate = (timer >> 2) * step_loops / abs(e_steps[current_block->active_extruder]);
|
455
|
455
|
#endif
|
456
|
456
|
}
|
457
|
457
|
else if (step_events_completed > (unsigned long)current_block->decelerate_after) {
|
|
@@ -487,7 +487,7 @@ void Stepper::isr() {
|
487
|
487
|
#endif // ADVANCE or LIN_ADVANCE
|
488
|
488
|
|
489
|
489
|
#if ENABLED(ADVANCE) || ENABLED(LIN_ADVANCE)
|
490
|
|
- eISR_Rate = (timer >> 2) / abs(e_steps[current_block->active_extruder]);
|
|
490
|
+ eISR_Rate = (timer >> 2) * step_loops / abs(e_steps[current_block->active_extruder]);
|
491
|
491
|
#endif
|
492
|
492
|
}
|
493
|
493
|
else {
|
|
@@ -497,7 +497,7 @@ void Stepper::isr() {
|
497
|
497
|
if (current_block->use_advance_lead)
|
498
|
498
|
current_estep_rate[current_block->active_extruder] = final_estep_rate;
|
499
|
499
|
|
500
|
|
- eISR_Rate = (OCR1A_nominal >> 2) / abs(e_steps[current_block->active_extruder]);
|
|
500
|
+ eISR_Rate = (OCR1A_nominal >> 2) * step_loops_nominal / abs(e_steps[current_block->active_extruder]);
|
501
|
501
|
|
502
|
502
|
#endif
|
503
|
503
|
|
|
@@ -542,16 +542,18 @@ void Stepper::isr() {
|
542
|
542
|
}
|
543
|
543
|
|
544
|
544
|
// Step all E steppers that have steps
|
545
|
|
- STEP_E_ONCE(0);
|
546
|
|
- #if EXTRUDERS > 1
|
547
|
|
- STEP_E_ONCE(1);
|
548
|
|
- #if EXTRUDERS > 2
|
549
|
|
- STEP_E_ONCE(2);
|
550
|
|
- #if EXTRUDERS > 3
|
551
|
|
- STEP_E_ONCE(3);
|
|
545
|
+ for (uint8_t i = 0; i < step_loops; i++) {
|
|
546
|
+ STEP_E_ONCE(0);
|
|
547
|
+ #if EXTRUDERS > 1
|
|
548
|
+ STEP_E_ONCE(1);
|
|
549
|
+ #if EXTRUDERS > 2
|
|
550
|
+ STEP_E_ONCE(2);
|
|
551
|
+ #if EXTRUDERS > 3
|
|
552
|
+ STEP_E_ONCE(3);
|
|
553
|
+ #endif
|
552
|
554
|
#endif
|
553
|
555
|
#endif
|
554
|
|
- #endif
|
|
556
|
+ }
|
555
|
557
|
|
556
|
558
|
}
|
557
|
559
|
|