[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
gEDA-dev: Beginning the parts manager
Hi all,
I've built a test environment to show off what I've been thinking for a
parts manager. See
http://www.gedasymbols.org/user/cory_cross/tools/partsmanager/ for the
files I'll be talking about.
In test.sch, there are four devices: two triac drivers and two
resistors. Instead of having two 2-terminal and two 6-terminal devices,
I want to combine the resistors into a dual-pack DIP-4 and the triacs
into a dual-pack DIP-12. The problem: the default components don't and
can't simultaneously support dual- and single-pack components. In the
future, a program will be written to detect when you define multiple
components and automatically create a file like 'test_net_replace_file'.
The python script uses that file to map the pins of the second triac
(U101b) to their new locations. Load the new netlist in PCB and
everything attaches where it should!
While I will need to explain how to use this better, it actually works
/right now/.
Quick usage:
1. `gschem` -> test.sch, where, for example, only U101 contains the
footprint attribute but there are also U101[a-z]
1a. When you add a second part of a component to gschem, add a mapping
to test_net_add_file from each of its symbol pin #s (like "U101a-6") to
the package's pin numbers ("U101-12") (notice no 'a' this time)
2. `gsch2pcb test.sch` -> (test.cmd, test.net, test.pcb) gives many
errors about missing footprints. test.net contains many references to
parts that don't exist in the PCB file.
3. `python pm_netlist_replace.py test_net_replace_file < test.net >
test-modified.net` will replace "U101b-5" with "U101-8"; since U101 is
an actual part in PCB, it works!
4. `pcb test.pcb` and load 'test-modified.net' Press O for optimize...
The next trick is to provide a configuration file for a part and write
the appropriate program so 1a can be done automatically.
Cory Cross
_______________________________________________
geda-dev mailing list
geda-dev@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev