X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Message-ID: <4F971BBF.4000105@mcmahill.net> Date: Tue, 24 Apr 2012 17:31:43 -0400 From: Dan McMahill User-Agent: Mozilla/5.0 (Windows NT 6.0; rv:11.0) Gecko/20120327 Thunderbird/11.0.1 MIME-Version: 1.0 To: geda-user AT delorie DOT com CC: Colin D Bennett Subject: Re: [geda-user] They don't call it experience for nothing!!! References: <20120424105131 DOT 51db48c8 AT svelte> <20120424183046 DOT 18509 DOT qmail AT stuge DOT se> <20120424121420 DOT 387e6746 AT svelte> In-Reply-To: <20120424121420.387e6746@svelte> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Reply-To: geda-user AT delorie DOT com On 4/24/2012 3:14 PM, Colin D Bennett wrote: > On Tue, 24 Apr 2012 20:30:46 +0200 > Peter Stuge wrote: > >> Colin D Bennett wrote: >>> The pcb footprint called 'SOT23D', on the other hand, >>> This is a misleading and flat-out wrong footprint >> >> What's the way to send patches that fix the issues you point to? > > Well, I don't think there is only one solution for everyone, but yep. This is an area where there are some strong opinions ;) > BTW, it's kind of odd and pretty inconsistent that the gschem > built-in library has "logical" pin numbering for the BJT/MOSFET > transistor symbols, but "physical" pin numbering for the diode > symbols (or at least uses ambiguous and non-self-documenting names > "1" and "2" for terminals). But we've talked about the fact that > the symbol/footprint libraries could use a lot of love anyway. As > you say, someone needs to stop talking and start doing! Kai-Martin > decided to design his (heavyweight symbols) library on gedasymbols > and has some nice stuff and good ideas, even if I tend to prefer the > lightweight symbols most of the time. An additional "challenge" associated with SOT-23 is that different vendors number the pins differently. In other words, forget emitter,base,collector mapping. What one vendor calls pin 2 on a package may be a different location than what another vendor calls pin 2. SOT-23 is notorious for burning people. The way I solve this problem for me, and all in all, I am fairly happy with the solution, is to create a heavy symbol library by way of a script. See: http://www.gedasymbols.org/user/dan_mcmahill/tools/components.txt That components.txt file has 1 line per component that defines a symbol template, the footprint, a complete part number, and a mapping between symbol pin and footprint pin (if the mapping is not 1->1, 2->2, etc). So I only draw one npn symbol, only draw 1 SOT-23, only one TO-92, etc and then I quickly create a large symbol library. Adding additional vendor part numbers is as easy as adding a line to the file and running a script that takes a second. One thing I like about this is I instantiate the exact part I want in the schematic. For example in the components.txt file there are 12 different varieties of the Maxim MAX9717 defined. Each one has the full Maxim part number that defines temperature grade and package. When I instantiate a MAX9717BEBL in a schematic, I see the correct pin out for the USCP_3X3 package and I get the correct footprint and pin out in layout and when I generate a BOM, I have the full part number to order to ensure correct temperature grade and package. For me personally, instantiating a generic symbol and then specifying what footprint is just an incredibly error prone way to go. But, thankfully, this approach is both easy to use and does not impose restrictions on someone else so I'm happy. -Dan