shared-test.sh
  1  #!/bin/bash
  2  set -x
  3  
  4  rm -f sim.var
  5  
  6  # reset the tool table to a known starting configuration
  7  rm -f simpockets.tbl
  8  cp ../../simpockets.tbl.original simpockets.tbl
  9  
 10  rm -f gcode-output
 11  
 12  linuxcnc -r sim.ini &
 13  
 14  
 15  # let linuxcnc come up
 16  TOGO=80
 17  while [  $TOGO -gt 0 ]; do
 18      echo trying to connect to linuxcncrsh TOGO=$TOGO
 19      if nc -z localhost 5007; then
 20          break
 21      fi
 22      sleep 0.25
 23      TOGO=$(($TOGO - 1))
 24  done
 25  if [  $TOGO -eq 0 ]; then
 26      echo connection to linuxcncrsh timed out
 27      exit 1
 28  fi
 29  
 30  
 31  (
 32      function introspect() {
 33          SEQUENCE_NUMBER=$1
 34          echo "set mdi m100 P6 Q$SEQUENCE_NUMBER"  # sequence number
 35          echo 'set mdi m100 P0 Q#5420'             # X
 36          echo 'set mdi m100 P1 Q#5421'             # Y
 37          echo 'set mdi m100 P2 Q#5422'             # Z
 38          echo 'set mdi m100 P3 Q#5400'             # toolno
 39          echo 'set mdi m100 P4 Q#5403'             # TLO z
 40          echo 'set mdi m100 P5'                    # blank line
 41      }
 42  
 43      echo hello EMC mt 1.0
 44      echo set enable EMCTOO
 45  
 46      echo set estop off
 47      echo set machine on
 48      echo set mode mdi
 49  
 50      introspect 0
 51  
 52      echo set mdi t1 m6
 53      introspect 1
 54  
 55      echo set mdi g43
 56      introspect 2
 57  
 58      echo set mdi g10 l10 p1 z.1
 59      introspect 3
 60  
 61      echo set mdi g43
 62      introspect 4
 63  
 64      echo set mdi g10 l10 p10 z.15
 65      introspect 5
 66  
 67      echo set mdi g43
 68      introspect 6
 69  
 70      echo set mdi g10 l10 p99999 z.2
 71      introspect 7
 72  
 73      echo set mdi g43
 74      introspect 8
 75  
 76  
 77      echo set mdi t10 m6
 78      introspect 9
 79  
 80      echo set mdi g43
 81      introspect 10
 82  
 83      echo set mdi g10 l10 p1 z.103
 84      introspect 11
 85  
 86      echo set mdi g43
 87      introspect 12
 88  
 89      echo set mdi g10 l10 p10 z.1035
 90      introspect 13
 91  
 92      echo set mdi g43
 93      introspect 14
 94  
 95      echo set mdi g10 l10 p99999 z.104
 96      introspect 15
 97  
 98      echo set mdi g43
 99      introspect 16
100  
101  
102      echo set mdi t99999 m6
103      introspect 17
104  
105      echo set mdi g43
106      introspect 18
107  
108      echo set mdi g10 l10 p1 z.3
109      introspect 19
110  
111      echo set mdi g43
112      introspect 20
113  
114      echo set mdi g10 l10 p10 z.35
115      introspect 21
116  
117      echo set mdi g43
118      introspect 22
119  
120      echo set mdi g10 l10 p99999 z.4
121      introspect 23
122  
123      echo set mdi g43
124      introspect 24
125  
126  
127      echo set mdi t1 m6
128      introspect 25
129  
130      echo set mdi g43
131      introspect 26
132  
133  
134      echo set mdi t10 m6
135      introspect 27
136  
137      echo set mdi g43
138      introspect 28
139  
140  
141      echo set mdi t99999 m6
142      introspect 29
143  
144      echo set mdi g43
145      introspect 30
146  
147  
148      # wait for linuxcnc to finish
149      echo set wait done
150  
151      echo shutdown
152  ) | nc localhost 5007
153  
154  
155  # wait for linuxcnc to finish
156  wait
157  
158  exit 0
159