Switch to 5-pin debug connector
authorKeith Packard <keithp@keithp.com>
Fri, 17 Aug 2012 08:17:19 +0000 (01:17 -0700)
committerKeith Packard <keithp@keithp.com>
Fri, 17 Aug 2012 08:17:19 +0000 (01:17 -0700)
The debugWire interface isn't sufficient to program the device, switch
to a regular AVR programming header, but without VCC as there isn't
enough space for 6 pins.

Signed-off-by: Keith Packard <keithp@keithp.com>
micropeak.pcb
micropeak.sch
packages/pico-ezmate-5.fp [new file with mode: 0644]
packages/pico-ezmate.py [new file with mode: 0644]
symbols/conn-5.sym [new file with mode: 0644]

index 46c0aa627b204e1a083f2b9cc98948c1e43aec78..74bd106c8c31a8873c1b2695fd9d68914a184de6 100644 (file)
@@ -6,11 +6,11 @@ FileVersion[20070407]
 PCB["MicroPeak" 70000 56000]
 
 Grid[100.0 0 0 0]
-Cursor[0 8400 0.000000]
+Cursor[0 2700 0.000000]
 PolyArea[200000000.000000]
 Thermal[0.500000]
 DRC[500 1000 500 500 1500 650]
-Flags("showdrc,nameonpcb,uniquename,snappin,orthomove")
+Flags("showdrc,nameonpcb,uniquename,snappin")
 Groups("1,c:2,s:3")
 Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600"]
 
@@ -803,18 +803,21 @@ Symbol['~' 1200]
        SymbolLine[2000 3500 2500 3000 800]
 )
 Attribute("PCB::grid::unit" "mil")
+Via[27900 52500 3600 2000 0 2000 "" "thermal(0S,1S)"]
 Via[55800 27600 3600 2000 0 2000 "" "thermal(1S)"]
 Via[55800 34200 3600 2000 0 2000 "" "thermal(1S)"]
 Via[49200 34200 3600 2000 0 2000 "" "thermal(1S)"]
-Via[27900 52500 3600 2000 0 2000 "" "thermal(0S,1S)"]
-Via[22100 22700 3600 2000 0 2000 "" ""]
 Via[49200 27600 3600 2000 0 2000 "" "thermal(1S)"]
-Via[43300 18200 3600 2000 0 2000 "" ""]
 Via[50500 41200 3600 2000 0 2000 "" ""]
-Via[50500 19900 3600 2000 0 2000 "" ""]
-Via[50500 9300 3600 2000 0 2000 "" ""]
-Via[22100 26900 3600 2000 0 2000 "" "thermal(0S,1S)"]
 Via[26600 10800 3600 2000 0 2000 "" "thermal(0S,1S)"]
+Via[43300 18200 3600 2000 0 2000 "" ""]
+Via[50500 9300 3600 2000 0 2000 "" ""]
+Via[50500 19900 3600 2000 0 2000 "" ""]
+Via[43300 8300 3600 2000 0 2000 "" ""]
+Via[25200 17900 3600 2000 0 2000 "" ""]
+Via[23200 25600 3600 2000 0 2000 "" ""]
+Via[20000 28200 3600 2000 0 2000 "" ""]
+Via[20900 35900 3600 2000 0 2000 "" "thermal(0S,1S)"]
 
 Element["" "0603diode" "D1" "blue" 35000 52500 -14100 -3000 0 100 ""]
 (
@@ -864,7 +867,7 @@ Element["" "0402" "R1" "270" 42900 52500 3900 -3000 0 100 ""]
 
        )
 
-Element["" "0402" "C3" "4.7uF" 26300 24800 2100 -3000 0 100 ""]
+Element["" "0402" "C3" "4.7uF" 27600 26900 -5000 -8600 0 100 ""]
 (
        Pad[-393 -1574 393 -1574 1968 2000 2568 "1" "1" "square"]
        Pad[-393 1574 393 1574 1968 2000 2568 "2" "2" "square"]
@@ -878,7 +881,7 @@ Element["" "0402" "C2" "0.1uF" 25800 5000 -7498 -3076 0 100 ""]
 
        )
 
