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.rusefi.FileLog;
import com.opensr5.io.DataListener; import com.opensr5.io.DataListener;
import com.rusefi.io.IoStream;
import jssc.SerialPort; import jssc.SerialPort;
import jssc.SerialPortEvent; import jssc.SerialPortEvent;
import jssc.SerialPortEventListener; import jssc.SerialPortEventListener;
@ -12,12 +13,12 @@ import org.jetbrains.annotations.Nullable;
* Date: 12/25/12 * Date: 12/25/12
* (c) Andrey Belomutskiy * (c) Andrey Belomutskiy
*/ */
public class SerialPortReader { public class JSSCPortReader {
private static final int[] SLEEP_DURATIONS = {2, 20, 50, 100}; private static final int[] SLEEP_DURATIONS = {2, 20, 50, 100};
private final SerialPort serialPort; private final SerialPort serialPort;
private DataListener listener; 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.serialPort = serialPort;
this.listener = listener; this.listener = listener;
new Thread(new Runnable() { new Thread(new Runnable() {
@ -30,7 +31,9 @@ public class SerialPortReader {
listener.onDataArrived(data); listener.onDataArrived(data);
} }
} catch (SerialPortException e) { } catch (SerialPortException e) {
e.printStackTrace(); if (!serialIoStreamJSSC.isClosed()) {
e.printStackTrace();
}
} }
} }
}, "Reader_" + serialPort).start(); }, "Reader_" + serialPort).start();
@ -74,7 +77,7 @@ public class SerialPortReader {
// e.printStackTrace(System.err); // e.printStackTrace(System.err);
// } // }
} else if (spe.getEventType() != SerialPortEvent.TXEMPTY) { } 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 java.io.IOException;
import static com.rusefi.io.serial.PortHolder.BAUD_RATE;
/** /**
* (c) Andrey Belomutskiy * (c) Andrey Belomutskiy
* 5/11/2015. * 5/11/2015.
@ -97,7 +95,7 @@ public class SerialIoStreamJSSC implements IoStream {
@Override @Override
public void setInputListener(DataListener listener) { public void setInputListener(DataListener listener) {
try { try {
SerialPortReader reader = new SerialPortReader(serialPort, listener); JSSCPortReader reader = new JSSCPortReader(serialPort, listener, this);
serialPort.addEventListener(reader.getSerialPortEventListener()); serialPort.addEventListener(reader.getSerialPortEventListener());
reader.readInitial(); reader.readInitial();
} catch (SerialPortException e) { } catch (SerialPortException e) {