C 41600 47700 1 0 0 adp323-1.sym
{
T 45100 51700 5 10 0 0 0 0 1
-footprint=LFCSP_WQ-16N__ADI.fp
+footprint=VQFN-50P-300L1-16N-150LT-150WT__ADI_LFCSP_Package.fp
T 43500 51000 5 10 1 1 0 3 1
refdes=U501
T 43500 51000 5 10 0 0 0 0 1
C 41600 42500 1 0 0 adp323-1.sym
{
T 45100 46500 5 10 0 0 0 0 1
-footprint=LFCSP_WQ-16N__ADI.fp
+footprint=VQFN-50P-300L1-16N-150LT-150WT__ADI_LFCSP_Package.fp
T 43500 45800 5 10 1 1 0 3 1
refdes=U502
T 43500 45800 5 10 0 0 0 0 1
]
{
T 52300 43700 5 10 0 0 0 0 1
-footprint=TSSOP_16N__TI
+footprint=TSSOP-65P-640L1-16N
T 51300 49400 5 10 1 1 0 3 1
refdes=U603
}
skip-m4
use-files
-elements-dir fp
-schematics atoi-1.sch
+elements-dir ../waeda-fp
+elements-dir ../fp
+schematics atoi-1.sch atoi-2.sch atoi-3.sch atoi-4.sch atoi-5.sch atoi-6.sch atoi-7.sch atoi-8.sch
output-name atoi
--- /dev/null
+#!/usr/bin/env python
+# -*- coding: ASCII -*-
+'''Analog Devices LFCSP-16
+name CP-16-27
+from ADP322 / ADP323 datasheet
+and http://www.intersil.com/data/pk/L16.3x3.pdf
+equivalent to TI RGT package
+'''
+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(0.60)
+padh = mm(0.23)
+ccspace = mm(2.80)
+pitch = mm(0.50)
+
+bodyw = mm(3.0)
+bodyh = mm(3.0)
+
+epw = mm(1.5)
+eph = mm(1.5)
+
+npins = 16
+
+pads = []
+
+# even pins per side
+if ((npins/4) % 2) == 0:
+ startpos = -pitch * (npins/8 - 0.5)
+# odd pins per side
+else:
+ startpos = -pitch * (npins/8)
+
+for side in range(4):
+ # pin num increasing in dimension coodinate
+ if side in (0,1):
+ incdir = 1
+ # pin num increases in opposite direction of coordinate increment
+ else:
+ incdir = -1
+
+ for i in range(npins/4):
+ pinnum = 4*side + i + 1
+
+ row = incdir*(startpos + i*pitch)
+
+ if side in (0,2):
+ xyxy = [ -incdir * ccspace/2 - padw/2, row - padh/2,
+ -incdir * ccspace/2 + padw/2, row + padh/2 ]
+ else:
+ xyxy = [ row - padh/2, incdir * ccspace/2 - padw/2,
+ row + padh/2, incdir * ccspace/2 + padw/2 ]
+
+
+ pad = Pad(pinnum, xyxy,
+ MIN_SPACE, MASK_SWELL, name=str(pinnum), sflags='square')
+ pads.append(pad)
+
+#exposed pad
+pads.append(
+ Pad(npins+1,
+ [ -epw/2, -eph/2,
+ epw/2, eph/2 ],
+ MIN_SPACE, MASK_SWELL, name='EP', sflags='square')
+ )
+
+# silkscreen
+lines = []
+lines.append(ElementBox(
+ -((ccspace + padw + SILK_LINEWIDTH)/2 + MIN_SPACE),
+ -((ccspace + padw + SILK_LINEWIDTH)/2 + MIN_SPACE),
+ ((ccspace + padw + SILK_LINEWIDTH)/2 + MIN_SPACE),
+ ((ccspace + padw + SILK_LINEWIDTH)/2 + MIN_SPACE),
+ SILK_LINEWIDTH))
+
+# pin 1 mark
+lines.append(ElementLine(
+ -((ccspace + padw + SILK_LINEWIDTH)/2 + MIN_SPACE),
+ -bodyh/2,
+ -bodyw/2,
+ -((ccspace + padw + SILK_LINEWIDTH)/2 + MIN_SPACE),
+ 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)
+
--- /dev/null
+Element ["" "" "" "" 0nm 0nm 0nm 0nm 0 100 ""]
+(
+Pad [-1585000nm -750000nm -1215000nm -750000nm 230000nm 152400nm 484000nm "1" "1" "square"]
+Pad [-1585000nm -250000nm -1215000nm -250000nm 230000nm 152400nm 484000nm "2" "2" "square"]
+Pad [-1585000nm 250000nm -1215000nm 250000nm 230000nm 152400nm 484000nm "3" "3" "square"]
+Pad [-1585000nm 750000nm -1215000nm 750000nm 230000nm 152400nm 484000nm "4" "4" "square"]
+Pad [-750000nm 1215000nm -750000nm 1585000nm 230000nm 152400nm 484000nm "5" "5" "square"]
+Pad [-250000nm 1215000nm -250000nm 1585000nm 230000nm 152400nm 484000nm "6" "6" "square"]
+Pad [250000nm 1215000nm 250000nm 1585000nm 230000nm 152400nm 484000nm "7" "7" "square"]
+Pad [750000nm 1215000nm 750000nm 1585000nm 230000nm 152400nm 484000nm "8" "8" "square"]
+Pad [1215000nm 750000nm 1585000nm 750000nm 230000nm 152400nm 484000nm "9" "9" "square"]
+Pad [1215000nm 250000nm 1585000nm 250000nm 230000nm 152400nm 484000nm "10" "10" "square"]
+Pad [1215000nm -250000nm 1585000nm -250000nm 230000nm 152400nm 484000nm "11" "11" "square"]
+Pad [1215000nm -750000nm 1585000nm -750000nm 230000nm 152400nm 484000nm "12" "12" "square"]
+Pad [750000nm -1585000nm 750000nm -1215000nm 230000nm 152400nm 484000nm "13" "13" "square"]
+Pad [250000nm -1585000nm 250000nm -1215000nm 230000nm 152400nm 484000nm "14" "14" "square"]
+Pad [-250000nm -1585000nm -250000nm -1215000nm 230000nm 152400nm 484000nm "15" "15" "square"]
+Pad [-750000nm -1585000nm -750000nm -1215000nm 230000nm 152400nm 484000nm "16" "16" "square"]
+Pad [0nm 0nm 0nm 0nm 1500000nm 152400nm 1754000nm "EP" "17" "square"]
+ElementLine [-1954000nm -1954000nm -1954000nm 1954000nm 203200nm]
+ElementLine [-1954000nm 1954000nm 1954000nm 1954000nm 203200nm]
+ElementLine [1954000nm 1954000nm 1954000nm -1954000nm 203200nm]
+ElementLine [1954000nm -1954000nm -1954000nm -1954000nm 203200nm]
+ElementLine [-1954000nm -1500000nm -1500000nm -1954000nm 203200nm]
+)