diff --git a/Marlin/stepper.cpp b/Marlin/stepper.cpp index 64805f1acc..a962a08267 100644 --- a/Marlin/stepper.cpp +++ b/Marlin/stepper.cpp @@ -87,7 +87,7 @@ long Stepper::counter_X = 0, Stepper::counter_Z = 0, Stepper::counter_E = 0; -volatile unsigned long Stepper::step_events_completed = 0; // The number of step events executed in the current block +volatile uint32_t Stepper::step_events_completed = 0; // The number of step events executed in the current block #if ENABLED(ADVANCE) || ENABLED(LIN_ADVANCE) @@ -534,8 +534,8 @@ void Stepper::isr() { #endif // Calculate new timer value - unsigned short timer, step_rate; - if (step_events_completed <= (unsigned long)current_block->accelerate_until) { + uint16_t timer, step_rate; + if (step_events_completed <= (uint32_t)current_block->accelerate_until) { MultiU24X32toH16(acc_step_rate, acceleration_time, current_block->acceleration_rate); acc_step_rate += current_block->initial_rate; @@ -551,14 +551,14 @@ void Stepper::isr() { #if ENABLED(LIN_ADVANCE) if (current_block->use_advance_lead) - current_estep_rate[TOOL_E_INDEX] = ((unsigned long)acc_step_rate * current_block->e_speed_multiplier8) >> 8; + current_estep_rate[TOOL_E_INDEX] = ((uint32_t)acc_step_rate * current_block->e_speed_multiplier8) >> 8; if (current_block->use_advance_lead) { #if ENABLED(MIXING_EXTRUDER) MIXING_STEPPERS_LOOP(j) - current_estep_rate[j] = ((unsigned long)acc_step_rate * current_block->e_speed_multiplier8 * current_block->step_event_count / current_block->mix_event_count[j]) >> 8; + current_estep_rate[j] = ((uint32_t)acc_step_rate * current_block->e_speed_multiplier8 * current_block->step_event_count / current_block->mix_event_count[j]) >> 8; #else - current_estep_rate[TOOL_E_INDEX] = ((unsigned long)acc_step_rate * current_block->e_speed_multiplier8) >> 8; + current_estep_rate[TOOL_E_INDEX] = ((uint32_t)acc_step_rate * current_block->e_speed_multiplier8) >> 8; #endif } @@ -588,7 +588,7 @@ void Stepper::isr() { eISR_Rate = (timer >> 2) * step_loops / abs(e_steps[TOOL_E_INDEX]); #endif } - else if (step_events_completed > (unsigned long)current_block->decelerate_after) { + else if (step_events_completed > (uint32_t)current_block->decelerate_after) { MultiU24X32toH16(step_rate, deceleration_time, current_block->acceleration_rate); if (step_rate <= acc_step_rate) { // Still decelerating? @@ -608,9 +608,9 @@ void Stepper::isr() { if (current_block->use_advance_lead) { #if ENABLED(MIXING_EXTRUDER) MIXING_STEPPERS_LOOP(j) - current_estep_rate[j] = ((unsigned long)step_rate * current_block->e_speed_multiplier8 * current_block->step_event_count / current_block->mix_event_count[j]) >> 8; + current_estep_rate[j] = ((uint32_t)step_rate * current_block->e_speed_multiplier8 * current_block->step_event_count / current_block->mix_event_count[j]) >> 8; #else - current_estep_rate[TOOL_E_INDEX] = ((unsigned long)step_rate * current_block->e_speed_multiplier8) >> 8; + current_estep_rate[TOOL_E_INDEX] = ((uint32_t)step_rate * current_block->e_speed_multiplier8) >> 8; #endif } diff --git a/Marlin/stepper.h b/Marlin/stepper.h index 177ccf182e..b38b0e8f45 100644 --- a/Marlin/stepper.h +++ b/Marlin/stepper.h @@ -102,7 +102,7 @@ class Stepper { // Counter variables for the Bresenham line tracer static long counter_X, counter_Y, counter_Z, counter_E; - static volatile unsigned long step_events_completed; // The number of step events executed in the current block + static volatile uint32_t step_events_completed; // The number of step events executed in the current block #if ENABLED(ADVANCE) || ENABLED(LIN_ADVANCE) static unsigned char old_OCR0A;