I wanted to follow up on my post about the Open CNC ECU Reference design with a few points of clarification and additional details. The first thing I wanted to discuss was the front-end interface. Although the system would allow for continued use of Mach3/LinuxCNC, the goal is for the primary interface to use a whole new software architecture. The functions currently performed by Mach3 would be split between the new tablet-centric front-end and the software running on the embedded CPUs within the controller itself. This architecture provides great flexibility in configuring the front-end for very different devices (tablets, PC, etc.), as well as ensuring true isolation of the real-time functions:
One point to consider is that some users may still want a local user interface directly connected to the CNC machine. An optional keyboard/monitor interface could be provided directly on the CNC machine that access the user interface functions just like the tablet/remote UI. This would provide identical functionality to existing local CNC control systems. However, it is anticipated that once the tablet UI is fully implemented, the need for having a dedicated monitor/keyboard per machine would go away.
Another function that might need to be incorporated in the system is preprocessing and/or conversion of the files while in the cloud storage. This functionality could be provided in a modular, extensible pipeline interfaces for manipulating files via a preprocessor module running either locally or directly in the cloud itself. This enables the front-end UI to remain very lightweight, while leveraging cloud-based processing services to do the (potentially) heavy-duty conversion work.
Here is the revised system diagram: