kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #05849
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.. )+
*Description
*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
References