- * (c) Andrey Belomutskiy - * 5/11/2015. - */ -public class SerialIoStreamJSSC implements IoStream { - private final SerialPort serialPort; - private final Logger logger; - private boolean isClosed; - - public SerialIoStreamJSSC(SerialPort serialPort, Logger logger) { - this.serialPort = serialPort; - this.logger = logger; - } - - public static void setupPort(SerialPort serialPort, int baudRate) throws SerialPortException { - serialPort.setRTS(false); - serialPort.setDTR(false); - serialPort.setParams(baudRate, 8, 1, 0);//Set params. - int mask = SerialPort.MASK_RXCHAR; - //Set the prepared mask - serialPort.setEventsMask(mask); - serialPort.setFlowControlMode(0); - } - - public static SerialIoStreamJSSC open(String port, int baudRate, Logger logger) { - logger.info("[SerialIoStreamJSSC]"); - SerialPort serialPort = new SerialPort(port); - try { - FileLog.MAIN.logLine("Opening " + port + " @ " + baudRate); - boolean opened = serialPort.openPort();//Open serial port - if (!opened) - FileLog.MAIN.logLine(port + ": not opened!"); - SerialIoStreamJSSC.setupPort(serialPort, baudRate); - } catch (SerialPortException e) { - FileLog.MAIN.logLine("ERROR " + e.getMessage()); - return null; - } - FileLog.MAIN.logLine("PortHolder: Sleeping a bit"); - try { - // todo: why is this delay here? add a comment - Thread.sleep(200); - } catch (InterruptedException e) { - throw new IllegalStateException(e); - } - SerialIoStreamJSSC stream = new SerialIoStreamJSSC(serialPort, logger); - return stream; - } - - @Override - public void close() { - isClosed = true; - try { - FileLog.MAIN.logLine("CLOSING PORT... " + serialPort.getPortName()); - serialPort.removeEventListener(); - serialPort.closePort(); - FileLog.MAIN.logLine("PORT CLOSED: " + serialPort.getPortName()); - } catch (SerialPortException e) { - logger.error("Error closing port: " + e); - } - } - - @Override - public void write(byte[] bytes) throws IOException { - try { - synchronized (serialPort) { - serialPort.writeBytes(bytes); - } - } catch (SerialPortException e) { - throw new IOException(e); - } - } - - @Override - public void purge() { - try { - synchronized (serialPort) { - serialPort.purgePort(SerialPort.PURGE_RXCLEAR | SerialPort.PURGE_TXCLEAR); - } - } catch (SerialPortException e) { - logger.info("Error while purge: " + e); - close(); - } - } - - @Override - public void setInputListener(DataListener listener) { - try { - JSSCPortReader reader = new JSSCPortReader(serialPort, listener, this); - serialPort.addEventListener(reader.getSerialPortEventListener()); - reader.readInitial(); - } catch (SerialPortException e) { - throw new IllegalStateException(e); - } - } - - @Override - public boolean isClosed() { - return isClosed; - } -} diff --git a/java_console/io/src/com/rusefi/io/serial/SerialIoStreamJSerialComm.java b/java_console/io/src/com/rusefi/io/serial/SerialIoStreamJSerialComm.java index 86c635c697..7ccf69a464 100644 --- a/java_console/io/src/com/rusefi/io/serial/SerialIoStreamJSerialComm.java +++ b/java_console/io/src/com/rusefi/io/serial/SerialIoStreamJSerialComm.java @@ -8,7 +8,7 @@ import com.rusefi.FileLog; import com.rusefi.io.IoStream; /** - * https://github.com/Fazecast/jSerialComm looks to be alive as of 2019 + * https://github.com/Fazecast/jSerialComm looks to be alive as of 2020 *
* (c) Andrey Belomutskiy
* 06/03/2019
@@ -18,7 +18,10 @@ public class SerialIoStreamJSerialComm implements IoStream {
private SerialPort sp;
private final String port;
- SerialIoStreamJSerialComm(SerialPort sp, String port) {
+ /**
+ * @see #openPort(String)
+ */
+ private SerialIoStreamJSerialComm(SerialPort sp, String port) {
this.sp = sp;
this.port = port;
}
diff --git a/java_console/lib/jssc-src.jar b/java_console/lib/jssc-src.jar
deleted file mode 100644
index e87d8efd5b..0000000000
Binary files a/java_console/lib/jssc-src.jar and /dev/null differ
diff --git a/java_console/lib/jssc.jar b/java_console/lib/jssc.jar
deleted file mode 100644
index d2b5c070aa..0000000000
Binary files a/java_console/lib/jssc.jar and /dev/null differ
diff --git a/java_console/opensr5/opensr5.iml b/java_console/opensr5/opensr5.iml
index a86c9a393f..cd90b3a069 100644
--- a/java_console/opensr5/opensr5.iml
+++ b/java_console/opensr5/opensr5.iml
@@ -7,7 +7,6 @@