KiCad Libraries
Sign in or create your account | Project List | Help
KiCad Libraries Git Source Tree
Root/
| 1 | /* MACHINE-GENERATED ! */ |
| 2 | |
| 3 | frame meas_aux { |
| 4 | set ?dy = -1 |
| 5 | |
| 6 | __0: vec @(-wx/2, -wy/2) |
| 7 | __1: vec @(wx/2, wy/2) |
| 8 | } |
| 9 | |
| 10 | frame land { |
| 11 | table |
| 12 | { dx, dy, n } |
| 13 | { 0, -1, i } |
| 14 | { 1, 0, i+N/4 } |
| 15 | { 0, 1, i+N/2 } |
| 16 | { -1, 0, i+3*N/4 } |
| 17 | |
| 18 | set side = e*(i-N/8-0.5) |
| 19 | |
| 20 | table |
| 21 | { sx, sy } |
| 22 | { side*-dy, side*dx } |
| 23 | |
| 24 | table |
| 25 | { ix, iy, ox, oy, wx, wy } |
| 26 | { Gmin/2*dx, Gmin/2*dy, Zmax/2*dx, Zmax/2*dy, Xmax*-dy, Xmax*dx } |
| 27 | |
| 28 | loop i = 1, N/4 |
| 29 | |
| 30 | __0: vec @(ix, iy) |
| 31 | __1: vec .(sx, sy) |
| 32 | __2: vec .(ox-ix, oy-iy) |
| 33 | frame meas_aux . |
| 34 | __4: vec .(wx/2, wy/2) |
| 35 | __3: vec __1(-wx/2, -wy/2) |
| 36 | pad "$n" . __4 |
| 37 | __5: vec @((ix+ox)/2, (iy+oy)/2) |
| 38 | } |
| 39 | |
| 40 | package "QFP$N-$pkg-$dens" |
| 41 | unit mm |
| 42 | |
| 43 | table |
| 44 | { pkg, N, Dmin, Dmax, D1max, Lmin, Lmax, e, narrow, bmin, bmax, b1min, b1max } |
| 45 | { "MS026BBA", 32, 8.9mm, 9.1mm, 7.1mm, 0.45mm, 0.75mm, 0.8mm, 0, 0.3mm, 0.45mm, 0.3mm, 0.4mm } |
| 46 | { "MS026BBC", 48, 8.9mm, 9.1mm, 7.1mm, 0.45mm, 0.75mm, 0.5mm, 1, 0.17mm, 0.27mm, 0.17mm, 0.23mm } |
| 47 | |
| 48 | table |
| 49 | { Dtol, Ltol } |
| 50 | { Dmax-Dmin, Lmax-Lmin } |
| 51 | |
| 52 | table |
| 53 | { Smin, Cs, Smax } |
| 54 | { Dmin-2*Lmax, sqrt(Dtol*Dtol+Ltol*Ltol), Smin+Cs } |
| 55 | |
| 56 | set Cl = Dmax-Dmin |
| 57 | |
| 58 | set Cw = b1max-b1min |
| 59 | |
| 60 | table |
| 61 | { dens, ?narrow, Jt, Jh, Js, Court } |
| 62 | { "A", 0, 0.55mm, 0.45mm, 0.05mm, 0.5mm } |
| 63 | { "B", 0, 0.35mm, 0.35mm, 0.03mm, 0.25mm } |
| 64 | { "C", 0, 0.15mm, 0.25mm, 0.01mm, 0.1mm } |
| 65 | { "A", 1, 0.55mm, 0.45mm, 0.01mm, 0.5mm } |
| 66 | { "B", 1, 0.35mm, 0.35mm, -0.02mm, 0.25mm } |
| 67 | { "C", 1, 0.15mm, 0.25mm, -0.04mm, 0.1mm } |
| 68 | |
| 69 | table |
| 70 | { ?narrow, Jt_round, Jh_round, Js_round } |
| 71 | { 0, 0.02mm, 0.02mm, 0.01mm } |
| 72 | { 1, 0.02mm, 0.1mm, 0.01mm } |
| 73 | |
| 74 | set pcb_tolerance = 0.1mm |
| 75 | |
| 76 | set placement_tolerance = 0.1mm |
| 77 | |
| 78 | table |
| 79 | { F, P } |
| 80 | { pcb_tolerance, placement_tolerance } |
| 81 | |
| 82 | set Zmax_raw = Dmin+2*Jt+sqrt(Cl*Cl+F*F+P*P) |
| 83 | |
| 84 | set Gmin_raw = Smax-2*Jh-sqrt(Cs*Cs+F*F+P*P) |
| 85 | |
| 86 | set Xmax_raw = b1min+2*Js+sqrt(Cw*Cw+F*F+P*P) |
| 87 | |
| 88 | set Zmax = floor(Zmax_raw/Jt_round+0.5)*Jt_round |
| 89 | |
| 90 | set Gmin = floor(Gmin_raw/Jh_round+0.5)*Jh_round |
| 91 | |
| 92 | set Xmax = floor(Xmax_raw/Js_round+0.5)*Js_round |
| 93 | |
| 94 | frame land @ |
| 95 | measy land.__2 -> land.__1 -7mm |
| 96 | measy land.__0 >> land.__0 6mm |
| 97 | measy land.__2 >> land.__4 5mm |
| 98 | measy land.__5 >> land.__5 7mm |
| 99 | measx meas_aux.__0 -> land.__4 -1mm |
| 100 |
Branches:
master
