long connectTimeout = getConnectTimeoutMillis();
if (connectTimeout > Integer.MAX_VALUE) {
connectTimeout = Integer.MAX_VALUE;
}
SerialPort serialPort = (SerialPort) portId.open(
user, (int) connectTimeout);
serialPort.setSerialPortParams(portAddress.getBauds(), portAddress
.getDataBitsForRXTX(), portAddress.getStopBitsForRXTX(),
portAddress.getParityForRXTX());
serialPort.setFlowControlMode(portAddress.getFLowControlForRXTX());
serialPort.notifyOnDataAvailable(true);
if (config.isLowLatency()) {
serialPort.setLowLatency();
}
serialPort.setInputBufferSize(config.getInputBufferSize());
serialPort.setOutputBufferSize(config.getOutputBufferSize());
if (config.getReceiveThreshold() >= 0) {
serialPort.enableReceiveThreshold(config.getReceiveThreshold());
} else {
serialPort.disableReceiveThreshold();
}
return serialPort;
}