Permalink
Browse files

added script to send gcode to controller and example gcode

  • Loading branch information...
1 parent 52918c9 commit 18a3c6872d2f8c8a4928221351fcd889debcb769 @rkoeppl rkoeppl committed Nov 18, 2016
Showing with 49 additions and 0 deletions.
  1. +2 −0 modules/g1.gcode
  2. +47 −0 modules/send.pl
View
@@ -0,0 +1,2 @@
+G28 Z
+G1 Z30 F30
View
@@ -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.