Please sign in to comment.
ACCELERATION_CLOCK: add more refinements and debug code.
For yet unknown reasons, this strategy falls far below expectations. Configured to 1280 steps/mm, the code works for up to about 500 mm/min, only. ACCELERATION_RAMPING does, despite the expensive acceleration calculation in the step interrupt, manage to move 760 mm/min. For finding the cause, I tried to comment out virtually all code out of dda_step() as well as the clock interrupt. Just Bresenham for the X-axis and setTimer() left, the code still acts funny at pretty much the same feedrates. No enhancement at all. The debug code currently put in sends a 's' on every step interrupt, a '.' on every clock interrupt. At higher speeds, one should see one '.' every 20 's' or similar. However, from time to time one sees consecutive clock interrupts, apparently step interrupts fail to happen in some situations. The good thing: acceleration works reasonably fine now, the situation with clock ticks, and along with them, speed changes, happening more often than actual steps seems to be solved. In earlier code, the first speed calculation right after movement start caused a long pause, leading to something like a delayed, unaccelerated movement.
- Loading branch information...