-Element["" "0402" "C1" "0.1uF" 41500 24826 -6300 -3024 0 100 ""]
+Element["" "0402" "C1" "0.1uF" 41600 26900 300 -8624 0 100 ""]
 (
        Pad[-393 1574 393 1574 1968 2000 2568 "1" "1" "square"]
        Pad[-393 -1574 393 -1574 1968 2000 2568 "2" "2" "square"]
@@ -903,6 +906,36 @@ Element["" "MS5611" "U2" "unknown" 35000 10800 7300 -10500 0 100 ""]
 
        )
 
+Element["" "hole-M2.5" "H3" "unknown" 7500 7500 -2900 -3100 0 100 ""]
+(
+       Pin[0 0 12000 2000 12600 9800 "1" "1" "usetherm,thermal(0S,1S)"]
+       ElementArc [0 0 7000 7000 0 360 1000]
+
+       )
+
+Element["" "hole-M2.5" "H4" "unknown" 62500 7500 -3100 -3100 0 100 ""]
+(
+       Pin[0 0 12000 2000 12600 9800 "1" "1" "usetherm,thermal(0S,1S)"]
+       ElementArc [0 0 7000 7000 0 360 1000]
+
+       )
+
+Element["" "pico-ezmate-5" "J1" "unknown" 16500 28000 1300 -17000 0 100 ""]
+(
+       Pad[-492 -9448 491 -9448 2362 2362 3543 "pin1" "1" "square,edge2"]
+       Pad[-492 -4723 491 -4723 2362 2362 3543 "pin2" "2" "square,edge2"]
+       Pad[-492 0 491 0 2362 2362 3543 "pin3" "3" "square,edge2"]
+       Pad[-492 4724 491 4724 2362 2362 3543 "pin4" "4" "square,edge2"]
+       Pad[-492 9449 491 9449 2362 2362 3543 "pin5" "5" "square,edge2"]
+       Pad[-15059 13976 -14665 13976 2756 2362 3937 "GND" "GND" "square"]
+       Pad[-15059 -13975 -14665 -13975 2756 2362 3937 "GND" "GND" "square"]
+       ElementLine [747 -15353 747 15354 500]
+       ElementLine [-16969 15354 747 15354 500]
+       ElementLine [-16969 -15353 -16969 15354 500]
+       ElementLine [-16969 -15353 747 -15353 500]
+
+       )
+
 Element["" "MO-220" "U1" "unknown" 52500 30900 5900 -11000 0 100 ""]
 (
        Pad[0 0 0 0 10236 2126 1457 "pin21" "21" "square,nopaste"]
@@ -942,94 +975,80 @@ Element["" "MO-220" "U1" "unknown" 52500 30900 5900 -11000 0 100 ""]
        Pad[-7912 3937 -6653 3937 906 2126 1457 "pin20" "20" ""]
        ElementArc [-7873 7874 500 500 0 360 1000]
 
-       )
-
-Element["" "hole-M2.5" "H3" "unknown" 7500 7500 -2900 -3100 0 100 ""]
-(
-       Pin[0 0 12000 2000 12600 9800 "1" "1" "usetherm,thermal(0S,1S)"]
-       ElementArc [0 0 7000 7000 0 360 1000]
-
-       )
-
-Element["" "pico-ezmate-2" "J1" "2_pin" 17100 28000 -4200 -11000 0 100 ""]
-(
-       Pad[-492 -2362 492 -2362 2362 2500 2962 "1" "1" "square,edge2"]
-       Pad[-492 2362 492 2362 2362 2500 2962 "2" "2" "square,edge2"]
-       Pad[-14961 9252 -14567 9252 2756 2500 3356 "GND" "GND" "square"]
-       Pad[-14961 -9252 -14567 -9252 2756 2500 3356 "GND" "GND" "square"]
-       ElementLine [1000 -11000 1000 -3600 500]
-       ElementLine [1000 3600 1000 11000 500]
-       ElementLine [-17000 11000 1000 11000 500]
-       ElementLine [-17000 6000 -17000 11000 500]
-       ElementLine [-17000 6000 -15000 4000 500]
-       ElementLine [-15000 -4000 -15000 4000 500]
-       ElementLine [-15000 -4000 -17000 -6000 500]
-       ElementLine [-17000 -11000 -17000 -6000 500]
-       ElementLine [-17000 -11000 1000 -11000 500]
-
-       )
-
-Element["" "hole-M2.5" "H4" "unknown" 62500 7500 -3100 -3100 0 100 ""]
-(
-       Pin[0 0 12000 2000 12600 9800 "1" "1" "usetherm,thermal(0S,1S)"]
-       ElementArc [0 0 7000 7000 0 360 1000]
-
        )
 Layer(1 "top")
 (
        Line[37559 52500 41326 52500 1000 2000 ""]
        Line[27900 52500 32441 52500 1000 2000 "clearline"]
-       Line[43282 18182 43300 18200 1000 2000 "clearline"]
-       Line[43282 18182 30670 18182 1000 2000 "clearline"]
-       Line[50532 38184 50532 41168 1000 2000 "clearline"]
+       Line[39348 3400 39330 3419 1000 2000 "clearline"]
+       Line[44574 52400 44474 52500 1000 2000 "clearline"]
+       Line[48800 52400 44574 52400 1000 2000 "clearline"]
        Line[50532 41168 50500 41200 1000 2000 "clearline"]
-       Line[22100 22700 47646 22700 1000 2000 "clearline"]
-       Line[47646 22700 48564 23618 1000 2000 "clearline"]
-       Line[50532 23618 50532 19932 1000 2000 "clearline"]
-       Line[50532 19932 50500 19900 1000 2000 "clearline"]
-       Line[54469 23618 54469 19669 1000 2000 "clearline"]
-       Line[54469 19669 48000 13200 1000 2000 "clearline"]
-       Line[48000 13200 39390 13200 1000 2000 "clearline"]
+       Line[50532 38184 50532 41168 1000 2000 "clearline"]
        Line[39390 13200 39330 13261 1000 2000 "clearline"]
-       Line[56437 23618 56437 19337 1000 2000 "clearline"]
-       Line[56437 19337 45400 8300 1000 2000 "clearline"]
-       Line[45400 8300 39370 8300 1000 2000 "clearline"]
        Line[39370 8300 39330 8340 1000 2000 "clearline"]
-       Line[50500 9300 44600 3400 1000 2000 "clearline"]
-       Line[44600 3400 39348 3400 1000 2000 "clearline"]
-       Line[39348 3400 39330 3419 1000 2000 "clearline"]
-       Line[62400 48400 62500 48500 1000 2000 "clearline"]
-       Line[22100 22700 22100 3900 1000 2000 "clearline"]
-       Line[30670 3419 22600 3419 1000 2000 "clearline"]
-       Line[22600 3419 22100 3919 1000 2000 "clearline"]
        Line[30670 13261 29061 13261 1000 2000 ""]
        Line[30670 8340 29060 8340 1000 2000 ""]
        Line[29060 8340 26600 10800 1000 2000 ""]
-       Line[25800 6574 25800 10000 1000 2000 ""]
        Line[29061 13261 25800 10000 1000 2000 ""]
-       Line[48564 38184 45104 38184 1000 2000 "clearline"]
-       Line[45104 38184 45100 38180 1000 2000 "clearline"]
-       Line[17100 30362 17100 32830 1000 2000 "clearline"]
-       Line[17100 32830 18820 34550 1000 2000 "clearline"]
-       Line[18820 34550 41476 34550 1000 2000 "clearline"]
-       Line[41476 34550 45110 38184 1000 2000 "clearline"]
-       Line[56437 38184 56437 44763 1000 2000 "clearline"]
+       Line[25800 6574 25800 10000 1000 2000 ""]
+       Line[43282 18182 43300 18200 1000 2000 "clearline"]
+       Line[43282 18182 30670 18182 1000 2000 "clearline"]
+       Line[48000 13200 39390 13200 1000 2000 "clearline"]
+       Line[44600 3400 39348 3400 1000 2000 "clearline"]
+       Line[45400 8300 39370 8300 1000 2000 "clearline"]
+       Line[50500 9300 44600 3400 1000 2000 "clearline"]
+       Line[62400 48400 62500 48500 1000 2000 "clearline"]
+       Line[62500 30900 62500 48500 1000 2000 ""]
        Line[56437 44763 48800 52400 1000 2000 "clearline"]
-       Line[48800 52400 44574 52400 1000 2000 "clearline"]
-       Line[44574 52400 44474 52500 1000 2000 "clearline"]
+       Line[56437 38184 56437 44763 1000 2000 "clearline"]
        Line[59784 30900 62500 30900 1000 2000 ""]
-       Line[62500 30900 62500 48500 1000 2000 ""]
-       Line[22100 26900 41000 26900 1000 2000 ""]
-       Line[41000 26900 41500 26400 1000 2000 ""]
-       Line[17100 25638 20838 25638 1000 2000 ""]
-       Line[20838 25638 22100 26900 1000 2000 ""]
+       Line[54469 23618 54469 19669 1000 2000 "clearline"]
+       Line[56437 23618 56437 19337 1000 2000 "clearline"]
+       Line[56437 19337 45400 8300 1000 2000 "clearline"]
+       Line[54469 19669 48000 13200 1000 2000 "clearline"]
+       Line[50532 19932 50500 19900 1000 2000 "clearline"]
+       Line[50532 23618 50532 19932 1000 2000 "clearline"]
+       Line[44900 21100 50400 15600 1000 2000 "clearline"]
+       Line[45500 22700 48300 19900 1000 2000 "clearline"]
+       Line[48300 19900 50500 19900 1000 2000 "clearline"]
+       Line[44900 21100 19048 21100 1000 2000 "clearline"]
+       Line[19048 21100 16500 18552 1000 2000 "clearline"]
+       Line[45500 22700 17076 22700 1000 2000 "clearline"]
+       Line[17076 22700 16500 23277 1000 2000 "clearline"]
+       Line[25200 17900 25200 13500 1000 2000 "clearline"]
+       Line[25200 13500 23300 11600 1000 2000 "clearline"]
+       Line[23300 11600 23300 4019 1000 2000 "clearline"]
+       Line[23300 4019 23900 3419 1000 2000 "clearline"]
+       Line[23900 3419 30670 3419 1000 2000 "clearline"]
+       Line[13700 39100 13700 33500 1000 2000 "clearline"]
+       Line[13700 33500 14400 32800 1000 2000 "clearline"]
+       Line[14400 32800 16424 32800 1000 2000 "clearline"]
+       Line[16424 32800 16500 32724 1000 2000 "clearline"]
+       Line[23474 25326 23200 25600 1000 2000 "clearline"]
+       Line[23474 25326 45274 25326 1000 2000 "clearline"]
+       Line[45274 25326 47000 23600 1000 2000 "clearline"]
+       Line[47000 23600 48546 23600 1000 2000 "clearline"]
+       Line[48546 23600 48564 23618 1000 2000 "clearline"]
+       Line[16500 28000 19800 28000 1000 2000 "clearline"]
+       Line[19800 28000 20000 28200 1000 2000 "clearline"]
+       Line[48564 38184 48416 38184 1000 2000 "clearline"]
+       Line[48416 38184 42400 44200 1000 2000 "clearline"]
+       Line[42400 44200 18800 44200 1000 2000 "clearline"]
+       Line[18800 44200 13700 39100 1000 2000 "clearline"]
+       Line[16500 37449 19351 37449 1000 2000 ""]
+       Line[19351 37449 20900 35900 1000 2000 ""]
+       Line[20900 35900 27600 35900 1000 2000 ""]
+       Line[27600 35900 27600 28474 1000 2000 ""]
+       Line[20900 35900 41600 35900 1000 2000 ""]
+       Line[41600 35900 41600 28474 1000 2000 ""]
        Polygon("clearpoly")
        (
                [500 500] [69500 500] [69500 55500] [500 55500] 
        )
        Polygon("clearpoly")
        (
-               [47500 23400] [19200 23400] [19200 33700] [47500 33700] 
+               [14600 25900] [46900 25900] [46900 43900] [14600 43900] 
        )
 )
 Layer(2 "bottom")
