Root/modules/mini-usb.fpd

Source at commit 20c94362beec5278c00ccc1b0f54c8e53178f012 created 11 years 9 months ago.
By Werner Almesberger, modules/pads-array.fpd: we need loop for pins and for packages, not just one
1/*Mini USB Type B connector*/
2
3frame pad{
4    set name=i
5    ur: vec @(0mm,w/2)
6    ll: vec @(-l,-w/2)
7    pad "$name" ur ll
8}
9frame pad_gnd {
10    set name1=i
11    set name2=i+2
12    pos1_ur: vec @(gnd_x/2,gnd_y/2)
13    pos2_ur: vec .(0mm,-b_y)
14    pos1_ll: vec @(-gnd_x/2,-gnd_y/2)
15    pos2_ll: vec .(0mm,-b_y)
16    center: vec @(0mm,-b_y)
17    pad "$name1" pos1_ur pos1_ll
18    pad "$name2" pos2_ur pos2_ll
19}
20
21frame pads {
22
23    loop i=1,5
24    pos: vec @(0mm,2*p-(i-1)*p)
25    frame pad .
26
27}
28
29frame pads_gnd{
30
31    loop i=6,7
32    pos: vec @(-gnd_x/2-a_x*(i-6),b_y/2)
33    frame pad_gnd .
34
35
36}
37frame holes {
38    c1: vec @(-f,c/2)
39    d1: vec .(0mm,d/2)
40    c2: vec @(-f,-c/2)
41    d2: vec .(0mm,d/2)
42    circ c1 d1 0.01mm
43    circ c2 d2 0.01mm
44
45}
46frame outline {
47    ur: vec @(-f+A1_x,B_y/2)
48    ll: vec @(-e,-B_y/2)
49    rect ur ll silk
50    ur2: vec @(-e,B_y/2)
51    ll2: vec @(-f-A2_x,-B_y/2)
52    rect ur2 ll2 silk
53
54}
55
56package "miniUSB_B"
57unit mm
58
59/*GND pad size*/
60set gnd_y = 2mm
61set gnd_x = 2.5mm
62
63/*pad size*/
64set w=0.5mm
65set l=2.3mm
66
67/*pitch*/
68set p = 0.8mm
69
70/*distance center GND pad -> center pin1 */
71set a=2.85mm
72
73/*distance GND pad -> GND pad*/
74set a_x=5.5mm
75set b_y=8.9mm
76
77/*distance between drill holes*/
78set c=4.4mm
79/*x distance drill hole -> outer edge pin 1*/
80set f=3.75mm
81
82/*drill hole diameter*/
83set d=0.9mm
84
85/*distance outer edge of pin1 -> PCB edge*/
86set e=9mm
87/*outline x direction, center holes -> edges*/
88set A1_x=3.3mm
89set A2_x=5.9mm
90/*outline y direction*/
91set B_y=7.7mm
92
93set silk=0.1mm
94
95__0: vec @(0mm, 0mm)
96frame pads @
97frame pads_gnd @
98frame holes @
99frame outline @
100
101
102measy pad.ll -> pad.ur -l-2mm
103measy pad_gnd.pos2_ll -> pad_gnd.pos2_ur 0.3mm
104measx pad_gnd.pos1_ll -> pad_gnd.pos1_ur -1mm
105measy __0 -> pads.pos -0.5mm
106measy pads.pos >> pads.pos -1.5mm
107measx pads_gnd.pos >> pads_gnd.pos 2mm
108measx outline.ur2 >> pad.ur 3.5mm
109measx outline.ll >> holes.c2 -3mm
110measy holes.c2 >> holes.c1 A2_x+1mm
111measy outline.ll2 >> outline.ur2 2mm
112measx pad.ll -> pads.pos -1mm
113measy pads_gnd.pos << pad_gnd.center -5mm
114
115

Archive Download this file

Branches:
master



interactive