[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Switch gschem to another scripting language?
On Nov 26, 2009, at 5:21 PM, Kai-Martin Knaak wrote:
> I haven't been able to locate information on the way the C part of
> gnetlist is supposed to communicate with the scheme backends. Maybe
> I am
> just partially blind. Any pointers, short of "read the source"?
I've been compiling a list of procedures available to gnetlist back
ends. The following lists the API the gnetlist front end provides.
Note that back ends may also use procedures exported by libgeda, and
procedures defined in gnetlist.scm and gnetlist-post.scm: these are
not covered here. The information here should not be considered
definitive: I basically "reverse engineered" this stuff. I would
appreciate corrections or additional information.
gnetlist:get-packages level
Yields a list of refdes values for the set of schematics. Duplicated
values are only listed once. The "level" argument must be present,
but is unused.
gnetlist:get-non-unique-packages level
Yields a list of refdes values for the set of schematics. Duplicated
values are listed as many times as they appear. The "level" argument
must be present, but is unused.
gnetlist:get-pins refdes
Yields a list of pin numbers for the specified refdes value.
gnetlist:get-all-nets level
Yields a list of net names for the set of schematics. Duplicated
values are listed as many times as they appear (once per segment?).
The "level" argument must be present, but is unused.
gnetlist:get-all-unique-nets level
Yields a list of net names for the set of schematics. Duplicated
values are only listed once. The "level" argument must be present,
but is unused.
gnetlist:get-all-connections net
Yields a list of all connections to the named net. Each element of
the list is itself a two element list of the form (refdes pinnumber).
gnetlist:get-nets refdes pin
This is apparently intended to yield the netname connected to the
given pin along with all pins connected to that net, including the
pin in the initial query. A little experimentation, however, shows
that it does not reliably list all of the connections, possibly due
to a problem with net= connections. Most (all?) existing back ends
that use this appear to use only the netname.
gnetlist:get-pins-nets refdes
Yields a list of (pinnumber . netname) pairs detailing all
connections for the given refdes.
gnetlist:get-package-attribute refdes attribute
Yields the value of the named attribute attached to a symbol instance
with the given refdes. Yields "unknown" if the attribute is absent.
It only yields one value, regardless of how many matching attributes
exist in the set of schematics. If there is more than one instance
only the first instance encountered is inspected, so it may yield
"unknown, even if a matching attribute is present.
gnetlist:get-toplevel-attribute attribute
Yields the value of the named attribute at top level, that is, an
attribute present in one of the schematics unattached to any object.
Yields "not found" if no matching attribute is present.
gnetlist:get-renamed-nets level
When gnetlist expands a hierarchical subcircuit, it first assigns
every net within the subcircuit a unique name based on the refdes of
the subcircuit instance and, if present, the netname within the
subcircuit. If a net is attached to the higher level circuit,
gnetlist then changes the name of the subcircuit net to the name of
the higher level net to which it is attached. "gnetlist:get-renamed-
nets" returns a list of lists of pairs of names. The first name in a
pair is the initial unique netname within the subcircuit, the second
is the higher level netname it has acquired. The "level" argument
must be present, but is unused.
gnetlist:get-attribute-by-pinseq refdes pinseq attribute
Yields the value of the named attribute attached to the pin with the
named pinseq attribute to the package with the named refdes attribute.
gnetlist:get-attribute-by-pinnumber refdes pinnumber attribute
Yields the value of the named attribute attached to the pin with the
named pinnumber attribute to the package with the named refdes
attribute.
gnetlist:vams-get-package-attributes refdes
Yields a list of the names of attributes attached to the symbol at
schematic level?
gnetlist:get-slots refdes
Yields a list of all slot attributes associated with a given refdes.
Duplicated values are listed as many times as they appear.
gnetlist:get-unique-slots refdes
Yields a list of all slot attributes associated with a given refdes.
Duplicated values are listed only once.
gnetlist:graphical-objs-in-net-with-attrib-get-attrib netname
attrstring attribute
This searches for a graphical symbol attached to a net with the given
netname. The symbol must have attrstring (of the form name=value)
attached. It yields the value of the specified attribute,
gnetlist:get-calling-flags
Yields a list of lists of command line flags and values. Each flag
must be known to the gnetlist front end. For example, the "--nomunge"
flag will yield ("nomunge_mode" #t).
gnetlist:get-command-line
Broken or unimplemented? Yields #f.
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