diff --git a/dda.c b/dda.c index b1245b8..b7e8efb 100644 --- a/dda.c +++ b/dda.c @@ -538,33 +538,33 @@ void dda_step(DDA *dda) { if (move_state.steps[X]) { move_state.counter[X] -= dda->delta[X]; if (move_state.counter[X] < 0) { + move_state.counter[X] += dda->total_steps; x_step(); move_state.steps[X]--; - move_state.counter[X] += dda->total_steps; } } if (move_state.steps[Y]) { move_state.counter[Y] -= dda->delta[Y]; if (move_state.counter[Y] < 0) { + move_state.counter[Y] += dda->total_steps; y_step(); move_state.steps[Y]--; - move_state.counter[Y] += dda->total_steps; } } if (move_state.steps[Z]) { move_state.counter[Z] -= dda->delta[Z]; if (move_state.counter[Z] < 0) { + move_state.counter[Z] += dda->total_steps; z_step(); move_state.steps[Z]--; - move_state.counter[Z] += dda->total_steps; } } if (move_state.steps[E]) { move_state.counter[E] -= dda->delta[E]; if (move_state.counter[E] < 0) { + move_state.counter[E] += dda->total_steps; e_step(); move_state.steps[E]--; - move_state.counter[E] += dda->total_steps; } } move_state.step_no++;