From 753faaab1338055086df0ca0aea7a01ab8235642 Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Tue, 26 Jan 2010 22:16:15 -0700 Subject: [PATCH] move to purpose-made USB cable footprint and minimum diameter vias --- README.panel | 4 + panel.pl | 100 ++++++++++++++ panel2pcb | 93 ++++++++++++++ pcb2panel | 70 ++++++++++ teledongle.pcb | 343 ++++++++++++++++++++++++------------------------- 5 files changed, 436 insertions(+), 174 deletions(-) create mode 100644 README.panel create mode 100644 panel.pl create mode 100755 panel2pcb create mode 100755 pcb2panel diff --git a/README.panel b/README.panel new file mode 100644 index 0000000..75d4bcf --- /dev/null +++ b/README.panel @@ -0,0 +1,4 @@ +$ ./pcb2panel board1.pcb board2.pcb board3.pcb > boards.pcb +$ pcb boards.pcb +$ ./panel2pcb boards.pcb +$ pcb boards.panel.pcb diff --git a/panel.pl b/panel.pl new file mode 100644 index 0000000..fc482b2 --- /dev/null +++ b/panel.pl @@ -0,0 +1,100 @@ +#!/usr/bin/perl +# -*- perl -*- + +# Copyright 2006 DJ Delorie +# Released under the terms of the GNU General Public License, version 2 + +sub baseboard { + my ($file, $width, $height, $nbase) = @_; + if (! $nbase) { + $base = $file; + $base =~ s@.*/@@; + } else { + $base = $nbase; + } + + $pscript = "$base.pscript"; + open(PS, ">$pscript"); + push(@files_to_remove, "$base.pscript"); + + open(S, $file) || die("$file: $!"); + $outname = "$base.panel.pcb"; + $outname =~ s/pnl\.panel\.pcb/pcb/; + open(O, ">$outname"); + while () { + if (/PCB\[.* (\d+) (\d+)\]/) { + s/ (\d+) (\d+)\]/ $width $height\]/; + } + s/Cursor\[.*\]/Cursor[0 0 0.0]/; + next if /\b(Via|Pin|Pad|ElementLine|Line|Arc|ElementArc|Text)/; + if (/Polygon|Element/) { + while () { + last if /^\s*\)\s*$/; + } + next; + } + if (/Layer/) { + if (@panelvias) { + print O @panelvias; + @panelvias = (); + } + } + print O; + if (/Layer/) { + print O scalar ; + print O @panelcopper; + } + } + close O; + close S; + + print PS "LoadFrom(Layout,$outname)\n"; + + $ox = $oy = 0; +} + +sub loadboard { + my ($file) = @_; + $seq = 1 + $seq; + + open(S, $file); + open(O, ">temp-panel.$seq"); + while () { + if (/PCB\[.* (\d+) (\d+)\]/) { + $width = $1; + $height = $2; + } + s/Cursor\[.*\]/Cursor[0 0 0.0]/; + print O; + } + close O; + close S; + print PS "LoadFrom(LayoutToBuffer,temp-panel.$seq)\n"; + push(@files_to_remove, "temp-panel.$seq"); +} + +sub opaste { + $vx = $ox; + $vy = $oy + $height; + print PS "PasteBuffer(ToLayout,$ox,$oy)\n"; + $ox += $width; + $oy = 0; +} + +sub vpaste { + print PS "PasteBuffer(ToLayout,$vx,$vy)\n"; + $vy += $height; +} + +sub done { + print PS "SaveTo(LayoutAs,$outname)\n"; + print PS "Quit()\n"; + + close PS; + + system "set -x; pcb --action-script $pscript"; + #system "pcb -x ps $base.panel.pcb"; + #unlink @files_to_remove; +} + +1; diff --git a/panel2pcb b/panel2pcb new file mode 100755 index 0000000..565230c --- /dev/null +++ b/panel2pcb @@ -0,0 +1,93 @@ +#!/usr/bin/perl +# -*- perl -*- + +# Copyright 2006 DJ Delorie +# Released under the terms of the GNU General Public License, version 2 + +if (! @ARGV) { + print "Usage: pcb2panel board1.pcb board2.pcb board3.pcb > boards.pcb"; + print "Then edit boards.pcb, putting each outline where you want it\n"; + print "and sizing the board. Then:\n"; + print "panel2pcb boards.pcb\n"; + print "and edit/print boards.panel.pcb\n"; + exit 0; +} + +$mydir = $0; +if ($mydir =~ m@/@) { + $mydir =~ s@[^/]*$@@; +} else { + $mydir = "."; +} + require "$mydir/panel.pl"; + +$panel = shift; + +open(P, $panel); +while (

) { + if (/PCB\[.* (\d+) (\d+)\]/) { + $panel_width = $1; + $panel_height = $2; + } + if (/Element\[\"[^\"]*\" \"([^\"]*)\" \"([^\"]*)\" \"([^\"]*)\" (\d+) (\d+)/) { + $pcb = $1; + $base = $2; + $value = $3; + $mx = $4; + $my = $5; + %pinx = (); + %piny = (); + } + if (/Pin\[([\d-]+) ([\d-]+) \d+ \d+ \d+ \d+ \"(\d)\"/) { + $pinx{$3} = $1; + $piny{$3} = $2; + } + if ($pcb && /\)/) { + if ($pinx{'1'} < $pinx{'2'}) { + $rot = 0; + } elsif ($pinx{'1'} > $pinx{'2'}) { + $rot = 2; + } elsif ($piny{'1'} < $piny{'2'}) { + $rot = 3; + } elsif ($piny{'1'} > $piny{'2'}) { + $rot = 1; + } + push (@paste, "$pcb\0$rot\0$mx\0$my"); + $pcb = undef; + } + if (/Via/) { + push (@panelvias, $_); + } + if (/^Layer\([^)]*\)$/) { + $junk =

; # The opening '(' + while ($junk =

) { + last if $junk =~ /^\)/; + push (@panelcopper, $junk); + } + } +} + +$tmp = "/tmp/panel$$.pcb"; + +$start = $paste[0]; +$start =~ s/\0.*//; + +$panel =~ s/\.pcb$//; +&baseboard($start, $panel_width, $panel_height, $panel); + +$lastboard = undef; +for $paste (sort @paste) { + ($pcb, $rot, $mx, $my) = split(/\0/, $paste); + if ($lastboard ne $pcb) { + &loadboard ($pcb); + $lastboard = $pcb; + $lastrot = 0; + } + while ($lastrot != $rot) { + print PS "PasteBuffer(Rotate,1)\n"; + $lastrot = ($lastrot+1) % 4; + } + print PS "PasteBuffer(ToLayout,$mx,$my)\n"; +} + +&done(); diff --git a/pcb2panel b/pcb2panel new file mode 100755 index 0000000..63206dc --- /dev/null +++ b/pcb2panel @@ -0,0 +1,70 @@ +#!/usr/bin/perl +# -*- perl -*- + +# Copyright 2006 DJ Delorie +# Released under the terms of the GNU General Public License, version 2 + +if (! @ARGV) { + print "Usage: pcb2panel board1.pcb board2.pcb board3.pcb > boards.pcb\n"; + print "Then edit boards.pcb, putting each outline where you want it\n"; + print "and sizing the board. Then:\n"; + print "panel2pcb boards.pcb\n"; + print "and edit/print boards.panel.pcb\n"; + exit 0; +} + +for $pcb (@ARGV) { + $base = $pcb; + $base =~ s@.*/@@; + $base =~ s@\.pcb$@@; + $base{$pcb} = $base; + push (@pcbs, $pcb); + open(PCB, $pcb); + while () { + if (/^PCB\[".*" (\d+) (\d+)\]/) { + $width{$pcb} = $1; + $height{$pcb} = $2; + break; + } + } + close PCB; +} + +$pw = 10000; +$ph = 0; +for $pcb (@pcbs) { + $pw += 10000; + $pw += $width{$pcb}; + $ph = $height{$pcb} if $ph < $height{$pcb}; +} +$ph += 20000; + +print "PCB[\"\" $pw $ph]\n"; +print "Grid[10000.0 0 0 1]\n"; +print "Groups(\"1,c:2,s\")\n"; + +$x = 10000; +$y = 10000; +for $pcb (@pcbs) { + $desc = $pcb; + $name = $base{$pcb}; + $value = "$width{$pcb} x $height{$pcb}"; + $w = $width{$pcb}; + $h = $height{$pcb}; + print "Element[\"\" \"$desc\" \"$name\" \"$value\" $x $y 2000 2000 0 50 \"\"] (\n"; + print " Pin[0 0 300 0 0 100 \"1\" \"1\" \"\"]\n"; + print " Pin[$w 0 300 0 0 100 \"2\" \"2\" \"\"]\n"; + print " ElementLine[0 0 $w 0 100]\n"; + print " ElementLine[0 0 0 $h 100]\n"; + print " ElementLine[$w 0 $w $h 100]\n"; + print " ElementLine[0 $h $w $h 100]\n"; + print ")\n"; + $x += $w + 10000; +} + +print "Layer(1 \"component\")()\n"; +print "Layer(2 \"solder\")()\n"; +print "Layer(3 \"silk\")()\n"; +print "Layer(4 \"silk\")()\n"; + +exit 0; diff --git a/teledongle.pcb b/teledongle.pcb index 97cbdb4..5bb3ae0 100644 --- a/teledongle.pcb +++ b/teledongle.pcb @@ -1,5 +1,5 @@ # release: pcb 20091103 -# date: Sat Jan 2 20:25:26 2010 +# date: Tue Jan 26 22:15:53 2010 # user: bdale (Bdale Garbee,KB0G) # host: rover @@ -15,7 +15,7 @@ Thermal[0.500000] DRC[600 1000 600 500 1500 650] Flags("nameonpcb,clearnew,snappin") Groups("1,c:2,s:3") -Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,24000,23600,1000:Skinny,600,2402,1181,600"] +Styles["Signal,1000,3000,1500,1000:Power,2500,6000,3500,1000:Fat,4000,24000,23600,1000:Skinny,600,2402,1181,600"] Symbol(' ' 18) ( @@ -801,37 +801,36 @@ Via[45200 13100 3600 2000 0 2000 "" "thermal(1X)"] Via[70700 74000 3600 2000 0 2000 "" "thermal(1X)"] Via[45200 3100 3600 2000 0 2000 "" "thermal(1X)"] Via[65200 3100 3600 2000 0 2000 "" "thermal(1X)"] -Via[70600 50800 3600 2000 0 2000 "" "thermal(1X)"] +Via[79700 32600 3000 2000 0 1500 "" "thermal(1X)"] Via[84400 77000 3600 2000 0 2000 "" "thermal(1X)"] -Via[14400 71600 3600 2000 0 2000 "" ""] -Via[46100 24300 3600 2000 0 2000 "" "thermal(1X)"] -Via[51800 87800 3600 2000 0 2000 "" ""] -Via[80100 92000 3600 2000 0 2000 "" ""] -Via[70900 97000 3600 2000 0 2000 "" "thermal(1X)"] -Via[81300 69100 3600 2000 0 2000 "" ""] -Via[75900 87800 3600 2000 0 2000 "" ""] -Via[20600 87300 3600 2000 0 2000 "" ""] -Via[86700 63200 3600 2000 0 2000 "" ""] -Via[56800 81000 3600 2000 0 2000 "" ""] +Via[31300 67200 3000 2000 0 1500 "" ""] +Via[29000 52000 3000 2000 0 1500 "" "thermal(1X)"] +Via[88800 86100 3000 2000 0 1500 "" ""] +Via[55800 47900 3000 2000 0 1500 "" ""] +Via[75100 91300 3000 2000 0 1500 "" "thermal(0X,1X)"] +Via[86700 63200 3000 2000 0 1500 "" ""] +Via[48000 49800 3000 2000 0 1500 "" ""] +Via[56800 81600 3000 2000 0 1500 "" ""] +Via[74900 56500 3000 2000 0 1500 "" ""] +Via[45200 88800 3000 2000 0 1500 "" ""] Via[65200 13100 3600 2000 0 2000 "" "thermal(1X)"] -Via[36800 82600 3600 2000 0 2000 "" "thermal(1X)"] -Via[41500 78300 3600 2000 0 2000 "" ""] -Via[12600 78300 3600 2000 0 2000 "" ""] -Via[23000 75100 3600 2000 0 2000 "" ""] -Via[79600 32600 3600 2000 0 2000 "" "thermal(1X)"] -Via[37600 75100 3600 2000 0 2000 "" ""] -Via[37600 70800 3600 2000 0 2000 "" ""] -Via[27400 74800 3600 2000 0 2000 "" "thermal(0X,1X)"] -Via[30800 67100 3600 2000 0 2000 "" ""] -Via[42900 41400 3600 2000 0 2000 "" "thermal(1X)"] -Via[74900 56400 3600 2000 0 2000 "" ""] -Via[39700 53700 3600 2000 0 2000 "" ""] -Via[47900 49900 3600 2000 0 2000 "" ""] -Via[29000 51900 3600 2000 0 2000 "" "thermal(0X,1X)"] -Via[55800 47200 3600 2000 0 2000 "" ""] -Via[59300 39600 3600 2000 0 2000 "" "thermal(1X)"] -Via[41100 90800 3600 2000 0 2000 "" ""] -Via[91100 86000 3600 2000 0 2000 "" ""] +Via[27500 74700 3000 2000 0 1500 "" "thermal(1X)"] +Via[36800 82600 3000 2000 0 1500 "" "thermal(0X,1X)"] +Via[14500 71600 3000 2000 0 1500 "" ""] +Via[20600 87300 3000 2000 0 1500 "" ""] +Via[59600 39400 3000 2000 0 1500 "" "thermal(1X)"] +Via[41600 78300 3000 2000 0 1500 "" ""] +Via[57000 89300 3000 2000 0 1500 "" ""] +Via[23200 75000 3000 2000 0 1500 "" ""] +Via[37700 70800 3000 2000 0 1500 "" ""] +Via[45800 24200 3000 2000 0 1500 "" "thermal(0X,1X)"] +Via[70700 50900 3000 2000 0 1500 "" "thermal(1X)"] +Via[40200 41400 3000 2000 0 1500 "" "thermal(1X)"] +Via[39600 53800 3000 2000 0 1500 "" ""] +Via[12600 78300 3000 2000 0 1500 "" ""] +Via[75100 87400 3000 2000 0 1500 "" ""] +Via[37700 75000 3000 2000 0 1500 "" ""] +Via[81400 69100 3000 2000 0 1500 "" ""] Element["" "0402" "C23" "8.2pF" 50174 26893 -15172 -3129 0 100 ""] ( @@ -854,10 +853,10 @@ Element["" "0402" "C12" "0.1uF" 42201 82587 -6161 872 0 100 ""] ) -Element["" "0402" "R6" "1.5k" 81500 87600 6958 -3091 3 100 ""] +Element["" "0402" "R6" "1.5k" 93300 86100 -2791 742 0 100 ""] ( - Pad[-393 1574 393 1574 1968 2000 2568 "1" "1" "square"] - Pad[-393 -1574 393 -1574 1968 2000 2568 "2" "2" "square"] + Pad[-1574 -393 -1574 393 1968 2000 2568 "1" "1" "square"] + Pad[1574 -393 1574 393 1968 2000 2568 "2" "2" "square"] ) @@ -868,7 +867,7 @@ Element["" "0402" "R13" "270" 51768 82254 3958 2991 3 100 ""] ) -Element["" "0402" "R7" "33" 56807 87774 2530 -10291 3 100 ""] +Element["" "0402" "R7" "33" 61207 87726 2630 -9391 3 100 ""] ( Pad[-393 1574 393 1574 1968 2000 2568 "1" "1" "square"] Pad[-393 -1574 393 -1574 1968 2000 2568 "2" "2" "square"] @@ -895,7 +894,7 @@ Element["" "0402" "L4" "27nH" 49821 36326 -1948 -5677 3 100 ""] ) -Element["" "QFN36" "U9" "CC1111" 52880 63980 0 0 0 100 ""] +Element["" "QFN36" "U9" "CC1111" 52880 63980 13360 -4240 0 100 ""] ( Pin[-5919 -5919 2800 1000 0 1500 "GND Exposed" "37" "via,thermal(1X)"] Pin[0 -5919 2800 1000 0 1500 "GND Exposed" "37" "via,thermal(1X)"] @@ -1002,7 +1001,7 @@ Element["" "0402" "C30" "22pF" 75074 32293 -4557 -6958 0 100 ""] ) -Element["" "0603diode" "D2" "red" 75392 94241 2957 5576 3 100 ""] +Element["" "0603diode" "D2" "red" 79000 89400 2757 5876 3 100 ""] ( Pad[-492 -2559 492 -2559 2952 2000 3552 "1" "1" "square"] Pad[-492 2559 492 2559 2952 2000 3552 "2" "2" "square"] @@ -1029,20 +1028,6 @@ Element["" "ABM8" "X1" "48mhz" 75158 41765 -3600 -3169 0 100 ""] ) -Element["" "530470510" "J5" "USBcable" 39752 91472 800 6100 0 100 ""] -( - Pin[5906 4528 3500 600 4100 2047 "GND" "5" "edge2,thermal(0X,1X)"] - Pin[10827 4528 3500 600 4100 2047 "HS" "4" "edge2,thermal(1X)"] - Pin[15748 4528 3500 600 4100 2047 "DATA+" "3" "edge2"] - Pin[20669 4528 3500 600 4100 2047 "DATA-" "2" "edge2"] - Pin[25591 4528 3500 600 4100 2047 "VBUS" "1" "square,edge2"] - ElementLine [31496 0 0 0 600] - ElementLine [31496 12598 31496 0 600] - ElementLine [0 12598 31496 12598 600] - ElementLine [0 0 0 12598 600] - - ) - Element["" "0402" "R12" "270" 48068 82254 2858 2891 3 100 ""] ( Pad[-393 -1574 393 -1574 1968 2000 2568 "1" "1" "square"] @@ -1150,7 +1135,7 @@ Element["" "0402" "C2" "47pF" 67807 76974 3158 -10491 3 100 ""] ) -Element["" "0402" "C5" "1uF" 81393 80274 -944 -2291 3 100 ""] +Element["" "0402" "C5" "1uF" 81393 80274 -944 -1691 3 100 ""] ( Pad[-393 -1574 393 -1574 1968 2000 2568 "1" "1" "square"] Pad[-393 1574 393 1574 1968 2000 2568 "2" "2" "square"] @@ -1171,21 +1156,21 @@ Element["" "0402" "L3" "27nH" 55207 25626 2314 -2895 0 100 ""] ) -Element["" "0402" "R8" "33" 61307 87826 2914 -10295 3 100 ""] +Element["" "0402" "R8" "33" 65007 87726 3314 -9195 3 100 ""] ( Pad[-393 1574 393 1574 1968 2000 2568 "1" "1" "square"] Pad[-393 -1574 393 -1574 1968 2000 2568 "2" "2" "square"] ) -Element["" "0402" "C37" "1uF" 81393 73526 -1063 -6110 3 100 ""] +Element["" "0402" "C37" "1uF" 81393 73526 -1063 -6710 3 100 ""] ( Pad[-393 1574 393 1574 1968 2000 2568 "1" "1" "square"] Pad[-393 -1574 393 -1574 1968 2000 2568 "2" "2" "square"] ) -Element["" "0603diode" "D1" "green" 31792 94341 3090 6109 3 100 ""] +Element["" "0603diode" "D1" "green" 32192 89441 3090 6109 3 100 ""] ( Pad[-492 -2559 492 -2559 2952 2000 3552 "1" "1" "square"] Pad[-492 2559 492 2559 2952 2000 3552 "2" "2" "square"] @@ -1202,14 +1187,14 @@ Element["" "0402" "C28" "0.1uF" 55993 43574 6871 -1572 3 100 ""] ) -Element["" "0402" "C9" "0.1uF" 47693 45926 -4687 -1831 3 100 ""] +Element["" "0402" "C9" "0.1uF" 47593 44126 -7801 -2583 3 100 ""] ( Pad[-393 1574 393 1574 1968 2000 2568 "1" "1" "square"] Pad[-393 -1574 393 -1574 1968 2000 2568 "2" "2" "square"] ) -Element["" "0402" "R16" "56k" 43907 45926 -5566 -3395 3 100 ""] +Element["" "0402" "R16" "56k" 43407 44226 -5566 -3395 3 100 ""] ( Pad[-393 1574 393 1574 1968 2000 2568 "1" "1" "square"] Pad[-393 -1574 393 -1574 1968 2000 2568 "2" "2" "square"] @@ -1263,16 +1248,26 @@ Element["" "0402" "L1" "27nH" 59288 35345 -693 -7055 0 100 ""] Pad[1574 -393 1574 393 1968 2000 2568 "1" "1" "square"] Pad[-1574 -393 -1574 393 1968 2000 2568 "2" "2" "square"] + ) + +Element["" "usbcable" "J5" "USBcable" 72500 97600 -36975 4770 0 100 ""] +( + Pin[0 0 6250 3000 6250 3800 "1" "1" "square,edge2"] + Pin[-7500 0 6250 3000 6250 3800 "2" "2" "edge2"] + Pin[-15000 0 6250 3000 6250 3800 "3" "3" "edge2"] + Pin[-22500 0 6250 3000 6250 3800 "4" "4" "edge2,thermal(0X,1X)"] + Pin[-31500 0 8700 3000 8700 6250 "5" "5" "edge2,thermal(1X)"] + ) Layer(1 "top") ( - Line[25100 99800 28700 103400 1000 2000 "clearline"] + Line[56386 42000 56900 42000 1000 2000 "clearline"] Line[3800 78600 8900 83700 1000 2000 "clearline"] Line[64730 60044 80056 60044 1000 2000 "clearline"] Line[67193 56107 67200 56100 1000 2000 "clearline"] Line[64730 65949 66951 65949 1000 2000 "clearline"] - Line[47675 83828 47675 89425 1000 2000 "clearline"] - Line[65300 96043 65343 96000 1000 2000 "clearline"] + Line[63466 35738 63800 35404 1000 2000 "clearline"] + Line[48000 49500 48000 46500 1000 2000 "clearline"] Line[67100 49986 69786 49986 1000 2000 "clearline"] Line[76748 50914 76748 48837 1000 2000 "clearline"] Line[76748 48837 78800 46785 1000 2000 "clearline"] @@ -1291,9 +1286,9 @@ Layer(1 "top") Line[62100 50200 63738 50200 1000 2000 "clearline"] Line[50912 75830 50912 80531 1000 2000 "clearline"] Line[41031 58075 39075 58075 1000 2000 "clearline"] - Line[48944 75830 48944 81297 1000 2000 "clearline"] + Line[48944 75830 48944 81097 1000 2000 "clearline"] Line[39075 58075 37100 56100 1000 2000 "clearline"] - Line[99800 86100 100900 85000 1000 2000 "clearline"] + Line[99800 86000 100900 85000 1000 2000 "clearline"] Line[40607 82500 41127 81980 1000 2000 "clearline"] Line[46975 75830 46975 77266 1000 2000 "clearline"] Line[46975 77266 44261 79980 1000 2000 "clearline"] @@ -1346,18 +1341,18 @@ Layer(1 "top") Line[86552 81848 87500 80900 1000 2000 "clearline"] Line[81000 81848 86552 81848 1000 2000 "clearline"] Line[81300 69100 81300 71466 1000 2000 "clearline"] - Line[43100 41200 42900 41400 1000 2000 "clearline"] + Line[45007 52131 44931 52131 1000 2000 "clearline"] Line[81300 71466 81786 71952 1000 2000 "clearline"] - Line[42900 41400 42900 43738 1000 2000 "clearline"] - Line[25100 85500 25100 99800 1000 2000 "clearline"] - Line[81893 86026 99574 86026 1000 2000 "clearline"] + Line[11800 78300 5800 72300 1000 2000 "clearline"] + Line[25100 85500 25100 106700 1000 2000 "clearline"] + Line[77500 69900 64744 69900 1000 2000 "clearline"] Line[55800 45734 56386 45148 1000 2000 "clearline"] Line[54814 27200 51834 27200 1000 2000 "clearline"] Line[55300 30300 55300 27686 1000 2000 "clearline"] Line[54814 21128 54800 21114 1000 2000 "clearline"] - Line[60421 90679 61700 89400 1000 2000 "clearline"] + Line[80000 96800 87500 89800 1000 2000 "clearline"] Line[39651 65949 39600 66000 1000 2000 "clearline"] - Line[43775 88125 41100 90800 1000 2000 "clearline"] + Line[77500 78600 77500 69900 1000 2000 "clearline"] Line[55300 27686 54814 27200 1000 2000 "clearline"] Line[34100 76800 34100 69800 1000 2000 "clearline"] Line[38600 67600 36300 67600 1000 2000 "clearline"] @@ -1365,13 +1360,13 @@ Layer(1 "top") Line[64730 58075 67075 58075 1000 2000 "clearline"] Line[64730 56107 67193 56107 1000 2000 "clearline"] Line[64730 63980 66980 63980 1000 2000 "clearline"] - Line[33202 92700 32284 91782 1000 2000 "clearline"] - Line[75900 87800 75900 90998 1000 2000 "clearline"] - Line[50700 96121 50579 96000 1000 2000 "clearline"] - Line[28700 103400 77300 103400 1000 2000 "clearline"] + Line[60862 35738 63466 35738 1000 2000 "clearline"] + Line[65000 97800 65000 89686 1000 2000 "clearline"] + Line[48000 46500 47200 45700 1000 2000 "clearline"] + Line[87500 89800 99600 89800 1000 2000 "clearline"] Line[66951 65949 67000 65900 1000 2000 "clearline"] - Line[65300 98700 65300 96043 1000 2000 "clearline"] - Line[63700 100300 65300 98700 1000 2000 "clearline"] + Line[43300 50500 43300 46086 1000 2000 "clearline"] + Line[44931 52131 43300 50500 1000 2000 "clearline"] Line[63926 50526 63852 50600 1000 2000 "clearline"] Line[73200 75400 72100 75400 1000 2000 "clearline"] Line[67074 50526 67000 50600 1000 2000 "clearline"] @@ -1380,24 +1375,24 @@ Layer(1 "top") Line[9700 63500 27933 63500 1000 2000 "clearline"] Line[49428 37900 46248 37900 1000 2000 "clearline"] Line[54814 24052 54814 21128 1000 2000 "clearline"] - Line[34200 92700 33202 92700 1000 2000 "clearline"] + Line[43300 46086 43014 45800 1000 2000 "clearline"] Line[60754 78254 60800 78300 1000 2000 "clearline"] - Line[43775 82980 43775 88125 1000 2000 "clearline"] + Line[77448 78548 77500 78600 1000 2000 "clearline"] Line[17000 83700 20600 87300 1000 2000 "clearline"] Line[41031 67917 38917 67917 1000 2000 "clearline"] Line[81300 69100 93300 69100 1000 2000 "clearline"] Line[64730 67917 80117 67917 1000 2000 "clearline"] - Line[36000 94500 34200 92700 1000 2000 "clearline"] - Line[32566 91500 32284 91782 1000 2000 "clearline"] - Line[73400 82600 85800 82600 2500 2000 "clearline"] + Line[94600 86052 99774 86026 1000 2000 "clearline"] + Line[12600 78300 11800 78300 1000 2000 "clearline"] + Line[74100 82600 85800 82600 2500 2000 "clearline"] Line[85800 82600 87500 80900 2500 2000 "clearline"] Line[64730 62012 85512 62012 1000 2000 "clearline"] Line[85512 62012 86700 63200 1000 2000 "clearline"] Line[51848 22286 54686 22286 1000 2000 "clearline"] Line[51834 27200 51748 27286 1000 2000 "clearline"] Line[100900 85000 100900 76700 1000 2000 "clearline"] - Line[42900 43738 43514 44352 1000 2000 "clearline"] - Line[56817 81483 56600 81700 1000 2000 "clearline"] + Line[20000 76800 28000 84800 1000 2000 "clearline"] + Line[49000 84367 48461 83828 1000 2000 "clearline"] Line[56817 75830 56817 81483 1000 2000 "clearline"] Line[68200 75400 69300 75400 1000 2000 "clearline"] Line[37600 74900 37985 74900 1000 2000 "clearline"] @@ -1417,22 +1412,22 @@ Layer(1 "top") Line[26400 78200 32700 78200 1000 2000 "clearline"] Line[63926 47593 63926 50526 1000 2000 "clearline"] Line[51800 84253 51375 83828 1000 2000 "clearline"] - Line[66362 80600 68514 78448 1000 2000 "clearline"] - Line[30900 95814 30516 96198 1000 2000 "clearline"] + Line[65000 89686 64614 89300 1000 2000 "clearline"] + Line[73986 78548 77448 78548 1000 2000 "clearline"] Line[8900 83700 17000 83700 1000 2000 "clearline"] Line[80117 67917 81300 69100 1000 2000 "clearline"] Line[19900 68700 19700 68500 1000 2000 "clearline"] Line[95600 57400 97200 55800 1000 2000 "clearline"] Line[72100 75400 70700 74000 1000 2000 "clearline"] - Line[64730 80570 64700 80600 1000 2000 "clearline"] + Line[35400 92000 41000 97600 1000 2000 "clearline"] Line[19900 76800 19900 68700 1000 2000 "clearline"] - Line[77300 103400 80100 100600 1000 2000 "clearline"] + Line[80000 103400 80000 96700 1000 2000 "clearline"] Line[55200 13700 55200 17480 1000 2000 "clearline"] Line[19700 58500 6400 58500 1000 2000 "clearline"] Line[6400 58500 5800 59200 1000 2000 "clearline"] Line[5800 59100 5800 72300 1000 2000 "clearline"] - Line[36800 82600 40247 82600 1000 2000 "clearline"] - Line[40247 82600 40627 82980 1000 2000 "clearline"] + Line[36800 82600 40447 82600 1000 2000 "clearline"] + Line[54000 37900 55552 37900 1000 2000 "clearline"] Line[41500 78300 42537 78300 1000 2000 "clearline"] Line[42537 78300 45007 75830 1000 2000 "clearline"] Line[102193 67326 102193 50793 1000 2000 "clearline"] @@ -1440,15 +1435,15 @@ Layer(1 "top") Line[3700 78700 3700 55900 1000 2000 "clearline"] Line[3700 55900 6100 53500 1000 2000 "clearline"] Line[6100 53500 9700 53500 1000 2000 "clearline"] - Line[51800 87800 51800 84253 1000 2000 "clearline"] + Line[67700 78834 67414 78548 1000 2000 "clearline"] Line[52880 75830 52880 78180 1000 2000 "clearline"] Line[52880 78180 52900 78200 1000 2000 "clearline"] Line[36300 67600 34100 69800 1000 2000 "clearline"] Line[14400 71600 14400 74800 1000 2000 "clearline"] Line[103800 85600 103800 72081 1000 2000 "clearline"] - Line[81107 91193 80200 92100 1000 2000 "clearline"] - Line[70900 97000 74700 97000 1000 2000 "clearline"] - Line[74700 97000 74900 96800 1000 2000 "clearline"] + Line[64744 69900 64730 69886 1000 2000 "clearline"] + Line[103800 72081 102193 70474 1000 2000 "clearline"] + Line[82700 57400 95600 57400 1000 2000 "clearline"] Line[41031 69886 38514 69886 1000 2000 "clearline"] Line[41031 65949 39651 65949 1000 2000 "clearline"] Line[41031 60044 31392 60044 1000 2000 "clearline"] @@ -1457,9 +1452,9 @@ Layer(1 "top") Line[31221 56107 31200 56086 1000 2000 "clearline"] Line[99600 89800 103700 85700 1000 2000 "clearline"] Line[55800 47200 55800 45734 1000 2000 "clearline"] - Line[81107 89174 81107 91193 1000 2000 "clearline"] - Line[47800 83953 47675 83828 1000 2000 "clearline"] - Line[64730 71854 64730 80570 1000 2000 "clearline"] + Line[50912 52131 50912 38598 1000 2000 "clearline"] + Line[55552 37900 57714 35738 1000 2000 "clearline"] + Line[64730 71854 64730 78870 1000 2000 "clearline"] Line[38920 63980 38900 64000 1000 2000 "clearline"] Line[41031 63980 38920 63980 1000 2000 "clearline"] Line[63852 51386 63852 52752 1000 2000 "clearline"] @@ -1469,15 +1464,15 @@ Layer(1 "top") Line[39700 53700 39700 56100 1000 2000 "clearline"] Line[46975 52131 46975 50725 1000 2000 "clearline"] Line[46975 50725 47800 49900 1000 2000 "clearline"] - Line[47800 49900 47800 47786 1000 2000 "clearline"] - Line[47800 47786 48086 47500 1000 2000 "clearline"] + Line[41352 42652 40100 41400 1000 2000 "clearline"] + Line[43014 42652 41352 42652 1000 2000 "clearline"] Line[48944 52131 48944 51044 1000 2000 "clearline"] Line[48944 51044 47800 49900 1000 2000 "clearline"] - Line[45007 52131 45007 50207 1000 2000 "clearline"] - Line[45007 50207 44000 49200 1000 2000 "clearline"] - Line[44000 49200 44000 47800 1000 2000 "clearline"] - Line[44000 47800 44300 47500 1000 2000 "clearline"] - Line[47300 44352 44300 44352 1000 2000 "clearline"] + Line[28000 84800 28000 104000 1000 2000 "clearline"] + Line[43100 38686 42814 38686 1000 2000 "clearline"] + Line[47200 42552 43114 42552 1000 2000 "clearline"] + Line[43114 42552 43014 42652 1000 2000 "clearline"] + Line[42814 38686 40100 41400 1000 2000 "clearline"] Line[52694 39206 54000 37900 1000 2000 "clearline"] Line[50726 38412 50214 37900 1000 2000 "clearline"] Line[52052 29886 52052 33590 1000 2000 "clearline"] @@ -1486,93 +1481,92 @@ Layer(1 "top") Line[63800 38552 60348 38552 1000 2000 "clearline"] Line[54052 37952 54000 37900 1000 2000 "clearline"] Line[50912 38598 50214 37900 1000 2000 "clearline"] - Line[50912 52131 50912 38598 1000 2000 "clearline"] - Line[54000 37900 55552 37900 1000 2000 "clearline"] - Line[55552 37900 57714 35738 1000 2000 "clearline"] - Line[60862 35738 63466 35738 1000 2000 "clearline"] - Line[63466 35738 63800 35404 1000 2000 "clearline"] - Line[56386 42000 56900 42000 1000 2000 "clearline"] - Line[43100 38686 43100 41200 1000 2000 "clearline"] - Line[65343 96000 65343 90657 2500 2000 "clearline"] - Line[65343 90657 73400 82600 2500 2000 "clearline"] - Line[55500 96000 55500 91048 1000 2000 "clearline"] - Line[55500 91048 57200 89348 1000 2000 "clearline"] - Line[60421 96000 60421 90679 1000 2000 "clearline"] - Line[57200 86200 57200 85800 1000 2000 "clearline"] - Line[61700 86252 65496 86252 1000 2000 "clearline"] - Line[65496 86252 73200 78548 1000 2000 "clearline"] - Line[73986 78548 77448 78548 1000 2000 "clearline"] - Line[77448 78548 77500 78600 1000 2000 "clearline"] - Line[77500 78600 77500 69900 1000 2000 "clearline"] - Line[77500 69900 64744 69900 1000 2000 "clearline"] - Line[64744 69900 64730 69886 1000 2000 "clearline"] - Line[57200 85800 62400 80600 1000 2000 "clearline"] - Line[62400 80600 66362 80600 1000 2000 "clearline"] - Line[82700 57400 95600 57400 1000 2000 "clearline"] - Line[103800 72081 102193 70474 1000 2000 "clearline"] - Line[32284 96900 44758 96900 1000 2000 "clearline"] - Line[44758 96900 45658 96000 1000 2000 "clearline"] - Line[47675 89425 42600 94500 1000 2000 "clearline"] - Line[42600 94500 36000 94500 1000 2000 "clearline"] - Line[80100 100600 80100 97500 1000 2000 "clearline"] - Line[87600 89800 99600 89800 1000 2000 "clearline"] - Line[80000 97400 87600 89800 1000 2000 "clearline"] - Line[20000 76800 28000 84800 1000 2000 "clearline"] - Line[28000 84800 28000 99000 1000 2000 "clearline"] - Line[28000 99000 29300 100300 1000 2000 "clearline"] - Line[29300 100300 63700 100300 1000 2000 "clearline"] - Line[12600 78300 11800 78300 1000 2000 "clearline"] - Line[11800 78300 5800 72300 1000 2000 "clearline"] + Line[32284 92000 35400 92000 1000 2000 "clearline"] + Line[64700 78900 67062 78900 1000 2000 "clearline"] + Line[67062 78900 67414 78548 1000 2000 "clearline"] + Line[28000 104000 72500 104000 1000 2000 "clearline"] + Line[72500 104000 72500 97600 1000 2000 "clearline"] + Line[65400 86152 65596 86152 1000 2000 "clearline"] + Line[65596 86152 73200 78548 1000 2000 "clearline"] + Line[71200 98100 71200 85700 2500 2000 "clearline"] + Line[71200 85700 74100 82700 2500 2000 "clearline"] + Line[76800 106600 80000 103400 1000 2000 "clearline"] + Line[79500 91800 79700 92000 1000 2000 "clearline"] + Line[49000 91800 49000 84367 1000 2000 "clearline"] + Line[75100 91800 79500 91800 1000 2000 "clearline"] + Line[75100 87400 79182 87400 1000 2000 "clearline"] + Line[79182 87400 79700 86882 1000 2000 "clearline"] + Line[88800 86100 91333 86100 1000 2000 "clearline"] + Line[91333 86100 91726 85707 1000 2000 "clearline"] + Line[57500 97600 61100 94000 1000 2000 "clearline"] + Line[61100 94000 61100 89800 1000 2000 "clearline"] + Line[61100 89800 61600 89300 1000 2000 "clearline"] + Line[61600 86152 61600 85300 1000 2000 "clearline"] + Line[61600 85300 63100 83800 1000 2000 "clearline"] + Line[63100 83800 64500 83800 1000 2000 "clearline"] + Line[64500 83800 67700 80600 1000 2000 "clearline"] + Line[67700 80600 67700 78834 1000 2000 "clearline"] + Line[52161 83828 52161 89261 1000 2000 "clearline"] + Line[52161 89261 52200 89300 1000 2000 "clearline"] + Line[52200 89300 57000 89300 1000 2000 "clearline"] + Line[43775 82980 43775 87375 1000 2000 "clearline"] + Line[43775 87375 45200 88800 1000 2000 "clearline"] + Line[32284 86882 37782 86882 1000 2000 "clearline"] + Line[37782 86882 42700 91800 1000 2000 "clearline"] + Line[42700 91800 49000 91800 1000 2000 "clearline"] + Line[25100 106600 76800 106600 1000 2000 "clearline"] ) Layer(2 "bottom") ( - Line[39700 53700 42600 50800 1000 2000 "clearline"] + Line[45200 88800 45200 86600 1000 2000 "clearline"] Line[14600 71400 14400 71600 1000 2000 "clearline"] Line[34400 56500 34400 44400 1000 2000 "clearline"] - Line[65500 96157 65343 96000 1000 2000 "clearline"] - Line[42881 71854 42881 64981 1000 2000 "clearline"] - Line[51800 87800 76700 87800 1000 2000 "clearline"] + Line[9750 88400 1000 88400 600 2000 "clearline"] + Line[39600 53800 43600 49800 1000 2000 "clearline"] + Line[69100 81300 81300 69100 1000 2000 "clearline"] Line[24300 63500 18200 63500 1000 2000 "clearline"] - Line[42881 64981 34400 56500 1000 2000 "clearline"] + Line[68300 87400 75100 87400 1000 2000 "clearline"] Line[34400 44400 28400 38400 1000 2000 "clearline"] - Line[37600 66400 37600 70800 1000 2000 "clearline"] - Line[19700 48500 37600 66400 1000 2000 "clearline"] - Line[75700 101700 91000 86400 1000 2000 "clearline"] - Line[56600 81700 49300 81700 1000 2000 "clearline"] - Line[49300 81700 43700 87300 1000 2000 "clearline"] - Line[43700 87300 20500 87300 1000 2000 "clearline"] - Line[41100 99000 43800 101700 1000 2000 "clearline"] - Line[43800 101700 75700 101700 1000 2000 "clearline"] + Line[37800 66600 37800 70800 1000 2000 "clearline"] + Line[19700 48500 37800 66600 1000 2000 "clearline"] + Line[21600 109000 21600 100250 600 2000 "clearline"] + Line[56800 81600 46300 81600 1000 2000 "clearline"] + Line[46300 81600 41600 87200 1000 2000 "clearline"] + Line[41600 87200 20500 87300 1000 2000 "clearline"] + Line[4600 71000 4600 50100 1000 2000 "clearline"] + Line[8600 75000 4600 71000 1000 2000 "clearline"] Line[12600 78300 41500 78300 1000 2000 "clearline"] - Line[41100 90800 41100 99000 1000 2000 "clearline"] + Line[4600 50100 11200 43500 1000 2000 "clearline"] Line[74900 62700 81300 69100 1000 2000 "clearline"] - Line[37600 70800 36019 70800 1000 2000 "clearline"] + Line[59500 84300 62500 81300 1000 2000 "clearline"] Line[8500 75000 23200 75000 1000 2000 "clearline"] Line[86700 63200 86700 51300 1000 2000 "clearline"] Line[86700 51300 87200 50800 1000 2000 "clearline"] Line[14600 67100 14600 71400 1000 2000 "clearline"] - Line[42600 50800 62400 50800 1000 2000 "clearline"] - Line[74900 56500 68100 56500 1000 2000 "clearline"] - Line[68100 56500 62500 50900 1000 2000 "clearline"] + Line[45200 86600 47500 84300 1000 2000 "clearline"] + Line[43600 49800 53900 49800 1000 2000 "clearline"] + Line[53900 49800 55800 47900 1000 2000 "clearline"] Line[74900 56400 74900 62700 1000 2000 "clearline"] - Line[55500 94900 58300 92100 1000 2000 "clearline"] - Line[39635 75100 42881 71854 1000 2000 "clearline"] - Line[58300 92100 81000 92100 1000 2000 "clearline"] - Line[37600 75100 39635 75100 1000 2000 "clearline"] + Line[100250 21600 109000 21600 600 2000 "clearline"] + Line[64400 56500 55800 47900 1000 2000 "clearline"] + Line[88400 1000 88400 9750 600 2000 "clearline"] + Line[74900 56500 64400 56500 1000 2000 "clearline"] Line[27900 67100 24300 63500 1000 2000 "clearline"] Line[28400 38400 21300 38400 1000 2000 "clearline"] Line[18200 63500 14600 67100 1000 2000 "clearline"] Line[21300 38400 21200 38500 1000 2000 "clearline"] Line[31000 67100 27900 67100 1000 2000 "clearline"] - Line[55800 47200 55800 50700 1000 2000 "clearline"] - Line[55500 96000 55500 94900 1000 2000 "clearline"] - Line[8600 75000 4600 71000 1000 2000 "clearline"] - Line[4600 71000 4600 50100 1000 2000 "clearline"] - Line[4600 50100 11200 43500 1000 2000 "clearline"] - Line[88400 1000 88400 9750 600 2000 "clearline"] - Line[100250 21600 109000 21600 600 2000 "clearline"] - Line[21600 109000 21600 100250 600 2000 "clearline"] - Line[9750 88400 1000 88400 600 2000 "clearline"] + Line[47500 84300 59500 84300 1000 2000 "clearline"] + Line[57500 102900 57500 97600 1000 2000 "clearline"] + Line[88700 86100 77800 95200 1000 2000 "clearline"] + Line[77800 95200 77800 102900 1000 2000 "clearline"] + Line[77800 102900 57500 102900 1000 2000 "clearline"] + Line[62500 81300 69100 81300 1000 2000 "clearline"] + Line[57000 89300 66400 89300 1000 2000 "clearline"] + Line[66400 89300 68300 87400 1000 2000 "clearline"] + Line[34400 56400 40800 62800 1000 2000 "clearline"] + Line[40800 62800 40800 71900 1000 2000 "clearline"] + Line[40800 71900 37700 75000 1000 2000 "clearline"] Arc[100250 9750 11800 11800 600 2000 0 90 "clearline"] Arc[9750 100250 11800 11800 600 2000 180 90 "clearline"] Polygon("clearpoly") @@ -1595,8 +1589,8 @@ Layer(3 "outline") ) Layer(4 "silk") ( - Text[81500 84800 3 100 "Licensed under the TAPR OHL" "auto"] - Text[68602 85100 3 100 "http://www.tapr.org/OHL" "auto"] + Text[108200 106300 3 100 "Licensed under the TAPR OHL" "auto"] + Text[101672 98788 3 100 "tapr.org/OHL" "auto"] Polygon("clearpoly") ( [41300 49800] [27900 49800] [27900 1600] [41300 1600] @@ -1604,11 +1598,12 @@ Layer(4 "silk") ) Layer(5 "silk") ( - Text[108600 26100 3 100 "debug" ""] + Text[108600 25700 3 100 "debug" ""] Text[6400 1400 3 100 "(c) 2010 Bdale Garbee" ""] Text[33200 15700 3 100 "companion" ""] - Text[50900 97900 0 100 "usb" ""] - Text[108600 67300 3 100 "TeleDongle v0.1" ""] + Text[109000 66300 3 100 "TeleDongle v0.2" ""] + Text[54200 103600 0 100 "usb" ""] + Text[43300 100500 0 100 "B B G W R" ""] ) NetList() ( -- 2.30.2