File: send-gcode.pl

package info (click to toggle)
slic3r 1.3.0%2Bdfsg1-5.1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 8,552 kB
  • sloc: cpp: 63,126; perl: 21,512; ansic: 6,312; sh: 591; xml: 201; makefile: 37; python: 11
file content (37 lines) | stat: -rw-r--r-- 706 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/env perl

use strict;
use warnings;

BEGIN {
    use FindBin;
    use lib "$FindBin::Bin/../lib", "/usr/lib/slic3r/";
}

use Slic3r;

die "Usage: send-gcode.pl SERIALPORT BAUDRATE GCODE_FILE\n"
    if @ARGV != 3;

my $serial = Slic3r::GCode::Sender->new;
$serial->connect($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__