Thread: Mach3 vs Mach4
Wow - Linuxcnc guy here. (Yes - I just joined to enter this conversation...) I think some things need to be clarified
The guy in question is big in the mach community. He had a working mach system and installed linuxcnc and could not get the charge pump to work. The conclusion is that the G540 requires EPP mode, not to take advantage of the EPP protocol, but to use its higher current capability. (some consider that a design flaw) but that is neither here nor there. Ubuntu (the linux flavor that the linuxcnc livecd is based on) for some reason didn't set the printer port mode to EPP even though the bios was set for it. Don't know why. The thought was to add functionality to the linuxcnc printer port driver to force the port to EPP mode. (A configuration option.) This doesn't happen with all computers and printer ports only certain hardware. I have found a few post were mach didn't get the charge pump working. changing hardware solved it.
This is a quote from a hardware developer.
This does show the the G540 charge pump circuit needs a re-design. Theres
really no reason it should not "just work" with _any_ parallel port in any
(if you look at the various Mach forums, a lot of people just gave up and
turned the charge pump off)
It could be that the constant velocity performance isn't as good as mach. I don't know - I have never used mach. There are settings within gcode to adjust the CV performance. Strait G64 goes as fast as it can while touching every line segment.. Adding a P and Q really helps.
It does things like blending line segments that are collinear within the set tolerance together.. I have never ran into any post or anyone that has had linuxcnc do something that wasn't explainable... The trajectory planner and motion is rock solid. I have although read many post where mach has done something odd. Plunge Z into the table for no reason - next run is perfect. I have read where it has not obeyed velocity or acc constraints.. Some of these are 'known bugs'. Yikes. If Linuxcnc is a bit slower - I think I may take that with consistency. Just wait for mach4 everyone says....
mach 3 cv mode stalling
-Jog while Paused.
Linuxcnc doesn't yet. Will it happen in the future? Seems like it - one of the developers did a mock up showing it is possible. The current structure of linuxcnc makes it a bit hard the way I understand it. (lots of changes happening in linuxcnc - see below.)
I have always used 'run from line' The mod that john points out from Les Newall is really just a wrapped up 'run from line'. Jog while paused does seem like it would be cool - But I didn't even know I was missing it until recently :)
-Future of linuxcnc
More linux distros and more realtime kernels. There is a push to get linuxcnc added to the debian repositories. this would make linuxcnc even more main stream. (and from other projects that have been added to debian - more developers)
There is a re-vamping of the internal structure of linuxcnc (not a total rewrite..) to make things like a better trajectory planner or 'jog while paused' possible.
More flexable GUI.. another complaint is there is no 'screen editor'. Now there are a few options.. GScreen is a big one - it uses the linux GUI editor Glade.
Rtnet - There are a few products coming down the pipe that use RTnet to communicate. So - Ethernet interface with realtime control.
Linuxcnc sure isn't perfect - but it is stable stable stable. (yes - 3 stables) And it is only getting better! (I really do love linuxcnc - I converted an old HMC and it has been a dream 4 axis, 96 i/o with tool changer, pallets and all that jazz)
PS - Guess what tormach is using for their new lathe software? Any takers? ;)
PPS one more comment on mach4.. Things You Should Never Do, Part I - Joel on Software
I've held of replying to this, but I can't hold of anymore.
Regardless of what people think or say, Art Fennerty brought CNC to the non-computer geeks, and made it accessible. Yes, chances are if Art hadn't done it, somebody else probably would of, but he dedicated the time and effort to do something lots of people said couldn't be done. At the time Mach first appeared, you really did have to be a computer geek to use linux, let along EMC, and Mach provided a familiar alternative.
Linux is now more accesible and useable, but is still an unknown quantity for lots of users. Windows provides a 'safe haven' for those who struggle to do anything more than relatively basic tasks, let alone have to start configuring operating systems. Just because Linux users find things easy to do, doesn't translate to your average computer user even having the slightest idea what you're on about.
This is one of the concepts lots of linux users fail to grasp, and it actually applies to quite a lot of things. My full time job is a mechanic, mostly dealing with diagnostics. If I was to tell you go and check the multi-circuit protection valve on a vehicle, would you even know what it is, or where to begin, bearing in mind lots of drivers would struggle to find the dipstick?
However, the big thing of the future are external motion controllers. Even RTOS's can't match a few dollar DSP sitting churning out pulses. You have one core dealing with generating pulses, another planning motion, one dealing with inputs, one with loading the trajectory, and a few spare to deal with whatever tasks you can think up.
Mach realised this long ago, and added various hooks into it's core to provide support for external controllers, however that is it's current biggest flaw and the reason for the re-write. How would LinuxCNC stack up if somebody suddenly added in lots of interlinked hooks to support external motion controllers?
I'd imagine it would be a core in a similar mess to Mach3 currently is, whereby the simplist of changes can cause havoc with other parts of code.
Re-writes are rarely a good thing, but sometimes there is no other option.
As for what I use, Mach. Simply because I'm not going to start running dual boot/extra computers as lots of other software I use needs windows. Although I'm thinking about setting up KMotion for the KFlop on the new lathe.
Personally, I think that most Windows users would actually convert to Linux full time if they gave it a decent chance. But humans are funny creatures and don't like change, particularly if it involves un-learning some bad habits.