|
|
@ -147,7 +147,7 @@ |
|
|
|
#define MIN_ISR_LOOP_CYCLES (ISR_X_STEPPER_CYCLES + ISR_Y_STEPPER_CYCLES + ISR_Z_STEPPER_CYCLES + ISR_E_STEPPER_CYCLES + ISR_MIXING_STEPPER_CYCLES) |
|
|
|
|
|
|
|
// Calculate the minimum MPU cycles needed per pulse to enforce, limited to the max stepper rate
|
|
|
|
#define _MIN_STEPPER_PULSE_CYCLES(N) max((F_CPU) / (MAXIMUM_STEPPER_RATE), ((F_CPU) / 500000UL) * (N)) |
|
|
|
#define _MIN_STEPPER_PULSE_CYCLES(N) MAX((F_CPU) / (MAXIMUM_STEPPER_RATE), ((F_CPU) / 500000UL) * (N)) |
|
|
|
#if MINIMUM_STEPPER_PULSE |
|
|
|
#define MIN_STEPPER_PULSE_CYCLES _MIN_STEPPER_PULSE_CYCLES(MINIMUM_STEPPER_PULSE) |
|
|
|
#else |
|
|
@ -158,7 +158,7 @@ |
|
|
|
#define ADDED_STEP_TICKS ((MIN_STEPPER_PULSE_CYCLES) / (PULSE_TIMER_PRESCALE) - MIN_PULSE_TICKS) |
|
|
|
|
|
|
|
// But the user could be enforcing a minimum time, so the loop time is
|
|
|
|
#define ISR_LOOP_CYCLES (ISR_LOOP_BASE_CYCLES + max(MIN_STEPPER_PULSE_CYCLES, MIN_ISR_LOOP_CYCLES)) |
|
|
|
#define ISR_LOOP_CYCLES (ISR_LOOP_BASE_CYCLES + MAX(MIN_STEPPER_PULSE_CYCLES, MIN_ISR_LOOP_CYCLES)) |
|
|
|
|
|
|
|
// If linear advance is enabled, then it is handled separately
|
|
|
|
#if ENABLED(LIN_ADVANCE) |
|
|
@ -171,7 +171,7 @@ |
|
|
|
#endif |
|
|
|
|
|
|
|
// And the real loop time
|
|
|
|
#define ISR_LA_LOOP_CYCLES max(MIN_STEPPER_PULSE_CYCLES, MIN_ISR_LA_LOOP_CYCLES) |
|
|
|
#define ISR_LA_LOOP_CYCLES MAX(MIN_STEPPER_PULSE_CYCLES, MIN_ISR_LA_LOOP_CYCLES) |
|
|
|
|
|
|
|
#else |
|
|
|
#define ISR_LA_LOOP_CYCLES 0UL |
|
|
|