On 12/2/2013 9:42 AM, andy pugh wrote: > On 2 December 2013 13:23, Charles Steinkuehler <char...@steinkuehler.net> > wrote: > >> Perhaps with the hacking taking place on motion and the path planner and >> whatnot, these can migrate to HAL where it seems like they belong. > Doing that will break every single existing configuration. (Unless the > new HAL pins take the rather unusual step of initialising themselves > from the INI file, if the entry exists) >
One of the things which has long annoyed me is that our configuration files (INI as well as HAL) do not include a version number which in some way corresponds to the version of LCNC against which they were written. We are not alone in this. I know of similar examples in a number of technical arenas. A common trick in other arenas has been to introduce this kind of metadata retrospectively as a comment header so the versioning can be introduced without breaking existing parsers. There is no need for the version number to be elaborate so long as it changes whenever an incompatible change is introduced in the specification against which the files in question have been written. Were we to introduce this practice, then it is possible to write scripts which can do all sorts of magic such as check for compatibility, upconvert, etc. Writing a script which knows what to do with a 'versionless' configuration file is left as an exercise. One could add intelligence to the script to suss out what version it thinks applies or one could have it simply stop and ask for instructions. My preference is to use a simple sequencing scheme---1, 2, etc.---since incompatible changes to the syntax and semantics of configuration files occur rarely. The LCNC version-numbering could be used but it may give folks the idea the configuration files have to be re-edited each time they change the version of LCNC installed on their machine(s). This sort of bookkeeping is best left to the software and the existence of version numbers in the files makes it possible. It would be up the specification writers to introduce and maintain a correspondence table of file version vs compatible LCNC versions. Just my 2 cents worth. Regards, Kent ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users