better class name & hiding exception on exit

This commit is contained in:
rusefi 2019-07-20 18:51:47 -04:00
parent fc154753f1
commit d4daaf6181
2 changed files with 8 additions and 7 deletions

View File

@ -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());
}
}
};

View File

@ -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) {