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

gEDA-user: Symbol embedding by default - with case studies



On Friday 19 October 2007 21:32:12 Peter Clifton wrote:

> > What library? We don't even yet have the most crucial thing: the
> > project library concept. So we all implement it in ad hoc ways,
> > because the symbols in the distributed library are usually wrong for
> > any specific purpose. So, you copy, customize, and then updates of
> > the distributed library are irrelevant: your project library has what
> > you need.
>
> We have a project library if you set one up in your gafrc, but that
> means you have another file required to open the schematic page and find
> the symbols, and that must be merged if you want to re-use a page in a
> different project.

Not to mention that non-libgeda applications literally can't load your 
schematic successfully, because they will not be able to determine where to 
get the symbols from.

My primary motive is to make it easy -- no, trivial -- to share schematics & 
symbols with other users.

My secondary motive is to make it easier for non-libgeda applications to 
generate & manipulate gEDA-format schematics.

When criticizing my approach, please take into account the following case 
studies:


Case study 1
============

Peter is developing a new device using gEDA, and want to use an external 
layout contractor (who also uses gEDA & PCB).  Peter wants to package up his 
schematic to send off to the contractor, but has several non-standard system 
libraries as well as some project-specific symbols.  

Current model: Peter is an expert, so he is able to spend a few hours and use 
some complicated shell scripts to hunt down every relevant symbol and 
organize them into a new directory before manually checking through that the 
correct symbols have been selected and that nothing has been broken. He then 
tars the assemblage up before sending it to the contractor.  The contractor 
untars the files, and (if Peter was successful) can then use the schematic.

Proposed model: Peter sends his schematic file to the contractor.  The 
contractor double-clicks on it, and it opens in gschem in fully editable and 
consistent glory.


Case study 2
============

Peter is developing a new device using gEDA, and is looking for a symbol for 
the LM7171 op-amp.  Having found one on a random website, he wants to then 
use it in his schematic.

Current model: Peter hacks his gafrc to define a project-specific library, 
places his new symbol in the appropriate location (double-checking that the 
name doesn't conflict with an existing symbol), and then hunts through his 
library list to locate it.

Proposed model: Peter clicks the "From file..." button in his symbol 
management window, selects the appropriate symbol file, and is prompted for a 
symbol name.  Accepting the default, the symbol appears in his list of active 
symbols, and is automatically selected for placement.  An icon next to its 
list entry indicates that the symbol does not exist in any of the active 
libraries, but because he only needs the symbol once in this particular 
design, Peter doesn't worry about it.


Case study 3
============

Janet has been preparing a design using KTechLab, but finds that it lacks some 
functionality that he can get using gEDA.  John decides that KTechLab needs a 
gEDA schematic exporter.

Current model: John's export filter has to generate project symbol directories 
and configuration files in addition to the actual schematics, and has to do 
gymnastics to make sure no conflicts occur with existing files.

Proposed model: John can just output schematic files with the necessary 
symbols embedded, and knows that the schematics will Just Work even if there 
are symbol naming conflicts with the user's existing gEDA libraries.


Case study 4
============

Having successfully completed a gEDA export filter, John decides to tackle a 
gEDA import filter.

Current model: John is screwed, because without converting KTechLab to use the 
the whole of libgeda + Guile interpreter, he can't find the symbols he needs.

Proposed model: All the symbols can be found & used without any knowledge of 
the libgeda library model whatsoever.



I have more, but I'm sure you get the gist, and it's getting very late here.

                               Peter

Attachment: signature.asc
Description: This is a digitally signed message part.


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