Skip to content

Commit

Permalink
svg.pl: Frontent for SVG rendering
Browse files Browse the repository at this point in the history
  • Loading branch information
pasky committed Dec 28, 2011
1 parent 3e76f2d commit d881d15
Showing 1 changed file with 41 additions and 0 deletions.
41 changes: 41 additions & 0 deletions perl/svg.pl
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/usr/bin/perl
#
# Render a SVG image using Brm::Lasic - pass it as a parameter!

use warnings;
use strict;

use lib qw(.);
use Brm::Lasic;
use Brm::Lasic::PBM;

my $lasic = Brm::Lasic->new(dev => '/dev/ttyUSB0');
# $lasic->reset();

open my $fd, '-|', '../svg/showsvg.py', $ARGV[0] or die "showsvg.py: $!";
my @cmd = <$fd>;
chomp @cmd;
@cmd = map {
@_ = split(/ +/, $_);
die "bad SVG - unsupported object" if $_[0] eq 'fuck';
pop @_;
[ @_ ]
} @cmd;
close $fd;

print "Does the plot look good? Make sure the axes are based at/near zero!\n";
open my $plot, '|-', 'gnuplot', '-e', 'set size ratio -1; plot \'-\' u 1:(-$2) with lines; pause mouse' or die "gnuplot: $!";
foreach (@cmd) {
my @c = @$_;
next unless $c[0] eq 'v';
print $plot "$c[2] $c[3]\n";
}
close $plot;
print "If the plot looked wrong, press Ctrl-C now! Waiting 5 seconds.\n";
sleep 5;

foreach (@cmd) {
$lasic->msg(@$_);
}
$lasic->laser_off();
$lasic->move(0, 0);

0 comments on commit d881d15

Please sign in to comment.