> 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

Reply via email to