3 # gEDA compatible footprint names
5 # the real component definitions are in the *.inc files
7 # Initial version from Egil Kvaleberg <egil@kvaleberg.no>,
12 ## Dual in-line package, narrow (300 mil)
13 # DIP6 .. DIP64, DIP24N, DIP28N
15 define(`PKG_DIP4', `PKG_N(`$1', `$2', `$3', 4, 300)');
16 define(`PKG_DIP6', `PKG_N(`$1', `$2', `$3', 6, 300)');
17 define(`PKG_DIP8', `PKG_N(`$1', `$2', `$3', 8, 300)');
18 define(`PKG_DIP14', `PKG_N(`$1', `$2', `$3', 14, 300)');
19 define(`PKG_DIP16', `PKG_N(`$1', `$2', `$3', 16, 300)');
20 define(`PKG_DIP18', `PKG_N(`$1', `$2', `$3', 18, 300)');
21 define(`PKG_DIP20', `PKG_N(`$1', `$2', `$3', 20, 300)');
22 define(`PKG_DIP22', `PKG_N(`$1', `$2', `$3', 22, 300)');
23 define(`PKG_DIP24N', `PKG_N(`$1', `$2', `$3', 24, 300)');
24 define(`PKG_DIP28N', `PKG_N(`$1', `$2', `$3', 28, 300)');
25 ## Dual in-line package, medium wide (400 mil)
26 define(`PKG_DIP8M', `PKG_N(`$1', `$2', `$3', 8, 400)');
27 define(`PKG_DIP14M', `PKG_N(`$1', `$2', `$3', 14, 400)');
28 define(`PKG_DIP16M', `PKG_N(`$1', `$2', `$3', 16, 400)');
29 define(`PKG_DIP18M', `PKG_N(`$1', `$2', `$3', 18, 400)');
30 define(`PKG_DIP20M', `PKG_N(`$1', `$2', `$3', 20, 400)');
31 define(`PKG_DIP22M', `PKG_N(`$1', `$2', `$3', 22, 400)');
32 define(`PKG_DIP24M', `PKG_N(`$1', `$2', `$3', 24, 400)');
33 define(`PKG_DIP28M', `PKG_N(`$1', `$2', `$3', 28, 400)');
34 ## Dual in-line package, wide (600 mil)
35 define(`PKG_DIP24', `PKG_N(`$1', `$2', `$3', 24, 600)');
36 define(`PKG_DIP28', `PKG_N(`$1', `$2', `$3', 28, 600)');
37 define(`PKG_DIP32', `PKG_N(`$1', `$2', `$3', 32, 600)');
38 define(`PKG_DIP36', `PKG_N(`$1', `$2', `$3', 36, 600)');
39 define(`PKG_DIP40', `PKG_N(`$1', `$2', `$3', 40, 600)');
40 define(`PKG_DIP42', `PKG_N(`$1', `$2', `$3', 42, 600)');
41 define(`PKG_DIP44', `PKG_N(`$1', `$2', `$3', 44, 600)');
42 define(`PKG_DIP48', `PKG_N(`$1', `$2', `$3', 48, 600)');
43 ## Dual in-line package, wide (900 mil)
44 define(`PKG_DIP64', `PKG_N(`$1', `$2', `$3', 64, 900)');
47 ## Shrink dual in-line package, wide (300 mil)
49 define(`PKG_SDIP18', `PKG_NS(`$1', `$2', `$3', 18, 300)');
50 define(`PKG_SDIP20', `PKG_NS(`$1', `$2', `$3', 20, 300)');
51 define(`PKG_SDIP22', `PKG_NS(`$1', `$2', `$3', 22, 300)');
52 define(`PKG_SDIP24', `PKG_NS(`$1', `$2', `$3', 24, 300)');
54 ## Shrink dual in-line package, wide (400 mil)
55 define(`PKG_SDIP30', `PKG_NS(`$1', `$2', `$3', 30, 400)');
56 define(`PKG_SDIP32', `PKG_NS(`$1', `$2', `$3', 32, 400)');
58 ## Shrink dual in-line package, wide (600 mil)
59 define(`PKG_SDIP42', `PKG_NS(`$1', `$2', `$3', 42, 600)');
62 ## Single in line package
65 define(`PKG_SIP1', `PKG_CSIL(`$1', `$2', `$3', 1)');
66 define(`PKG_SIP2', `PKG_CSIL(`$1', `$2', `$3', 2)');
67 define(`PKG_SIP3', `PKG_CSIL(`$1', `$2', `$3', 3)');
68 define(`PKG_SIP4', `PKG_CSIL(`$1', `$2', `$3', 4)');
69 define(`PKG_SIP5', `PKG_CSIL(`$1', `$2', `$3', 5)');
70 define(`PKG_SIP6', `PKG_CSIL(`$1', `$2', `$3', 6)');
71 define(`PKG_SIP7', `PKG_CSIL(`$1', `$2', `$3', 7)');
72 define(`PKG_SIP8', `PKG_CSIL(`$1', `$2', `$3', 8)');
73 define(`PKG_SIP9', `PKG_CSIL(`$1', `$2', `$3', 9)');
74 define(`PKG_SIP10', `PKG_CSIL(`$1', `$2', `$3', 10)');
75 define(`PKG_SIP11', `PKG_CSIL(`$1', `$2', `$3', 11)');
76 define(`PKG_SIP12', `PKG_CSIL(`$1', `$2', `$3', 12)');
77 define(`PKG_SIP13', `PKG_CSIL(`$1', `$2', `$3', 13)');
80 ## Ultra (Micro?) Small outline package
82 # pins, width (1/100mil), pitch (1/100 mil)
83 define(`PKG_US8', `PKG_US( `$1', `$2', `$3', 8)');
84 define(`PKG_US14', `PKG_US( `$1', `$2', `$3', 14)');
85 define(`PKG_US16', `PKG_US( `$1', `$2', `$3', 16)');
88 ## Small outline package, narrow (150mil)
91 # COMMON_SMT_DIL_{MIL,MM}
93 # $5: pad width (1/1000 mil or 1/100 mm)
94 # $6: pad length (1/1000 mil or 1/100 mm)
95 # $7: pad pitch (1/1000 mil 1/100 mm)
96 # $8: pad seperation for pads on opposite sides of
97 # the package (1/1000 mil or 1/100 mm)
98 # $9: define to make the pins get numbered starting with the highest pin
99 # instead of pin 1. Needed for certain brain damaged packages like
100 # the Mini-Circuits KK81
102 # dimensions from http://landpatterns.ipc.org/
103 define(`PKG_SO8', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 8, 20000, 85000, 50000, 120000)');
104 define(`PKG_SO14', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 14, 20000, 85000, 50000, 120000)');
105 define(`PKG_SO16', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 16, 20000, 85000, 50000, 120000)');
106 define(`PKG_SO18N', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 18, 20000, 85000, 50000, 120000)');
107 define(`PKG_SO20N', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 20, 20000, 85000, 50000, 120000)');
109 ## Small outline package, medium (200mil)
111 define(`PKG_SO8M', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 8, 20000, 85000, 50000, 170000)');
112 define(`PKG_SO18M', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 18, 20000, 85000, 50000, 170000)');
113 define(`PKG_SO20M', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 20, 20000, 85000, 50000, 170000)');
114 define(`PKG_SO22M', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 22, 20000, 85000, 50000, 170000)');
115 define(`PKG_SO24M', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 24, 20000, 85000, 50000, 170000)');
117 ## Small outline package, wide (300mil)
118 # dimensions from http://landpatterns.ipc.org/
119 define(`PKG_SO8W', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 8, 20000, 80000, 50000, 280000)');
120 define(`PKG_SO14W', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 14, 20000, 80000, 50000, 280000)');
121 define(`PKG_SO16W', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 16, 20000, 80000, 50000, 280000)');
122 define(`PKG_SO18W', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 18, 20000, 80000, 50000, 280000)');
123 define(`PKG_SO20W', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 20, 20000, 80000, 50000, 280000)');
124 define(`PKG_SO24W', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 24, 20000, 80000, 50000, 280000)');
125 define(`PKG_SO28', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 28, 20000, 80000, 50000, 280000)');
126 define(`PKG_SO32', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 32, 20000, 80000, 50000, 280000)');
128 ## Small outline package, wider (325mil)
129 define(`PKG_SO28W', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 28, 20000, 80000, 50000, 305000)');
131 ## Small outline package, wider (450mil)
132 define(`PKG_SO32W', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 32, 20000, 80000, 50000, 430000)');
134 ## Small outline package, wide (525mil)
135 define(`PKG_SO44', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3', 44, 20000, 80000, 50000, 505000)');
139 # NOTE: There is also SOJ20,28,32,40,42
140 # 0.300" size, 28,32 pin (MO-088, MO-077 respectively)
141 # 0.400" size, 28,32,36 pin (MO-061)
144 # from http://landpatterns.ipc.org/
145 # 14-28 pin 0.300" - pitch = 1.27 mm, pad is 0.6 x 2.2, gap is 5
146 # 14-28 pin 0.350" - pitch = 1.27 mm, pad is 0.6 x 2.2, gap is 6.2
147 # 14-28 pin 0.400" - pitch = 1.27 mm, pad is 0.6 x 2.2, gap is 7.4
148 # 14-28 pin 0.450" - pitch = 1.27 mm, pad is 0.6 x 2.2, gap is 8.8
150 # Cypress (www.cypress.com) has 20, 24, 28, 32 in the 0.3" and
151 # 28, 32, 36, 44 in the 0.4"
153 ## Small outline J-leaded package (300 mil)
154 define(`PKG_SOJ14_300', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',14,23622,86614,50000,196850)');
155 define(`PKG_SOJ16_300', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',16,23622,86614,50000,196850)');
156 define(`PKG_SOJ18_300', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',18,23622,86614,50000,196850)');
157 define(`PKG_SOJ20_300', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',20,23622,86614,50000,196850)');
158 define(`PKG_SOJ22_300', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',22,23622,86614,50000,196850)');
159 define(`PKG_SOJ24_300', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',24,23622,86614,50000,196850)');
160 define(`PKG_SOJ26_300', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',26,23622,86614,50000,196850)');
161 define(`PKG_SOJ28_300', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',28,23622,86614,50000,196850)');
162 define(`PKG_SOJ30_300', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',30,23622,86614,50000,196850)');
163 define(`PKG_SOJ32_300', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',32,23622,86614,50000,196850)');
164 define(`PKG_SOJ34_300', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',34,23622,86614,50000,196850)');
165 define(`PKG_SOJ36_300', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',36,23622,86614,50000,196850)');
166 define(`PKG_SOJ38_300', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',38,23622,86614,50000,196850)');
167 define(`PKG_SOJ40_300', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',40,23622,86614,50000,196850)');
168 define(`PKG_SOJ42_300', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',42,23622,86614,50000,196850)');
169 define(`PKG_SOJ44_300', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',44,23622,86614,50000,196850)');
171 ## Small outline J-leaded package (350 mil)
172 define(`PKG_SOJ14_350', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',14,23622,86614,50000,244094)');
173 define(`PKG_SOJ16_350', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',16,23622,86614,50000,244094)');
174 define(`PKG_SOJ18_350', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',18,23622,86614,50000,244094)');
175 define(`PKG_SOJ20_350', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',20,23622,86614,50000,244094)');
176 define(`PKG_SOJ22_350', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',22,23622,86614,50000,244094)');
177 define(`PKG_SOJ24_350', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',24,23622,86614,50000,244094)');
178 define(`PKG_SOJ26_350', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',26,23622,86614,50000,244094)');
179 define(`PKG_SOJ28_350', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',28,23622,86614,50000,244094)');
180 define(`PKG_SOJ30_350', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',30,23622,86614,50000,244094)');
181 define(`PKG_SOJ32_350', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',32,23622,86614,50000,244094)');
182 define(`PKG_SOJ34_350', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',34,23622,86614,50000,244094)');
183 define(`PKG_SOJ36_350', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',36,23622,86614,50000,244094)');
184 define(`PKG_SOJ38_350', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',38,23622,86614,50000,244094)');
185 define(`PKG_SOJ40_350', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',40,23622,86614,50000,244094)');
186 define(`PKG_SOJ42_350', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',42,23622,86614,50000,244094)');
187 define(`PKG_SOJ44_350', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',44,23622,86614,50000,244094)');
189 ## Small outline J-leaded package (400 mil)
190 define(`PKG_SOJ14_400', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',14,23622,86614,50000,291339)');
191 define(`PKG_SOJ16_400', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',16,23622,86614,50000,291339)');
192 define(`PKG_SOJ18_400', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',18,23622,86614,50000,291339)');
193 define(`PKG_SOJ20_400', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',20,23622,86614,50000,291339)');
194 define(`PKG_SOJ22_400', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',22,23622,86614,50000,291339)');
195 define(`PKG_SOJ24_400', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',24,23622,86614,50000,291339)');
196 define(`PKG_SOJ26_400', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',26,23622,86614,50000,291339)');
197 define(`PKG_SOJ28_400', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',28,23622,86614,50000,291339)');
198 define(`PKG_SOJ30_400', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',30,23622,86614,50000,291339)');
199 define(`PKG_SOJ32_400', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',32,23622,86614,50000,291339)');
200 define(`PKG_SOJ34_400', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',34,23622,86614,50000,291339)');
201 define(`PKG_SOJ36_400', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',36,23622,86614,50000,291339)');
202 define(`PKG_SOJ38_400', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',38,23622,86614,50000,291339)');
203 define(`PKG_SOJ40_400', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',40,23622,86614,50000,291339)');
204 define(`PKG_SOJ42_400', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',42,23622,86614,50000,291339)');
205 define(`PKG_SOJ44_400', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',44,23622,86614,50000,291339)');
207 ## Small outline J-leaded package (450 mil)
208 define(`PKG_SOJ14_450', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',14,23622,86614,50000,346457)');
209 define(`PKG_SOJ16_450', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',16,23622,86614,50000,346457)');
210 define(`PKG_SOJ18_450', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',18,23622,86614,50000,346457)');
211 define(`PKG_SOJ20_450', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',20,23622,86614,50000,346457)');
212 define(`PKG_SOJ22_450', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',22,23622,86614,50000,346457)');
213 define(`PKG_SOJ24_450', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',24,23622,86614,50000,346457)');
214 define(`PKG_SOJ26_450', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',26,23622,86614,50000,346457)');
215 define(`PKG_SOJ28_450', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',28,23622,86614,50000,346457)');
216 define(`PKG_SOJ30_450', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',30,23622,86614,50000,346457)');
217 define(`PKG_SOJ32_450', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',32,23622,86614,50000,346457)');
218 define(`PKG_SOJ34_450', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',34,23622,86614,50000,346457)');
219 define(`PKG_SOJ36_450', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',36,23622,86614,50000,346457)');
220 define(`PKG_SOJ38_450', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',38,23622,86614,50000,346457)');
221 define(`PKG_SOJ40_450', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',40,23622,86614,50000,346457)');
222 define(`PKG_SOJ42_450', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',42,23622,86614,50000,346457)');
223 define(`PKG_SOJ44_450', `COMMON_SMT_DIL_MIL(`$1',`$2',`$3',44,23622,86614,50000,346457)');
228 # Shrink small outline SSOP is a full confusion of
229 # pitch 25.00 mil, 0.65mm, 0.8mm
230 # widths 244, 260, 311, 323 etc
231 # there are really too many variants, the ones listed here are
232 # fairly industry standard
234 ## Shrink small outline package, .65mm, narrow
235 define(`PKG_SSOP8', `PKG_SSO( `$1', `$2', `$3', 8, 323, 2559)');
236 define(`PKG_SSOP14', `PKG_SSO( `$1', `$2', `$3', 14, 323, 2559)');
237 define(`PKG_SSOP16', `PKG_SSO( `$1', `$2', `$3', 16, 244, 2559)');
238 define(`PKG_SSOP20', `PKG_SSO( `$1', `$2', `$3', 20, 260, 2559)');
239 define(`PKG_SSOP24', `PKG_SSO( `$1', `$2', `$3', 24, 323, 2559)');
240 define(`PKG_SSOP28', `PKG_SSO( `$1', `$2', `$3', 28, 323, 2559)');
243 ## Shrink small outline package, .65mm, wide
244 #define(`PKG_SSOP16W', `PKG_SSO( `$1', `$2', `$3', 16, 420, 2559)');
245 #define(`PKG_SSOP20W', `PKG_SSO( `$1', `$2', `$3', 20, 420, 2559)');
246 #define(`PKG_SSOP28W', `PKG_SSO( `$1', `$2', `$3', 28, 420, 2559)');
247 #define(`PKG_SSOP30W', `PKG_SSO( `$1', `$2', `$3', 30, 420, 2559)');
248 #define(`PKG_SSOP32W', `PKG_SSO( `$1', `$2', `$3', 32, 420, 2559)');
249 #define(`PKG_SSOP36W', `PKG_SSO( `$1', `$2', `$3', 36, 420, 2559)');
252 ## Shrink small outline package, 25mil, wide
253 define(`PKG_SSOP48W', `PKG_SSO( `$1', `$2', `$3', 48, 420, 2500)');
254 define(`PKG_SSOP56W', `PKG_SSO( `$1', `$2', `$3', 56, 420, 2500)');
257 ## Shrink small outline package, .80mm, wider
258 define(`PKG_SSOP64W', `PKG_SSO( `$1', `$2', `$3', 64, 545, 3150)');
260 ## Shrink small outline package, .65mm, narrow
261 # BUG:(`PKG_MSOP8', `PKG_SSO( `$1', `$2', `$3', 8, 323, 2559)');
263 ## Mini small outline package, .65mm
264 define(`PKG_MSOP8', `PKG_SSO( `$1', `$2', `$3', 8, 199, 2559)');
265 ## Mini small outline package, .5mm
266 define(`PKG_MSOP10', `PKG_TSOP( `$1', `$2', `$3', 10, 199, 1969)');
268 ## Quarter size small outline package
269 define(`PKG_QSOP16', `PKG_SSO( `$1', `$2', `$3', 16, 244, 2500)');
270 define(`PKG_QSOP20', `PKG_SSO( `$1', `$2', `$3', 20, 244, 2500)');
271 define(`PKG_QSOP24', `PKG_SSO( `$1', `$2', `$3', 24, 244, 2500)');
272 define(`PKG_QSOP28', `PKG_SSO( `$1', `$2', `$3', 28, 244, 2500)');
275 ## Thin small outline package
276 # BUG: TSOP in 26(x2),28(x2),32,44(x2),48,50(x2),54,66,70(x2),86
278 define(`PKG_TSOP28', `PKG_TSOP( `$1', `$2', `$3', 28, 535, 2165)');
279 define(`PKG_TSOP32A', `PKG_TSOP( `$1', `$2', `$3', 32, 795, 2000)');
280 define(`PKG_TSOP32B', `PKG_TSOP( `$1', `$2', `$3', 32, 559, 2000)');
282 ## Thin shrink small outline package, narrow (3mm)
284 define(`PKG_TSSOP8', `COMMON_SMT_DIL_MM(`$1',`$2',`$3', 8, 33, 150, 65, 300)');
285 define(`PKG_TSSOP10', `COMMON_SMT_DIL_MM(`$1',`$2',`$3', 10, 30, 150, 50, 300)');
287 ## Thin shrink small outline package, standard (4.4mm)
289 define(`PKG_TSSOP8W', `COMMON_SMT_DIL_MM(`$1',`$2',`$3', 8, 33, 150, 65, 440)');
290 define(`PKG_TSSOP14', `COMMON_SMT_DIL_MM(`$1',`$2',`$3', 14, 33, 150, 65, 440)');
291 define(`PKG_TSSOP16', `COMMON_SMT_DIL_MM(`$1',`$2',`$3', 16, 33, 150, 65, 440)');
292 define(`PKG_TSSOP20', `COMMON_SMT_DIL_MM(`$1',`$2',`$3', 20, 33, 150, 65, 440)');
293 define(`PKG_TSSOP24', `COMMON_SMT_DIL_MM(`$1',`$2',`$3', 24, 33, 150, 65, 440)');
294 define(`PKG_TSSOP28', `COMMON_SMT_DIL_MM(`$1',`$2',`$3', 28, 33, 150, 65, 440)');
295 define(`PKG_TSSOP38N', `COMMON_SMT_DIL_MM(`$1',`$2',`$3', 38, 30, 150, 50, 440)');
296 define(`PKG_TSSOP48N', `COMMON_SMT_DIL_MM(`$1',`$2',`$3', 48, 25, 150, 40, 440)');
297 define(`PKG_TSSOP56N', `COMMON_SMT_DIL_MM(`$1',`$2',`$3', 56, 25, 150, 40, 440)');
299 ## Thin shrink small outline package, wide (6.1mm)
301 define(`PKG_TSSOP32', `COMMON_SMT_DIL_MM(`$1',`$2',`$3', 32, 33, 150, 65, 610)');
302 define(`PKG_TSSOP48', `COMMON_SMT_DIL_MM(`$1',`$2',`$3', 48, 30, 150, 50, 610)');
303 define(`PKG_TSSOP56', `COMMON_SMT_DIL_MM(`$1',`$2',`$3', 56, 30, 150, 50, 610)');
304 define(`PKG_TSSOP64', `COMMON_SMT_DIL_MM(`$1',`$2',`$3', 64, 30, 150, 50, 610)');
305 define(`PKG_TSSOP80', `COMMON_SMT_DIL_MM(`$1',`$2',`$3', 80, 25, 150, 40, 610)');
308 ## Plastic leadless chip carrier
312 # QFJ 18,20,22,28,32,44,68,84
314 define(`PKG_PLCC20', `PKG_PLCC(`$1', `$2', `$3', 20, 150)');
315 define(`PKG_PLCC28', `PKG_PLCC(`$1', `$2', `$3', 28, 150)');
316 define(`PKG_PLCC32', `PKG_PLCC(`$1', `$2', `$3', 32, 150)');
317 define(`PKG_PLCC44', `PKG_PLCC(`$1', `$2', `$3', 44, 150)');
318 define(`PKG_PLCC52', `PKG_PLCC(`$1', `$2', `$3', 52, 150)');
319 define(`PKG_PLCC68', `PKG_PLCC(`$1', `$2', `$3', 68, 150)');
320 define(`PKG_PLCC84', `PKG_PLCC(`$1', `$2', `$3', 84, 150)');
323 ## Plastic leadless chip carrier with pin socket
326 define(`PKG_PLCC20X', `PKG_PLCC_SOCKET(`$1', `$2', `$3', 20, 150)');
327 define(`PKG_PLCC28X', `PKG_PLCC_SOCKET(`$1', `$2', `$3', 28, 150)');
328 define(`PKG_PLCC32X', `PKG_PLCC_SOCKET(`$1', `$2', `$3', 32, 150)');
329 define(`PKG_PLCC44X', `PKG_PLCC_SOCKET(`$1', `$2', `$3', 44, 150)');
330 define(`PKG_PLCC52X', `PKG_PLCC_SOCKET(`$1', `$2', `$3', 52, 150)');
331 define(`PKG_PLCC68X', `PKG_PLCC_SOCKET(`$1', `$2', `$3', 68, 150)');
332 define(`PKG_PLCC84X', `PKG_PLCC_SOCKET(`$1', `$2', `$3', 84, 150)');
334 ## Square Quad Flat Nolead (QFN) package
338 define(`PKG_QFN16_3', `PKG_QFN_50S(`$1',`$2',`$3', `16', `3', `0')')
339 define(`PKG_TQFN16_3', `PKG_QFN_50S(`$1',`$2',`$3', `16', `3', `0')')
340 define(`PKG_QFN16_3_EP', `PKG_QFN_50S(`$1',`$2',`$3', `16', `3', `150')')
341 define(`PKG_TQFN16_3_EP', `PKG_QFN_50S(`$1',`$2',`$3', `16', `3', `150')')
344 define(`PKG_QFN12_4', `PKG_QFN_80(`$1',`$2',`$3', `12', `4', `0')')
345 define(`PKG_TQFN12_4', `PKG_QFN_80(`$1',`$2',`$3', `12', `4', `0')')
346 define(`PKG_QFN12_4_EP', `PKG_QFN_80(`$1',`$2',`$3', `12', `4', `210')')
347 define(`PKG_TQFN12_4_EP', `PKG_QFN_80(`$1',`$2',`$3', `12', `4', `210')')
349 define(`PKG_QFN16_4', `PKG_QFN_65(`$1',`$2',`$3', `16', `4', `0')')
350 define(`PKG_TQFN16_4', `PKG_QFN_65(`$1',`$2',`$3', `16', `4', `0')')
351 define(`PKG_QFN16_4_EP', `PKG_QFN_65(`$1',`$2',`$3', `16', `4', `210')')
352 define(`PKG_TQFN16_4_EP', `PKG_QFN_65(`$1',`$2',`$3', `16', `4', `210')')
354 define(`PKG_QFN20_4', `PKG_QFN_50(`$1',`$2',`$3', `20', `4', `0')')
355 define(`PKG_TQFN20_4', `PKG_QFN_50(`$1',`$2',`$3', `20', `4', `0')')
356 define(`PKG_QFN20_4_EP', `PKG_QFN_50(`$1',`$2',`$3', `20', `4', `210')')
357 define(`PKG_TQFN20_4_EP', `PKG_QFN_50(`$1',`$2',`$3', `20', `4', `210')')
359 define(`PKG_QFN24_4', `PKG_QFN_50S(`$1',`$2',`$3', `24', `4', `0')')
360 define(`PKG_TQFN24_4', `PKG_QFN_50S(`$1',`$2',`$3', `24', `4', `0')')
361 define(`PKG_QFN24_4_EP', `PKG_QFN_50S(`$1',`$2',`$3', `24', `4', `210')')
362 define(`PKG_TQFN24_4_EP', `PKG_QFN_50S(`$1',`$2',`$3', `24', `4', `260')')
365 define(`PKG_QFN16_5', `PKG_QFN_80(`$1',`$2',`$3', `16', `5', `0')')
366 define(`PKG_TQFN16_5', `PKG_QFN_80(`$1',`$2',`$3', `16', `5', `0')')
367 define(`PKG_QFN16_5_EP', `PKG_QFN_80(`$1',`$2',`$3', `16', `5', `310')')
368 define(`PKG_TQFN16_5_EP', `PKG_QFN_80(`$1',`$2',`$3', `16', `5', `310')')
370 define(`PKG_QFN20_5', `PKG_QFN_65(`$1',`$2',`$3', `20', `5', `0')')
371 define(`PKG_TQFN20_5', `PKG_QFN_65(`$1',`$2',`$3', `20', `5', `0')')
372 define(`PKG_QFN20_5_EP', `PKG_QFN_65(`$1',`$2',`$3', `20', `5', `310')')
373 define(`PKG_TQFN20_5_EP', `PKG_QFN_65(`$1',`$2',`$3', `20', `5', `310')')
375 define(`PKG_QFN24_5', `PKG_QFN_65(`$1',`$2',`$3', `24', `5', `0')')
376 define(`PKG_TQFN24_5', `PKG_QFN_65(`$1',`$2',`$3', `24', `5', `0')')
378 define(`PKG_QFN28_5', `PKG_QFN_50(`$1',`$2',`$3', `28', `5', `0')')
379 define(`PKG_TQFN28_5', `PKG_QFN_50(`$1',`$2',`$3', `28', `5', `0')')
380 define(`PKG_QFN28_5_EP', `PKG_QFN_50(`$1',`$2',`$3', `28', `5', `310')')
381 define(`PKG_TQFN28_5_EP', `PKG_QFN_50(`$1',`$2',`$3', `28', `5', `325')')
383 define(`PKG_QFN32_5', `PKG_QFN_50S(`$1',`$2',`$3', `32', `5', `0')')
384 define(`PKG_TQFN32_5', `PKG_QFN_50S(`$1',`$2',`$3', `32', `5', `0')')
385 define(`PKG_QFN32_5_EP', `PKG_QFN_50S(`$1',`$2',`$3', `32', `5', `310')')
386 define(`PKG_TQFN32_5_EP', `PKG_QFN_50S(`$1',`$2',`$3', `32', `5', `310')')
389 define(`PKG_QFN36_6', `PKG_QFN_50(`$1',`$2',`$3', `36', `6', `0')')
390 define(`PKG_TQFN36_6', `PKG_QFN_50(`$1',`$2',`$3', `36', `6', `0')')
391 define(`PKG_QFN36_6_EP', `PKG_QFN_50(`$1',`$2',`$3', `36', `6', `370')')
392 define(`PKG_TQFN36_6_EP', `PKG_QFN_50(`$1',`$2',`$3', `36', `6', `370')')
394 define(`PKG_QFN40_6', `PKG_QFN_50S(`$1',`$2',`$3', `40', `6', `0')')
395 define(`PKG_TQFN40_6', `PKG_QFN_50S(`$1',`$2',`$3', `40', `6', `0')')
396 define(`PKG_QFN40_6_EP', `PKG_QFN_50S(`$1',`$2',`$3', `40', `6', `410')')
397 define(`PKG_TQFN40_6_EP', `PKG_QFN_50S(`$1',`$2',`$3', `40', `6', `410')')
400 define(`PKG_QFN32_7', `PKG_QFN_65(`$1',`$2',`$3', `32', `7', `0')')
401 define(`PKG_TQFN32_7', `PKG_QFN_65(`$1',`$2',`$3', `32', `7', `0')')
402 define(`PKG_QFN32_7_EP', `PKG_QFN_65(`$1',`$2',`$3', `32', `7', `470')')
403 define(`PKG_TQFN32_7_EP', `PKG_QFN_65(`$1',`$2',`$3', `32', `7', `470')')
405 define(`PKG_QFN44_7', `PKG_QFN_50(`$1',`$2',`$3', `44', `7', `0')')
406 define(`PKG_TQFN44_7', `PKG_QFN_50(`$1',`$2',`$3', `44', `7', `0')')
407 define(`PKG_QFN44_7_EP', `PKG_QFN_50(`$1',`$2',`$3', `44', `7', `470')')
408 define(`PKG_TQFN44_7_EP', `PKG_QFN_50(`$1',`$2',`$3', `44', `7', `470')')
410 define(`PKG_QFN48_7', `PKG_QFN_50S(`$1',`$2',`$3', `48', `7', `0')')
411 define(`PKG_TQFN48_7', `PKG_QFN_50S(`$1',`$2',`$3', `48', `7', `0')')
412 define(`PKG_QFN48_7_EP', `PKG_QFN_50S(`$1',`$2',`$3', `48', `7', `560')')
413 define(`PKG_TQFN48_7_EP', `PKG_QFN_50S(`$1',`$2',`$3', `48', `7', `560')')
416 define(`PKG_QFN56_8', `PKG_QFN_50S(`$1',`$2',`$3', `56', `8', `0')')
417 define(`PKG_TQFN56_8', `PKG_QFN_50S(`$1',`$2',`$3', `56', `8', `0')')
418 define(`PKG_QFN56_8_EP', `PKG_QFN_50S(`$1',`$2',`$3', `56', `8', `665')')
419 define(`PKG_TQFN56_8_EP', `PKG_QFN_50S(`$1',`$2',`$3', `56', `8', `665')')
422 define(`PKG_QFN68_10', `PKG_QFN_50(`$1',`$2',`$3', `68', `10', `0')')
423 define(`PKG_TQFN68_10', `PKG_QFN_50(`$1',`$2',`$3', `68', `10', `0')')
424 define(`PKG_QFN68_10_EP', `PKG_QFN_50(`$1',`$2',`$3', `68', `10', `770')')
425 define(`PKG_TQFN68_10_EP', `PKG_QFN_50(`$1',`$2',`$3', `68', `10', `770')')
428 ## Square Quad-side flat pack
429 # QFP 32,44,56,64,80,100,128,160,208,240,272,304
431 # TQFP 44,48,64,80,120
433 define(`PKG_LQFP24_4', `PKG_LQFP_50(`$1',`$2',`$3', `24', `4',`0')');
434 define(`PKG_LQFP32_5', `PKG_LQFP_50(`$1',`$2',`$3', `32', `5',`0')');
435 define(`PKG_LQFP32_7', `PKG_LQFP_80(`$1',`$2',`$3', `32', `7',`0')');
436 define(`PKG_LQFP44_10', `PKG_LQFP_80(`$1',`$2',`$3', `44',`10',`0')');
437 define(`PKG_LQFP48_7', `PKG_LQFP_50(`$1',`$2',`$3', `48', `7',`0')');
438 define(`PKG_LQFP48_12', `PKG_LQFP_80(`$1',`$2',`$3', `48',`12',`0')');
439 define(`PKG_LQFP52_10', `PKG_LQFP_65(`$1',`$2',`$3', `52',`10',`0')');
440 define(`PKG_LQFP64_7', `PKG_LQFP_40(`$1',`$2',`$3', `64', `7',`0')');
441 define(`PKG_LQFP64_10', `PKG_LQFP_50(`$1',`$2',`$3', `64',`10',`0')');
442 define(`PKG_LQFP64_14', `PKG_LQFP_80(`$1',`$2',`$3', `64',`14',`0')');
443 define(`PKG_LQFP72_10', `PKG_LQFP_50(`$1',`$2',`$3', `72',`10',`0')');
444 define(`PKG_LQFP80_10', `PKG_LQFP_40(`$1',`$2',`$3', `80',`10',`0')');
445 define(`PKG_LQFP80_12', `PKG_LQFP_50(`$1',`$2',`$3', `80',`12',`0')');
446 define(`PKG_LQFP80_14', `PKG_LQFP_65(`$1',`$2',`$3', `80',`14',`0')');
447 define(`PKG_LQFP100_10', `PKG_LQFP_40(`$1',`$2',`$3',`100',`10',`0')');
448 define(`PKG_LQFP100_14', `PKG_LQFP_50(`$1',`$2',`$3',`100',`14',`0')');
449 define(`PKG_LQFP112_20', `PKG_LQFP_65(`$1',`$2',`$3',`112',`20',`0')');
450 define(`PKG_LQFP120_16', `PKG_LQFP_50(`$1',`$2',`$3',`120',`16',`0')');
451 define(`PKG_LQFP128_14', `PKG_LQFP_40(`$1',`$2',`$3',`128',`14',`0')');
452 define(`PKG_LQFP128_14_EP', `PKG_LQFP_40(`$1',`$2',`$3',`128',`14',`970')');
453 define(`PKG_LQFP144_20', `PKG_LQFP_50(`$1',`$2',`$3',`144',`20',`0')');
454 define(`PKG_LQFP160_24', `PKG_LQFP_50(`$1',`$2',`$3',`160',`24',`0')');
455 define(`PKG_LQFP176_24', `PKG_LQFP_50(`$1',`$2',`$3',`176',`24',`0')');
458 define(`PKG_QFP32_7', `PKG_QFP_80(`$1',`$2',`$3', `32', `7',`0')');
459 define(`PKG_QFP44_10', `PKG_QFP_80(`$1',`$2',`$3', `44',`10',`0')');
460 define(`PKG_QFP52_10', `PKG_QFP_65(`$1',`$2',`$3', `52',`10',`0')');
461 define(`PKG_QFP64_14', `PKG_QFP_80(`$1',`$2',`$3', `64',`14',`0')');
462 define(`PKG_QFP80_14', `PKG_QFP_65(`$1',`$2',`$3', `80',`14',`0')');
463 define(`PKG_QFP100_14', `PKG_QFP_50(`$1',`$2',`$3',`100',`14',`0')');
464 define(`PKG_QFP120_28', `PKG_QFP_80(`$1',`$2',`$3',`120',`28',`0')');
465 define(`PKG_QFP128_28', `PKG_QFP_80(`$1',`$2',`$3',`128',`28',`0')');
466 define(`PKG_QFP144_28', `PKG_QFP_65(`$1',`$2',`$3',`144',`28',`0')');
467 define(`PKG_QFP160_28', `PKG_QFP_65(`$1',`$2',`$3',`160',`28',`0')');
468 define(`PKG_QFP208_28', `PKG_QFP_50(`$1',`$2',`$3',`208',`28',`0')');
469 define(`PKG_QFP160_28', `PKG_QFP_65(`$1',`$2',`$3',`160',`28',`0')');
470 define(`PKG_QFP240_32', `PKG_QFP_50(`$1',`$2',`$3',`240',`32',`0')');
471 define(`PKG_QFP304_40', `PKG_QFP_50(`$1',`$2',`$3',`304',`40',`0')');
473 define(`PKG_TQFP32_7', `PKG_QFP_80(`$1',`$2',`$3', `32', `7',`0')');
474 define(`PKG_TQFP44_10', `PKG_QFP_80(`$1',`$2',`$3', `44',`10',`0')');
475 define(`PKG_TQFP52_10', `PKG_QFP_65(`$1',`$2',`$3', `52',`10',`0')');
476 define(`PKG_TQFP64_10', `PKG_QFP_50(`$1',`$2',`$3', `64',`10',`0')');
477 define(`PKG_TQFP64_14', `PKG_QFP_80(`$1',`$2',`$3', `64',`14',`0')');
478 define(`PKG_TQFP80_12', `PKG_QFP_50(`$1',`$2',`$3', `80',`12',`0')');
479 define(`PKG_TQFP80_14', `PKG_QFP_65(`$1',`$2',`$3', `80',`14',`0')');
480 define(`PKG_TQFP100_12', `PKG_QFP_40(`$1',`$2',`$3',`100',`12',`0')');
481 define(`PKG_TQFP100_14', `PKG_QFP_50(`$1',`$2',`$3',`100',`14',`0')');
482 define(`PKG_TQFP120_28', `PKG_QFP_80(`$1',`$2',`$3',`120',`28',`0')');
483 define(`PKG_TQFP128_14', `PKG_LQFP_40(`$1',`$2',`$3',`128',`14',`0')');
484 define(`PKG_TQFP128_14_EP', `PKG_LQFP_40(`$1',`$2',`$3',`128',`14',`970')');
485 define(`PKG_TQFP128_28', `PKG_QFP_80(`$1',`$2',`$3',`128',`28',`0')');
486 define(`PKG_TQFP144_28', `PKG_QFP_65(`$1',`$2',`$3',`144',`28',`0')');
487 define(`PKG_TQFP160_28', `PKG_QFP_65(`$1',`$2',`$3',`160',`28',`0')');
488 define(`PKG_TQFP208_28', `PKG_QFP_50(`$1',`$2',`$3',`208',`28',`0')');
489 define(`PKG_TQFP160_28', `PKG_QFP_65(`$1',`$2',`$3',`160',`28',`0')');
490 define(`PKG_TQFP240_32', `PKG_QFP_50(`$1',`$2',`$3',`240',`32',`0')');
491 define(`PKG_TQFP304_40', `PKG_QFP_50(`$1',`$2',`$3',`304',`40',`0')');
494 ## Rectangular Quad-side flat pack
496 define(`PKG_QFP64_R', `PKG_QFP_100(`$1',`$2',`$3', `64',`0',`0')');
497 define(`PKG_QFP80_R', `PKG_QFP_80L(`$1',`$2',`$3', `80',`0',`0')');
498 define(`PKG_QFP100_R', `PKG_QFP_65L(`$1',`$2',`$3',`100',`0',`0')');
499 define(`PKG_QFP128_R', `PKG_QFP_50L(`$1',`$2',`$3',`128',`0',`0')');
500 define(`PKG_LQFP128_R', `PKG_LQFP_50(`$1',`$2',`$3',`128',`0',`0')');
502 ## Zig-zag in-line package
505 define(`PKG_ZIP9', `PKG_SD(`$1', `$2', `$3', 9)');
506 define(`PKG_ZIP12', `PKG_SD(`$1', `$2', `$3', 12)');
507 define(`PKG_ZIP16', `PKG_SD(`$1', `$2', `$3', 16)');
508 define(`PKG_ZIP18', `PKG_SD(`$1', `$2', `$3', 18)');
509 define(`PKG_ZIP20', `PKG_SD(`$1', `$2', `$3', 20)');
510 define(`PKG_ZIP24', `PKG_SD(`$1', `$2', `$3', 24)');
511 define(`PKG_ZIP28', `PKG_SD(`$1', `$2', `$3', 28)');
512 define(`PKG_ZIP40', `PKG_SD(`$1', `$2', `$3', 40)');
515 ## Axial non-polar component (typically resistor or capacitor),
516 # 100 through 1600 mil between pins
519 define(`PKG_ACY100', `PKG_AXIAL_LAY(`$1', `$2', `$3', 100)');
520 define(`PKG_ACY150', `PKG_AXIAL_LAY(`$1', `$2', `$3', 150)');
521 define(`PKG_ACY200', `PKG_AXIAL_LAY(`$1', `$2', `$3', 200)');
522 define(`PKG_ACY300', `PKG_AXIAL_LAY(`$1', `$2', `$3', 300)');
523 define(`PKG_ACY400', `PKG_AXIAL_LAY(`$1', `$2', `$3', 400)');
524 define(`PKG_ACY500', `PKG_AXIAL_LAY(`$1', `$2', `$3', 500)');
525 define(`PKG_ACY600', `PKG_AXIAL_LAY(`$1', `$2', `$3', 600)');
526 define(`PKG_ACY700', `PKG_AXIAL_LAY(`$1', `$2', `$3', 700)');
527 define(`PKG_ACY800', `PKG_AXIAL_LAY(`$1', `$2', `$3', 800)');
528 define(`PKG_ACY900', `PKG_AXIAL_LAY(`$1', `$2', `$3', 900)');
529 define(`PKG_ACY1000', `PKG_AXIAL_LAY(`$1', `$2', `$3', 1000)');
530 define(`PKG_ACY1100', `PKG_AXIAL_LAY(`$1', `$2', `$3', 1100)');
531 define(`PKG_ACY1200', `PKG_AXIAL_LAY(`$1', `$2', `$3', 1200)');
532 define(`PKG_ACY1300', `PKG_AXIAL_LAY(`$1', `$2', `$3', 1300)');
533 define(`PKG_ACY1400', `PKG_AXIAL_LAY(`$1', `$2', `$3', 1400)');
534 define(`PKG_ACY1500', `PKG_AXIAL_LAY(`$1', `$2', `$3', 1500)');
535 define(`PKG_ACY1600', `PKG_AXIAL_LAY(`$1', `$2', `$3', 1600)');
538 ## Axial polar component (typically capacitor),
539 # 100 through 1600 mil between pins
541 define(`PKG_ACY100P', `PKG_AXIAL_LAY(`$1', `$2', `$3', 100, 1)')
542 define(`PKG_ACY150P', `PKG_AXIAL_LAY(`$1', `$2', `$3', 150, 1)')
543 define(`PKG_ACY200P', `PKG_AXIAL_LAY(`$1', `$2', `$3', 200, 1)')
544 define(`PKG_ACY300P', `PKG_AXIAL_LAY(`$1', `$2', `$3', 300, 1)')
545 define(`PKG_ACY400P', `PKG_AXIAL_LAY(`$1', `$2', `$3', 400, 1)')
546 define(`PKG_ACY500P', `PKG_AXIAL_LAY(`$1', `$2', `$3', 500, 1)')
547 define(`PKG_ACY600P', `PKG_AXIAL_LAY(`$1', `$2', `$3', 600, 1)')
548 define(`PKG_ACY700P', `PKG_AXIAL_LAY(`$1', `$2', `$3', 700, 1)')
549 define(`PKG_ACY800P', `PKG_AXIAL_LAY(`$1', `$2', `$3', 800, 1)')
550 define(`PKG_ACY900P', `PKG_AXIAL_LAY(`$1', `$2', `$3', 900, 1)')
551 define(`PKG_ACY1000P', `PKG_AXIAL_LAY(`$1', `$2', `$3', 1000, 1)')
552 define(`PKG_ACY1100P', `PKG_AXIAL_LAY(`$1', `$2', `$3', 1100, 1)')
553 define(`PKG_ACY1200P', `PKG_AXIAL_LAY(`$1', `$2', `$3', 1200, 1)')
554 define(`PKG_ACY1300P', `PKG_AXIAL_LAY(`$1', `$2', `$3', 1300, 1)')
555 define(`PKG_ACY1400P', `PKG_AXIAL_LAY(`$1', `$2', `$3', 1400, 1)')
556 define(`PKG_ACY1500P', `PKG_AXIAL_LAY(`$1', `$2', `$3', 1500, 1)')
557 define(`PKG_ACY1600P', `PKG_AXIAL_LAY(`$1', `$2', `$3', 1600, 1)')
560 ## Axial diode (pin 1 is cathode)
564 define(`PKG_ALF300', `PKG_DIODE_LAY(`$1', `$2', `$3', 300)');
565 define(`PKG_ALF400', `PKG_DIODE_LAY(`$1', `$2', `$3', 400)');
566 define(`PKG_ALF500', `PKG_DIODE_LAY(`$1', `$2', `$3', 500)');
567 define(`PKG_ALF600', `PKG_DIODE_LAY(`$1', `$2', `$3', 600)');
568 define(`PKG_ALF700', `PKG_DIODE_LAY(`$1', `$2', `$3', 700)');
569 define(`PKG_ALF800', `PKG_DIODE_LAY(`$1', `$2', `$3', 800)');
570 define(`PKG_ALF900', `PKG_DIODE_LAY(`$1', `$2', `$3', 900)');
571 define(`PKG_ALF1000',`PKG_DIODE_LAY(`$1', `$2', `$3', 1000)');
574 ## Bottom lead non-polar circular component (typically capacitor)
575 # pin spacing 100 mil and up
578 define(`PKG_RCY100', `PKG_RADIAL_CAN(`$1', `$2', `$3', 200)');
579 define(`PKG_RCY150', `PKG_RADIAL_CAN(`$1', `$2', `$3', 300)');
580 define(`PKG_RCY200', `PKG_RADIAL_CAN(`$1', `$2', `$3', 400)');
581 define(`PKG_RCY250', `PKG_RADIAL_CAN(`$1', `$2', `$3', 500)');
582 define(`PKG_RCY300', `PKG_RADIAL_CAN(`$1', `$2', `$3', 600)');
583 define(`PKG_RCY350', `PKG_RADIAL_CAN(`$1', `$2', `$3', 700)');
584 define(`PKG_RCY400', `PKG_RADIAL_CAN(`$1', `$2', `$3', 800)');
585 define(`PKG_RCY500', `PKG_RADIAL_CAN(`$1', `$2', `$3', 1000)');
586 define(`PKG_RCY600', `PKG_RADIAL_CAN(`$1', `$2', `$3', 1200)');
587 define(`PKG_RCY700', `PKG_RADIAL_CAN(`$1', `$2', `$3', 1400)');
588 define(`PKG_RCY800', `PKG_RADIAL_CAN(`$1', `$2', `$3', 1600)');
589 define(`PKG_RCY900', `PKG_RADIAL_CAN(`$1', `$2', `$3', 1800)');
590 define(`PKG_RCY1000', `PKG_RADIAL_CAN(`$1', `$2', `$3', 2000)');
591 define(`PKG_RCY1100', `PKG_RADIAL_CAN(`$1', `$2', `$3', 2200)');
592 define(`PKG_RCY1200', `PKG_RADIAL_CAN(`$1', `$2', `$3', 2400)');
595 ## Bottom lead polar circular component (typically capacitor)
596 # pin spacing 100 mil and up
598 define(`PKG_RCY100P', `PKG_RADIAL_CAN(`$1', `$2', `$3', 200, 1)');
599 define(`PKG_RCY150P', `PKG_RADIAL_CAN(`$1', `$2', `$3', 300, 1)');
600 define(`PKG_RCY200P', `PKG_RADIAL_CAN(`$1', `$2', `$3', 400, 1)');
601 define(`PKG_RCY250P', `PKG_RADIAL_CAN(`$1', `$2', `$3', 500, 1)');
602 define(`PKG_RCY300P', `PKG_RADIAL_CAN(`$1', `$2', `$3', 600, 1)');
603 define(`PKG_RCY350P', `PKG_RADIAL_CAN(`$1', `$2', `$3', 700, 1)');
604 define(`PKG_RCY400P', `PKG_RADIAL_CAN(`$1', `$2', `$3', 800, 1)');
605 define(`PKG_RCY500P', `PKG_RADIAL_CAN(`$1', `$2', `$3', 1000, 1)');
606 define(`PKG_RCY600P', `PKG_RADIAL_CAN(`$1', `$2', `$3', 1200, 1)');
607 define(`PKG_RCY700P', `PKG_RADIAL_CAN(`$1', `$2', `$3', 1400, 1)');
608 define(`PKG_RCY800P', `PKG_RADIAL_CAN(`$1', `$2', `$3', 1600, 1)');
609 define(`PKG_RCY900P', `PKG_RADIAL_CAN(`$1', `$2', `$3', 1800, 1)');
610 define(`PKG_RCY1000P', `PKG_RADIAL_CAN(`$1', `$2', `$3', 2000, 1)');
611 define(`PKG_RCY1100P', `PKG_RADIAL_CAN(`$1', `$2', `$3', 2200, 1)');
612 define(`PKG_RCY1200P', `PKG_RADIAL_CAN(`$1', `$2', `$3', 2400, 1)');
618 define(`PKG_HC49U', `PKG_CRYSTAL_V(`$1', `$2', `$3', 192, 435, 183, 60, 32, 2)');
619 define(`PKG_HC49UH', `PKG_CRYSTAL_H(`$1', `$2', `$3', 192, 435, 515, 60, 32, 2)');
620 define(`PKG_HC49U_3', `PKG_CRYSTAL_V(`$1', `$2', `$3', 96, 435, 183, 60, 32, 3)');
621 define(`PKG_HC49U_3H',`PKG_CRYSTAL_H(`$1', `$2', `$3', 96, 435, 515, 60, 32, 3)');
622 define(`PKG_HC51U', `PKG_CRYSTAL_V(`$1', `$2', `$3', 485, 757, 352, 80, 40, 2)');
623 define(`PKG_HC51UH', `PKG_CRYSTAL_H(`$1', `$2', `$3', 485, 757, 775, 80, 40, 2)');
624 define(`PKG_UM1', `PKG_CRYSTAL_V(`$1', `$2', `$3', 148, 311, 126, 60, 32, 2)');
625 define(`PKG_UM1H', `PKG_CRYSTAL_H(`$1', `$2', `$3', 148, 311, 322, 60, 32, 2)');
626 define(`PKG_UM1_3', `PKG_CRYSTAL_V(`$1', `$2', `$3', 74, 311, 126, 60, 32, 3)');
627 define(`PKG_UM1_3H', `PKG_CRYSTAL_H(`$1', `$2', `$3', 74, 311, 322, 60, 32, 3)');
631 define(`PKG_HC49', `PKG_CRYSTAL(`$1', `$2', `$3', 300)');
634 ## Crystal oscillator
635 # pins are NC, GND, CLK, VCC
638 define(`PKG_OSC14', `PKG_OSC(`$1', `$2', `$3')');
641 ## LED, size in mm (pin 1 is +, 2 is -)
644 define(`PKG_LED3', `PKG_LED(`$1', `$2', `$3', 118)');
645 define(`PKG_LED5', `PKG_LED(`$1', `$2', `$3', 236)');
653 # TO126S for standing
657 # TO220S for standing
664 define(`PKG_TO126', `PKG_TO126LAY( `$1', `$2', `$3')');
665 define(`PKG_TO126S', `PKG_TO126LAY_WIDE( `$1', `$2', `$3')');
666 define(`PKG_TO126W', `PKG_TO126STAND( `$1', `$2', `$3')');
667 define(`PKG_TO126SW',`PKG_TO126STAND_WIDE(`$1', `$2', `$3')');
668 define(`PKG_TO220', `PKG_TO220LAY( `$1', `$2', `$3')');
669 define(`PKG_TO220S', `PKG_TO220LAY_WIDE( `$1', `$2', `$3')');
670 define(`PKG_TO220W', `PKG_TO220STAND( `$1', `$2', `$3')');
671 define(`PKG_TO220SW',`PKG_TO220STAND_WIDE(`$1', `$2', `$3')');
673 # these are just wrappers around the footprints from to.inc.
674 # they are done here to be in a standard format that will
675 # make them show up in the footprint window and also get
676 # generated via the m4lib_to_newlib.sh script
677 define(`PKG_TO18', `PKG_TO18BASE(`$1', `$2', `$3')');
678 define(`PKG_TO39', `PKG_TO39BASE(`$1', `$2', `$3')');
679 define(`PKG_TO92', `PKG_TO92BASE(`$1', `$2', `$3')');
683 define(`PKG_TO220ACS', `PKG_TO220ACSTAND(`$1', `$2', `$3')');
684 define(`PKG_TO218', `GENERIC_PL_POWER(`$1', `$2', `$3', 3, 219, 615, 200, 120,100, 60, 0)');
686 define(`PKG_TO247', `GENERIC_PL_POWER(`$1', `$2', `$3', 3, 219, 630, 210, 130,100, 60, 0)');
687 # diode in TO247/TOP3
688 define(`PKG_TO247_2', `GENERIC_PL_POWER(`$1', `$2', `$3', 2, 438, 630, 210, 130,100, 60, 0)');
690 define(`PKG_TO264', `GENERIC_PL_POWER(`$1', `$2', `$3', 3, 219, 800, 210, 130,100, 60, 0)');
692 define(`PKG_TO251', `GENERIC_PL_POWER(`$1', `$2', `$3', 3, 90, 265, 100, 50, 70, 40, 0)');
694 define(`PKG_TO220ACSTAND', `GENERIC_PL_POWER(`$1', `$2', `$3', 2, 200, 400, 180, 100, 80, 40, 0)')
696 # the definitions of PKG_TO220STAND PKG_TO220STAND-WIDE can be replaced by following lines:
697 #define(`PKG_TO220STAND', `GENERIC_PL_POWER(`$1', `$2', `$3', 3, 100, 400, 180, 100, 80, 40, 0)')
698 #define(`PKG_TO220STAND-WIDE', `GENERIC_PL_POWER(`$1', `$2', `$3', 3, 100, 400, 180, 200, 80, 40,-100)')
701 ## Power IC, as in MULTIWATT15
704 # PENTAWATT: http://www.st.com/stonline/books/pdf/docs/9262.pdf
705 # HEPTAWATT: http://www.st.com/stonline/books/pdf/docs/5430.pdf
706 # MULTIWATT8: http://www.st.com/stonline/books/pdf/docs/5437.pdf
707 # MULTIWATT11: http://www.st.com/stonline/books/pdf/docs/5433.pdf
708 # MULTIWATT15: http://www.st.com/stonline/books/pdf/docs/5439.pdf
716 # $6: body length (dimension parallel to rows of pins)
717 # $7: body width (dimension perpendicular to rows of pins)
718 # $8: pin/tab spacing
721 # $11: pin row spacing
723 define(`PKG_PENTAWATT', `GENERIC_PL_POWER(`$1', `$2', `$3', 5, 67, 409, 189, 177, 90, 60, 157)' );
724 define(`PKG_HEPTAWATT', `GENERIC_PL_POWER(`$1', `$2', `$3', 7, 50, 409, 189, 110, 90, 60, 200)' );
725 define(`PKG_MULTIWATT8', `GENERIC_PL_POWER(`$1', `$2', `$3', 8, 100, 800, 200, 115, 90, 60, 0)' );
726 define(`PKG_MULTIWATT11', `GENERIC_PL_POWER(`$1', `$2', `$3', 11, 67, 800, 200, 180, 90, 60, 200)' );
727 define(`PKG_MULTIWATT15', `GENERIC_PL_POWER(`$1', `$2', `$3', 15, 50, 800, 200, 180, 90, 60, 200)' );
730 ## Jumper, i.e. single row headers
732 define(`PKG_JUMPER1', `PKG_CONNECTOR(`$1', `$2', `$3', 1, 1)');
733 define(`PKG_JUMPER2', `PKG_CONNECTOR(`$1', `$2', `$3', 2, 1)');
734 define(`PKG_JUMPER3', `PKG_CONNECTOR(`$1', `$2', `$3', 3, 1)');
735 define(`PKG_JUMPER4', `PKG_CONNECTOR(`$1', `$2', `$3', 4, 1)');
736 define(`PKG_JUMPER5', `PKG_CONNECTOR(`$1', `$2', `$3', 5, 1)');
737 define(`PKG_JUMPER6', `PKG_CONNECTOR(`$1', `$2', `$3', 6, 1)');
738 define(`PKG_JUMPER7', `PKG_CONNECTOR(`$1', `$2', `$3', 7, 1)');
739 define(`PKG_JUMPER8', `PKG_CONNECTOR(`$1', `$2', `$3', 8, 1)');
740 define(`PKG_JUMPER9', `PKG_CONNECTOR(`$1', `$2', `$3', 9, 1)');
741 define(`PKG_JUMPER10', `PKG_CONNECTOR(`$1', `$2', `$3', 10, 1)');
742 define(`PKG_JUMPER11', `PKG_CONNECTOR(`$1', `$2', `$3', 11, 1)');
743 define(`PKG_JUMPER12', `PKG_CONNECTOR(`$1', `$2', `$3', 12, 1)');
744 define(`PKG_JUMPER13', `PKG_CONNECTOR(`$1', `$2', `$3', 13, 1)');
745 define(`PKG_JUMPER14', `PKG_CONNECTOR(`$1', `$2', `$3', 14, 1)');
746 define(`PKG_JUMPER15', `PKG_CONNECTOR(`$1', `$2', `$3', 15, 1)');
747 define(`PKG_JUMPER16', `PKG_CONNECTOR(`$1', `$2', `$3', 16, 1)');
748 define(`PKG_JUMPER17', `PKG_CONNECTOR(`$1', `$2', `$3', 17, 1)');
749 define(`PKG_JUMPER18', `PKG_CONNECTOR(`$1', `$2', `$3', 18, 1)');
750 define(`PKG_JUMPER19', `PKG_CONNECTOR(`$1', `$2', `$3', 19, 1)');
751 define(`PKG_JUMPER20', `PKG_CONNECTOR(`$1', `$2', `$3', 20, 1)');
752 define(`PKG_JUMPER21', `PKG_CONNECTOR(`$1', `$2', `$3', 21, 1)');
753 define(`PKG_JUMPER22', `PKG_CONNECTOR(`$1', `$2', `$3', 22, 1)');
754 define(`PKG_JUMPER23', `PKG_CONNECTOR(`$1', `$2', `$3', 23, 1)');
755 define(`PKG_JUMPER24', `PKG_CONNECTOR(`$1', `$2', `$3', 24, 1)');
756 define(`PKG_JUMPER25', `PKG_CONNECTOR(`$1', `$2', `$3', 25, 1)');
757 define(`PKG_JUMPER26', `PKG_CONNECTOR(`$1', `$2', `$3', 26, 1)');
760 ## MTA Connector, (0.100 inch pitch)
762 define(`PKG_MTA100_2', `PKG_MTA_100(`$1', `$2', `$3', 2)');
763 define(`PKG_MTA100_3', `PKG_MTA_100(`$1', `$2', `$3', 3)');
764 define(`PKG_MTA100_4', `PKG_MTA_100(`$1', `$2', `$3', 4)');
765 define(`PKG_MTA100_5', `PKG_MTA_100(`$1', `$2', `$3', 5)');
766 define(`PKG_MTA100_6', `PKG_MTA_100(`$1', `$2', `$3', 6)');
767 define(`PKG_MTA100_7', `PKG_MTA_100(`$1', `$2', `$3', 7)');
768 define(`PKG_MTA100_8', `PKG_MTA_100(`$1', `$2', `$3', 8)');
769 define(`PKG_MTA100_9', `PKG_MTA_100(`$1', `$2', `$3', 9)');
770 define(`PKG_MTA100_10', `PKG_MTA_100(`$1', `$2', `$3', 10)');
771 define(`PKG_MTA100_11', `PKG_MTA_100(`$1', `$2', `$3', 11)');
772 define(`PKG_MTA100_12', `PKG_MTA_100(`$1', `$2', `$3', 12)');
773 define(`PKG_MTA100_13', `PKG_MTA_100(`$1', `$2', `$3', 13)');
774 define(`PKG_MTA100_14', `PKG_MTA_100(`$1', `$2', `$3', 14)');
775 define(`PKG_MTA100_15', `PKG_MTA_100(`$1', `$2', `$3', 15)');
778 ## Header connector, DIP pin numbering
779 # Corresponding to gEDA symbols header2-1 .. header64-1
781 define(`PKG_HEADER2_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 1)');
782 define(`PKG_HEADER4_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 2)');
783 define(`PKG_HEADER6_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 3)');
784 define(`PKG_HEADER8_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 4)');
785 define(`PKG_HEADER10_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 5)');
786 define(`PKG_HEADER12_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 6)');
787 define(`PKG_HEADER14_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 7)');
788 define(`PKG_HEADER16_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 8)');
789 define(`PKG_HEADER18_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 9)');
790 define(`PKG_HEADER20_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 10)');
791 define(`PKG_HEADER22_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 11)');
792 define(`PKG_HEADER24_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 12)');
793 define(`PKG_HEADER26_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 13)');
794 define(`PKG_HEADER28_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 14)');
795 define(`PKG_HEADER30_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 15)');
796 define(`PKG_HEADER32_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 16)');
797 define(`PKG_HEADER34_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 17)');
798 define(`PKG_HEADER36_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 18)');
799 define(`PKG_HEADER38_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 19)');
800 define(`PKG_HEADER40_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 20)');
801 define(`PKG_HEADER42_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 21)');
802 define(`PKG_HEADER44_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 22)');
803 define(`PKG_HEADER46_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 23)');
804 define(`PKG_HEADER48_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 24)');
805 define(`PKG_HEADER50_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 25)');
806 define(`PKG_HEADER52_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 26)');
807 define(`PKG_HEADER54_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 27)');
808 define(`PKG_HEADER56_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 28)');
809 define(`PKG_HEADER58_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 29)');
810 define(`PKG_HEADER60_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 30)');
811 define(`PKG_HEADER62_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 31)');
812 define(`PKG_HEADER64_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 32)');
813 define(`PKG_HEADER80_1', `PKG_CONNECTOR_DIL(`$1', `$2', `$3', 40)');
816 ## Header connector, ribbon cable numbering
817 # corresponding to gEDA symbols header2-2 .. header64-2
819 define(`PKG_HEADER2_2', `PKG_CONNECTOR(`$1', `$2', `$3', 1, 2)');
820 define(`PKG_HEADER4_2', `PKG_CONNECTOR(`$1', `$2', `$3', 2, 2)');
821 define(`PKG_HEADER6_2', `PKG_CONNECTOR(`$1', `$2', `$3', 3, 2)');
822 define(`PKG_HEADER8_2', `PKG_CONNECTOR(`$1', `$2', `$3', 4, 2)');
823 define(`PKG_HEADER10_2', `PKG_CONNECTOR(`$1', `$2', `$3', 5, 2)');
824 define(`PKG_HEADER12_2', `PKG_CONNECTOR(`$1', `$2', `$3', 6, 2)');
825 define(`PKG_HEADER14_2', `PKG_CONNECTOR(`$1', `$2', `$3', 7, 2)');
826 define(`PKG_HEADER16_2', `PKG_CONNECTOR(`$1', `$2', `$3', 8, 2)');
827 define(`PKG_HEADER18_2', `PKG_CONNECTOR(`$1', `$2', `$3', 9, 2)');
828 define(`PKG_HEADER20_2', `PKG_CONNECTOR(`$1', `$2', `$3', 10, 2)');
829 define(`PKG_HEADER22_2', `PKG_CONNECTOR(`$1', `$2', `$3', 11, 2)');
830 define(`PKG_HEADER24_2', `PKG_CONNECTOR(`$1', `$2', `$3', 12, 2)');
831 define(`PKG_HEADER26_2', `PKG_CONNECTOR(`$1', `$2', `$3', 13, 2)');
832 define(`PKG_HEADER28_2', `PKG_CONNECTOR(`$1', `$2', `$3', 14, 2)');
833 define(`PKG_HEADER30_2', `PKG_CONNECTOR(`$1', `$2', `$3', 15, 2)');
834 define(`PKG_HEADER32_2', `PKG_CONNECTOR(`$1', `$2', `$3', 16, 2)');
835 define(`PKG_HEADER34_2', `PKG_CONNECTOR(`$1', `$2', `$3', 17, 2)');
836 define(`PKG_HEADER36_2', `PKG_CONNECTOR(`$1', `$2', `$3', 18, 2)');
837 define(`PKG_HEADER38_2', `PKG_CONNECTOR(`$1', `$2', `$3', 19, 2)');
838 define(`PKG_HEADER40_2', `PKG_CONNECTOR(`$1', `$2', `$3', 20, 2)');
839 define(`PKG_HEADER42_2', `PKG_CONNECTOR(`$1', `$2', `$3', 21, 2)');
840 define(`PKG_HEADER44_2', `PKG_CONNECTOR(`$1', `$2', `$3', 22, 2)');
841 define(`PKG_HEADER46_2', `PKG_CONNECTOR(`$1', `$2', `$3', 23, 2)');
842 define(`PKG_HEADER48_2', `PKG_CONNECTOR(`$1', `$2', `$3', 24, 2)');
843 define(`PKG_HEADER50_2', `PKG_CONNECTOR(`$1', `$2', `$3', 25, 2)');
844 define(`PKG_HEADER52_2', `PKG_CONNECTOR(`$1', `$2', `$3', 26, 2)');
845 define(`PKG_HEADER54_2', `PKG_CONNECTOR(`$1', `$2', `$3', 27, 2)');
846 define(`PKG_HEADER56_2', `PKG_CONNECTOR(`$1', `$2', `$3', 28, 2)');
847 define(`PKG_HEADER58_2', `PKG_CONNECTOR(`$1', `$2', `$3', 29, 2)');
848 define(`PKG_HEADER60_2', `PKG_CONNECTOR(`$1', `$2', `$3', 30, 2)');
849 define(`PKG_HEADER62_2', `PKG_CONNECTOR(`$1', `$2', `$3', 31, 2)');
850 define(`PKG_HEADER64_2', `PKG_CONNECTOR(`$1', `$2', `$3', 32, 2)');
851 define(`PKG_HEADER80_2', `PKG_CONNECTOR(`$1', `$2', `$3', 40, 2)');
854 ## Header connector with latches
856 define(`PKG_DIN41651_10', `PKG_DIN41_651LAY( `$1', `$2', `$3', 10)');
857 define(`PKG_DIN41651_14', `PKG_DIN41_651LAY( `$1', `$2', `$3', 14)');
858 define(`PKG_DIN41651_16', `PKG_DIN41_651LAY( `$1', `$2', `$3', 16)');
859 define(`PKG_DIN41651_20', `PKG_DIN41_651LAY( `$1', `$2', `$3', 20)');
860 define(`PKG_DIN41651_26', `PKG_DIN41_651LAY( `$1', `$2', `$3', 26)');
861 define(`PKG_DIN41651_34', `PKG_DIN41_651LAY( `$1', `$2', `$3', 34)');
862 define(`PKG_DIN41651_40', `PKG_DIN41_651LAY( `$1', `$2', `$3', 40)');
863 define(`PKG_DIN41651_50', `PKG_DIN41_651LAY( `$1', `$2', `$3', 50)');
864 define(`PKG_DIN41651_60', `PKG_DIN41_651LAY( `$1', `$2', `$3', 60)');
865 define(`PKG_DIN41651_64', `PKG_DIN41_651LAY( `$1', `$2', `$3', 64)');
867 define(`PKG_DIN41651_10S', `PKG_DIN41_651STAND(`$1', `$2', `$3', 10)');
868 define(`PKG_DIN41651_14S', `PKG_DIN41_651STAND(`$1', `$2', `$3', 14)');
869 define(`PKG_DIN41651_16S', `PKG_DIN41_651STAND(`$1', `$2', `$3', 16)');
870 define(`PKG_DIN41651_20S', `PKG_DIN41_651STAND(`$1', `$2', `$3', 20)');
871 define(`PKG_DIN41651_26S', `PKG_DIN41_651STAND(`$1', `$2', `$3', 26)');
872 define(`PKG_DIN41651_34S', `PKG_DIN41_651STAND(`$1', `$2', `$3', 34)');
873 define(`PKG_DIN41651_40S', `PKG_DIN41_651STAND(`$1', `$2', `$3', 40)');
874 define(`PKG_DIN41651_50S', `PKG_DIN41_651STAND(`$1', `$2', `$3', 50)');
875 define(`PKG_DIN41651_60S', `PKG_DIN41_651STAND(`$1', `$2', `$3', 60)');
876 define(`PKG_DIN41651_64S', `PKG_DIN41_651STAND(`$1', `$2', `$3', 64)');
879 ## DSUB connector, female/male
883 define(`PKG_DB9F', `PKG_SUBD_FEMALE_LAY(`$1', `$2', `$3', 9)');
884 define(`PKG_DB15F', `PKG_SUBD_FEMALE_LAY(`$1', `$2', `$3', 15)');
885 define(`PKG_DB25F', `PKG_SUBD_FEMALE_LAY(`$1', `$2', `$3', 25)');
886 define(`PKG_DB37F', `PKG_SUBD_FEMALE_LAY(`$1', `$2', `$3', 37)');
887 define(`PKG_DB9M', `PKG_SUBD_MALE_LAY( `$1', `$2', `$3', 9)');
888 define(`PKG_DB15M', `PKG_SUBD_MALE_LAY( `$1', `$2', `$3', 15)');
889 define(`PKG_DB25M', `PKG_SUBD_MALE_LAY( `$1', `$2', `$3', 25)');
890 define(`PKG_DB37M', `PKG_SUBD_MALE_LAY( `$1', `$2', `$3', 37)');
893 ## DIN connector, 96 pin housing
896 define(`PKG_DIN41612C96F', `PKG_DIN41_612FEMALE(`$1', `$2', `$3', `abc')');
897 define(`PKG_DIN41612C96M', `PKG_DIN41_612MALE( `$1', `$2', `$3', `abc')');
898 define(`PKG_DIN41612C64F', `PKG_DIN41_612FEMALE(`$1', `$2', `$3', `ac')');
899 define(`PKG_DIN41612C64M', `PKG_DIN41_612MALE( `$1', `$2', `$3', `ac')');
901 define(`PKG_DIN41612C96FS', `PKG_DIN41_612FEMALE_SMALL(`$1', `$2', `$3', `abc')');
902 define(`PKG_DIN41612C96MS', `PKG_DIN41_612MALE_SMALL( `$1', `$2', `$3', `abc')');
903 define(`PKG_DIN41612C64FS', `PKG_DIN41_612FEMALE_SMALL(`$1', `$2', `$3', `ac')');
904 define(`PKG_DIN41612C64MS', `PKG_DIN41_612MALE_SMALL( `$1', `$2', `$3', `ac')');
907 ## Standard SMT resistor, capacitor etc
910 #define(`PKG_0201', `PKG_SMT_2PAD_MIL( `$1', `$2', `$3', 20, 10)');
911 #define(`PKG_0402', `PKG_SMT_2PAD_MIL( `$1', `$2', `$3', 40, 20)');
912 #define(`PKG_0603', `PKG_SMT_2PAD_MIL( `$1', `$2', `$3', 60, 30)');
913 #define(`PKG_0805', `PKG_SMT_2PAD_MIL( `$1', `$2', `$3', 80, 50)');
914 #define(`PKG_1008', `PKG_SMT_2PAD_MIL( `$1', `$2', `$3', 100, 80)');
915 #define(`PKG_1206', `PKG_SMT_2PAD_MIL( `$1', `$2', `$3', 120, 60)');
916 #define(`PKG_1210', `PKG_SMT_2PAD_MIL( `$1', `$2', `$3', 120, 100)');
917 #define(`PKG_1806', `PKG_SMT_2PAD_MIL( `$1', `$2', `$3', 180, 60)');
918 #define(`PKG_1812', `PKG_SMT_2PAD_MIL( `$1', `$2', `$3', 180, 120)');
919 #define(`PKG_1825', `PKG_SMT_2PAD_MIL( `$1', `$2', `$3', 180, 250)');
920 define(`PKG_2706', `PKG_SMT_2PAD_MIL( `$1', `$2', `$3', 270, 60)');
922 # The following are recommendations from IPC-7351
923 # The naming convention, like 'CAPC0603L' follows the IPC standard. At the end
924 # of each size is a package named like '0603', '1206' which is more or less a compromise part based
925 # on the nominal IPC footprints for that package size. Any additions to this section
926 # should follow the IPC naming convention and size.
928 # The base macro accepts the numbers directly (after multiplying by 100) from the IPC
929 # standard so they are fairly simple to add.
934 # $4: pad X (size of pad in direction perpendicular to axis of part) [1/100 mm]
935 # $5: pad Y (size of pad in direction parallel to axis of part) [1/100 mm]
936 # $6: pad center to center spacing [1/100 mm]
937 # $7: courtyard size in direction parallel to axis of part [1/100 mm] (V1)
938 # $8: courtyard size in direction perpendicular to axis of part [1/100 mm] (V2)
939 # $9: length of silk screen line [1/100 mm] (R1)
940 # $10: spacing of silk screen line [1/100 mm] (R2)
943 # See for example Murata GRM02 series.
944 # package X is 0.2 mm +/- 0.02 mm
945 # package Y is 0.07 to 0.14 mm
946 # package inner pad edge to pad edge is 0.13 min
947 # package outer pad edge to outer pad edge is 0.4 mm +/- 0.02 mm
948 # package height is 0.2mm +/- 0.02 mm
950 # From page 10 of IPC-7351, Feb 2005,
951 # Zmax = length of pattern = Lmin (overall length of the component) + 2*Jt + sqrt(Cl^2 + F^2 + P^2)
952 # Gmin = Distance between lands of the pattern = Smax (distance between terminals) - 2*Jh - sqrt(Cs^2 + F^2 + P^2)
953 # Xmax = Width of pattern = Wmin (width of lead) + 2*Js + sqrt(Cw^2 + F^2 + P^2)
955 # C = component tolerance = *max - *min
956 # F = PCB tolerance - used 0.05
957 # P = placement tolerance - used 0.05
959 # X = Xmax = 0.18/0.18/0.23 round to get 0.20/0.20/0.25
960 # Y = 0.5 * (Zmax - Gmin)
961 # center to center = 0.5 * (Zmax + Gmin)
964 # Jt = 0.00/0.10/0.20
965 # Jh = -0.05/-0.05/-0.05
966 # Js = 0.00/0.00/0.05
967 # Round to nearest 0.05
968 # Courtyard excess 0.10/0.15/0.20
971 # Note that rounding to 0.05 mm produces a roundoff error of up to +/- 1 mil. This can be significant
972 # when we're talking about gaps on the order of 6 mils. So for this really tiny part, round to 0.01 mm
973 define(`PKG_CAPC0402L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 26, 15, 31, 56, 28, 0, 0)');
974 define(`PKG_CAPC0402N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 26, 25, 41, 81, 33, 0, 0)');
975 define(`PKG_CAPC0402M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 36, 35, 51, 106, 38, 0, 0)');
977 define(`PKG_INDC0402L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 26, 15, 31, 56, 28, 0, 0)');
978 define(`PKG_INDC0402N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 26, 25, 41, 81, 33, 0, 0)');
979 define(`PKG_INDC0402M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 36, 35, 51, 106, 38, 0, 0)');
981 define(`PKG_RESC0402L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 26, 15, 31, 56, 28, 0, 0)');
982 define(`PKG_RESC0402N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 26, 25, 41, 81, 33, 0, 0)');
983 define(`PKG_RESC0402M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 36, 35, 51, 106, 38, 0, 0)');
985 define(`PKG_01005', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 26, 25, 41, 81, 33, 0, 0)');
988 define(`PKG_CAPC0603L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 30, 30, 50, 100, 60, 0, 0)');
989 define(`PKG_CAPC0603N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 40, 40, 60, 130, 80, 0, 0)');
990 define(`PKG_CAPC0603M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 50, 50, 80, 160, 90, 0, 0)');
992 define(`PKG_RESC0603L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 30, 30, 50, 100, 60, 0, 0)');
993 define(`PKG_RESC0603N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 40, 40, 60, 130, 80, 0, 0)');
994 define(`PKG_RESC0603M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 50, 50, 80, 160, 90, 0, 0)');
996 define(`PKG_0201', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 40, 40, 60, 130, 80, 0, 0)');
998 # 0402 (C,L = 0.6 mm high, R = 0.4 mm high)
999 define(`PKG_CAPC1005L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 55, 40, 90, 150, 80, 0, 0)');
1000 define(`PKG_CAPC1005N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 65, 50, 90, 170, 100, 0, 0)');
1001 define(`PKG_CAPC1005M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 75, 60, 100, 200, 120, 0, 0)');
1003 define(`PKG_INDC1005L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 60, 50, 80, 150, 90, 0, 0)');
1004 define(`PKG_INDC1005N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 70, 50, 80, 170, 100, 0, 0)');
1005 define(`PKG_INDC1005M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 80, 70, 100, 200, 120, 0, 0)');
1007 define(`PKG_RESC1005L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 55, 35, 90, 150, 80, 0, 0)');
1008 define(`PKG_RESC1005N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 65, 45, 100, 170, 100, 0, 0)');
1009 define(`PKG_RESC1005M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 75, 55, 110, 200, 120, 0, 0)');
1011 define(`PKG_0402', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 70, 50, 80, 170, 100, 0, 0)');
1013 # 0603 (C = 0.85 mm high, L = 0.95 mm high, R = 0.60 mm high)
1014 define(`PKG_CAPC1608L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 90, 65, 120, 200, 120, 0, 0)');
1015 define(`PKG_CAPC1608N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 100, 75, 130, 230, 130, 0, 0)');
1016 define(`PKG_CAPC1608M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 110, 85, 140, 270, 150, 0, 0)');
1018 define(`PKG_INDC1608L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 90, 65, 120, 200, 120, 0, 0)');
1019 define(`PKG_INDC1608N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 100, 75, 130, 230, 130, 0, 0)');
1020 define(`PKG_INDC1608M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 110, 85, 140, 270, 150, 0, 0)');
1022 define(`PKG_RESC1608L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 90, 50, 120, 200, 120, 0, 90)');
1023 define(`PKG_RESC1608N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 100, 60, 140, 230, 130, 0, 0)');
1024 define(`PKG_RESC1608M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 110, 70, 150, 270, 150, 10, 110)');
1026 define(`PKG_0603', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 100, 75, 130, 230, 130, 0, 0)');
1028 # 0805 (C = 1.1 mm high, L = 1.2 mm high, R = 0.65 mm high)
1029 define(`PKG_CAPC2012L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 140, 110, 160, 280, 170, 0, 0)');
1030 define(`PKG_CAPC2012N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 150, 130, 180, 350, 200, 0, 0)');
1031 define(`PKG_CAPC2012M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 160, 150, 200, 440, 260, 0, 0)');
1033 define(`PKG_INDC2012L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 140, 110, 160, 280, 170, 0, 0)');
1034 define(`PKG_INDC2012N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 150, 130, 180, 350, 200, 0, 0)');
1035 define(`PKG_INDC2012M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 160, 150, 200, 440, 260, 0, 0)');
1037 define(`PKG_RESC2012L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 130, 100, 160, 280, 160, 20, 130)');
1038 define(`PKG_RESC2012N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 140, 120, 180, 350, 190, 20, 140)');
1039 define(`PKG_RESC2012M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 150, 140, 200, 440, 250, 20, 150)');
1041 define(`PKG_0805', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 150, 130, 180, 350, 200, 20, 140)');
1043 # 1008 (L = 2.2 mm high)
1044 define(`PKG_INDC2520L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 220, 90, 240, 340, 250, 80, 220)');
1045 define(`PKG_INDC2520N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 230, 110, 260, 410, 280, 70, 230)');
1046 define(`PKG_INDC2520M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 240, 130, 280, 500, 340, 80, 240)');
1048 define(`PKG_1008', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 230, 110, 260, 410, 280, 70, 230)');
1050 # 1206 (C = 1.35 mm high, L = 1.9 mm high, R = 0.71 mm high)
1051 define(`PKG_CAPC3216L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 170, 110, 280, 400, 200, 90, 170)');
1052 define(`PKG_CAPC3216N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 180, 130, 300, 470, 230, 100, 180)');
1053 define(`PKG_CAPC3216M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 190, 150, 320, 560, 290, 100, 190)');
1055 define(`PKG_INDC3216L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 180, 100, 300, 420, 210, 120, 180)');
1056 define(`PKG_INDC3216N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 190, 120, 320, 490, 240, 120, 190)');
1057 define(`PKG_INDC3216M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 200, 140, 340, 580, 300, 130, 200)');
1059 define(`PKG_RESC3216L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 170, 110, 280, 400, 200, 90, 170)');
1060 define(`PKG_RESC3216N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 180, 130, 300, 470, 230, 100, 180)');
1061 define(`PKG_RESC3216M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 190, 150, 320, 560, 290, 100, 190)');
1063 define(`PKG_1206', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 190, 130, 300, 490, 240, 120, 190)');
1065 # 1210 (C = 1.35 mm high, L = 1.35 mm high, R = 0.71 mm high)
1066 define(`PKG_CAPC3225L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 260, 110, 280, 400, 290, 90, 260)');
1067 define(`PKG_CAPC3225N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 270, 130, 300, 470, 320, 100, 270)');
1068 define(`PKG_CAPC3225M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 280, 150, 320, 560, 380, 100, 280)');
1070 define(`PKG_INDC3225L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 260, 110, 280, 400, 290, 90, 260)');
1071 define(`PKG_INDC3225N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 270, 130, 300, 470, 320, 100, 270)');
1072 define(`PKG_INDC3225M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 280, 150, 320, 560, 380, 100, 280)');
1074 define(`PKG_RESC3225L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 260, 110, 280, 400, 290, 90, 260)');
1075 define(`PKG_RESC3225N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 270, 130, 300, 470, 320, 100, 270)');
1076 define(`PKG_RESC3225M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 280, 150, 320, 560, 380, 100, 280)');
1078 define(`PKG_1210', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 270, 130, 300, 470, 320, 100, 270)');
1080 # 1806 (L = 1.9 mm high)
1082 define(`PKG_INDC4509L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 110, 130, 400, 540, 150, 200, 110)');
1083 define(`PKG_INDC4509N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 120, 150, 420, 610, 170, 190, 120)');
1084 define(`PKG_INDC4509M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 130, 170, 440, 700, 230, 200, 130)');
1086 define(`PKG_1806', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 120, 150, 420, 610, 170, 190, 120)');
1088 # 1812 (C = 1.35 mm high, L = 1.75 mm high, R = 1.1 mm high)
1089 define(`PKG_CAPC4532L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 330, 140, 380, 540, 370, 160, 330)');
1090 define(`PKG_CAPC4532N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 340, 160, 400, 610, 390, 160, 340)');
1091 define(`PKG_CAPC4532M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 350, 180, 420, 700, 450, 160, 350)');
1093 define(`PKG_INDC4532L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 330, 140, 380, 540, 370, 160, 330)');
1094 define(`PKG_INDC4532N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 340, 160, 400, 610, 390, 160, 340)');
1095 define(`PKG_INDC4532M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 350, 180, 420, 700, 450, 160, 350)');
1097 define(`PKG_RESC4532L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 330, 140, 380, 540, 370, 160, 330)');
1098 define(`PKG_RESC4532N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 340, 160, 400, 610, 390, 160, 340)');
1099 define(`PKG_RESC4532M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 350, 180, 420, 700, 450, 160, 350)');
1101 define(`PKG_1806', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 340, 160, 400, 610, 390, 160, 340)');
1103 # 1825 (C = 1.1 mm high, R = 1.35 mm high)
1104 define(`PKG_CAPC4564L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 670, 140, 380, 540, 700, 160, 670)');
1105 define(`PKG_CAPC4564N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 680, 160, 400, 610, 730, 160, 680)');
1106 define(`PKG_CAPC4564M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 690, 180, 420, 700, 790, 160, 690)');
1108 define(`PKG_RESC4564L', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 670, 140, 380, 540, 700, 160, 670)');
1109 define(`PKG_RESC4564N', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 680, 160, 400, 610, 730, 160, 680)');
1110 define(`PKG_RESC4564M', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 690, 180, 420, 700, 790, 160, 690)');
1112 define(`PKG_1825', `PKG_SMT_2PAD_MM100( `$1', `$2', `$3', 680, 160, 400, 610, 730, 160, 680)');
1117 ## 3-Pin SMT EMI Filter based on standard SMT sizes
1118 # See www.murata.com for example
1120 define(`PKG_EMI0603', `COMMON_SMT_3PAD_MIL( `$1', `$2', `$3', 24, 24, 63, 47, 16, 10, 10)');
1121 define(`PKG_EMI0805', `COMMON_SMT_3PAD_MIL( `$1', `$2', `$3', 32, 24, 79, 75, 24, 10, 10)');
1122 define(`PKG_EMI1206', `COMMON_SMT_3PAD_MIL( `$1', `$2', `$3', 32, 28, 126, 79, 39, 10, 10)');
1123 define(`PKG_EMI1806', `COMMON_SMT_3PAD_MIL( `$1', `$2', `$3', 39, 39, 177, 102, 59, 10, 10)');
1126 ## Tantalum SMT capacitor (pin 1 is +)
1127 # pin 1 is marked (and is presumably +), pin 2 is minus
1128 # EIA3216 .. EIA7343
1130 define(`PKG_EIA3216', `PKG_SMT_2PAD_EIA( `$1', `$2', `$3', 32, 16)');
1131 define(`PKG_EIA3528', `PKG_SMT_2PAD_EIA( `$1', `$2', `$3', 35, 28)');
1132 define(`PKG_EIA6032', `PKG_SMT_2PAD_EIA( `$1', `$2', `$3', 60, 32)');
1133 define(`PKG_EIA7343', `PKG_SMT_2PAD_EIA( `$1', `$2', `$3', 73, 43)');
1135 define(`PKG_TANT_A', `PKG_SMT_2PAD_EIA( `$1', `$2', `$3', 32, 16)');
1136 define(`PKG_TANT_B', `PKG_SMT_2PAD_EIA( `$1', `$2', `$3', 35, 28)');
1137 define(`PKG_TANT_C', `PKG_SMT_2PAD_EIA( `$1', `$2', `$3', 60, 32)');
1138 define(`PKG_TANT_D', `PKG_SMT_2PAD_EIA( `$1', `$2', `$3', 73, 43)');
1141 ## Surface mount electrolytic capacitor, number is dia in mm
1142 define(`PKG_SME3', `PKG_SMT_2PAD_EIA( `$1', `$2', `$3', 33, 33)');
1143 define(`PKG_SME4', `PKG_SMT_2PAD_EIA( `$1', `$2', `$3', 43, 43)');
1144 define(`PKG_SME5', `PKG_SMT_2PAD_EIA( `$1', `$2', `$3', 53, 53)');
1145 define(`PKG_SME6', `PKG_SMT_2PAD_EIA( `$1', `$2', `$3', 66, 66)');
1146 define(`PKG_SME8', `PKG_SMT_2PAD_EIA( `$1', `$2', `$3', 84, 84)');
1147 define(`PKG_SME10', `PKG_SMT_2PAD_EIA( `$1', `$2', `$3',104,104)');
1150 ## SMT diode (pin 1 is cathode)
1154 # SOD23D is a SOT23 housing with pin numbers that match diodes
1155 # it can also be used for transistors that used this numbering
1156 # dimensions of `PKG_SMT_DIODE( `$1', `$2', `$3', len=mm/10, wid=mm/10)'); #JG
1157 # dimensions of `PKG_SM/EIT_2PAD_EIA( `$1', `$2', `$3', len=mm/10, wid=mm/10)'); #JG
1159 define(`PKG_SOD80', `PKG_SMT_2PAD_EIA( `$1', `$2', `$3', 37, 16)');
1160 define(`PKG_SOD87', `PKG_SMT_2PAD_EIA( `$1', `$2', `$3', 37, 21)');
1161 define(`PKG_SOD106A', `PKG_SMT_DIODE( `$1', `$2', `$3', 55, 25)');
1162 define(`PKG_SOD110', `PKG_SMT_DIODE( `$1', `$2', `$3', 21, 14)');
1163 # BUG: pads are only 0.65 mm wide:
1164 define(`PKG_SOD123', `PKG_SMT_DIODE( `$1', `$2', `$3', 40, 15)');
1165 # BUG: pads are only 0.60 mm wide:
1166 define(`PKG_SOD323', `PKG_SMT_DIODE( `$1', `$2', `$3', 27, 13)');
1167 define(`PKG_DO214', `PKG_SMT_DIODE( `$1', `$2', `$3', 77, 33)'); #JG
1168 define(`PKG_DO214AB', `PKG_SMT_DIODE( `$1', `$2', `$3', 79, 34)'); #JG
1169 define(`PKG_SOT23D', `PKG_SMT_TRANSISTOR2( `$1', `$2', `$3', 20, 21)');
1170 define(`PKG_SOT323D', `PKG_SMT_TRANSISTOR2( `$1', `$2', `$3', 13, 18)');
1173 ## SMT transistor, 3 pins
1174 define(`PKG_SOT23', `PKG_SMT_TRANSISTOR3( `$1', `$2', `$3', 20, 21)');
1175 define(`PKG_SOT323', `PKG_SMT_TRANSISTOR3( `$1', `$2', `$3', 13, 18)');
1176 define(`PKG_SC90', `PKG_SMT_TRANSISTOR3( `$1', `$2', `$3', 10, 15)');
1177 define(`PKG_SC70_3', `PKG_SMT_TRANSISTOR3( `$1', `$2', `$3', 13, 18)');
1179 ## SMT transistor, 4 pins
1180 define(`PKG_SOT89', `PKG_SMT_TRANSISTOR4X(`$1', `$2', `$3', 31, 31)');
1181 define(`PKG_SOT143', `PKG_SMT_TRANSISTOR4( `$1', `$2', `$3', 19, 21)');
1182 define(`PKG_SOT223', `PKG_SMT_TRANSISTOR4X(`$1', `$2', `$3', 46, 62)');
1183 define(`PKG_SC70_4', `PKG_SMT_TRANSISTOR4( `$1', `$2', `$3', 13, 18)');
1185 ## SMT transistor, 5 pins
1187 define(`PKG_SOT25', `PKG_SMT_TRANSISTOR5A( `$1', `$2', `$3', 20, 21)');
1188 define(`PKG_SOT353', `PKG_SMT_TRANSISTOR5A( `$1', `$2', `$3', 13, 18)');
1189 define(`PKG_SC70_5', `PKG_SMT_TRANSISTOR5A(`$1', `$2', `$3', 13, 18)');
1190 define(`PKG_SC88A', `PKG_SMT_TRANSISTOR5A(`$1', `$2', `$3', 13, 18)');
1192 ## SMT transistor, 6 pins
1194 define(`PKG_SOT26', `PKG_SMT_TRANSISTOR6( `$1', `$2', `$3', 20, 21)');
1195 define(`PKG_SOT326', `PKG_SMT_TRANSISTOR6( `$1', `$2', `$3', 13, 18)');
1196 define(`PKG_SC70_6', `PKG_SMT_TRANSISTOR6( `$1', `$2', `$3', 13, 18)');
1198 ## Pressure transducer
1199 define(`PKG_MPAK', `COMMON_SMT_TRANSISTORX_MIL(`$1', `$2', `$3', 150, 437, 20, `12345')');