← Back to team overview

kicad-developers team mailing list archive

Re: library structure


Dick Hollenbeck wrote
Lets remember we are talking about eeschema here, not pcbnew.

* pcbnew library redesign is another time, and another effort. *

I agree - not near the top priority for eeschema right now. My thinking was WHEN there is a change to the library standards document it should include an alternative way to DEFINE a module directly in mm and later use mm to STORE.. ( and down the road .. similar with eeschema (some gross rounding to internal units in eeschema might be a good idea so there isn't some kind of grid madness ( something like .5" = 10mm ) -- The grid could stay the same unit - just don't tell - and it would engulf both types and store as metric. Hmm .. no one will ever get around to this.. )

On 12/04/2010 02:19 AM, Michael Heidinger wrote:

Let me please give an example:
Resistor: We have one (and only --> unique) resistor symbol. Not
thousands of them. In this resistor all possible footprints are linked.
So when selecting the possible footprints are shown on demand. This
speeds up developing time.

Not sure I agree, but the problem needs to be stated better. In my mind the issue is that the concept of Symbols and Parts are co-mingled in eeschema. This is good and bad as it has to do with simplifying connecting the symbol pins to the right pads of the modules vs abstracting symbols and supporting gate and pin swapping.

(If you wanted one resistor for all values of resistance - you can do that (use user defined field) - I've done it both ways and can testify that if you do several projects, you will be much better off NOT working that way - but kicad should and already CAN be used both ways. )


In my mind in a perfect world there should be Three (or Four libraries) types rather than 2.

There would be 3-4 editors: Part, symbol, editor, SPICE-model - and four library types: lib, sym, mod, (spi?)

A Part would point to one symbol for each unit it contained and would have a list that assigned the symbol pins to the module pins keeping track of swapable unit types and withing the units - swapable pin types.

A lib definition would never contain the symbol - it would only point to a symbol.

The advantage with the current situation is it is a bit simpler, but at the cost of not being able to support the abstraction of units.

( just to be sure of terms:
 symbol = schematic unit decal with pins
 module = PCB foot print
 Part = represents a physical unit - a resistor, or resistor SIP, chip, a wire, etc.

To really nail down this extended concept of a Part - a list of attributes A plus sign indicates that the attribute has special internal meaning for kicad:
-Displayable data all with justification, visibility, Size, Position, and a string value

  *Value (what I've always called a part name  - unique identifier of a part)+
  *Reference +
  *footprint AKA module-name (we really should use one name, footprint or module throughout.. )+
  *Spice model +
  *user defined attributes (manufacturer's number, price, vendor, etc)
  *Datasheet-file name (directories are picked up else-where)
- Not displayable on schematic?
  *unit-list (A, B, C ..) +
     *unit class number (ie.gate vs pwrgate) swapable with the same class number-not swapable = 0)
	*symbol name
	*pin list (one list for each pin of the symbol)
          *pin class number that are swapable within the same class.
          *module pad that schematic pin connects to

Someone - at sometime has created a symbol lib type - perhaps a start for this?

While routing gates and pins get swaped - and the changes back annotated to the schematic. If the pin or unit class numbers are zero or missing no swapping can occur.

If someone has the spectra docs, they might point to something I've missed..

There is probably some issues with hierarchical schematics..

Karl Schmidt                                  EMail Karl@xxxxxxxxxxxx
Transtronics, Inc.                              WEB http://xtronics.com
3209 West 9th Street                             Ph (785) 841-3089
Lawrence, KS 66049                              FAX (785) 841-0434

Against the assault of laughter nothing can stand. -- Mark Twain


Follow ups