1
0
mirror of git://projects.qi-hardware.com/kicad-libs.git synced 2024-11-22 19:41:33 +02:00
kicad-libs/modules/qfn.fpd
Werner Almesberger e01b8d64f9 modules/qfn.fpd: add experimental footprint for AD CP-16-5a* MQ_LFCSP_LQ
This package is more BGA than QFN, but let's see how this goes.
Since AD provide footprints for this package only in the proprietary
BXL format, all the parameters are best guesses.
2012-06-10 11:56:26 -03:00

131 lines
2.4 KiB
Plaintext

/* MACHINE-GENERATED ! */
frame paste_pad {
__0: vec @(SX/2, SY/2)
__1: vec @(-SX/2, -SY/2)
pad " " . __0 paste
}
frame paste {
set x = SE*(xi-SNX/2-0.5)
set y = SE*(yi-SNY/2-0.5)
loop xi = 1, SNX
loop yi = 1, SNY
__0: vec @(x, y)
frame paste_pad .
}
frame center {
set pin = pins+1
__0: vec @(X2/2, Y2/2)
__1: vec @(-X2/2, -Y2/2)
pad "$pin" . __0 bare
frame paste @
}
frame pad {
set px = (dx*X1+dy*Y1)/2
set py = (dy*X1+dx*Y1)/2
set pin = side*pins/4+i+1
__0: vec @(px, py)
__1: vec @(-px, -py)
pad "$pin" __0 .
__2: vec @(px, -py)
}
frame side {
set pos = i-(pins/4-1)/2
loop i = 0, pins/4-1
__0: vec @(E*pos*dx, E*pos*dy)
frame pad .
}
frame pads {
table
{ side, dx, dy }
{ 0, 0, -1 }
{ 1, 1, 0 }
{ 2, 0, 1 }
{ 3, -1, 0 }
__0: vec @(dy*C1/2, -dx*C2/2)
frame side .
}
frame index {
}
frame outline {
table
{ index, dx, _, dy }
{ 1, -1, 0, 0 }
{ 0, 0, 0, -1 }
{ 0, 1, 0, 0 }
{ 0, 0, 0, 1 }
set mx = dx*C1/2
set my = dy*C2/2
set cx = mx+my
set cy = my-mx
set ax = -Y1/2*dx
set ay = -Y1/2*dy
set bx = -Y1/2*dy
set by = Y1/2*dx
__0: vec @(cx, cy)
w: vec .(ax, ay)
line __0 . w
__2: vec __0(bx, by)
line __0 . w
__1: vec .(index*(ax-bx), index*(ay-by))
line __2 . w
}
package "QFN$pins-$variant"
unit auto
table
{ pins, variant, X1, Y1, X2, Y2, E, C1, C2, SE, SNX, SNY, SX, SY }
{ 16, "LFCSP_LQ", 0.35mm, 1.2mm, 2.43mm, 2.43mm, 0.65mm, 4.1mm, 4.1mm, 1mm, 2, 2, 0.7mm, 0.7mm }
{ 28, "Atmel", 0.24mm, 0.7mm, 2.4mm, 2.4mm, 0.45mm, 4.1mm, 4.1mm, 1mm, 2, 2, 0.8mm, 0.8mm }
{ 28, "MCHP-ML", 0.37mm, 1mm, 4.25mm, 4.25mm, 0.65mm, 5.7mm, 5.7mm, 1mm, 3, 3, 0.65mm, 0.65mm }
{ 28, "SiLabs", 0.25mm, 0.9mm, 3.3mm, 3.3mm, 0.5mm, 4.8mm, 4.8mm, 1.1mm, 3, 3, 0.9mm, 0.9mm }
{ 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 }
{ 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 }
set w = 5mil
set zone_ratio_35 = ((SNX-1)*SE+SX)*((SNY-1)*SE+SY)/(X2*Y2)
set paste_ratio_20 = SX*SY*SNX*SNY/(X2*Y2)
frame pads @
frame center @
frame outline @
measy side.__0 >> side.__0 3mm
meas side.__0 -> side.__0 -1mm
measy center.__1 >> center.__0 2.3mm
measy pad.__1 >> pad.__1 3.5mm
measy pad.__1 -> pad.__0 1mm
meas pad.__1 -> pad.__2 -1mm
measy paste_pad.__1 -> paste_pad.__0 1.8mm
measy paste.__0 -> paste.__0 -C1
measy paste_pad.__1 >> paste_pad.__0 -C1-1mm