public boolean disconnect() { try { serialPort.closePort(); connected = false; } catch (SerialPortException e) { e.printStackTrace(); } return !connected; }
@Override public boolean sendCommand(String string) { try { return serialPort.writeString(string); } catch (SerialPortException e) { e.printStackTrace(); } return false; }
/** * Immediately sends a byte, used for real-time commands. */ @Override public void sendByteImmediately(byte b) throws Exception { this.serialPort.writeByte(b); }
public boolean connect(String address, int baudRate) { serialPort = new SerialPort(address); connected = false; try { int mask = SerialPort.MASK_RXCHAR + SerialPort.MASK_CTS + SerialPort.MASK_DSR; serialPort.openPort(); serialPort.setParams(baudRate, 8, 1, 0); serialPort.setEventsMask(mask);// Set mask // serialPort.addEventListener(this); connected = true; } catch (SerialPortException ex) { System.err.println(ex); } return connected; }
@Override public boolean openPort() throws Exception { if (StringUtils.isEmpty(portName) || baudRate == 0) { throw new ConnectionException("Couldn't open port " + portName + " using baud rate " + baudRate); } this.responseMessageHandler = new ResponseMessageHandler(); this.serialPort = new SerialPort(portName); this.serialPort.openPort(); this.serialPort.setParams(baudRate, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE, true, true); this.serialPort.addEventListener(this); if (this.serialPort == null) { throw new ConnectionException("Serial port not found."); } return serialPort.isOpened(); }
@Override public int shutDown() { if (serialPort.isOpened()) { try { serialPort.removeEventListener(); serialPort.closePort(); return 1; } catch (SerialPortException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } return -1; }
@Override public void closePort() throws Exception { if (this.serialPort != null) { try { this.serialPort.removeEventListener(); if (this.serialPort.isOpened()) { this.serialPort.closePort(); } } finally { this.serialPort = null; } } }
@Override public void serialEvent(SerialPortEvent event) { // queueing data from input buffer to processing by FSM logic if (event.isRXCHAR() && event.getEventValue() > 0) { try { parser.parse(port.readBytes()); } catch (SerialPortException ex) { LOGGER.error("Cannot read from device", ex); } } }
public void serialEvent(SerialPortEvent event) if (event.isRXCHAR()) String input = SerialPortInterface.serialPort.readString(); } else if (event.isCTS()) if (event.getEventValue() == 1) } else if (event.isDSR()) if (event.getEventValue() == 1)
public SerialTransport(String portName) { this.port = new SerialPort(portName); }
@Override public void closeConnection() { if (portOpened) { if (serialPort != null) { try { serialPort.removeEventListener(); serialPort.closePort(); } catch (SerialPortException e) { } } portOpened = false; } }
public void forwardMessage(int[]message) { String messageString = ""; for (int i = 0; i < message.length-1; i++) messageString+=Integer.toHexString(Math.max(0,Math.min(message[i],255))) + " "; messageString+=Integer.toHexString(Math.max(0,Math.min(message[message.length-1],255))) + "\n"; try { System.out.println("messageString:" + messageString); serialPort.purgePort(SerialPort.PURGE_TXCLEAR | SerialPort.PURGE_RXCLEAR); serialPort.writeString(messageString); } catch (SerialPortException e) { e.printStackTrace(); } }
/** * Reads data from the serial port. RXTX SerialPortEventListener method. */ @Override public void serialEvent(SerialPortEvent evt) { try { byte[] buf = this.serialPort.readBytes(); if (buf == null || buf.length <= 0) { return; } String s = new String(buf, 0, buf.length); responseMessageHandler.handleResponse(s, comm); } catch ( Exception e ) { e.printStackTrace(); System.exit(-1); } } }
@Override public boolean isOpen() { return serialPort != null && serialPort.isOpened(); }
@Override public List<String> getPortNames() { return Arrays.asList(SerialPortList.getPortNames()); }
/** * Sends a command to the serial device. This actually streams the bits to * the comm port. * @param command Command to be sent to serial device. */ @Override public void sendStringToComm(String command) throws Exception { this.serialPort.writeString(command); }
try { port.removeEventListener() } catch (SerialPortException e) { if (e.getExceptionType().equals(SerialPortException.TYPE_CANT_REMOVE_LISTENER)) { // the listener hasn't been added } else { // other exceptions } }
public SerialPortInterface(DataReceiver receiver, int numberOfChannels, String address, int baudRate, boolean bit24) { this.receiver = receiver; this.address = address; this.baudRate = baudRate; this.numberOfChannels = numberOfChannels; this.data = new ArrayList<double[]>(); this.bit24 = bit24; SerialPortReader.bit24 = bit24; serialPort = new SerialPort(address); try { int mask = SerialPort.MASK_RXCHAR + SerialPort.MASK_CTS + SerialPort.MASK_DSR; serialPort.openPort(); serialPort.setParams(baudRate, 8, 1, 0); serialPort.setEventsMask(mask);// Set mask serialPort.addEventListener(serialPortReader = new SerialPortReader()); connectionSuccessful = true; recording = false; } catch (SerialPortException ex) { System.err.println(ex); } }
public SerialTransport(String portName) { this.port = new SerialPort(portName); }
static SerialPort serialPort = new SerialPort("COM4");