Date:2011-08-14 05:43:54 (8 years 2 months ago)
Author:Werner Almesberger
Commit:f21fdf62c45135b528bcb85115e1732f48353f21
Message:Moved qfn.fpd and qfp.fpd from ben-wpan to kicad-libs (deletion)

Files: AUTHORS (1 diff)
modules/INFO (1 diff)
modules/Makefile (1 diff)
modules/qfn.fpd (1 diff)
modules/qfp.fpd (1 diff)

Change Details

AUTHORS
2020  components/usb_a_plug.lib (based on mini_usb_b.lib by Alvaro Lopes)
2121  modules/meander.fpd
2222  modules/mmcx-f-edge.fpd
23  modules/qfn.fpd
24  modules/qfp.fpd
2523  modules/sot-323.fpd
2624  modules/u-fl-receptacle.fpd
2725  moduled/usb_a_plug_smt.fpd
modules/INFO
1212# Mini-USB B receptable (SMT; almost generic)
1313F: mini_usb_b
1414
15# "Generic" simple QFN
16F: qfn
17#
18# The information for these packages comes from various sources:
19#
20# - the C8051F326 data sheet, for the QFN28 footprint (N: mcu)
21# - the AT86F326 data sheet, for the QFN32 package dimensions (N: txrx)
22# - Atmel's general recommendations for QFN land patterns (N: atmel-qfn)
23# - NXP's SOT617-1 and SOT617-3, for package and land pattern:
24# http://www.nxp.com/package/SOT617-1.html
25# http://www.nxp.com/package/SOT617-3.html
26#
27# Solder paste:
28#
29# Footprint Center pad Closest NXP (with complete land pattern)
30# QFN28-Atmel 2.4 mm for further study
31# QFN28-SiLabs 3.3 mm use SiLab's specification
32# QFN32-VHHD-2 3.7 mm between SOT818-1 and SOT788-1
33# QFN32-VHHD-6 3.4 mm SOT818-1
34#
35# From NXP:
36#
37# Package Pad Paste zone Islands Isl. size Isl. gap
38# SiLabs 3.25 3.1 3 x 3 0.9
39# SOT818-1 3.4 1.75 2 x 2 0.75 0.25
40# SOT788-1 4.0 2.4 3 x 3 0.6 0.3
41#
42# NXP rules (AN10365):
43# - paste zone = 35% of pad area
44# - paste coverge = 20% of pad area
45#
46# Our parameters:
47#
48# Package Pad Paste zone Islands Isl. size Isl. gap Zone Coverage
49# QFN32-VHHD-2 3.7 2.15 3 x 3 0.55 0.25 34% 20%
50# QFN32-VHHD-6 3.4 1.95 2 x 2 0.75 0.45 33% 19%
51#
52# Known bugs:
53#
54# - really ought to merge all the various QFN definitions (we have more
55# over at gta02-core) into a single QFN file with a big mean table of
56# everything
57#
58N: sot617-3-lp
59
60# "Generic" simple QFP (for now, just for Silabs' C8051F320)
61F: qfp
62
6315# Common 4-pin crystal SMT package (pins 1 and 4 are on a short side, pin
6416# numbering is counter-clockwise)
6517F: xtal-4
modules/Makefile
1MODULES=0805-6 meander mini-usb mmcx-f-edge qfn qfp sot-323 \
1MODULES=0805-6 meander mini-usb mmcx-f-edge sot-323 \
22    u-fl-receptacle usb_a_plug_smt xtal-4
33
44.SUFFIXES: .fpd .mod
modules/qfn.fpd
1/* MACHINE-GENERATED ! */
2
3frame paste_pad {
4    __0: vec @(SX/2, SY/2)
5    __1: vec @(-SX/2, -SY/2)
6    pad " " . __0 paste
7}
8
9frame paste {
10    set x = SE*(xi-SNX/2-0.5)
11
12    set y = SE*(yi-SNY/2-0.5)
13
14    loop xi = 1, SNX
15
16    loop yi = 1, SNY
17
18    __0: vec @(x, y)
19    frame paste_pad .
20}
21
22frame center {
23    set pin = pins+1
24
25    __0: vec @(X2/2, Y2/2)
26    __1: vec @(-X2/2, -Y2/2)
27    pad "$pin" . __0 bare
28    frame paste @
29}
30
31frame pad {
32    set px = (dx*X1+dy*Y1)/2
33
34    set py = (dy*X1+dx*Y1)/2
35
36    set pin = side*pins/4+i+1
37
38    __0: vec @(px, py)
39    __1: vec @(-px, -py)
40    pad "$pin" __0 .
41    __2: vec @(px, -py)
42}
43
44frame side {
45    set pos = i-(pins/4-1)/2
46
47    loop i = 0, pins/4-1
48
49    __0: vec @(E*pos*dx, E*pos*dy)
50    frame pad .
51}
52
53frame pads {
54    table
55        { side, dx, dy }
56        { 0, 0, -1 }
57        { 1, 1, 0 }
58        { 2, 0, 1 }
59        { 3, -1, 0 }
60
61    __0: vec @(dy*C1/2, -dx*C2/2)
62    frame side .
63}
64
65frame index {
66}
67
68frame outline {
69    table
70        { index, dx, _, dy }
71        { 1, -1, 0, 0 }
72        { 0, 0, 0, -1 }
73        { 0, 1, 0, 0 }
74        { 0, 0, 0, 1 }
75
76    set mx = dx*C1/2
77
78    set my = dy*C2/2
79
80    set cx = mx+my
81
82    set cy = my-mx
83
84    set ax = -Y1/2*dx
85
86    set ay = -Y1/2*dy
87
88    set bx = -Y1/2*dy
89
90    set by = Y1/2*dx
91
92    __0: vec @(cx, cy)
93    w: vec .(ax, ay)
94    line __0 . w
95    __2: vec __0(bx, by)
96    line __0 . w
97    __1: vec .(index*(ax-bx), index*(ay-by))
98    line __2 . w
99}
100
101package "QFN$pins-$variant"
102unit auto
103
104table
105    { pins, variant, X1, Y1, X2, Y2, E, C1, C2, SE, SNX, SNY, SX, SY }
106    { 28, "Atmel", 0.24mm, 0.7mm, 2.4mm, 2.4mm, 0.45mm, 4.1mm, 4.1mm, 1mm, 2, 2, 0.8mm, 0.8mm }
107    { 28, "SiLabs", 0.25mm, 0.9mm, 3.3mm, 3.3mm, 0.5mm, 4.8mm, 4.8mm, 1.1mm, 3, 3, 0.9mm, 0.9mm }
108    { 32, "VHHD-2", 0.26mm, 0.69mm, 3.7mm, 3.7mm, 0.5mm, 5.1mm, 5.1mm, 0.8mm, 3, 3, 0.55mm, 0.55mm }
109    { 32, "VHHD-6", 0.26mm, 0.69mm, 3.4mm, 3.4mm, 0.5mm, 5.1mm, 5.1mm, 1.2mm, 2, 2, 0.75mm, 0.75mm }
110
111set w = 5mil
112
113frame pads @
114frame center @
115frame outline @
116measy side.__0 >> side.__0 3mm
117meas side.__0 -> side.__0 -1mm
118measy center.__1 >> center.__0 2.3mm
119measy pad.__1 >> pad.__1 3.5mm
120measy pad.__1 -> pad.__0 1mm
121meas pad.__1 -> pad.__2 -1mm
122measy paste_pad.__1 -> paste_pad.__0 1.8mm
123measy paste.__0 -> paste.__0 -C1
124measy paste_pad.__1 >> paste_pad.__0 -C1-1mm
modules/qfp.fpd
1/* MACHINE-GENERATED ! */
2
3frame pad {
4    set px = (dx*X1+dy*Y1)/2
5
6    set py = (dy*X1+dx*Y1)/2
7
8    set pin = side*pins/4+i+1
9
10    __0: vec @(px, py)
11    __1: vec @(-px, -py)
12    pad "$pin" __0 .
13}
14
15frame side {
16    set pos = i-(pins/4-1)/2
17
18    loop i = 0, pins/4-1
19
20    __0: vec @(e*pos*dx, e*pos*dy)
21    frame pad .
22}
23
24frame pads {
25    table
26        { side, dx, dy }
27        { 0, 0, -1 }
28        { 1, 1, 0 }
29        { 2, 0, 1 }
30        { 3, -1, 0 }
31
32    __0: vec @(dy*C1/2, -dx*C2/2)
33    frame side .
34}
35
36frame index {
37}
38
39frame outline {
40    set mx = D1/2
41
42    set my = E1/2
43
44    set cf = 0.8
45
46    set rf = (1-cf)/2
47
48    set r = mx*rf
49
50    __0: vec @(mx, my)
51    __1: vec @(-mx, -my)
52    rect . __0 w
53    __2: vec @(-mx*cf, my*cf)
54    __3: vec .(0mm, r)
55    circ __2 . w
56}
57
58package "$name"
59unit mm
60
61table
62    { name, pins, X1, Y1, e, C1, C2, D1, E1 }
63    { "LQFP32", 32, 0.55mm, 1.3mm, 0.8mm, 8.45mm, 8.45mm, 7mm, 7mm }
64
65set X2 = X1+(pins/4-1)*E
66
67set Y2 = X2
68
69set w = 5mil
70
71frame pads @
72frame outline @
73measy pad.__1 -> pad.__0 1mm

Archive Download the corresponding diff file



interactive