src/undo.c: Converted plain comments into doxygen comments.
[geda-pcb/pcjc2.git] / lib / aries.inc
blobad55189eaa285b6c6756403031da31de5e1a588c
1 # -*- m4 -*-
3 #                            COPYRIGHT
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
29 # $1: canonical name
30 # $2: name on PCB
31 # $3: value
32 # $4: number of pins
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',
37         `
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, `
62                 # lever on right
63                 define(`SILKLXL', `eval(SILKXL)')
64                 define(`SILKLXR', `eval(SILKLXL + SILKLW)')'
65                 , `
66                 # lever on left
67                 define(`SILKLXR', `eval(SILKXR)')
68                 define(`SILKLXL', `eval(SILKLXR - SILKLW)')'
69         )
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)
81         ')
83         # right column
84         forloop(`i', 1, eval($4 / 2),
85                 `PIN(PADXR, eval(MAXY - (i-1) * PINSPACE),
86                         eval(PADSIZE), eval(DRILLSIZE), eval(i + $4/2))
87         ')
89         # the mounting holes
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)
100         # and the lever silk
101         ElementLine(SILKLXL SILKYT  SILKLXL SILKLYT 10)
102         ElementLine(SILKLXL SILKLYT SILKLXR SILKLYT 10)
103         ElementLine(SILKLXR SILKLYT SILKLXR SILKYT 10)
105         Mark(PADXL 0)
110 # EXTRACT_BEGIN
113 ## High-Temp (250C) Universal ZIF DIP Burn-in and Test Socket
116 # XX-X55X-X X
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
124 #  24 pin
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)');
137 #  28 pin
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)');
150 #  32 pin
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)');
163 #  36 pin
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)');
176 #  40 pin
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)');
189 #  42 pin
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)');
202 #  44 pin
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)');
215 #  48 pin
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)');
227 # EXTRACT_END