Maxime, Your willingness to contribute is certainly appreciated. My view is that a new user interface needs a raison d'etre, where such things as simply reorganizing the code or rewriting it in a modern gui environment would not seem to meet that test. I can't speak for Axis on a coding level because I have never bothered to learn Python, but regardless of the quality of the code, it is by far the most popular user interface used with EMC. It would also not seem to warrant a complete rewrite just to add a few more features.
OTOH, I can think of a few other types of user interfaces which certainly could have a raison d'etre. One I would really like to see is a UI specifically designed for a touch screen. In fact ideally having at least two layouts. One for the 4x3 format and one for 16x9 format. If you want to write a UI in Java or other cross platform environment you might want to consider using the emcrsh interface (http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Emcrsh) which uses plain text commands over a simple socket (telnet) interface. For implementing stepconf like or other "advanced" features, you might look into the halrmt interface (http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Halrmt). This is a complementary interface to emcrsh allowing you to issue any hal command (except alias, which I have not gotten around to updating) over the same type of socket interface. Obviously within the UI, password protection or similar technique can be used to restrict access to these "dangerous" functions from the general operator, while making them available to advanced users. The advantage of these interfaces (emcrsh, halrmt) is that the UI can be run on almost any platform without having to setup a specific environment like ssh / Xming, Python, Tk/Tcl, etc. This is certainly an advantage to those wanting to have a Windows based UI. The UI also then becomes independent of the specific version of EMC running as well. The downside is that it cannot maintain the update rate of a strictly local user interface. The ability to display actual positions against programmed positions at high resolution is a particularly powerful feature in Axis. <soap box mode > Lastly, one area I have wanted addressed, but has pretty much gone over like a lead balloon in the past, is adding a "universal user interface API". By universal API, I mean adding a layer between EMC and the user interfaces which both provides the functions typically needed by user interfaces, while at the same type providing an interface which remains consistent across versions of EMC. Ideally any UI should be able to be compiled / interpreted separate from EMC and work with any version of EMC having this interface. One thing I recently wanted to do was to implement a generic way of applying a preprocessor when opening a g-code file. Axis has this feature, but it is done within Axis. In my view, this should be a feature available universally to any UI without having to re-implement it in every one. However, there is no point in pursing this unless the maintainers of the existing UIs see sufficient advantage to warrant porting them over. </soap box mode> Regards, Eric I could argue that such a "casual user" could hurt himself in many ways, and shouldn't be given access to the machine. I'd rather postpone the stepconf discussion to later, it is not high priority to me. Which brings us back to : - AXIS code organization/refactoring - opinion on the migration to a modern gui toolkit or Should I rather start a new gui project and leave axis as it is? Anyone interested? ------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://www.creativitycat.com _______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers
