mirror of
git://projects.qi-hardware.com/ben-wpan.git
synced 2024-11-26 19:57:31 +02:00
3533e0463c
board. - atusd/atusd.sch, atusd/atusd.brd: separate MISO and MOSI and free the extra signal we need by no longer connecting SLP_TR to the host - atusd/atusd.sch, atusd/atusd.cmp, atusd/atusd.brd: removed reset circuit Power-on reset seems to be sufficient. - atusd/atusd.brd: improved AVDD ground plane - cam/pcb.pl (rot): cut counter-clockwise to reduce burr - cam/pcb.pl: advanced origin for 2nd run
85 lines
1.2 KiB
Raku
Executable File
85 lines
1.2 KiB
Raku
Executable File
#!/usr/bin/perl
|
|
|
|
$d = 2.54/1000*12;
|
|
$r = $d/2+0.25;
|
|
|
|
|
|
sub orig
|
|
{
|
|
$x0 = $_[0];
|
|
$y0 = $_[1];
|
|
}
|
|
|
|
|
|
sub mil
|
|
{
|
|
return $_[0]/1000*25.4;
|
|
}
|
|
|
|
|
|
sub same
|
|
{
|
|
return @_;
|
|
}
|
|
|
|
|
|
sub rot
|
|
{
|
|
return (-$x, -$y);
|
|
}
|
|
|
|
|
|
sub cut
|
|
{
|
|
local (*fn) = $_[0];
|
|
|
|
shift @_;
|
|
reverse @_;
|
|
if (defined $x) {
|
|
if ($x == $_[0]+$x0 && $y == $_[1]+$y0) {
|
|
shift @_;
|
|
shift @_;
|
|
} else {
|
|
print "\n";
|
|
}
|
|
}
|
|
while (@_) {
|
|
$x = shift @_;
|
|
$y = shift @_;
|
|
($x, $y) = &fn($x, $y);
|
|
$x += $x0;
|
|
$y += $y0;
|
|
print "$x $y $z\n";
|
|
}
|
|
}
|
|
|
|
|
|
sub one
|
|
{
|
|
local ($fn) = @_;
|
|
|
|
&cut($fn,
|
|
&mil( 0)-$r, &mil( 0)-$r,
|
|
&mil( 0)-$r, &mil(1030)+$r,
|
|
&mil(1340)+$r, &mil(1030)+$r,
|
|
&mil(1340)+$r, &mil( 640)-$r,
|
|
&mil( 440)+$r, &mil( 640)-$r,
|
|
&mil( 440)+$r, &mil( 390)-$r,
|
|
&mil( 410)+$r, &mil( 360)-$r,
|
|
&mil( 410)+$r, &mil( 310)+$r,
|
|
&mil( 440)+$r, &mil( 310)+$r,
|
|
&mil( 440)+$r, &mil( 250)-$r,
|
|
&mil( 380)+$r, &mil( 190)-$r,
|
|
&mil( 380)+$r, &mil( 0)-$r,
|
|
&mil( 0)-$r, &mil( 0)-$r);
|
|
}
|
|
|
|
|
|
$z = -0.8;
|
|
# x: corner offset, compensation for rotation, array position
|
|
# y: corner offet
|
|
&orig(5+54*1, 5+30*0)
|
|
&one(*same);
|
|
&orig(5+54*1+15+&mil(1340), 5+30*0+&mil(1030));
|
|
&one(*rot);
|