Someone recently sent me a link to "Dynomotion" asking me what I thought.
I had never come across there products before so I read through some of the info on the website. They claim to have used the open source EMC interpreter as the basis for the control software. Now there is no mention of which version/date they used but I did note that they have added support for M98 Pxxxx and M99 returns.
I would love to know how this was done and if it could be added to future LinuxCNC versions. The current O call method was a good start but is nowhere near mainstream and one of the harder aspects of LinuxCNC for someone trained on conventional OEM controls to get straight. Perhaps the nearest manufacture to use something vaguely similar to our O call would be Okuma, but then they have there own other G / M codes which are wildly different such that an Okuma post file would still be significantly incompatible with LinuxCNC code.
HAAS went out and looked at FANUC code, Yaznaq code, Mazak code plus many others and picked some of the best features of each. I'm not saying I love HAAS - I think there machines have about a 100 month lifespan under hard use, and I dislike the priority of execution of the G-code. But every CAD/CAM package out on the market has a very indepth POST file for the HAAS control. Any Bozo who can draw a rectangle can output good functional G-code for a Haas.
We would not want to take the Linux out of LinuxCNC, but we can move our implementation of RS-274NGC closer to the mainstream to make it easier for users to make the switch and make it easier for those major CAD/CAM publishers to provide support for LinuxCNC & our RS-274NGC.