From 3f28b92c4fff20effa67c75c9fa01cb494ad8083 Mon Sep 17 00:00:00 2001 From: Werner Almesberger Date: Sat, 6 Nov 2010 01:18:56 -0300 Subject: [PATCH] CAM process for the antenna test boards. - ants/ants.brd: added board dimensions - ants/cam/Makefile, ants/cam/pcb.pl, ants/cam/doit: CAM process for the "ants" boards --- ants/ants.brd | 13 ++++++---- ants/cam/Makefile | 9 +++++++ ants/cam/doit | 27 +++++++++++++++++++++ ants/cam/pcb.pl | 60 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 105 insertions(+), 4 deletions(-) create mode 100644 ants/cam/Makefile create mode 100755 ants/cam/doit create mode 100755 ants/cam/pcb.pl diff --git a/ants/ants.brd b/ants/ants.brd index 12b852b..170e448 100644 --- a/ants/ants.brd +++ b/ants/ants.brd @@ -1,4 +1,4 @@ -PCBNEW-BOARD Version 1 date Sat Nov 6 00:27:27 2010 +PCBNEW-BOARD Version 1 date Sat Nov 6 00:55:35 2010 # Created by Pcbnew(2010-08-11 BZR 2448)-unstable @@ -9,7 +9,7 @@ EnabledLayers 1FFF8001 Links 4 NoConn 1 Di 51016 22944 59015 28726 -Ndraw 4 +Ndraw 5 Ntrack 17 Nzone 0 BoardThickness 630 @@ -270,6 +270,11 @@ Ne 0 "" Po 6232 -416 $EndPAD $EndMODULE MEANDER-120 +$TEXTPCB +Te "17.3 x 12.5 mm" +Po 55000 29700 600 800 120 0 +De 25 1 0 Normal +$EndTEXTPCB $DRAWSEGMENT Po 0 51600 28700 51600 23800 50 De 28 0 900 0 0 @@ -330,7 +335,7 @@ ZLayer 0 ZAux 4 E ZClearance 200 T ZMinThickness 100 -ZOptions 1 16 F 200 120 +ZOptions 1 16 S 200 120 ZCorner 58400 28700 0 ZCorner 58400 25850 0 ZCorner 51600 25850 0 @@ -408,7 +413,7 @@ ZLayer 15 ZAux 4 E ZClearance 200 T ZMinThickness 100 -ZOptions 1 16 F 200 120 +ZOptions 1 16 S 200 120 ZCorner 58400 28700 0 ZCorner 58400 25850 0 ZCorner 51600 25850 0 diff --git a/ants/cam/Makefile b/ants/cam/Makefile new file mode 100644 index 0000000..6e3863f --- /dev/null +++ b/ants/cam/Makefile @@ -0,0 +1,9 @@ +DIR=/home/moko/svn.openmoko.org/developers/werner/cncmap + +.PHONY: pcb spool + +pcb: + ./doit >job + +spool: + PORT=/dev/ttyUSB0 $(DIR)/spool/spool job diff --git a/ants/cam/doit b/ants/cam/doit new file mode 100755 index 0000000..12a3611 --- /dev/null +++ b/ants/cam/doit @@ -0,0 +1,27 @@ +#!/bin/sh -e +DIR=/home/moko/svn.openmoko.org/developers/werner/cncmap +RECT=$DIR/rect/rect +ALIGN=$DIR/align/align +ZMAP=$DIR/zmap/zmap +GP2RML=$DIR/gp2rml/gp2rml +CAMEO=../../../cae-tools/cameo/cameo + +GEN=${1:-./pcb.pl} + +rdata="19.6 13.0 -56.2 19.6 53.1 -56.1 110.7 14.1 -56.2" +rdate="15.9 13.1 -57.2 15.9 77.4 -57.1 120.8 15.1 -57.0" +rdate="17.2 9.5 -57.0 21.5 76.2 -57.1 126.8 9.0 -56.9" +# lower Z by 0.5 mm relative to highest point (-56.8) +Z=-57.3 + +rect=`$RECT $rdata | awk '{$3 = ""; print}'` + +$GEN | + awk '{ if ($3 != "") $3 += '$Z'; print $0; }' | + $CAMEO -d 0.4445 | + $ALIGN 0 1 $rect | + # angle, reference (lower left corner), rect + $GP2RML 2 0.5 0.5 + # clearance, xy speed, z speed +# since everything is in the same plane, z clearance must be thickness plus +# real clearance ! diff --git a/ants/cam/pcb.pl b/ants/cam/pcb.pl new file mode 100755 index 0000000..43d8c37 --- /dev/null +++ b/ants/cam/pcb.pl @@ -0,0 +1,60 @@ +#!/usr/bin/perl + +$PI = atan2(1, 1)*4; + +$d = 25.4/1000*35; + + +sub orig +{ + $x0 = $_[0]; + $y0 = $_[1]; +} + + +sub mil +{ + return $_[0]/1000*25.4; +} + + +sub cut +{ + if (defined $x) { + if ($x == $_[0]+$x0 && $y == $_[1]+$y0) { + shift @_; + shift @_; + } else { + print "\n"; + } + } + while (@_) { + $x = shift @_; + $y = shift @_; +# ($x, $y) = (-$y, $x); + $x += $x0; + $y += $y0; + print "$x $y $z\n"; + } +} + + +sub pcb +{ + &cut( + &mil( 0), &mil( 0), + &mil( 680), &mil( 0), + &mil( 680), &mil( 490), + &mil( 0), &mil( 490), + &mil( 0), &mil( 0)); +} + + +$z = -0.8; # full thickness of board +# x: corner offset, compensation for rotation, array position +# y: corner offet + +&orig(20*0+3, 15*2+23); + +$r = $d/2-0.1; # compensate deflection of board +&pcb;