I have a Sainsmart Genmitsu 3018 MX3 - which people refer to as a 'mach3' device but it isn't really - it can be driven by Mach3 and also another program called Drufel - both of which, as I understand it, implement their own internal gcode interpreters, and convert from gcode to pulses that directly drive the stepper motors.
Also although I believe the underlying interface is individual wires over a parallel port, my understanding is that the controller board on the MX3 is front-ended by a USB to parallel chip and that the parallel driving is internal to the controller board which is otherwise pretty dumb.
My question is whether anyone has created an open source gcode interpreter which drives this setup - I know there are a few that drive stepper motors directly over GPIO pins or equivalent parallel interfaces, but is there any that multiplex these commands over a USB interface? If not is the USB to parallel interface that the MX3 controller implements documented anywhere so I could take an existing gcode -> GPIO interpreter and modify the calls to drive the USB interface instead? I don't care what host such a program would run on although a linux/raspberry pi program would certainly be easier to work with than a windows-hosted one.
Failing that, does the "MPG" jog controller interface on the MX3 controller implement sufficient features that it could be used as a device interface instead, by hacking up a wire from say raspberry pi GPIO pins to the D-type connector? (I think it's the same connector as the old style VGA, no?)
Currently my workflow is to generate gcode by whatever means, and copy that gcode into Drufel via load file, or cut&paste, and then run Drufel to interpret the gcode and drive the MX3. I'ld like to be able to generate gcode and send it to the MX3 directly, eg by sending it to a Pi and having the Pi interpret the gcode and control the MX3.
Is this a pipe dream or do the components already exist? I got the impression from some older postings by 'cncdudez' that some of the software either exists or was started on.. I'm comfortable hacking gcode interpreters - I ported this code to a different arduino library a couple of years ago: https://github.com/mlpassos/easilogo...code/gcode.ino so I don't mind if there's a bit of coding involved...
(and yes, I am aware that I could just swap the MX3 controller for a compatible one that uses GRBL to interpret the gcode, and if necessary I will eventually do that, but for now I'ld like to try the way I've outlined above first.)
thanks,
Graham