401059066e
Taken from upstream Slic3r, thanks @alexrj.
38 lines
717 B
Perl
38 lines
717 B
Perl
#!/usr/bin/env perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
BEGIN {
|
|
use FindBin;
|
|
use lib "$FindBin::Bin/../lib";
|
|
use local::lib "$FindBin::Bin/../local-lib";
|
|
}
|
|
|
|
use Slic3r;
|
|
|
|
die "Usage: send-gcode.pl SERIALPORT BAUDRATE GCODE_FILE\n"
|
|
if @ARGV != 3;
|
|
|
|
my $serial = Slic3r::GCode::Sender->new($ARGV[0], $ARGV[1]);
|
|
1 until $serial->is_connected;
|
|
print "Connected to printer\n";
|
|
|
|
{
|
|
local $/ = "\n";
|
|
Slic3r::open(\my $fh, '<', $ARGV[2])
|
|
or die "Unable to open $ARGV[2]: $!\n";
|
|
binmode $fh, ':utf8';
|
|
while (<$fh>) {
|
|
$serial->send($_);
|
|
}
|
|
close $fh;
|
|
}
|
|
|
|
while ((my $queue_size = $serial->queue_size) > 0) {
|
|
printf "Queue size: %d\n", $queue_size;
|
|
}
|
|
$serial->disconnect;
|
|
|
|
__END__
|