Fix warnings in stepper.cpp (#16364)

2.0.x
Jason Smith 5 years ago committed by Scott Lahteine
parent 92ad973729
commit 9ff2d34bf8

@ -1405,6 +1405,9 @@ void Stepper::isr() {
ENABLE_ISRS();
}
#define ISR_PULSE_CONTROL (MINIMUM_STEPPER_PULSE || MAXIMUM_STEPPER_RATE)
#define ISR_MULTI_STEPS (ISR_PULSE_CONTROL && DISABLED(I2S_STEPPER_STREAM))
/**
* This phase of the ISR should ONLY create the pulses for the steppers.
* This prevents jitter caused by the interval between the start of the
@ -1435,9 +1438,11 @@ void Stepper::stepper_pulse_phase_isr() {
step_events_completed += events_to_do;
// Take multiple steps per interrupt (For high speed moves)
#if ISR_MULTI_STEPS
bool firstStep = true;
xyze_bool_t step_needed{0};
hal_timer_t end_tick_count = 0;
#endif
xyze_bool_t step_needed{0};
do {
#define _APPLY_STEP(AXIS) AXIS ##_APPLY_STEP
@ -1494,7 +1499,7 @@ void Stepper::stepper_pulse_phase_isr() {
PULSE_PREP(E);
#endif
#if (MINIMUM_STEPPER_PULSE || MAXIMUM_STEPPER_RATE) && DISABLED(I2S_STEPPER_STREAM)
#if ISR_MULTI_STEPS
if (firstStep)
firstStep = false;
else
@ -1525,7 +1530,7 @@ void Stepper::stepper_pulse_phase_isr() {
#endif
// TODO: need to deal with MINIMUM_STEPPER_PULSE over i2s
#if (MINIMUM_STEPPER_PULSE || MAXIMUM_STEPPER_RATE) && DISABLED(I2S_STEPPER_STREAM)
#if ISR_MULTI_STEPS
START_HIGH_PULSE();
AWAIT_HIGH_PULSE();
#endif
@ -1558,7 +1563,7 @@ void Stepper::stepper_pulse_phase_isr() {
#endif // !MIXING_EXTRUDER
#endif // !LIN_ADVANCE
#if (MINIMUM_STEPPER_PULSE || MAXIMUM_STEPPER_RATE) && DISABLED(I2S_STEPPER_STREAM)
#if ISR_MULTI_STEPS
if (events_to_do) START_LOW_PULSE();
#endif
@ -1947,11 +1952,13 @@ uint32_t Stepper::stepper_block_phase_isr() {
//const hal_timer_t added_step_ticks = hal_timer_t(ADDED_STEP_TICKS);
// Step E stepper if we have steps
#if ISR_MULTI_STEPS
bool firstStep = true;
hal_timer_t end_tick_count = 0;
#endif
while (LA_steps) {
#if (MINIMUM_STEPPER_PULSE || MAXIMUM_STEPPER_RATE) && DISABLED(I2S_STEPPER_STREAM)
#if ISR_MULTI_STEPS
if (firstStep)
firstStep = false;
else
@ -1966,13 +1973,13 @@ uint32_t Stepper::stepper_block_phase_isr() {
#endif
// Enforce a minimum duration for STEP pulse ON
#if (MINIMUM_STEPPER_PULSE || MAXIMUM_STEPPER_RATE)
#if ISR_PULSE_CONTROL
START_HIGH_PULSE();
#endif
LA_steps < 0 ? ++LA_steps : --LA_steps;
#if (MINIMUM_STEPPER_PULSE || MAXIMUM_STEPPER_RATE)
#if ISR_PULSE_CONTROL
AWAIT_HIGH_PULSE();
#endif
@ -1985,7 +1992,7 @@ uint32_t Stepper::stepper_block_phase_isr() {
// For minimum pulse time wait before looping
// Just wait for the requested pulse duration
#if (MINIMUM_STEPPER_PULSE || MAXIMUM_STEPPER_RATE)
#if ISR_PULSE_CONTROL
if (LA_steps) START_LOW_PULSE();
#endif
} // LA_steps

Loading…
Cancel
Save