@@ -1039,13 +1058,20 @@ Layer(2 "bottom")
        Line[63600 31000 55900 31000 2500 2000 ""]
        Line[55900 28000 55600 27700 2500 2000 ""]
        Line[63600 42000 63600 18300 2500 2000 ""]
-       Line[22100 22700 26900 22700 2500 2000 "clearline"]
-       Line[26900 22700 35000 30800 2500 2000 "clearline"]
+       Line[52500 39200 50500 41200 1000 2000 "clearline"]
        Line[43300 18200 44700 18200 1000 2000 "clearline"]
+       Line[50500 19900 50500 9300 1000 2000 "clearline"]
        Line[44700 18200 52500 26000 1000 2000 "clearline"]
        Line[52500 26000 52500 39200 1000 2000 "clearline"]
-       Line[52500 39200 50500 41200 1000 2000 "clearline"]
-       Line[50500 19900 50500 9300 1000 2000 "clearline"]
+       Line[43300 8300 33200 8300 1000 2000 "clearline"]
+       Line[33200 8300 26600 14900 1000 2000 "clearline"]
+       Line[26600 14900 23900 14900 1000 2000 "clearline"]
+       Line[23200 25600 29800 25600 2500 2000 "clearline"]
+       Line[29800 25600 35000 30800 2500 2000 "clearline"]
+       Line[20000 28200 20000 18800 1000 2000 "clearline"]
+       Line[20000 18800 23900 14900 1000 2000 "clearline"]
+       Line[25200 17900 25200 21000 2500 2000 "clearline"]
+       Line[25200 21000 35000 30800 2500 2000 "clearline"]
        Polygon("clearpoly")
        (
                [500 500] [69500 500] [69500 55500] [500 55500] 
@@ -1064,9 +1090,9 @@ Layer(4 "silk")
 )
 Layer(5 "silk")
 (
-       Text[19200 43500 0 90 "Keith Packard" "clearline"]
-       Text[19200 36000 0 90 "` 2012" "clearline"]
-       Text[19100 28500 0 90 "MicroPeak" "clearline"]
+       Text[19200 44500 0 90 "Keith Packard" "clearline"]
+       Text[21500 37000 0 90 "` 2012" "clearline"]
+       Text[19200 29500 0 90 "MicroPeak" "clearline"]
 )
 NetList()
 (
@@ -1081,6 +1107,7 @@ NetList()
        )
        Net("clk" "(unknown)")
        (
+               Connect("J1-2")
                Connect("U1-14")
                Connect("U2-8")
        )
