Update "missing" (automake) script to a later version
[geda-pcb/pcjc2.git] / lib / optek.inc
blob711ecde3867a8679a9f1b7857744db4d5749de2a
1 # -*- m4 -*-
3 #                            COPYRIGHT
5 #   PCB, interactive printed circuit board design
6 #   Copyright (C) 2007 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; version 2 of the License.
11
12 #   This program is distributed in the hope that it will be useful,
13 #   but WITHOUT ANY WARRANTY; without even the implied warranty of
14 #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 #   GNU General Public License for more details.
16
17 #   You should have received a copy of the GNU General Public License
18 #   along with this program; if not, write to the Free Software
19 #   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20
21 #   The symbols produced by this file may be used and redistributed 
22 #   without restriction as part of a PCB layout file.  Distribution 
23 #   of footprints produced by this file as part of a footprint
24 #   library is governed by the same license as this source file.
27 # Optek Specific Footprints -- see www.optekinc.com
30 # Surface mount LED lamps, Package "RA 2.8x1.2x.8"  for example part number OVSRWACR6
32 # $1: canonical name
33 # $2: name on PCB
34 # $3: value
36 define(`PKG_OPTEK_RA_2p8_1p2_0p8',
37         `
38         # pad width and length (1/100 mil)
39         define(`PADW',  `eval(140 * 10000/254)')
40         define(`PADL',  `eval(90 * 10000/254)')
42         # pad center (X)  (1/100 mil)
43         define(`PADC',  `eval(120 * 10000/254)')
45         # x values for the pads
46         define(`PX1', `eval(PADC - (PADL - PADW)/2)')
47         define(`PX2', `eval(PADC + (PADL - PADW)/2)')
49         # package width (1/100 mil)
50         define(`PACKW', `39500')
52         # package height (1/100 mil)
53         define(`PACKH', `36000')
55         # width of soldermask relief (5 mil on each side)
56         define(`MASKW', `eval(PADL + 1000)')
58         # silkscreen width (1/100 mils)
59         define(`SILKW', `1000')
61         # how much space to leave around the part before the
62         # silk screen (1/100 mils)
63         define(`SILKS', `800')
65         # top edge silk
66         define(`SXTOP', `eval( 50*10000/254 - SILKS - SILKW/2)')
67         define(`SYTOP', `eval( -45 * 10000/254)')
69         # bottom edge silk
70         define(`SXBOT', `eval( 5500 + SILKS + SILKW/2 )')
71         define(`SYBOT1', `eval( PADL/2 + SILKS + SILKW/2 )')
72         define(`SYBOT2', `eval( -1400 + 4700 + SILKS + SILKW/2 )')
74 # Element [SFlags "Desc" "Name" "Value" MX MY TX TY TDir TScale TSFlags]
75 Element[ "" "`$1'" "`$2'" "`$3'" 0 0 0 0 0 100 ""]
78 # Pad [rX1 rY1 rX2 rY2 Thickness Clearance Mask "Name" "Number" SFlags]
80 # the pads
81 Pad[ -PX1 0 -PX2 0 PADL 1000 MASKW "K"  "1" "square"]
82 Pad[  PX1 0  PX2 0 PADL 1000 MASKW "A"  "2" "square"]
85 # Silk screen around package
86 # ElementLine[ x1 y1 x2 y2 width]
88 # top edge
89 ElementLine[ -SXTOP SYTOP SXTOP SYTOP SILKW ]
91 # left/right and bottom
92 ElementLine[ -SXBOT SYBOT1 -SXBOT SYBOT2 SILKW ]
93 ElementLine[  SXBOT SYBOT1  SXBOT SYBOT2 SILKW ]
94 ElementLine[ -SXBOT SYBOT2  SXBOT SYBOT2 SILKW ]
96 )')
98 # -------------------------------------------------------------------
100 # EXTRACT_BEGIN
104 ##  OPTEK Surface Mount LED's
107 # See www.optekinc.com
109 define(`PKG_OPTEK_OVSRWACR6', `PKG_OPTEK_RA_2p8_1p2_0p8(`$1', `$2', `$3')')
111 # EXTRACT_END