diff --git a/java_console/io/src/com/rusefi/io/serial/SerialPortReader.java b/java_console/io/src/com/rusefi/io/serial/JSSCPortReader.java similarity index 88% rename from java_console/io/src/com/rusefi/io/serial/SerialPortReader.java rename to java_console/io/src/com/rusefi/io/serial/JSSCPortReader.java index b4787584a6..bf462f9f03 100644 --- a/java_console/io/src/com/rusefi/io/serial/SerialPortReader.java +++ b/java_console/io/src/com/rusefi/io/serial/JSSCPortReader.java @@ -2,6 +2,7 @@ package com.rusefi.io.serial; import com.rusefi.FileLog; import com.opensr5.io.DataListener; +import com.rusefi.io.IoStream; import jssc.SerialPort; import jssc.SerialPortEvent; import jssc.SerialPortEventListener; @@ -12,12 +13,12 @@ import org.jetbrains.annotations.Nullable; * Date: 12/25/12 * (c) Andrey Belomutskiy */ -public class SerialPortReader { +public class JSSCPortReader { private static final int[] SLEEP_DURATIONS = {2, 20, 50, 100}; private final SerialPort serialPort; private DataListener listener; - public SerialPortReader(final SerialPort serialPort, final DataListener listener) { + public JSSCPortReader(final SerialPort serialPort, final DataListener listener, IoStream serialIoStreamJSSC) { this.serialPort = serialPort; this.listener = listener; new Thread(new Runnable() { @@ -30,7 +31,9 @@ public class SerialPortReader { listener.onDataArrived(data); } } catch (SerialPortException e) { - e.printStackTrace(); + if (!serialIoStreamJSSC.isClosed()) { + e.printStackTrace(); + } } } }, "Reader_" + serialPort).start(); @@ -74,7 +77,7 @@ public class SerialPortReader { // e.printStackTrace(System.err); // } } else if (spe.getEventType() != SerialPortEvent.TXEMPTY) { - FileLog.MAIN.logLine("less expected SerialPortReader serialEvent " + spe.getEventType()); + FileLog.MAIN.logLine("less expected JSSCPortReader serialEvent " + spe.getEventType()); } } }; diff --git a/java_console/io/src/com/rusefi/io/serial/SerialIoStreamJSSC.java b/java_console/io/src/com/rusefi/io/serial/SerialIoStreamJSSC.java index 46f0d91319..c81f152d2c 100644 --- a/java_console/io/src/com/rusefi/io/serial/SerialIoStreamJSSC.java +++ b/java_console/io/src/com/rusefi/io/serial/SerialIoStreamJSSC.java @@ -9,8 +9,6 @@ import jssc.SerialPortException; import java.io.IOException; -import static com.rusefi.io.serial.PortHolder.BAUD_RATE; - /** * (c) Andrey Belomutskiy * 5/11/2015. @@ -97,7 +95,7 @@ public class SerialIoStreamJSSC implements IoStream { @Override public void setInputListener(DataListener listener) { try { - SerialPortReader reader = new SerialPortReader(serialPort, listener); + JSSCPortReader reader = new JSSCPortReader(serialPort, listener, this); serialPort.addEventListener(reader.getSerialPortEventListener()); reader.readInitial(); } catch (SerialPortException e) {