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

gEDA-user: List of PCB (and gnetlist) troubles



Hello all,

Here's a summary of the problems I'm having, with some links to
examples.

One. Crashing bug related to rats nests in lesstif version of pcb
-----------------------------------------------------------------
The pcb file:

http://www.esfnet.co.uk/geda/pedio.pcb

for which you'll need these footprints:

http://www.esfnet.co.uk/geda/pcblocal.tar.gz

will crash my 20070208 version of pcb when compiled with the lesstif gui
when these steps are taken:

1. Load pedio.pcb
2. Optimize the rats nest.

A picture of the window (you can see some rats lines have been drawn
before the crash) and a backtrace from gdb is here:

http://www.esfnet.co.uk/geda/pedio.pcb_rats_in_lesstif_version.png

I see this crash whether or not I have applied the patch to rats.c that
I posted in the thread entitled "pcb: a segfault bug in
rats.c:AddAllRats()"

This one doesn't affect me too much, but may provide some useful lead.



Two. Problem with gnetlist not dealing quite correctly with UPPERlower
refdeses.
------------------------------------------------------------------

I think it's quite likely that this problem could be contributing
towards the rats nest crashing problem number Four (below).

Let's make sure I understand what _should_ happen.

You create, for the sake of example, two symbols which relate to a
single component. One is for I/O, the other for power. In your gschem
schematic, you place one of each symbol on the page calling one U100io
and the other U100pwr. 

Now, you run the schematic through gsch2pcb which converts the design
into a pcb file. In the pcb file should be a single component called
U100 (with no trace of the pwr or io suffix now) with the netlist
containing the connections for that component.

At the moment, if you run the design through gsch2pcb then you get both
a component called U100pwr and one called U100io, which is wrong.

My test files are here, where the only difference compared with the
scenario above is that my I/O symbol has 4 slots:

http://www.esfnet.co.uk/geda/suffixtest.tar.gz

There are 3 project files with a design which has 5 Mesa Electronics
7I33 symbols in - one is the power and the other 4 are slotted I/O
symbols

testwoutsuffix:
   refdes are all "U3501", power and 2 i/o symbols on the A1 schematic.
2 io symbols on the A2 schematic.

testwithsuffix
   refdes are U3501io for the i/o symbols and U3501pwr for the power
symbol. Two schematics as for the testwoutsuffix example.

testwithsuffix1page
  as above, but with all symbols on one schematic.

The culprit is gnetlist because there are two components in the .pcb
file generated by gnetlist with this command:

gnetlist -g gsch2pcb -o testwithsuffices1page.pcb -m \
         gnet-gsch2pcb-tmp.scm pedio_servo_encoderA.sch



Three. Problem (re)drawing the rats lines in gtk version of pcb.
----------------------------------------------------------------
I'm still seeing this problem, which seems to be well understood by
Harry Eaton and DJ Delorie. I've updated to anonymous cvs version of
code, but may not yet have dj's reimplementation of the line fitting.

The example above will show this problem if you:

1. Load layout
2. Optimise rats nest
3. Either Erase rats nest (reliably messes up the display) or
Re-optimise rats nest (often messes up the display).

Hopefully when anonymous cvs gets up to date with developers cvs, then
this problem will go away.... *crosses fingers*


Four. Problem optimising rats nest in gtk version of pcb.
---------------------------------------------------------
This is the one which my patch mentioned above helps. I'd be interested
to know under which circumstances the variables firstpoint and
secondpoint in DrawShortestRats() fail to be set. Maybe this is also an
overflow problem?


That's it for now.

Seb James



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