@@ -1101,27 +1128,29 @@ NetList()
                Connect("H2-1")
                Connect("H3-1")
                Connect("H4-1")
-               Connect("J1-1")
+               Connect("J1-5")
                Connect("U1-8")
                Connect("U1-21")
                Connect("U2-2")
                Connect("U2-3")
        )
-       Net("ISP" "(unknown)")
-       (
-               Connect("J1-2")
-               Connect("U1-1")
-       )
        Net("miso" "(unknown)")
        (
+               Connect("J1-1")
                Connect("U1-12")
                Connect("U2-6")
        )
        Net("mosi" "(unknown)")
        (
+               Connect("J1-3")
                Connect("U1-11")
                Connect("U2-7")
        )
+       Net("nRESET" "(unknown)")
+       (
+               Connect("J1-4")
+               Connect("U1-1")
+       )
        Net("unnamed_net1" "(unknown)")
        (
                Connect("R1-1")
index 4b74cc560ff1004ab960461f7f454647dd955da4..fe30f0180be182ab988ce8c5086b756c1fec2981 100644 (file)
@@ -148,29 +148,11 @@ N 47800 43500 48600 43500 4
 N 47800 42600 48600 42600 4
 N 48600 42600 48600 42700 4
 N 48600 43500 48600 43400 4
-C 47800 45100 1 180 1 conn-2.sym
-{
-T 48105 44455 5 10 1 1 180 6 1
-refdes=J1
-T 47800 45100 5 10 0 0 180 6 1
-footprint=pico-ezmate-2
-T 47800 45100 5 10 0 0 180 6 1
-loadstatus=smt
-T 47800 45100 5 10 0 0 180 6 1
-vendor=digikey
-T 47800 45100 5 10 0 0 180 6 1
-vendor_part_number=WM4459CT-ND
-T 47800 45100 5 10 0 0 180 6 1
-device=CONNECTOR
-T 47800 45100 5 10 0 0 180 6 1
-value=2 pin
-}
 N 47500 45000 47800 45000 4
 {
 T 47500 45100 5 10 1 1 0 0 1
-netname=ISP
+netname=nRESET
 }
-C 47700 44300 1 0 0 gnd-1.sym
 C 48900 45500 1 270 0 led-2.sym
 {
 T 49100 45200 5 10 1 1 0 0 1
@@ -265,3 +247,32 @@ footprint=hole-M2.5
 T 53700 42000 5 10 0 1 0 0 1
 loadstatus=noload
 }
+C 51100 42700 1 0 0 conn-5.sym
+{
+T 51455 44595 5 10 1 1 0 0 1
+refdes=J1
+T 51100 42700 5 10 0 0 0 0 1
+footprint=pico-ezmate-5
+}
+N 50500 44400 51100 44400 4
+{
+T 50500 44400 5 10 1 1 0 0 1
+netname=miso
+}
+N 50500 44000 51100 44000 4
+{
+T 50500 44000 5 10 1 1 0 0 1
+netname=clk
+}
+N 50500 43600 51100 43600 4
+{
+T 50500 43600 5 10 1 1 0 0 1
+netname=mosi
+}
+N 50500 43200 51100 43200 4
+{
+T 50500 43200 5 10 1 1 0 0 1
+netname=nRESET
+}
+N 50500 42800 51100 42800 4
+C 50400 42500 1 0 0 gnd-1.sym
diff --git a/packages/pico-ezmate-5.fp b/packages/pico-ezmate-5.fp
new file mode 100644 (file)
index 0000000..709f42a
--- /dev/null
@@ -0,0 +1,18 @@
+# author: Keith Packard
+# email: keithp@keithp.com
+# dist-license: GPL 2
+# use-license: unlimited
+Element["" "pico-ezmate-5" "" "" 0 0 0 0 0 100 ""]
+(
+    Pad[ -9448 -491 -9448 492 2362 2362 3543 "pin1" "1" "square"]
+    Pad[ -4723 -491 -4723 492 2362 2362 3543 "pin2" "2" "square"]
+    Pad[ 0 -491 0 492 2362 2362 3543 "pin3" "3" "square"]
+    Pad[ 4724 -491 4724 492 2362 2362 3543 "pin4" "4" "square"]
+    Pad[ 9449 -491 9449 492 2362 2362 3543 "pin5" "5" "square"]
+    Pad[ 13976 14665 13976 15059 2756 2362 3937 "GND" "GND" "square"]
+    Pad[ -13975 14665 -13975 15059 2756 2362 3937 "GND" "GND" "square"]
+    ElementLine[ -15353 -747 15354 -747 500]
+    ElementLine[ 15354 -747 15354 16969 500]
+    ElementLine[ 15354 16969 -15353 16969 500]
+    ElementLine[ -15353 16969 -15353 -747 500]
+    )
diff --git a/packages/pico-ezmate.py b/packages/pico-ezmate.py
new file mode 100644 (file)
index 0000000..460e17c
--- /dev/null
@@ -0,0 +1,111 @@
+# author: Keith Packard
+# email: keithp@keithp.com
+# dist-license: GPL 2
+# use-license: unlimited
+
+def mm2mils100( mm ):
+       return int( mm / 25.4 * 1000.0 * 100.0 + 0.5 )
+
+PadWidth = 0.60
+PadHeight = 0.85
+PadSpacing = 1.20
+PadToHoldX = 0.80
+PadToHoldY = 3.75
+HoldWidth = 0.70
+HoldHeight = 0.80
+Clearance = 0.6
+
+OutlineX = 1.5
+OutlineYPad = - (0.38 / 2)
+OutlineYHold = OutlineYPad + 4.5
+
+NumPad=5
+
+print '# author: Keith Packard'
+print '# email: keithp@keithp.com'
+print '# dist-license: GPL 2'
+print '# use-license: unlimited'
+
+print 'Element["" "pico-ezmate-%d" "" "" 0 0 0 0 0 100 ""]' % NumPad
+print "("
+
+PadX = PadSpacing * NumPad / 2
+
+# Hold-down pads
+
+HoldY = PadHeight / 2 + PadToHoldY - HoldHeight / 2
+
+def pad(cx, cy, w, h, name, num):
+    x1 = 0
+    y1 = 0
+    x2 = 0
+    y2 = 0
+    thickness = 0
+    if w > h:
+        thickness = h
+        y1 = cy
+        x1 = cx - (w - h) / 2
+        y2 = cy
+        x2 = cx + (w - h) / 2
+    else:
+        thickness = w
+        x1 = cx
+        y1 = cy - (h - w) / 2
+        x2 = cx
+        y2 = cy + (h - w) / 2
+    mask = thickness + Clearance / 2
+    print '    Pad[',\
+        mm2mils100(x1), \
+        mm2mils100(y1), \
+        mm2mils100(x2), \
+        mm2mils100(y2), \
+        mm2mils100(thickness), \
+        mm2mils100(Clearance), \
+        mm2mils100(mask),\
+        '"%s"' % name, '"%s"' % num, '"square"]'
+    
+def line(x1, y1, x2, y2):
+    print '    ElementLine[',\
+        mm2mils100(x1), \
+        mm2mils100(y1), \
+        mm2mils100(x2), \
+        mm2mils100(y2), \
+        '500]'
+    
+def rect(x, y, w, h):
+    line(x,y,x+w,y)
+    line(x+w,y,x+w,y+h)
+    line(x+w,y+h,x,y+h)
+    line(x,y+h,x,y)
+
+def padx(p):
+    return -PadSpacing * (NumPad-1) / 2 + PadSpacing * (p - 1)
+
+def holdx(h):
+    return h * (padx(1) - PadToHoldX - HoldWidth / 2)
+
+
+for p in range(1,NumPad+1):
+    pad(padx(p), 0, PadWidth, PadHeight, 'pin%i' % p, '%i' % p)
+
+for h in -1, 1:
+    pad(holdx(h), HoldY, HoldWidth, HoldHeight, 'GND', 'GND')
+
+rect(padx(1) - OutlineX, OutlineYPad,
+     PadSpacing * (NumPad-1) + OutlineX*2,
+     4.5)
+
+print '    )'    
+       # 11000 2000
+#      ElementLine[-11000 -1000 -3600 -1000 100]
+#      ElementLine[  3600 -1000 11000 -1000 100]
+#
+#      ElementLine[11000 -1000 11000 17000 100]
+#      ElementLine[11000 17000 6000 17000 100]
+#      ElementLine[ 6000 17000 4000 15000 100]
+#      ElementLine[ 4000 15000 -4000 15000 100]
+#      ElementLine[-4000 15000 -6000 17000 100]
+#      ElementLine[-6000 17000 -11000 17000 100]
+#      ElementLine[-11000 17000 -11000 -1000 100]
+#      )
+#
diff --git a/symbols/conn-5.sym b/symbols/conn-5.sym
new file mode 100644 (file)
index 0000000..d1cb15d
--- /dev/null
@@ -0,0 +1,59 @@
+v 20080127 1
+P 0 1700 300 1700 1 0 0
+{
+T 0 1700 5 10 0 0 0 0 1
+pintype=unknown
+T 355 1695 5 10 0 1 0 0 1
+pinlabel=unknown
+T 205 1745 5 10 1 1 0 6 1
+pinnumber=1
+T 0 1700 5 10 0 0 0 0 1
+pinseq=0
+}
+P 0 1300 300 1300 1 0 0
+{
+T 0 1300 5 10 0 0 0 0 1
+pintype=unknown
+T 355 1295 5 10 0 1 0 0 1
+pinlabel=unknown
+T 205 1345 5 10 1 1 0 6 1
+pinnumber=2
+T 0 1300 5 10 0 0 0 0 1
+pinseq=0
+}
+P 0 900 300 900 1 0 0
+{
+T 0 900 5 10 0 0 0 0 1
+pintype=unknown
+T 355 895 5 10 0 1 0 0 1
+pinlabel=unknown
+T 205 945 5 10 1 1 0 6 1
+pinnumber=3
+T 0 900 5 10 0 0 0 0 1
+pinseq=0
+}
+P 0 500 300 500 1 0 0
+{
+T 0 500 5 10 0 0 0 0 1
+pintype=unknown
+T 355 495 5 10 0 1 0 0 1
+pinlabel=unknown
+T 205 545 5 10 1 1 0 6 1
+pinnumber=4
+T 0 500 5 10 0 0 0 0 1
+pinseq=0
+}
+P 0 100 300 100 1 0 0
+{
+T 0 100 5 10 0 0 0 0 1
+pintype=unknown
+T 355 95 5 10 0 1 0 0 1
+pinlabel=unknown
+T 205 145 5 10 1 1 0 6 1
+pinnumber=5
+T 0 100 5 10 0 0 0 0 1
+pinseq=0
+}
+B 300 0 400 1800 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
+T 355 1895 8 10 1 1 0 0 1
+refdes=J?