This distribution comes under the GNU general public license agreement. Please read the COPYING file. GBOM is a program written in AWK to generate a Bill of Materials from gschem schematics. This is a work in process that was done because I needed it. It was written in AWK because it had the tools for this kind of thing and I didn't have to keep re-inventing things I needed in C :-). At this point it is usable for myself and Terry Porter who helped test and made suggestions for improvement. Because of the flexibility of gschem schematic files, this probably (most likely) doesn't get everything right at this point. Terry was most helpful in supplying .sch files of various types and vintages for me to work out things that I hadn't had issues with in my schematics, Terry has been using GAF a lot longer than I have at this point.Usage is (type gbom with no arguments to get this on screen): -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- {~/projects/gbom} $ gbom useage: gbom { { notype=1 } { nofile=1 } { nofoot=1 } } { docomb=1 } { vprjnm="name of proj" } { exclloc=unambigiousfilename } fn.sch { fn.sch } { ... } Note: The default is to print all fields unless overridden as follows. docomb=1: Prints combined parts list (no other options accepted). notype=1: Prints BOM without type field. nofile=1: Prints BOM without file field. nofoot=1: Prints BOM without footprint field. vprjnm="Name of project": Puts "Name of project" on the report. exclloc="unambigious file name" chooses a specific exclude file. (Default can be changed at top of this executable) {fn.sch}: Any number of Gschem schematic files separated by a space. 'gbom.excludes' file in current directory contains strings of elements you wish to exclude from report (gnd, 5V, title, etc.). # in col 1 is a comment. See the sample gbom.excludes file included with this distribution. Author: Victoria Welch (vykk3@comcast.net) [gbom version 1.14] Error: No file name(s) entered, exiting... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Notes of interest: I've included my AVR serial port programmer schematic (serportpgmr02.sch) for you to test with. This programmer I found somewhere out on the net and have forgotten where, but it saved me from having to replace my Sis chipset motherboard which has problems with the parallel port under linux using it to program with any of the parallel port programmers - thanks to whomever came up with it. If gbom doesn't find an excludes file, it will tell you about it. Expect "strange" things to show up in your listing without it :). The excludes file is expected in the current directory as supplied, if you want a global one, there is a place clearly marked near the top of the gbom executable to change it to what you want. You can also specify on the command line as noted above in the usage statement. If you get a list of error messages at the beginning of the report, most likely (?) these are things that should probably go in your excludes file, such as: Record: 91 - ERROR - $0->model-name=PN2222A<- Record: 232 - ERROR - $0->file=models/P1N4004.mod<- Record: 953 - ERROR - $0->source=esr-frontend.sch<- The record number is the line number in the .sch file. I don't do everything nor probably anything the same way anyone else does, if you feel I am missing something important, drop me a note describing the problem and attach a sample .sch file for me to see what goes on and to test with. I hope that you find this program helpful and that it makes your engineering adventures easier, more productive and more fun :-)! In closing, this is for all the people that have mentored and helped me over the years. It would be impossible to track them all down to say "Thanks", so this is hopefully a "Pay forward" in giving back something for all I have been given over the years! The one person I can say thanks to for all the mentoring, help and encouragement is Terry Porter. Thanks, More than words can express Terry! Take care & enjoy, Vikki. ========================================================================= # Revision History: # V1.00 - 10/28/03 - First working version! # V1.01 - 10/29/03 - Adds footprint / physical. # V1.02 - 10/30/03 - Working on combining parts... # V1.03 - 10/31/03 - Added combined parts list. # V1.05 - 10/31/03 - Minor corrections and additions per Terry Porter. # V1.06 - 11/01/03 - Minor cleanup and clarification in the usage statement. # V1.07 - 11/01/03 - Improve error checking. # V1.08 - 11/02/03 - Improve "C" record handling, sort combined part element strings. # V1.09 - 11/03/03 - Reference is now sorted using vbom. # V1.10 - 11/04/03 - Clean up some add vprjnm to label report for a project and date on hdr. # V1.11 - 11/07/03 - Internal - experimenting with user definable excludes file. # V1.12 - 11/08/03 - Add exclude location to be changeable as command line parameter. # V1.13 - 11/09/03 - Changed the name from vbom to gbom :). # V1.14 - 11/24/03 - Fix problem with spaces in strings. =========================================================================