Merge branch 'master' of git://git.gpleda.org/pcb
[geda-pcb/see.git] / lib / optek.inc
blob943f0c442cf8e690aa9f0745e30feea6815fa31d
1 # -*- m4 -*-
3 # $Id$
4 #                            COPYRIGHT
6 #   PCB, interactive printed circuit board design
7 #   Copyright (C) 2007 Dan McMahill
9 #   This program is free software; you can redistribute it and/or modify
10 #   it under the terms of the GNU General Public License as published by
11 #   the Free Software Foundation; version 2 of the License.
12
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.
17
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.
21
22 #   The symbols produced by this file may be used and redistributed 
23 #   without restriction as part of a PCB layout file.  Distribution 
24 #   of footprints produced by this file as part of a footprint
25 #   library is governed by the same license as this source file.
28 # Optek Specific Footprints -- see www.optekinc.com
31 # Surface mount LED lamps, Package "RA 2.8x1.2x.8"  for example part number OVSRWACR6
33 # $1: canonical name
34 # $2: name on PCB
35 # $3: value
37 define(`PKG_OPTEK_RA_2p8_1p2_0p8',
38         `
39         # pad width and length (1/100 mil)
40         define(`PADW',  `eval(140 * 10000/254)')
41         define(`PADL',  `eval(90 * 10000/254)')
43         # pad center (X)  (1/100 mil)
44         define(`PADC',  `eval(120 * 10000/254)')
46         # x values for the pads
47         define(`PX1', `eval(PADC - (PADL - PADW)/2)')
48         define(`PX2', `eval(PADC + (PADL - PADW)/2)')
50         # package width (1/100 mil)
51         define(`PACKW', `39500')
53         # package height (1/100 mil)
54         define(`PACKH', `36000')
56         # width of soldermask relief (5 mil on each side)
57         define(`MASKW', `eval(PADL + 1000)')
59         # silkscreen width (1/100 mils)
60         define(`SILKW', `1000')
62         # how much space to leave around the part before the
63         # silk screen (1/100 mils)
64         define(`SILKS', `800')
66         # top edge silk
67         define(`SXTOP', `eval( 50*10000/254 - SILKS - SILKW/2)')
68         define(`SYTOP', `eval( -45 * 10000/254)')
70         # bottom edge silk
71         define(`SXBOT', `eval( 5500 + SILKS + SILKW/2 )')
72         define(`SYBOT1', `eval( PADL/2 + SILKS + SILKW/2 )')
73         define(`SYBOT2', `eval( -1400 + 4700 + SILKS + SILKW/2 )')
75 # Element [SFlags "Desc" "Name" "Value" MX MY TX TY TDir TScale TSFlags]
76 Element[ "" "`$1'" "`$2'" "`$3'" 0 0 0 0 0 100 ""]
79 # Pad [rX1 rY1 rX2 rY2 Thickness Clearance Mask "Name" "Number" SFlags]
81 # the pads
82 Pad[ -PX1 0 -PX2 0 PADL 1000 MASKW "K"  "1" "square"]
83 Pad[  PX1 0  PX2 0 PADL 1000 MASKW "A"  "2" "square"]
86 # Silk screen around package
87 # ElementLine[ x1 y1 x2 y2 width]
89 # top edge
90 ElementLine[ -SXTOP SYTOP SXTOP SYTOP SILKW ]
92 # left/right and bottom
93 ElementLine[ -SXBOT SYBOT1 -SXBOT SYBOT2 SILKW ]
94 ElementLine[  SXBOT SYBOT1  SXBOT SYBOT2 SILKW ]
95 ElementLine[ -SXBOT SYBOT2  SXBOT SYBOT2 SILKW ]
97 )')
99 # -------------------------------------------------------------------
101 # EXTRACT_BEGIN
105 ##  OPTEK Surface Mount LED's
108 # See www.optekinc.com
110 define(`PKG_OPTEK_OVSRWACR6', `PKG_OPTEK_RA_2p8_1p2_0p8(`$1', `$2', `$3')')
112 # EXTRACT_END