No description
Find a file
Felix Salfelder c9da133e4c sync, cleanup, adjust..
- net/port fixes
- more graceful error handling
- add missing parms to tests
- whitespace adjustments
- "source" attribute interpretation off the hook
  cf. 8f15d342bc
- XFAIL_TESTS now irrelevant
2025-07-08 00:00:00 +00:00
examples sync, cleanup, adjust.. 2025-07-08 00:00:00 +00:00
geda/parsing move examples around 2012-08-23 14:02:33 +02:00
include reconstruct netname 2025-04-25 00:00:00 +00:00
src sync, cleanup, adjust.. 2025-07-08 00:00:00 +00:00
tests sync, cleanup, adjust.. 2025-07-08 00:00:00 +00:00
.gitignore add more gitignores 2022-04-03 00:00:00 +00:00
AUTHORS release 0.0.3 2022-04-16 00:00:00 +00:00
bootstrap renamed: autogen.sh -> bootstrap 2014-09-22 13:08:00 +02:00
BUGS testing 2025-05-23 00:00:00 +00:00
ChangeLog autotools build system 2012-08-23 14:38:02 +02:00
configure.ac NEWS 2025-02-10 00:00:00 +00:00
gnucap-geda.in remove libgeda dependency 2022-04-17 00:00:00 +00:00
GPLv3 testing 2025-05-23 00:00:00 +00:00
INSTALL update README/INSTALL 2012-12-24 10:34:50 +01:00
LICENSE testing 2025-05-23 00:00:00 +00:00
Makefile.am add a first demo circuit 2017-01-29 23:03:06 +00:00
NEWS NEWS 2025-02-10 00:00:00 +00:00
README rework parser and instanciation 2025-04-07 00:00:00 +00:00
THANKS bump test output 2022-11-26 00:00:00 +00:00
TODO update TODO 2022-04-03 00:00:00 +00:00

# gnucap-geda

lang_geda aims to add the functionality of parsing, writing and simulating geda
schematics.

lang_geda.cc implements two commands
- gschem
  equivalent to options lang=gschem. changes the interpreted language to gschem
- geda <args>
  miscellaneous commands related to geda modules and schematics. for example
  "geda file.sch module" loads an instanciable (module/subcircuit) from a gschem
  schematic file. this is under construction, please refer to the tests
  subdirectory for examples.

d_{net,port,rail,place,gedasckt}.cc implement various geda related devices.
these express extra semantics of instances found in geda schematics.

## prerequisites

apt install geda-symbols gnucap
NB: the develop branch may require gnucap/develop

## basic use

gnucap>load lang_geda.so
-------------

this package now provides (some) component implementations for (some) geda symbols.
e.g. if you use "analog" symbols from geda, use "`gedalib analog.v" to load the
implementations. (this is slightly in flux/under construction).

--------
note on default connections. (not to be confused with global nets. global nets
are mad).

there's a schematic behind a symbol, it can have more ports than the symbol
has. there are some options to handle this. we use a "default_value" attribute
for port instances and a "default_connect" option for symbols.

(this mechanism does not handle ports with pins in the symbol, but without a
connection in the schematic. those are just "open", as indicated by the red
higlighted open ends in the schematic.).

a symbol instance has an attribute "default_connect". it defaults to the
"default_connect" option passed to the geda command (which defaults to
"open"). these are the possible values.
- "open". leave open
- "auto", connect those ports with "default_value" attribute to the net in
  symbol scope with this name.
- "promiscuous". as "auto", but use the port name if "default_value" is not
  set. see [1].
- "ground". connect to ground, 0
- maybe later: "global". don't know how to represent.

[1] the "port name" is the first available out of "net" and "refdes". otherwise it is the internal name of the wire end.

## using lepton-schematic

if the symbols are in a directory named symbols, start with

$ lepton-schematic -c '(component-library "symbols")'