Wouter van Ooijen wrote: > Olin, you use an extensive set of libraries & tools. How do you manage > versioning, upgrades, back-propagation of library enhancements, etc? I use a combination of "standard" library routines kept as include files in source code format, and copying from previous projects as appropriate. It also helps a lot that all projects use mostly the same overall structure and build environment. For example, one of the standard library routines initializes the I/O ports according to the preprocessor /INBIT and /OUTBIT commands in the include file. This has lots of assembly time conditionals and therefore looks like a mess. In fact, some of it was machine generated. However, I haven't been in there in a long time. It's something I just use and don't have to think about. Each project has it's own PORT module, but that's just a reference to the project include file, a reference to the PORT library file, and a END directive. My MAKE_PIC_MODULE script automatically generates this if you ask it to make a module where a template of the same name already exists, otherwise it uses the generic module template. Using lots of macros helps too. Since a macro causes no code to be emitted unles it is envoked, I put all my "standard" macros in a single file that gets included in all files. That file is STD.INS.ASPIC, and has grown to over 5000 lines. Some things don't lend themselves well to standardization. You'd think there would be a common way to use the A/D, for example, but yet every project has a little different wrinkle. There I might initialize the code by copying the module from another project, then change it from there. That's what my CLONE_PIC_MODULE script is for. It copies a module from another project, and renames things, like the include file reference, to the new project. ******************************************************************** Embed Inc, Littleton Massachusetts, http://www.embedinc.com/products (978) 742-9014. Gold level PIC consultants since 2000. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist