[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Multiple user libraries, parametrized components



On Jan 20, 2008 12:16 AM, Kai-Martin Knaak <kmk@xxxxxxxxxxxxxxx> wrote:
> On Sat, 19 Jan 2008 20:24:42 +0000, a r wrote:
>
> First of all: What do you refer to by "cell"? A schematic symbol, or a
> pcb footprint?

As John said, I referred to any kind of data that belongs to a
particular "block" or "component"

> > 1. Library search path, or rather some kind of a project file that
> > contains a list of libraries, is a good idea.
> >
> There is a multitude of rc files that can be read on start-up of gschem
> or gsch2pcb. gafrc and gschrc can be definied on system, on user and on
> project level. My gafrc typically contains the following lines:
>
> /----------gafrc-----
> ;(reset-component-library)   ; don't use system symbols
> ;(reset-source-library)     ; don't use system footprints
>
> ; Allow to source symbols from the current working directory
> (define current-working-directory (getenv "PWD"))
> (component-library current-working-directory)
> (source-library  current-working-directory)
>
> (source-library "/home/kmk/lilalaser/geda/kmk-pcb")
>
> (component-library "/home/kmk/geda/kmk-sym")
> (component-library "/home/kmk/geda/kmk-sym/analog")
> (component-library "/home/kmk/geda/kmk-sym/digital")
> (component-library "/home/kmk/geda/kmk-sym/connector")
> (component-library "/home/kmk/geda/kmk-sym/analog/diode")
> (component-library "/home/kmk/geda/kmk-sym/misc")
> (component-library "/home/kmk/geda/kmk-sym/titleblock")
> (component-library "/home/kmk/geda/kmk-sym/power")
> \----------------

It works! Thanks. I wasn't aware that I can add multiple libraries this way.

In fact, it might be a bug here - when library name parameter is used:
(component-library "./test1" "test1")
(source-library "./test1" "test1")
(component-library "./test2" "test2")
(source-library "./test2" "test2")

only "test1" library is visible in the component browser.

> > 2. Component browser (and file open dialog) should display all
> > defined libraries and all cells from these libraries should be
> > accessible.
>
> This is already the case.

I mean, there is some inconsistency here. Why not to use a component
browser instead of file open dialog? The file open dialog in its
current shape could be used as an "open project file" or an "add to
the project" dialog.

> > 3. Cell name conflicts should be resolved by:
> >       a) searching in the current library (i.e. one that
> >       contains a referencing/parent cell),
>
> I don't quite get, what you mean by "current library".

1. Say I have "lib1" and "lib2" libraries added. For some reason the
search order is reversed, i.e. first "lib2" is searched, then "lib1".
2. I have a set of schematics and symbols in "lib1" and "lib2". All
those cells are same (well, I added some annotations to be able to
distinguish cells from "lib1" and "lib2"),
3. Cells in each library are arranged hierarchically (in the same way
as in gTAG example cell are arranged). Now:
4. I open top-level schematics from "lib1".
5. (surprise) It refers to subcells from "lib2" (not its own cells in "lib1").

> >       b) if (a) fails, by searching in other libraries in
> >       the order defined in the library search path or a
> >       project configuration file.
>
> This is how library search is done right now.

Yes. I would greatly prefer to seach cells in the current library
(i.e. the same library as a parent cell).

BTW, I haven't looked at PCB yet. Does it support hierarchical designs?

-r.


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user