[gta02-core] BOM processing: things to review
werner at openmoko.org
Tue Jan 26 23:16:15 CET 2010
A quick update on the BOM to "shopping list" conversion. Here's an
overview of the workflow:
Don't worry, it'll get more complicated before too long :-)
To run the whole thing, update to the latest SVN revision, then
generate the BOM from eeschema, and run "make -C bom". Don't
worry about the "374/452 unmatched" at the end for now.
What this does it that it takes the FIC inventory, breaks it into
two files, .equ to equate FIC part numbers with the various
manufacturer part numbers, and .inv to record the current stock.
The BOM, the equivalences, and a list of "virtual stock" (in this
case, the test pads) are then converted into a list of all
possible part numbers for each component.
This list is then checked against the inventories and a heuristic
picks a supplier (or multiple) and sets the order quantity.
The later stages of this process don't have much to do yet. The
part that could use some reviewing already is the conversion of
FIC's inventory. In particular, bom/fic/fic.equ should adequately
map FIC part numbers to manufacturer part numbers.
To make sure that not too many copy & paste errors creep into
this conversion, I've written a small Perl script, fic2vendor,
that extracts the vendor references from the free-format
description field of the inventory.
The file formats are described in bom/README
- some parts normally identified by their part number don't use
the same number in the schematics and in FIC's inventory.
Such mismatches can be corrected in the schematics, in the
translation of the inventory, or by substituting fields in the
- parts normally identified by their characteristics need a
mechanism for converting the information in the BOM in a
canonical format and for matching this against data from the
- for parts we replace, we need inventories from Digi-Key et al.
Ideally, inventory information would be downloaded directly
from their Web site.
This is all rather quick and dirty. Also, I'm trying to take a
shortcut with the manufacturer part numbers, avoiding the
distinction between the part number and the order number. Let's
see how this goes.
How you can help:
- as I mentioned, the data we extract from FIC's inventory should
already be reasonably correct and ready for reviewing.
- some parts may be suitable for matching by name, but there's a
trivial difference that prevents this from happening. In this
case, it may make sense to adapt the part's description in the
schematics. (If in doubt, please check on #gta02-core or here
on the list.)
More information about the gta02-core