By the way there are many contributors to Marlin including some very smart people. That code you looked at has been looked over by me and probably 100 other people. It seems strange at first but it is pretty well done. It even looks 12 segments/blocks ahead of time so that it doesn't have to stop. For example if printing a circular path the old firmware (before marlin, before sprinter) would come to a complete stop at every vertex. The new software hardly slows down at all due to the "jerk" setting which isn't jerk but more maximum instantaneous velocity change at a vertex.
Recommended Posts
gr5 2,267
It is VERY IMPORTANT for the X,Y,Z,E axis to all 4 move linearly. In a straight line. If the extruder ran max speed for a block it would finish early and you would get overextrusion for the begining and zero extrusion for the end of every line segment.
One way to think of this is that all moves are in a straight line in all 4 dimensions.
Even the acceleration is matched in all 4 axis so that it is a straight line even during acceleration and deceleration.
Link to post
Share on other sites