Optimized firmware for RepRap 3D printers based on the Arduino platform. The branch Marlin2ForPipetBot is optimized firmware for cartesian robots (lab robots, also known as liquid handling robots or pipetting robots)
With ASYNC_SECONDARY_AXES defined, axes I,J, and/or K moves should not be syncronized with the movement of other axes to end at the same timepoint. They should rather move according to the set feedrate for that axis. Only XYZ should move synchronized with each other.
Steps to Reproduce
Flash 6axis_dev branch with ASYNC_SECONDARY_AXES and NON_E_AXES 4
M502
M500
G28
G1 X10 Z20 I64
G1 X74 Z84 I32
Expected behavior: [What you expect to happen]
movement of X,Y,Z should be synchronized to end simultaneously. but there should be no synchronization with movement of secondary axes (AXIS_I). Step 4 should result in Fast and short sync movement of X,Y and end early but simultaneously while I should move with MAX_FEEDRATE[3] to the destinaton, reaching the destination later.
Step 5: Axes XZ should move synchronized with each other and movement of these axes should end simultaneously. Short movement of I should again happen with MAX_FEEDRATE[3] and reach the destination earlier than the axes XZ.
Actual behavior: [What actually happens]
All movements are synchronized and end simultaneously
I removed ASYNC_SECONDARY_AXES support and related code. First we should get multi-axis support with default behaviour (syncronized movement of all axes) merged.
Description
With ASYNC_SECONDARY_AXES defined, axes I,J, and/or K moves should not be syncronized with the movement of other axes to end at the same timepoint. They should rather move according to the set feedrate for that axis. Only XYZ should move synchronized with each other.
Steps to Reproduce
Expected behavior: [What you expect to happen]
movement of X,Y,Z should be synchronized to end simultaneously. but there should be no synchronization with movement of secondary axes (AXIS_I). Step 4 should result in Fast and short sync movement of X,Y and end early but simultaneously while I should move with MAX_FEEDRATE[3] to the destinaton, reaching the destination later. Step 5: Axes XZ should move synchronized with each other and movement of these axes should end simultaneously. Short movement of I should again happen with MAX_FEEDRATE[3] and reach the destination earlier than the axes XZ.
Actual behavior: [What actually happens]
All movements are synchronized and end simultaneously
Additional Information