Add 2mm pitch pin header package
authorKeith Packard <keithp@keithp.com>
Sat, 13 Jul 2013 10:31:55 +0000 (03:31 -0700)
committerKeith Packard <keithp@keithp.com>
Sat, 13 Jul 2013 10:31:55 +0000 (03:31 -0700)
Signed-off-by: Keith Packard <keithp@keithp.com>
packages/footprint.5c
packages/pinheader/2mmpitch.5c [new file with mode: 0644]
packages/pinheader/Makefile

index 3fd921c35ee123e4847ffafb267c784ed0dbcd21..e3bcdd485183a9e12db4855a5fe5c955704cbbbf 100644 (file)
@@ -186,6 +186,28 @@ namespace Footprint {
                       
        }
 
+       public void pin_mm_clear_options(real x, real y, real drill, real copper, real clearance,
+                                        string name,
+                                        string number,
+                                        string options)
+       {
+               real thickness = drill + copper * 2;
+               real mask = thickness + clearance / 2;
+               printf("    Pin[");
+               printf(" %6d %6d",
+                      mm2mils100(x),
+                      mm2mils100(y));
+               printf(" %6d %6d %6d %6d",
+                      mm2mils100(thickness),
+                      mm2mils100(clearance),
+                      mm2mils100(mask),
+                      mm2mils100(drill));
+               printf (" \"%s\" \"%s\"",
+                       name, number);
+               printf (" \"%s\"]\n", options);
+                      
+       }
+
        public void pin_mm_clear_mask_options(real x, real y,
                                              real drill, real copper, real clearance, real mask,
                                              string name, string number, string options)
@@ -233,6 +255,15 @@ namespace Footprint {
                             name, number);
        }
 
+       public void pin_mm_options(real x, real y, real drill, real copper,
+                                  string name,
+                                  string number,
+                                  string options)
+       {
+               pin_mm_clear_options(x, y, drill, copper, process_clearance,
+                                    name, number, options);
+       }
+
        public void line (real x1, real y1, real x2, real y2)
        {
                printf ("    ElementLine[");
diff --git a/packages/pinheader/2mmpitch.5c b/packages/pinheader/2mmpitch.5c
new file mode 100644 (file)
index 0000000..22afacf
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Copyright © 2013 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;
+
+real pin_spacing = 2;
+real pin_hole = 0.8;
+real pin_copper = 0.25;
+
+pins = atoi(argv[1]);
+if (pins < 2) {
+       File::fprintf (stderr, "must have at least two pins\n");
+       exit(1);
+}
+
+printf ("# author: Keith Packard\n");
+printf ("# email: keithp@keithp.com\n");
+printf ("# dist-license: GPL 2\n");
+printf ("# use-license: unlimited\n");
+
+element_start(sprintf ("2mm%dpin", pins));
+
+for (int pin = 0; pin < pins; pin++)
+       pin_mm_options(pin * pin_spacing, 0, pin_hole, pin_copper,
+                      sprintf ("%d", pin + 1),
+                      sprintf ("%d", pin + 1),
+                      pin == 0 ? "square" : "");
+element_end();
+
+
+
index 7da0a58594dbd31c3d28b22d8a41bb57fe6a4479..2edf618d7a17ecdb2204b02206095b449abc48db 100644 (file)
@@ -1,11 +1,15 @@
 FOOTPRINTS = \
-       50mil4pin.fp
+       50mil4pin.fp \
+       2mm2pin.fp
 
 all: $(FOOTPRINTS) .gitignore
 
 50mil4pin.fp:  50milpitch.py
        ./50milpitch.py 4 > 50mil4pin.fp
 
+2mm2pin.fp: 2mmpitch.5c
+       nickle 2mmpitch.5c 2 > $@
+
 clean:
        rm -f $(FOOTPRINTS)