> I had the same problem. A half solution was to check the size of the > structures eg sizeof(EMC_STAT). I only need to know if a binary has > changed, and stop when there was a mismatch.
I wish there was a way to do that at runtime. As far as I know that trick only works at compile time. You get the size of the EMC_STAT class you compiled with, not the version that is currently running. > Ideally there should be a protocol version. Extra functions may be minor > numbers and changes to old major number or something similar. That would be great but if it hasn't happened by now I doubt if it will ever happen as it is only useful in limited circumstances. What I am doing is an edge case and goes against the Linux way of doing things. LinuxCNC follows the same principal as most Linux distros. Everything you should need comes supplied with the distribution. If you need anything that hasn't been supplied you are on your own and should build it from source (if you can). The aim for this project is to provide a universal open source abstraction layer between control and GUI. As well as LinuxCNC I already have most of the code for Mach3 and Eding CNC. MachineKit, UCCNC and Mach4 are on the to-do list. Any GUI based on this library would be able to run any control that has a suitable driver. As the protocol is sockets based the GUI and control don't need to be on the same computer or even using the same OS. I am pretty sure I can make it work for my current fairly modest requirements but I have yet to see if it can be made versatile enough to handle a full CNC GUI. Les ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers