blob: ee6264abb4f0d58d36fb6674f23883722eaadec2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
#!/bin/bash
rm -f gcode-output
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
# switch back and forth between tool 1 and tool 2 every few MDI calls
rm -f expected-gcode-output lots-of-gcode
printf "P is %.6f\n" -1 >> expected-gcode-output
NUM_MDIS=1
NUM_MDIS_LEFT=$NUM_MDIS
TOOL=1
for i in $(seq 0 1000); do
NUM_MDIS_LEFT=$(($NUM_MDIS_LEFT - 1))
if [ $NUM_MDIS_LEFT -eq 0 ]; then
echo "set mdi t$TOOL m6" >> lots-of-gcode
if [ $TOOL -eq 1 ]; then
TOOL=2
else
TOOL=1
fi
NUM_MDIS=$(($NUM_MDIS + 1))
if [ $NUM_MDIS -gt 10 ]; then
NUM_MDIS=1
fi
NUM_MDIS_LEFT=$NUM_MDIS
fi
echo "set mdi m100 p$i" >> lots-of-gcode
printf "P is %.6f\n" $i >> expected-gcode-output
done
printf "P is %.6f\n" -2 >> expected-gcode-output
(
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
echo set wait done
# here comes a big blob
dd bs=4096 if=lots-of-gcode
echo set mdi m100 p-2
echo set wait done
echo shutdown
) | nc localhost 5007
# wait for linuxcnc to finish
wait
exit 0
|