public static synchronized void send(String command) throws ComInterruptException { if (!isConnected()) { disconnect(); throw new ComInterruptException("Not connected !"); } // No command if (command.trim().equals("")) { return; } while ((I().internal_isbusy() || initThread.isAlive()) && isConnected()) { try { Communication.class.wait(); } catch (InterruptedException ex) { throw new ComInterruptException("Interrupt!"); } } if (!isConnected()) { throw new ComInterruptException("Not connected !"); } doSendEvent(command); try { I().internal_send(command); } catch (MyException ex) { Logger.getLogger(Communication.class.getName()).log(Level.SEVERE, null, ex); resetAll(); doChangedEvent(ex.getMessage()); throw new ComInterruptException(ex.getMessage()); } }
private static synchronized void receive(String[] lines) { // remove emty lines ArrayList<String> l = new ArrayList<>(); for (String s : lines) if (!s.equals("")) l.add(s); lines = l.toArray(new String[0]); doResiveEvent(lines); for (String line : lines) { try { I().internal_receive(line); } catch (MyException ex) { Logger.getLogger(Communication.class.getName()).log(Level.SEVERE, null, ex); resetAll(); doChangedEvent(ex.getMessage()); return; } Double val = I().internal_ZEndStopHit(line); if (val != null) { doEnstopHitEvent(val); } } }