Skip to content
Permalink
Browse files

added script to send gcode to controller and example gcode

  • Loading branch information...
rkoeppl committed Nov 18, 2016
1 parent 52918c9 commit 18a3c6872d2f8c8a4928221351fcd889debcb769
Showing with 49 additions and 0 deletions.
  1. +2 −0 modules/g1.gcode
  2. +47 −0 modules/send.pl
@@ -0,0 +1,2 @@
G28 Z
G1 Z30 F30
@@ -0,0 +1,47 @@
#!/usr/bin/perl
use Device::SerialPort;
use Time::HiRes qw/sleep/;
use Slurp;

#Slup each file into a command list
my @command_list;
for my $file ( @ARGV ){
push @command_list, split('\n',slurp $file);
}

#If your board autoresets when talked to ( like a Sanguino ), you can uncomment the line bellow to get the machine to home position before sending the actual gcode
#send_commands('G21','G91','G1 X-150 Y-150','G1 X-150 Y-150','G1 X-150 Y-150','G1 X-150 Y-150');

send_commands(@command_list);

sub send_commands{
my @command_list = @_;

#Open port
my $port = Device::SerialPort->new("/dev/ttyACM0");

# 19200, 81N on the USB ftdi driver
$port->baudrate(115200);
$port->databits(8);
$port->parity("none");
$port->stopbits(1);

while (1) {
# Poll to see if any data is coming in
if ( my $char = $port->lookfor() ) {
$char =~ s/\r//;
print "$char\n";
if( $char =~ m/^(ok|start)$/){
#Send next command
my $next_command = shift @command_list;
print "$next_command\n";
$port->write("$next_command\n");
}else{
print "unknown: $char\n";
}
}
sleep 0.01;
unless(@command_list){last; }
}
}

0 comments on commit 18a3c68

Please sign in to comment.
You can’t perform that action at this time.