[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Parts DB API
John Doty wrote:
> On Dec 18, 2007, at 2:32 PM, Peter TB Brett wrote:
>
>> "Rewrite the component library C & Scheme APIs, and make a new GUI
>> for it in
>> gschem" is achievable (just). Ideally, I'd like to be able to do
>> it in a
>> tidy, self-contained way.
>
> May I suggest the following path to the future? I believe it's pretty
> simple.
>
> Define a new attribute, "part=". Have it refer to an entry in a file,
> "parts". Now, for example, I might attach the attribute "part=BCX70K"
> to a light NPN transistor symbol. In the file "parts", I might place
> the following:
>
> BCX70K
> device=2N930JANTXV
> footprint=TO206AA
> pinnumber=1:C
> pinnumber=2:B
> pinnumber=3:E
Conceptually I'm with you, but this is yet another flat file. I'd like
a mechanism so that when the trigger attribute ('part=' in your example)
is encountered, it uses a script or helper to get the goods. So if you
want a flat file, OK, the helper reads your flat file. My helper will
connect to mysql and use the attribute value in a SQL select statement.
Now, from there it is a short step to being able to join multiple
attribute files. If there is a global attribute selector that can be
invoked at netlist time (or other extraction tool..) then a user might
have an extra database column for attribute set, and a column for revision.
So, you might set attrset='prototype' attrsetrev='B1', and so the
netlister does a select with "part='<something from symbol>' AND
attrset='prototype' AND attrsetrev='B1'" and extracts the appropriate
parameters. A week later, you use attrset='production' and
attrsetrev='A0' or whatever to get the information relevant to
manufacturing ramp.
Now, I suppose you could turn that around. Let's suppose gschem
implements your suggestion exactly. Then I would write a program that
did the database query and produced the flat file to feed into the
netlisting process. Which of course can be automated with make.
-dave
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user