5 # PCB, interactive printed circuit board design
6 # Copyright (C) 2015 Dan McMahill
8 # This program is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2 of the License, or
11 # (at your option) any later version.
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 # Aries Electronics, Inc. Specific Footprints
27 # -------------------------------------------------------------------
28 # the definition of a dual-inline package for Aries ZIF sockets
33 # $5: package size (300, 600, 900 + 100 for socket space)
34 # $6: flag for lever location (1 = left, 2 = right)
36 define(`PKG_ARIES_DIP',
38 define(`PINSPACE', `100')
39 define(`PADSIZE', `68')
40 define(`DRILLSIZE', `32')
42 define(`MTPADSIZE', `105')
43 define(`MTDRILLSIZE', `65')
45 define(`MAXY', `eval(((`$4' / 2) - 1) * PINSPACE)')
46 define(`MAXX', `eval(`$5' + 100)')
47 define(`SILKXL', `-475')
48 define(`SILKXR', `475')
50 define(`SILKYT', `eval(180 + 87 - 590 - 25)')
51 define(`SILKYB', `eval(MAXY + 180 + 87 + 25)')
53 define(`SILKLYT', `eval(SILKYT - 485)')
55 # y-location of REFDES silk
56 define(`REFDESY', `eval(SILKYT - 125)')
58 # width of box drawn in silk for the lever
59 define(`SILKLW', `150')
61 ifelse(eval(eval(`$6') == 2), 1, `
63 define(`SILKLXL', `eval(SILKXL)')
64 define(`SILKLXR', `eval(SILKLXL + SILKLW)')'
67 define(`SILKLXR', `eval(SILKXR)')
68 define(`SILKLXL', `eval(SILKLXR - SILKLW)')'
70 define(`PADXL', `eval(-1 * `$5' / 2)')
71 define(`PADXR', `eval(`$5' / 2)')
73 define(`CENTERX', `eval(MAXX / 2)')
74 Element(0x00 "$1" "`$2'" "$3" 0 REFDESY 0 200 0x00)
76 # footprint runs in two vertical rows with pin 1 at upper left
77 # X = 0 will be the center line of the part
78 forloop(`i', 1, eval($4 / 2),
79 `PIN(PADXL, eval((i-1) * PINSPACE),
80 eval(PADSIZE), eval(DRILLSIZE), i)
84 forloop(`i', 1, eval($4 / 2),
85 `PIN(PADXR, eval(MAXY - (i-1) * PINSPACE),
86 eval(PADSIZE), eval(DRILLSIZE), eval(i + $4/2))
90 PIN(0, eval(MAXY + 180), eval(MTPADSIZE), eval(MTDRILLSIZE), eval(1 + $4))
91 PIN(0, -335, eval(MTPADSIZE), eval(MTDRILLSIZE), eval(2 + $4))
93 ElementLine(SILKXL SILKYT SILKXL SILKYB 10)
94 ElementLine(SILKXL SILKYB SILKXR SILKYB 10)
95 ElementLine(SILKXR SILKYB SILKXR SILKYT 10)
96 ElementLine(SILKXR SILKYT 50 SILKYT 10)
97 ElementLine(SILKXL SILKYT -50 SILKYT 10)
98 ElementArc(0 SILKYT 50 50 0 180 10)
101 ElementLine(SILKLXL SILKYT SILKLXL SILKLYT 10)
102 ElementLine(SILKLXL SILKLYT SILKLXR SILKLYT 10)
103 ElementLine(SILKLXR SILKLYT SILKLXR SILKYT 10)
113 ## High-Temp (250C) Universal ZIF DIP Burn-in and Test Socket
117 # | | | | |- plating: 8 = plating
118 # | | | |--- termination: 1 = solder pin tail
119 # | | |----- handle options: 1 = left up, 2 = right up, 3 = left down, 4 = right down (std)
120 # | |-------- row to row spacing: 3 = 300mil, 6 = 600mil
121 # |---------- number of pins: 24, 28, 32, 36, 40, 42, 44, 48
126 define(`PKG_ARIES_24_3551_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 24, 300, 1)');
127 define(`PKG_ARIES_24_3552_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 24, 300, 2)');
128 define(`PKG_ARIES_24_3553_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 24, 300, 1)');
129 define(`PKG_ARIES_24_3554_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 24, 300, 2)');
131 define(`PKG_ARIES_24_6551_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 24, 600, 1)');
132 define(`PKG_ARIES_24_6552_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 24, 600, 2)');
133 define(`PKG_ARIES_24_6553_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 24, 600, 1)');
134 define(`PKG_ARIES_24_6554_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 24, 600, 2)');
139 define(`PKG_ARIES_28_3551_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 28, 300, 1)');
140 define(`PKG_ARIES_28_3552_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 28, 300, 2)');
141 define(`PKG_ARIES_28_3553_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 28, 300, 1)');
142 define(`PKG_ARIES_28_3554_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 28, 300, 2)');
144 define(`PKG_ARIES_28_6551_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 28, 600, 1)');
145 define(`PKG_ARIES_28_6552_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 28, 600, 2)');
146 define(`PKG_ARIES_28_6553_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 28, 600, 1)');
147 define(`PKG_ARIES_28_6554_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 28, 600, 2)');
152 define(`PKG_ARIES_32_3551_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 32, 300, 1)');
153 define(`PKG_ARIES_32_3552_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 32, 300, 2)');
154 define(`PKG_ARIES_32_3553_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 32, 300, 1)');
155 define(`PKG_ARIES_32_3554_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 32, 300, 2)');
157 define(`PKG_ARIES_32_6551_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 32, 600, 1)');
158 define(`PKG_ARIES_32_6552_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 32, 600, 2)');
159 define(`PKG_ARIES_32_6553_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 32, 600, 1)');
160 define(`PKG_ARIES_32_6554_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 32, 600, 2)');
165 define(`PKG_ARIES_36_3551_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 36, 300, 1)');
166 define(`PKG_ARIES_36_3552_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 36, 300, 2)');
167 define(`PKG_ARIES_36_3553_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 36, 300, 1)');
168 define(`PKG_ARIES_36_3554_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 36, 300, 2)');
170 define(`PKG_ARIES_36_6551_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 36, 600, 1)');
171 define(`PKG_ARIES_36_6552_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 36, 600, 2)');
172 define(`PKG_ARIES_36_6553_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 36, 600, 1)');
173 define(`PKG_ARIES_36_6554_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 36, 600, 2)');
178 define(`PKG_ARIES_40_3551_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 40, 300, 1)');
179 define(`PKG_ARIES_40_3552_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 40, 300, 2)');
180 define(`PKG_ARIES_40_3553_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 40, 300, 1)');
181 define(`PKG_ARIES_40_3554_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 40, 300, 2)');
183 define(`PKG_ARIES_40_6551_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 40, 600, 1)');
184 define(`PKG_ARIES_40_6552_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 40, 600, 2)');
185 define(`PKG_ARIES_40_6553_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 40, 600, 1)');
186 define(`PKG_ARIES_40_6554_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 40, 600, 2)');
191 define(`PKG_ARIES_42_3551_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 42, 300, 1)');
192 define(`PKG_ARIES_42_3552_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 42, 300, 2)');
193 define(`PKG_ARIES_42_3553_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 42, 300, 1)');
194 define(`PKG_ARIES_42_3554_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 42, 300, 2)');
196 define(`PKG_ARIES_42_6551_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 42, 600, 1)');
197 define(`PKG_ARIES_42_6552_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 42, 600, 2)');
198 define(`PKG_ARIES_42_6553_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 42, 600, 1)');
199 define(`PKG_ARIES_42_6554_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 42, 600, 2)');
204 define(`PKG_ARIES_44_3551_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 44, 300, 1)');
205 define(`PKG_ARIES_44_3552_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 44, 300, 2)');
206 define(`PKG_ARIES_44_3553_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 44, 300, 1)');
207 define(`PKG_ARIES_44_3554_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 44, 300, 2)');
209 define(`PKG_ARIES_44_6551_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 44, 600, 1)');
210 define(`PKG_ARIES_44_6552_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 44, 600, 2)');
211 define(`PKG_ARIES_44_6553_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 44, 600, 1)');
212 define(`PKG_ARIES_44_6554_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 44, 600, 2)');
217 define(`PKG_ARIES_48_3551_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 48, 300, 1)');
218 define(`PKG_ARIES_48_3552_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 48, 300, 2)');
219 define(`PKG_ARIES_48_3553_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 48, 300, 1)');
220 define(`PKG_ARIES_48_3554_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 48, 300, 2)');
222 define(`PKG_ARIES_48_6551_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 48, 600, 1)');
223 define(`PKG_ARIES_48_6552_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 48, 600, 2)');
224 define(`PKG_ARIES_48_6553_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 48, 600, 1)');
225 define(`PKG_ARIES_48_6554_1', `PKG_ARIES_DIP(`$1', `$2', `$3', 48, 600, 2)');