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-searchInstall the attached file in your gEDA/scheme directory. Then, a command like:
gnetlist -g flatten-gafrc -o gafrc.tsv /dev/nullwill 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