Hi, Over the Christmas holidays, I've decided to attempt building a laser cutter. I have thought of probably the best way of controlling it, however I need some help coding it.

Basically, I was thinking of a function that uses points.

For example, a function like GoToPoint(x, y);

The X and Y values would be the number of steps on the table. ie, if it takes 1000 steps to get across the Y of the table, and 500 for the X, setting GoToPoint(1000, 500); will take it right to the back corner.

This is easy enough, however the problem I am having is making it move in a diagonal line. Because the Arduino can't multitask, it can only run 1 stepper at a time. I have found that if you step 1 stepper 1, then the next and have it go as fast as the loop, I get fairly smooth motion, however I'm not sure how I'd go from getting a XY coordinate to draw a diagonal line?

Regards, Dan