|
@@ -2099,11 +2099,11 @@ uint32_t Stepper::block_phase_isr() {
|
2099
|
2099
|
#if ENABLED(ADAPTIVE_STEP_SMOOTHING)
|
2100
|
2100
|
uint8_t oversampling = 0; // Assume no axis smoothing (via oversampling)
|
2101
|
2101
|
// Decide if axis smoothing is possible
|
2102
|
|
- uint32_t max_rate = current_block->nominal_rate; // Get the maximum rate (maximum event speed)
|
|
2102
|
+ uint32_t max_rate = current_block->nominal_rate; // Get the step event rate
|
2103
|
2103
|
while (max_rate < MIN_STEP_ISR_FREQUENCY) { // As long as more ISRs are possible...
|
2104
|
2104
|
max_rate <<= 1; // Try to double the rate
|
2105
|
|
- if (max_rate >= MAX_STEP_ISR_FREQUENCY_1X) break; // Don't exceed the estimated ISR limit
|
2106
|
|
- ++oversampling; // Increase the oversampling (used for left-shift)
|
|
2105
|
+ if (max_rate < MIN_STEP_ISR_FREQUENCY) // Don't exceed the estimated ISR limit
|
|
2106
|
+ ++oversampling; // Increase the oversampling (used for left-shift)
|
2107
|
2107
|
}
|
2108
|
2108
|
oversampling_factor = oversampling; // For all timer interval calculations
|
2109
|
2109
|
#else
|