3 Axis programmable Step Direction generator

Attached here is my work on 3 Axis Pulsar using Mega2560. Please note I have predefined set up like 3 Stepper Motors with individual industrial drivers, Separate encoder receiver for PC. etc.
My Stepper Drivers accepts 5V Signals and do not draw much power to initiate the motor. I have already used Advantech Stepper Controller card to drive the system. This circuit is for trial purpose and yet to finish fully.

The proposed setup has 3 parts; 1. Arduino itself and 2. Sync Trigger ( 4081BP ic) and 3. PC side GUI plus movement Algorithm. I have used sync trigger to overcome the asynchronous execution of the axis motors. when you directly put the pulses from code to motor it will not execute at the same time for all of them (even the code is back to back) . sync gate collect and hold the pulses until it gets triggering pulse. this is for both clock and direction pulses.

I put some Serial.print text just to simulate the sketch without having set up like mine. one may comment out them to reduce the Serial output data.

execution Commands:
After uploading the sketch arduino will sniff Serial port for the commands;
you may pass X?? Y?? Z??; to move the axis
note '?' means number of revolutions (@ 200PPR), and all spaces are delimiter and mandatory. command should end with ';' character.

you may pass JOG; command to start Jog.
to jog you will first select the axis by clicking the respective push button ones. and then by clicking or holding the Fwd, Rev button you can move the axis, Shifting axis focus by clicking other axis button directly.

looking forward your comments

Precino1.rar (17.5 KB)

I'm not sure what you expect comments about. Life is too short to read 17.5k of code unless you have a specific question.

If you use direct port addressing the Arduino can write to 8 outputs at the same instant. But I wouldn't have thought the short delay between successive digitalWrite()s to different motors would matter.

...R

there is no question in there. the post is open for study and expecting comments like you have given. in other words i am just finding loop holes.
and yes short delay may not matter where run is short. Its all about improving performance of the set up.
last two days while i was on this project ( i am still there) i came across some forums where there was a requirement of same kind so i have post the code. now its up to you whether you want to read it, use it, or just go ahead.

Sorry for the misunderstanding. It's good of you to share.

Do you have an instruction document explaining what it does and how to use it?

...R