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

gEDA-user: Flattening the gafrc information



Folks,

Within its limits, gnetlist is a wonderful, flexible processor of gEDA design data, often underappreciated. But once one bumps up against gnetlist's limits, design automation becomes much more difficult. It seems to me that much of this difficulty could be avoided by preprocessing schematics for gnetlist. The gEDA file format is well designed for this: easily processed by a wide variety of tools and scripting systems. The various refdes renumberers and symbol generators exhibit gEDA's success here.

However, there's a big barrier: while the design files are easy to process, the system/project configuration files (*gafrc and friends) are not. Even to find them, one needs information buried in libgeda, and the configuration files themselves are, in fact, scheme programs that make use of undocumented libgeda functions. Interpreting these is just about impossible for anything except a C utility based on libgeda. Some processing one might want to do, e.g. controlled hierarchy expansion, requires knowledge of this information. Such processing is currently impractical in gEDA, at least in the general case.

I have therefore written a gnetlist back end that extracts this information and reformats it in tool-friendly TSV format. It doesn't pick up everything (I doubt anything but gschem needs colormap info, for example), but it grabs the main variables and, most importantly, the library paths. If someone asks me to add other parameters (and in the nontrivial cases proposes a TSV encoding) I'll be glad to add them. At the moment, it handles:

attribute-promotion
keep-invisible
promote-invisible
always-promote-attributes
component-library
component-library-search
source-library
source-library-search

Install the attached file in your gEDA/scheme directory. Then, a command like:

gnetlist -g flatten-gafrc -o gafrc.tsv /dev/null

will create gafrc.tsv for your further scripting pleasure. Have fun! Bug reports welcome...

Attachment: gnet-flatten-gafrc.scm
Description: Binary data



John Doty              Noqsi Aerospace, Ltd.
http://www.noqsi.com/
jpd@xxxxxxxxx



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