[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