The windows program and the Arduino share the work:
- The Program is doing some preprocessing on the G-code - basically anything requiring floating point calculations and the look ahead.
- Then the preprocessed commands are sent to the Arduino and stored to a buffer to avoid USB latency or program response issues.
- Step generation itself is done by the Arduino (>> 70kHz possible). The ramp is stored in the Arduinos flash memory during setup and can be up to 4990 steps long (sinusoidal ramp)
- Gamepad control is done by issuing a start command with axis, direction and speed to the Arduino - then a loop starts updating desired speed according to joystick position and reading back steps done by the Arduino until the joystick is back to neutral position when a stop command is issued.
@Mike: what is Norton reporting? I'm not aware of any virus on my computer.
My CAM Software and CNC Controller: www.estlcam.com