refactoring

This commit is contained in:
rusefi 2019-06-03 21:50:21 -04:00
parent 2d8752c99b
commit b09cff42a4
2 changed files with 8 additions and 10 deletions

View File

@ -6,6 +6,7 @@ import com.rusefi.binaryprotocol.BinaryProtocolHolder;
import com.rusefi.io.CommunicationLoggingHolder; import com.rusefi.io.CommunicationLoggingHolder;
import com.rusefi.io.ConnectionStateListener; import com.rusefi.io.ConnectionStateListener;
import com.opensr5.io.DataListener; import com.opensr5.io.DataListener;
import com.rusefi.io.IoStream;
import jssc.SerialPort; import jssc.SerialPort;
import jssc.SerialPortException; import jssc.SerialPortException;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
@ -17,8 +18,6 @@ import org.jetbrains.annotations.Nullable;
* (c) Andrey Belomutskiy * (c) Andrey Belomutskiy
*/ */
public class PortHolder { public class PortHolder {
// private static final int BAUD_RATE = 8 * 115200;// 921600;
// private static final int BAUD_RATE = 2 * 115200;
public static int BAUD_RATE = 115200; public static int BAUD_RATE = 115200;
private static PortHolder instance = new PortHolder(); private static PortHolder instance = new PortHolder();
private final Object portLock = new Object(); private final Object portLock = new Object();
@ -29,7 +28,7 @@ public class PortHolder {
} }
@Nullable @Nullable
private SerialPort serialPort; private IoStream serialPort;
boolean openPort(String port, DataListener dataListener, ConnectionStateListener listener) { boolean openPort(String port, DataListener dataListener, ConnectionStateListener listener) {
CommunicationLoggingHolder.communicationLoggingListener.onPortHolderMessage(SerialManager.class, "Opening port: " + port); CommunicationLoggingHolder.communicationLoggingListener.onPortHolderMessage(SerialManager.class, "Opening port: " + port);
@ -69,12 +68,13 @@ public class PortHolder {
throw new IllegalStateException(e); throw new IllegalStateException(e);
} }
SerialIoStreamJSSC stream = new SerialIoStreamJSSC(serialPort, FileLog.LOGGER);
synchronized (portLock) { synchronized (portLock) {
this.serialPort = serialPort; this.serialPort = stream;
portLock.notifyAll(); portLock.notifyAll();
} }
bp = BinaryProtocolHolder.create(FileLog.LOGGER, new SerialIoStreamJSSC(serialPort, FileLog.LOGGER)); bp = BinaryProtocolHolder.create(FileLog.LOGGER, stream);
return bp.connectAndReadConfiguration(listener); return bp.connectAndReadConfiguration(listener);
} }
@ -93,10 +93,8 @@ public class PortHolder {
synchronized (portLock) { synchronized (portLock) {
if (serialPort != null) { if (serialPort != null) {
try { try {
serialPort.closePort(); serialPort.close();
serialPort = null; serialPort = null;
} catch (SerialPortException e) {
FileLog.MAIN.logLine("Error while closing: " + e);
} finally { } finally {
portLock.notifyAll(); portLock.notifyAll();
} }

View File

@ -7,7 +7,7 @@ import com.opensr5.io.ConfigurationImageFile;
import com.rusefi.binaryprotocol.BinaryProtocolHolder; import com.rusefi.binaryprotocol.BinaryProtocolHolder;
import com.rusefi.io.LinkManager; import com.rusefi.io.LinkManager;
import com.rusefi.io.serial.PortHolder; import com.rusefi.io.serial.PortHolder;
import com.rusefi.io.serial.SerialIoStream; import com.rusefi.io.serial.SerialIoStreamJSSC;
import com.rusefi.ui.RecentCommands; import com.rusefi.ui.RecentCommands;
import com.rusefi.ui.SettingsTab; import com.rusefi.ui.SettingsTab;
import com.rusefi.ui.StatusWindow; import com.rusefi.ui.StatusWindow;
@ -74,7 +74,7 @@ public class UploadChanges {
final ConfigurationImage ci2 = ConfigurationImageFile.readFromFile("rusefi_configuration.bin"); final ConfigurationImage ci2 = ConfigurationImageFile.readFromFile("rusefi_configuration.bin");
final BinaryProtocol bp = BinaryProtocolHolder.create(logger, new SerialIoStream(serialPort, logger)); final BinaryProtocol bp = BinaryProtocolHolder.create(logger, new SerialIoStreamJSSC(serialPort, logger));
bp.setController(ci1); bp.setController(ci1);
scheduleUpload(ci2); scheduleUpload(ci2);