Files
linuxcncAllWasm/tests/linuxcncrsh-tcp/test.sh
2026-08-20 06:17:39 +08:00

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