59 lines
991 B
Bash
Executable File
59 lines
991 B
Bash
Executable File
#!/bin/bash
|
|
|
|
rm -f gcode-output
|
|
|
|
if nc -z localhost 5007; then
|
|
echo "Process already listening on port 5007. Exiting"
|
|
exit 1
|
|
fi
|
|
|
|
linuxcnc -r linuxcncrsh-test.ini &
|
|
|
|
|
|
# let linuxcnc come up
|
|
TOGO=80
|
|
while [ $TOGO -gt 0 ]; do
|
|
echo "trying to connect to linuxcncrsh TOGO=$TOGO"
|
|
if nc -z localhost 5007; then
|
|
break
|
|
fi
|
|
sleep 0.25
|
|
TOGO=$((TOGO - 1))
|
|
done
|
|
if [ $TOGO -eq 0 ]; then
|
|
echo "connection to linuxcncrsh timed out"
|
|
exit 1
|
|
fi
|
|
|
|
|
|
(
|
|
echo "hello EMC mt 1.0"
|
|
echo "set enable EMCTOO"
|
|
|
|
# ask linuxcncrsh to not read the next command until it's done running
|
|
# the current one
|
|
echo "set set_wait done"
|
|
|
|
echo "set mode manual"
|
|
echo "set estop off"
|
|
echo "set machine on"
|
|
|
|
echo "set mode mdi"
|
|
echo "set mdi m100 p-1 q-2"
|
|
sleep 1
|
|
|
|
# here comes a big blob
|
|
dd bs=4096 if=lots-of-gcode
|
|
|
|
echo "set mdi m100 p-3 q-4"
|
|
|
|
echo "shutdown"
|
|
) | nc localhost 5007
|
|
|
|
|
|
# wait for linuxcnc to finish
|
|
wait
|
|
|
|
exit 0
|
|
|