Add footprint and data sheet for ti TPS71401
authorKeith Packard <keithp@keithp.com>
Fri, 20 Mar 2015 20:24:43 +0000 (13:24 -0700)
committerKeith Packard <keithp@keithp.com>
Fri, 20 Mar 2015 20:25:21 +0000 (13:25 -0700)
Signed-off-by: Keith Packard <keithp@keithp.com>
datasheets/ti/tps71401.pdf [new file with mode: 0644]
packages/Makefile
packages/s-pwson-n6.5c [new file with mode: 0644]

diff --git a/datasheets/ti/tps71401.pdf b/datasheets/ti/tps71401.pdf
new file mode 100644 (file)
index 0000000..e4c1a36
Binary files /dev/null and b/datasheets/ti/tps71401.pdf differ
index b4ab118ffa659beff56267b04cea7376b95a2995..2327ea776b9b12e4bf96b2664149db7def19c477 100644 (file)
@@ -13,6 +13,7 @@ SOIC=soic-16.fp
 FOOTPRINTS= \
        $(SOIC) \
        s-pwson-n8.fp \
+       s-pwson-n6.fp \
        MS5607.fp \
        uson-8.fp \
        wson6x5.fp \
@@ -21,6 +22,7 @@ FOOTPRINTS= \
        TDK_PS12.fp \
        ABM3B.fp \
        ABM8.fp \
+       7S.fp \
        1212-8.fp \
        AN3111.fp \
        lqfp32.fp \
diff --git a/packages/s-pwson-n6.5c b/packages/s-pwson-n6.5c
new file mode 100644 (file)
index 0000000..2451920
--- /dev/null
@@ -0,0 +1,96 @@
+/*
+ * Copyright © 2012 Keith Packard <keithp@keithp.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+load "footprint.5c"
+import Footprint;
+
+Footprint::process_clearance = 0.07;
+
+real pad_expose = 0.1;
+real pad_width = 0.3;
+real pad_height = 0.7;
+real pad_x_spacing = 0.65;
+real pad_y_gap = 1.4;
+real pad_y_spacing = pad_y_gap + pad_height;
+
+real package_width = 2;
+real package_height = 2;
+
+real center_width = 1.6;
+real center_height = 1.0;
+
+real clearance = 0.0061 * 25.4;
+real mask = 0.07;
+
+real pad_x_off = package_width / 2 - (pad_width - pad_expose) / 2 + pad_expose;
+
+real num_pad = 3;      /* per side */
+
+element_start("s-pwson-n6");
+
+/* full center pad */
+pad_mm_clear_mask_options(0, 0, center_width, center_height, 0, center_height + mask, "7", "7", "square,nopaste");
+
+/* 70% paste coverage */
+real paste_coverage = 0.70;
+real paste_coverage_scale = sqrt(paste_coverage);
+pad_mm_clear_mask_options(0, 0, center_width * paste_coverage_scale,
+                         center_height * paste_coverage_scale, 0, center_height + mask, "7", "7", "square");
+
+pin_mm_clear_mask_options(-0.9, 0,
+                         0.3811, 0.17, 0.2, 0, "GND", "7", "via");
+
+pin_mm_clear_mask_options(0.9, 0,
+                         0.3811, 0.17, 0.2, 0, "GND", "7", "via");
+
+real pad_y_off = pad_y_spacing / 2;
+
+real pad_off(int n) {
+       return pad_x_spacing * (n - (num_pad - 1) / 2);
+}
+
+for (int pad = 0; pad < num_pad; pad++) {
+       /* bottom side (1-3) */
+
+       pad_mm_clear_mask_options(pad_off(pad),
+                                 pad_y_off,
+                                 pad_width,
+                                 pad_height,
+                                 clearance * 2, pad_width + mask,
+                                 sprintf("%d", pad + 1),
+                                 sprintf("%d", pad + 1), "square");
+
+       /* top side (6-4) */
+
+       pad_mm_clear_mask_options(pad_off(pad),
+                                 -pad_y_off,
+                                 pad_width,
+                                 pad_height,
+                                 clearance * 2, pad_width + mask,
+                                 sprintf("%d", 6 - pad),
+                                 sprintf("%d", 6 - pad), "square");
+
+}
+
+rect(-package_width/2, -package_height/2, package_width, package_height);
+
+real dot_off = -.3;
+
+line(-package_width/2 + dot_off, package_height/2 - dot_off,
+     -package_width/2 + dot_off, package_height/2 - dot_off);
+
+element_end();