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

gEDA-user: Symbols and footprints and stuff, oh my

So I've been fairly happy with these tools (currently using the
packaged stuff from Ubuntu's Gutsy release), but there are a couple
little things I've run into, aside from the peculiar behavior that
arises when one tries to make an oval pin and use it in a ground

So I did a smallish circuit full of discrete transistors and Rs and Cs,
and found usable footprints for all of them, but the pins from the
transistor symbols - npn-2 and pnp-2 - didn't match the numeric pin
names on the footprints.  gsch2pcb spit out a script that I would have
thought was intended to deal with that sort of thing, but no, it's all
just identities like this:

ChangePinName(Q9, E, E)
ChangePinName(Q9, C, C)
ChangePinName(Q9, B, B)

I thought I did everything as described in the schematic-to-pcb
writeup, but if this makes you think I forgot a step don't hesitate to
mention it, of course.

Then there's the footprints, which are good enough to use but not
ideal (eg, the m4 TO92 calls out pin 1 backwards from what seems to be
the usual practice for that package, at least for the inline-pins
variant; then too, I don't really want that square pad, useful as it
was for identifying the numbering the footprint used).  While chasing
links all over creation, I came across Bill Wilson's discussion of
transistor pinouts:


At first I didn't care for it, having used other tools with a more
heavyweight symbol approach, but I've decided he's on to something. 
I'll talk about a half-formed thought about a possibly better
compromise between lightweight and heavyweight symbols, but for the
moment I'm just wondering if (1) Bill's approach is generally approved
of, and (2) if anyone's already run up footprints (I guess the existing
symbols will suffice, aside from that letters vs numbers thing) for
this approach.


...and of course you must be careful not to overwrite the bounds of
memory blocks, free a memory block twice, forget to free a memory block,
use a memory block after it's been freed, use memory that you haven't
explicitly allocated, etc.  We C++ programmers have developed tricks
to help us deal with this sort of thing, in much the same way that people
who suffer severe childhood trauma develop psychological mechanisms to
insulate themselves from those experiences.  -- Joseph A. Knapka

geda-user mailing list