   msg.add(stepper);
   msg.add(encoder);
   
+  msg.add(messageNumber++);
+  if (messageNumber > 32000) messageNumber = 0;
+  
   etherOSC.send(msg, destination);
 }
 


EthernetUDP UDP;
OscUDP etherOSC;  

int MSEC_PER_STATUS = 50; // millseconds between sending status messages




void oscGo(OscMessage &m) {
  // /go/motor0pos,motor1pos,motor2pos,motor3pos floats
  if (state != OK) return; 
  if (m.size() < 4) return; 
  
  double value = m.getFloat(MOTOR_ID);
  pidSetpoint = value;
