--- /dev/null
+#!/usr/bin/python
+# Copyright 2014 by Bdale Garbee <bdale@gag.com>. GPLv2
+#
+# Program to emit PCB footprint for 8mm diameter Panasonic FC series
+# through-hole electrolytic capacitors
+#
+
+# dimensions in mm from Panasonic ABA0000CE22.pdf
+BodyDiam = 8.0
+PinSpacing = 3.5
+
+import sys
+
+# we're going to use the 1/100 of a mil fundamental unit form
+def mm2mils100( mm ):
+ return int( mm / 25.4 * 1000.0 * 100.0 + 0.5 )
+
+print '# author: Bdale Garbee'
+print '# email: bdale@gag.com'
+print '# dist-license: GPL 2'
+print '# use-license: unlimited'
+
+print 'Element[0x0 "CAP_FC8" "" "" 0 0 0 0 0 100 0x0]'
+print "("
+print ' Pin[',\
+ mm2mils100(-PinSpacing/2), \
+ 0, \
+ mm2mils100(2), \
+ mm2mils100(1), \
+ mm2mils100(2.2), \
+ mm2mils100(0.80), \
+ '"pin1" "1" 0x0101]'
+
+print ' Pin[',\
+ mm2mils100(PinSpacing/2), \
+ 0, \
+ mm2mils100(2), \
+ mm2mils100(1), \
+ mm2mils100(2.2), \
+ mm2mils100(0.80), \
+ '"pin2" "2" 0x0001]'
+
+print ' ElementArc[',\
+ 0, \
+ 0, \
+ mm2mils100(BodyDiam/2), \
+ mm2mils100(BodyDiam/2), \
+ 0, \
+ 360, \
+ 1000, \
+ ']'
+
+print ' ElementLine[',\
+ mm2mils100(-BodyDiam/2), \
+ mm2mils100(-BodyDiam/2), \
+ mm2mils100(-BodyDiam/4), \
+ mm2mils100(-BodyDiam/2), \
+ 1000, \
+ ']'
+
+print ' ElementLine[',\
+ mm2mils100(-3*BodyDiam/8), \
+ mm2mils100(-5*BodyDiam/8), \
+ mm2mils100(-3*BodyDiam/8), \
+ mm2mils100(-3*BodyDiam/8), \
+ 1000, \
+ ']'
+
+print ")"
--- /dev/null
+/*
+ * Copyright © 2014 Bdale Garbee <bdale@gag.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+load "footprint.5c"
+import Footprint;
+
+real package_width = 12.5;
+real package_height = 12.5;
+
+real pad_width = 3.85;
+real pad_height = 5.50;
+real pad_space = 13.80 - pad_width;
+
+element_start("DR127");
+
+pad_mm(-pad_space/2, 0, pad_width, pad_height, "1", "1");
+pad_mm(pad_space/2, 0, pad_width, pad_height, "2", "2");
+
+rect(-package_width/2, -package_height/2, package_width, package_height);
+
+element_end();
wire-ant.fp \
PCM12SMTR.fp \
usbAmale.fp \
- nx3215sa.fp
+ nx3215sa.fp \
+ DR127.fp
.5c.fp:
nickle $*.5c > $@
--- /dev/null
+#!/usr/bin/python
+# Copyright 2014 by Bdale Garbee <bdale@gag.com>. GPLv2
+#
+# Program to emit PCB footprint for
+# Tyco Electronics 3.5mm pitch right-angle terminal blocks ala 284512-4
+#
+# Needs pin count on command line, in range of 2..25
+#
+
+# dimensions in mm from ENG_CD_284512_E3.pdf
+PinDiam = 1.2
+PinSpacing = 3.5
+RowOffset = 8.0
+BoxHeight = 9.2
+BoxEnd = 2.75
+LineWidth = 600
+Thickness = 2.0
+Clearance = .32
+Mask = Thickness + 0.32
+
+import sys
+
+# we're going to use the 1/100 of a mil fundamental unit form
+def mm2mils100( mm ):
+ return int( mm / 25.4 * 1000.0 * 100.0 + 0.5 )
+
+pins = int(sys.argv[1])
+if pins < 2:
+ sys.stderr.write('Must be at least 2 pins\n')
+ sys.exit(1)
+if pins > 25:
+ sys.stderr.write('Must be no more than 25 pins\n')
+ sys.exit(1)
+
+print '# author: Bdale Garbee'
+print '# email: bdale@gag.com'
+print '# dist-license: GPL 2'
+print '# use-license: unlimited'
+
+print 'Element[0x0 "284512-%i"' % pins,'"" "" 0 0 0 0 0 100 0x0]'
+print "("
+for pin in range (1,pins+1):
+ pinnum = pins + 1 - pin
+ if pinnum == 1:
+ Flags = '0x0101'
+ else:
+ Flags = '0x0001'
+ print ' Pin[', \
+ mm2mils100(BoxEnd + (pin-1)*PinSpacing), \
+ mm2mils100(RowOffset), \
+ mm2mils100(Thickness), \
+ mm2mils100(Clearance), \
+ mm2mils100(Mask), \
+ mm2mils100(PinDiam), \
+ '"pin%i"' % pinnum, '"%i"' % pinnum, Flags, ']'
+
+BoxWidth = (BoxEnd * 2) + ((pins - 1) * PinSpacing);
+
+print ' ElementLine[', \
+ mm2mils100(0), \
+ mm2mils100(0), \
+ mm2mils100(0), \
+ mm2mils100(BoxHeight), \
+ LineWidth, ']'
+
+print ' ElementLine[', \
+ mm2mils100(0), \
+ mm2mils100(BoxHeight), \
+ mm2mils100(BoxWidth), \
+ mm2mils100(BoxHeight), \
+ LineWidth, ']'
+
+print ' ElementLine[', \
+ mm2mils100(BoxWidth), \
+ mm2mils100(BoxHeight), \
+ mm2mils100(BoxWidth), \
+ mm2mils100(0), \
+ LineWidth, ']'
+
+print ' ElementLine[', \
+ mm2mils100(BoxWidth), \
+ mm2mils100(0), \
+ mm2mils100(0), \
+ mm2mils100(0), \
+ LineWidth, ']'
+
+print ")"
--- /dev/null
+#!/bin/sh
+
+for i in 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
+do
+ FILE="284512-"$i
+ ./3.5mm-ra.py $i > $FILE.fp
+done
-all: 282834-10.fp 0-215079-4.fp tphybrid.fp
+all: 284512-4.fp 282834-10.fp 0-215079-4.fp tphybrid.fp
+
+284512-4.fp: 3.5mm-ra.py 3.5mm-series.sh
+ ./3.5mm-series.sh
282834-10.fp: buchanan.py buchanan-Series.sh
./buchanan-Series.sh
--- /dev/null
+v 20130925 2
+P 0 200 200 200 1 0 0
+{
+T 150 250 5 8 0 1 0 6 1
+pinnumber=1
+T 150 150 5 8 0 1 0 8 1
+pinseq=1
+T 200 200 9 8 0 1 0 0 1
+pinlabel=1
+T 200 200 5 8 0 1 0 2 1
+pintype=pas
+}
+P 900 200 700 200 1 0 0
+{
+T 750 250 5 8 0 1 0 0 1
+pinnumber=2
+T 750 150 5 8 0 1 0 2 1
+pinseq=2
+T 700 200 9 8 0 1 0 6 1
+pinlabel=2
+T 700 200 5 8 0 1 0 8 1
+pintype=pas
+}
+L 400 400 400 0 3 0 0 0 -1 -1
+L 500 400 500 0 3 0 0 0 -1 -1
+L 700 200 500 200 3 0 0 0 -1 -1
+L 400 200 200 200 3 0 0 0 -1 -1
+T 200 700 5 10 0 0 0 0 1
+device=CAPACITOR
+T 100 600 8 10 1 1 0 0 1
+refdes=C?
+T 200 1300 5 10 0 0 0 0 1
+description=capacitor
+T 200 1100 5 10 0 0 0 0 1
+numslots=0
+T 200 900 5 10 0 0 0 0 1
+symversion=0.1
+L 100 400 300 400 3 0 0 0 -1 -1
+L 200 500 200 300 3 0 0 0 -1 -1
P 3300 600 2900 600 1 0 0
{
T 3300 600 5 10 0 0 0 6 1
-pinseq=18
+pinseq=16
T 2845 595 5 10 1 1 0 6 1
pinlabel=VCCR
T 2995 645 5 10 1 1 0 0 1
-pinnumber=18
+pinnumber=16
}
P 3300 200 2900 200 1 0 0
{
T 3300 200 5 10 0 0 0 6 1
-pinseq=17
+pinseq=15
T 2845 195 5 10 1 1 0 6 1
pinlabel=VOUTR
T 2995 245 5 10 1 1 0 0 1
-pinnumber=17
+pinnumber=15
}