[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: How to deal with single/dual parts?
On Thu, 2009-11-19 at 10:38 -0600, Bill Gatliff wrote:
> Now I'm beginning to see the problems with slotting and symbols the way
> we're doing them now: they unnecessarily tie the concept of a symbol to
> the concept of a component, because the pin numbers that we currently
> record in our symbols are also the pin numbers that the component maps
> to the pins of the component's package. We have munged together the
> concepts of symbol and component in our "symbol" files, but can't seem
> to admit to that.
>
> That's the breakage, methinks.
Symbols defining slots are necessarily heavy symbols, by nature.
The slotting mechanism doesn't actually stop you adding numslots=, or
"slotdef=" attributes afterwards, in the schematic. In _theory_, these
attributes could be added in the same step where your "whatever" plugin
transforms your light "nand" symbol into a heavy one.
The code which refreshes the pin-numbers when you change these unusually
attached attributes is broken (missing) in git HEAD. Various special
case checks for "slot=" exist, but none of the others. Nice things start
to happen when you refactor the code though.. it starts to work better.
The crux of it:
http://repo.or.cz/w/geda-gaf/pcjc2.git/commitdiff/a8e4dd845a0dc49798fabc757a851f38567aa10a
I'm cheating a little - slot updates are checked for _any_ attribute
change on a complex, but it works - and shouldn't miss any cases.
The benefit though - is that the updates are _always_ processed, no
matter how the attribute was caused to change.. the single attribute
editor, multi-attribute editor, file-load, etc. Other such behavioural
pieces of code can be added - performing similar tasks, without having
to ensure they are called in "n" different locations.
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user