Add fixed TSSOP-16 footprint
authorDan White <dan@whiteaudio.com>
Sun, 6 May 2012 20:02:52 +0000 (15:02 -0500)
committerDan White <dan@whiteaudio.com>
Sun, 6 May 2012 20:02:52 +0000 (15:02 -0500)
sch-pcb/fp/TSSOP-65P-640L1-16N__TI_PW_Package.footprinter [new file with mode: 0755]
sch-pcb/fp/TSSOP-65P-640L1-16N__TI_PW_Package.fp [new file with mode: 0644]

diff --git a/sch-pcb/fp/TSSOP-65P-640L1-16N__TI_PW_Package.footprinter b/sch-pcb/fp/TSSOP-65P-640L1-16N__TI_PW_Package.footprinter
new file mode 100755 (executable)
index 0000000..bd8757d
--- /dev/null
@@ -0,0 +1,93 @@
+#!/usr/bin/env python
+# -*- coding: ASCII -*-
+'''TI TSSOP-16, PW
+from DAC8568 datasheet
+'''
+import sys
+from footprinter import *
+               
+#
+# PCB fab minimums
+# 
+MASK_SWELL = mil(5.0)
+MIN_TRACE = mil(6.0)
+MIN_SPACE = mil(6.0)
+MIN_PAD_ANNULUS = mil(15.0)
+MIN_VIA_ANNULUS = mil(10.0)
+
+# pcb's coordinates are graphics oriented
+# x in increasing right
+# y in increasing DOWN
+
+SILK_LINEWIDTH = mil(8.0)
+
+
+padw = mm(1.60)
+padh = mm(0.35)
+ccspace = mm(5.60)
+pitch = mm(0.65)
+
+bodyw = mm(4.5)
+bodyh = mm(5.3)
+
+npins = 16
+
+pads = []
+#left
+for i in range(1, npins +1):
+    if i > npins/2:
+        side = 1
+    else:
+        side = -1
+
+    idx = (i-1) % (npins/2)
+    if npins % 4 == 0:
+        py = side*pitch*(npins/4 - 0.5) - side*(idx*pitch)
+    else:
+        py = side*pitch*(npins/4) - side*(idx*pitch)
+    pad = Pad(i,
+            [
+                side * ccspace/2 - padw/2,
+                py - padh/2,
+                side * ccspace/2 + padw/2,
+                py + padh/2
+            ],
+            MIN_SPACE, MASK_SWELL, name=str(i), sflags='square'
+            )
+    pads.append(pad)
+
+
+# silkscreen
+lines = []
+#top
+lines.append(ElementLine(
+    -bodyw/2, -bodyh/2,
+    bodyw/2, -bodyh/2,
+    SILK_LINEWIDTH))
+
+#pin-1 pip
+lines.append(ElementLine(
+    -bodyw/2, -bodyh/2,
+    -bodyw/2, -bodyh/2 - 1.5*SILK_LINEWIDTH,
+    SILK_LINEWIDTH))
+
+#bottom
+lines.append(ElementLine(
+    -bodyw/2, bodyh/2,
+    bodyw/2, bodyh/2,
+    SILK_LINEWIDTH))
+
+
+fp = Footprint(
+        padpins=pads,
+        linearcs=lines,
+        sflags='',
+        description=''
+        )
+
+fp.mx = 0
+fp.my = 0
+fp.tx = 0
+fp.ty = 0
+fp.write(sys.stdout)
+
diff --git a/sch-pcb/fp/TSSOP-65P-640L1-16N__TI_PW_Package.fp b/sch-pcb/fp/TSSOP-65P-640L1-16N__TI_PW_Package.fp
new file mode 100644 (file)
index 0000000..0be9fa0
--- /dev/null
@@ -0,0 +1,22 @@
+Element ["" "" "" "" 0nm 0nm 0nm 0nm 0 100 ""]
+(
+Pad [-3425000nm -2275000nm -2175000nm -2275000nm 350000nm 152400nm 604000nm "1" "1" "square"]
+Pad [-3425000nm -1625000nm -2175000nm -1625000nm 350000nm 152400nm 604000nm "2" "2" "square"]
+Pad [-3425000nm -975000nm -2175000nm -975000nm 350000nm 152400nm 604000nm "3" "3" "square"]
+Pad [-3425000nm -325000nm -2175000nm -325000nm 350000nm 152400nm 604000nm "4" "4" "square"]
+Pad [-3425000nm 325000nm -2175000nm 325000nm 350000nm 152400nm 604000nm "5" "5" "square"]
+Pad [-3425000nm 975000nm -2175000nm 975000nm 350000nm 152400nm 604000nm "6" "6" "square"]
+Pad [-3425000nm 1625000nm -2175000nm 1625000nm 350000nm 152400nm 604000nm "7" "7" "square"]
+Pad [-3425000nm 2275000nm -2175000nm 2275000nm 350000nm 152400nm 604000nm "8" "8" "square"]
+Pad [2175000nm 2275000nm 3425000nm 2275000nm 350000nm 152400nm 604000nm "9" "9" "square"]
+Pad [2175000nm 1625000nm 3425000nm 1625000nm 350000nm 152400nm 604000nm "10" "10" "square"]
+Pad [2175000nm 975000nm 3425000nm 975000nm 350000nm 152400nm 604000nm "11" "11" "square"]
+Pad [2175000nm 325000nm 3425000nm 325000nm 350000nm 152400nm 604000nm "12" "12" "square"]
+Pad [2175000nm -325000nm 3425000nm -325000nm 350000nm 152400nm 604000nm "13" "13" "square"]
+Pad [2175000nm -975000nm 3425000nm -975000nm 350000nm 152400nm 604000nm "14" "14" "square"]
+Pad [2175000nm -1625000nm 3425000nm -1625000nm 350000nm 152400nm 604000nm "15" "15" "square"]
+Pad [2175000nm -2275000nm 3425000nm -2275000nm 350000nm 152400nm 604000nm "16" "16" "square"]
+ElementLine [-2250000nm -2650000nm 2250000nm -2650000nm 203200nm]
+ElementLine [-2250000nm -2650000nm -2250000nm -2954800nm 203200nm]
+ElementLine [-2250000nm 2650000nm 2250000nm 2650000nm 203200nm]
+)