data sheet for new 3.3V LDO
[hw/altusmetrum] / packages / 506CD.5c
1 /*
2  * Copyright © 2018 Bdale Garbee <bdale@gag.com>
3  *
4  *  This program is free software: you can redistribute it and/or modify
5  *  it under the terms of the GNU General Public License as published by
6  *  the Free Software Foundation, either version 3 of the License, or
7  *  (at your option) any later version.
8  *
9  *  This program is distributed in the hope that it will be useful,
10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  *  GNU General Public License for more details.
13  *
14  *  You should have received a copy of the GNU General Public License
15  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
16  */
17
18 load "footprint.5c"
19 import Footprint;
20
21 real pad_width = 0.48;
22 real pad_height = 0.32;
23 real pad_one_height = 0.45;
24 real pad_spacing = 0.50;                /* center to center, along the pads */
25 real pad_center = 3.30 - pad_width;     /* center to center, across the part */
26
27 real center_width = 2.10;
28 real center_height = 2.86;
29
30 real package_width = 3;
31 real package_height = 3;
32
33 real pad_x_off = pad_center / 2;
34
35 real num_pad = 6;       /* per side */
36
37 element_start("506CD");
38
39 real pad_off(int n) {
40         return pad_spacing * (n - (num_pad - 1) / 2);
41 }
42
43 /*
44 real dot_off = -.3;
45
46 line(-package_width/2 + dot_off, -package_height/2 + dot_off,
47      -package_width/2 + dot_off, -package_height/2 + dot_off);
48 */
49
50 for (int pad = 0; pad < num_pad; pad++) {
51         /* left side */
52
53         if (pad == 0) {
54             pad_mm(-pad_x_off,
55                pad_off(pad) - (pad_one_height - pad_height)/2,
56                pad_width,
57                pad_one_height,
58                sprintf("%d", 1),
59                sprintf("%d", 1));
60         } else {
61             pad_mm(-pad_x_off,
62                pad_off(pad),
63                pad_width,
64                pad_height,
65                sprintf("%d", pad + 1),
66                sprintf("%d", pad + 1));
67         }
68         
69         /* right side */
70
71         pad_mm(pad_x_off,
72                -pad_off(pad),
73                pad_width,
74                pad_height,
75                sprintf("%d", pad + num_pad + 1),
76                sprintf("%d", pad + num_pad + 1));
77         
78 }
79
80 /* center pad */
81 pad_mm(0, 0,
82        center_width,
83        center_height,
84        "13", "13");
85
86 element_end();