--- /dev/null
+/*
+ * 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;
+
+int total_pad = 14;
+real center_gap = 6.00;
+
+real pad_width;
+real rf_pad_width = 0.8;
+real misc_pad_width = 1.1;
+real pad_height = 2.3;
+real pad_spacing = 2.54;
+
+int num_pad = total_pad / 2; /* per side */
+
+string name = sprintf ("G6Z-1F");
+
+real package_width = 20.0;
+real package_height = 8.6;
+
+real pad_y_off = center_gap / 2 + pad_height / 2;
+
+element_start(name);
+
+real pad_off(int n) {
+ return pad_spacing * (n - (num_pad - 1) / 2);
+}
+
+real corner(int dx, int dy) {
+ real x = dx * package_width / 2;
+ real y = dy * package_height / 2;
+ real len = 0.4;
+
+ line(x, y, x - dx * len, y);
+ line(x, y, x, y - dy * len);
+}
+
+corner(-1, -1);
+corner(1, -1);
+corner(-1, 1);
+corner(1, 1);
+
+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);
+
+for (pad = 0; pad < num_pad; pad++) {
+ /* bottom (1-num_pad) */
+
+ pad_width = misc_pad_width;
+ if (pad == 0 || pad == 6) {
+ pad_mm(pad_off(pad),
+ pad_y_off,
+ pad_width,
+ pad_height,
+ sprintf("%d", pad + 1),
+ sprintf("%d", pad + 1));
+ }
+
+ /* top side (total_pad - num_pad+1) */
+
+ if (pad == 0 || pad == 3 || pad == 6) {
+ pad_width = rf_pad_width;
+ } else {
+ pad_width = misc_pad_width;
+ }
+
+ pad_mm(-pad_off(pad),
+ -pad_y_off,
+ pad_width,
+ pad_height,
+ sprintf("%d", total_pad - pad),
+ sprintf("%d", total_pad - pad));
+
+}
+
+element_end();
--- /dev/null
+v 20130925 2
+B 300 300 2200 1200 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
+T -5 -3605 8 10 0 1 0 0 1
+footprint=SOIJ8
+T 295 1595 8 10 1 1 0 0 1
+refdes=RLY?
+P 2800 800 2500 800 1 0 0
+{
+T 2800 800 5 10 0 0 0 6 1
+pintype=unknown
+T 2445 745 5 10 1 1 0 6 1
+pinlabel=COMMON
+T 2800 800 5 10 0 0 0 6 1
+pinseq=0
+T 2550 900 5 10 1 1 0 0 1
+pinnumber=11
+}
+P 2800 400 2500 400 1 0 0
+{
+T 2800 400 5 10 0 0 0 6 1
+pintype=unknown
+T 2445 395 5 10 1 1 0 6 1
+pinlabel=B
+T 2800 400 5 10 0 0 0 6 1
+pinseq=0
+T 2550 500 5 10 1 1 0 0 1
+pinnumber=14
+}
+P 2800 1200 2500 1200 1 0 0
+{
+T 2800 1200 5 10 0 0 0 6 1
+pintype=unknown
+T 2445 1095 5 10 1 1 0 6 1
+pinlabel=A
+T 2800 1200 5 10 0 0 0 6 1
+pinseq=0
+T 2600 1300 5 10 1 1 0 0 1
+pinnumber=8
+}
+P 0 1200 300 1200 1 0 0
+{
+T 0 1200 5 10 0 0 0 0 1
+pintype=unknown
+T 0 1200 5 10 0 0 0 0 1
+pinseq=0
+T 400 1000 5 10 1 1 0 0 1
+pinlabel=+
+T 100 1300 5 10 1 1 0 0 1
+pinnumber=7
+}
+P 0 400 300 400 1 0 0
+{
+T 0 400 5 10 0 0 0 0 1
+pintype=unknown
+T 0 400 5 10 0 0 0 0 1
+pinseq=0
+T 400 500 5 10 1 1 0 0 1
+pinlabel=-
+T 100 500 5 10 1 1 0 0 1
+pinnumber=1
+}
+T 400 750 9 10 1 0 0 0 1
+COIL
+P 800 0 800 300 1 0 0
+{
+T 800 0 5 10 0 0 90 0 1
+pintype=unknown
+T 800 0 5 10 0 0 90 0 1
+pinseq=0
+T 650 100 5 10 1 1 0 0 1
+pinnumber=9
+}
+P 1200 0 1200 300 1 0 0
+{
+T 1200 0 5 10 0 0 90 0 1
+pintype=unknown
+T 1200 0 5 10 0 0 90 0 1
+pinseq=0
+T 950 100 5 10 1 1 0 0 1
+pinnumber=10
+}
+P 1600 0 1600 300 1 0 0
+{
+T 1600 0 5 10 0 0 90 0 1
+pintype=unknown
+T 1600 0 5 10 0 0 90 0 1
+pinseq=0
+T 1350 100 5 10 1 1 0 0 1
+pinnumber=12
+}
+P 2000 0 2000 300 1 0 0
+{
+T 2000 0 5 10 0 0 90 0 1
+pintype=unknown
+T 2000 0 5 10 0 0 90 0 1
+pinseq=0
+T 1750 100 5 10 1 1 0 0 1
+pinnumber=13
+}
+T 600 1300 9 12 1 0 0 0 1
+Omron G6Z-1FE
+T 1050 350 9 10 1 0 0 0 1
+RF GND