Root/modules/xtal-4.fpd

Source at commit e9464fddac7fadae7a3b472d25949e513d38eb34 created 6 years 10 months ago.
By Werner Almesberger, modules/header-50mil-pin.fpd: add 50 mil headers suitable for regular pins
1/* MACHINE-GENERATED ! */
2
3frame pad {
4    __0: vec @(Px/2, Py/2)
5    __1: vec @(-Px/2, -Py/2)
6    pad "$pin" . __0
7}
8
9frame pads {
10    table
11        { pin, dx, dy }
12        { 1, -1, -1 }
13        { 2, 1, -1 }
14        { 3, 1, 1 }
15        { 4, -1, 1 }
16
17    __0: vec @(dx*Gx/2, dy*Gy/2)
18    frame pad .
19}
20
21frame marker {
22    __0: vec @(-(Gx/2)-Px+2*w, -Gy/2)
23    __1: vec .(0mm, -2*w)
24    circ . __0 w
25}
26
27frame outline {
28    table
29        { px, py, x, y }
30        { 0mm, Dy/2, Gx-Px-2*w, 0mm }
31        { 0mm, -Dy/2, Gx-Px-2*w, 0mm }
32        { -Dx/2, 0mm, 0mm, Gy-Py-2*w }
33        { Dx/2, 0mm, 0mm, Gy-Py-2*w }
34
35    __0: vec @(px, py)
36    __1: vec .(x/2, y/2)
37    __2: vec __0(-x/2, -y/2)
38    line . __1 w
39}
40
41package "xtal4-${Dx}x${Dy}"
42unit mm
43
44table
45    { Dx, Dy, Gx, Gy, Px, Py }
46    { 3.2mm, 2.5mm, 2.2mm, 1.6mm, 1.4mm, 1.2mm }
47    { 5mm, 3.2mm, 2.54mm, 2.2mm, 1.4mm, 1.2mm }
48    { 6mm, 3.6mm, 4.4mm, 2.4mm, 1.8mm, 1.4mm }
49
50set w = 5mil
51
52frame pads @
53frame outline @
54frame marker @
55measx pads.__0 -> pads.__0 1mm+Py/2+Gy
56measy pads.__0 -> pads.__0 -1mm-Px/2-Gx
57measy pad.__1 -> pad.__0 1mm
58measx pad.__1 -> pad.__0 -1mm
59measx outline.__0 >> outline.__0 Gy/2+Py/2+1.5mm
60measy outline.__0 >> outline.__0 -(Gx/2+Px/2+1.5mm)
61

Archive Download this file

Branches:
master



interactive