Server() throws IOException { if (useSerial) { ServerThread.initSerial(); ServerThread.writeSerial(true); try { Thread.sleep(200); } catch (InterruptedException e1) { } ServerThread.writeSerial(true); try { Thread.sleep(200); } catch (InterruptedException e1) { } ServerThread.writeSerial(true); } int port = 10055; ServerSocket serverSocket = null; try { serverSocket = new ServerSocket(port); System.out.println("Soccer robots server active on port " + port + "."); } catch (IOException e) { System.err.println("Could not listen on port: " + port + "."); System.exit(-1); } while (true) { ServerThread tmp = new ServerThread(serverSocket.accept()); threads.add(tmp); } }
public TestSer(String port) { try { portId = CommPortIdentifier.getPortIdentifier(port); serialPort = (SerialPort) portId.open("TestSer", 2000); is = serialPort.getInputStream(); os = serialPort.getOutputStream(); /* serialPort.addEventListener(this); serialPort.notifyOnDataAvailable(true); */ serialPort.setSerialPortParams( 115200, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); serialPort.setFlowControlMode( SerialPort.FLOWCONTROL_RTSCTS_OUT | SerialPort.FLOWCONTROL_RTSCTS_IN); serialPort.enableReceiveTimeout(TIMEOUT); // serialPort.enableReceiveThreshold(4); } catch (Exception e) { System.out.println(e.getMessage()); System.exit(-1); } }
public static Serial open(String defaultPort) { boolean portFound = false; final int mComPortIdentifier = CommPortIdentifier.PORT_SERIAL; final Enumeration portList = CommPortIdentifier.getPortIdentifiers(); final int BAUD = 115200; while (portList.hasMoreElements()) { final CommPortIdentifier portId = (CommPortIdentifier) portList.nextElement(); System.out.println("Found port id: " + portId); if (portId.getPortType() == mComPortIdentifier) { System.out.println("Found CommPortIdentifier."); if (portId.getName().equals(defaultPort)) { System.out.println("Found port " + defaultPort); SerialPort serialPort; OutputStream outputStream = null; try { serialPort = (SerialPort) portId.open("SimpleWrite", 2000); } catch (PortInUseException e) { System.out.println("Port in use."); continue; } try { outputStream = serialPort.getOutputStream(); } catch (IOException e) { e.printStackTrace(); } try { serialPort.setSerialPortParams( BAUD, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); } catch (UnsupportedCommOperationException e) { e.printStackTrace(); } try { serialPort.notifyOnOutputEmpty(true); } catch (Exception e) { System.out.println("Error setting event notification"); System.out.println(e.toString()); System.exit(-1); } return new Serial(serialPort, outputStream); } } } if (!portFound) { System.out.println("port " + defaultPort + " not found."); } return null; }
public static void main(String[] args) { if (args.length != 1) { System.out.println("usage java TestSer port"); System.exit(-1); } TestSer ts = new TestSer(args[0]); byte[] buf = new byte[256]; ts.start(); start = System.currentTimeMillis(); new Thread() { public void run() { for (; ; ) { try { Thread.sleep(1000); } catch (Exception e) { } long i = cntRcv; long t = System.currentTimeMillis() - start; if (t != 0) { System.out.print( (cntSend / 1024) + " KB sent " + (i / 1024) + " KB received " + (cntSend / 1024 * 1000 / t) + " KB/s " + (i / 1024 * 1000 / t) + " KB/s \r"); } } } }.start(); for (; ; ) { try { os.write(buf); } catch (Exception e) { System.out.println(e); } cntSend += buf.length; } }
// The user has done something. respond to it. public void actionPerformed(ActionEvent e) { Object subject = e.getSource(); if (subject == buttonZoomIn) { previewPane.ZoomIn(); return; } if (subject == buttonZoomOut) { previewPane.ZoomOut(); return; } if (subject == buttonOpenFile) { OpenFileDialog(); return; } if (subject == buttonStart) { if (fileOpened) { paused = false; running = true; UpdateMenuBar(); linesProcessed = 0; previewPane.setRunning(running); previewPane.setLinesProcessed(linesProcessed); statusBar.Start(); SendFileCommand(); } return; } if (subject == buttonPause) { if (running) { if (paused == true) { buttonPause.setText("Pause"); paused = false; // @TODO: if the robot is not ready to unpause, this might fail and the program would // appear to hang. SendFileCommand(); } else { buttonPause.setText("Unpause"); paused = true; } } return; } if (subject == buttonDrive) { Drive(); return; } if (subject == buttonHalt) { Halt(); return; } if (subject == buttonRescan) { ListSerialPorts(); UpdateMenuBar(); return; } if (subject == buttonConfig) { UpdateConfig(); return; } if (subject == buttonJogMotors) { JogMotors(); return; } if (subject == buttonAbout) { JOptionPane.showMessageDialog( null, "Created by Dan Royer ([email protected]).\n\n" + "Find out more at http://www.marginallyclever.com/\n" + "Get the latest version and read the documentation online @ http://github.com/i-make-robots/DrawBot/"); return; } if (subject == buttonCheckForUpdate) { CheckForUpdate(); return; } if (subject == buttonExit) { System.exit(0); // @TODO: be more graceful? return; } int i; for (i = 0; i < 10; ++i) { if (subject == buttonRecent[i]) { OpenFileOnDemand(recentFiles[i]); return; } } for (i = 0; i < portsDetected.length; ++i) { if (subject == buttonPorts[i]) { OpenPort(portsDetected[i]); return; } } }