Permalink
Please sign in to comment.
Browse files
added script to send gcode to controller and example gcode
- Loading branch information...
Showing
with
49 additions
and 0 deletions.
- +2 −0 modules/g1.gcode
- +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