only better method names, no logic change

This commit is contained in:
rusefi 2020-05-15 23:37:32 -04:00
parent 2dac2e6cd1
commit c0a2dc99de
15 changed files with 29 additions and 51 deletions

View File

@ -43,7 +43,7 @@ public class AutoTest {
} }
}); });
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get(); BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
// let's make sure 'burn' command works since sometimes it does not // let's make sure 'burn' command works since sometimes it does not
bp.burn(Logger.CONSOLE); bp.burn(Logger.CONSOLE);

View File

@ -4,26 +4,28 @@ import com.opensr5.Logger;
import com.rusefi.io.IoStream; import com.rusefi.io.IoStream;
/** /**
* At any given moment of time JVM manages one communication stream
*
*
* (c) Andrey Belomutskiy * (c) Andrey Belomutskiy
* 6/21/2017. * 6/21/2017.
*/ */
public enum BinaryProtocolHolder { public enum BinaryProtocolHolder {
INSTANCE; INSTANCE;
// todo: fix this? less horrible but still weird! private BinaryProtocol currentStream;
private BinaryProtocol instance;
public static BinaryProtocolHolder getInstance() { public static BinaryProtocolHolder getInstance() {
return INSTANCE; return INSTANCE;
} }
public BinaryProtocol get() { public BinaryProtocol create(final Logger logger, IoStream stream) {
return instance;
}
public static BinaryProtocol create(final Logger logger, IoStream stream) {
BinaryProtocol result = new BinaryProtocol(logger, stream); BinaryProtocol result = new BinaryProtocol(logger, stream);
getInstance().instance = result; currentStream = result;
return result; return result;
} }
public BinaryProtocol getCurrentStreamState() {
return currentStream;
}
} }

View File

@ -62,16 +62,11 @@ public class PortHolder {
} }
IoStream stream = establishConnection.getStream(); IoStream stream = establishConnection.getStream();
bp = BinaryProtocolHolder.create(FileLog.LOGGER, stream); bp = BinaryProtocolHolder.getInstance().create(FileLog.LOGGER, stream);
return bp.connectAndReadConfiguration(listener); return bp.connectAndReadConfiguration(listener);
} }
private static boolean isWindows10() {
// todo: this code is fragile! What about Windows 11, 12 etc!? this is a problem for the later day :(
return System.getProperty(FileLog.OS_VERSION).startsWith("10");
}
public void close() { public void close() {
synchronized (portLock) { synchronized (portLock) {
if (serialPort != null) { if (serialPort != null) {
@ -124,14 +119,6 @@ public class PortHolder {
public EstablishConnection invoke() { public EstablishConnection invoke() {
stream = SerialIoStreamJSerialComm.open(port, BAUD_RATE, FileLog.LOGGER); stream = SerialIoStreamJSerialComm.open(port, BAUD_RATE, FileLog.LOGGER);
/*
todo: remove dead code
if (stream == null) {
isConnected = false;
return this;
}
*/
isConnected = true; isConnected = true;
return this; return this;
} }

View File

@ -111,7 +111,7 @@ public class BinaryProtocolServer implements BinaryProtocolCommands {
short offset = dis.readShort(); short offset = dis.readShort();
short count = dis.readShort(); // no swap here? interesting! short count = dis.readShort(); // no swap here? interesting!
System.out.println("CRC check " + page + "/" + offset + "/" + count); System.out.println("CRC check " + page + "/" + offset + "/" + count);
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get(); BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
int result = IoHelper.getCrc32(bp.getController().getContent(), offset, count); int result = IoHelper.getCrc32(bp.getController().getContent(), offset, count);
ByteArrayOutputStream response = new ByteArrayOutputStream(); ByteArrayOutputStream response = new ByteArrayOutputStream();
response.write(TS_OK.charAt(0)); response.write(TS_OK.charAt(0));
@ -127,7 +127,7 @@ public class BinaryProtocolServer implements BinaryProtocolCommands {
FileLog.MAIN.logLine("Error: negative read request " + offset + "/" + count); FileLog.MAIN.logLine("Error: negative read request " + offset + "/" + count);
} else { } else {
System.out.println("read " + page + "/" + offset + "/" + count); System.out.println("read " + page + "/" + offset + "/" + count);
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get(); BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
byte[] response = new byte[1 + count]; byte[] response = new byte[1 + count];
response[0] = (byte) TS_OK.charAt(0); response[0] = (byte) TS_OK.charAt(0);
System.arraycopy(bp.getController().getContent(), offset, response, 1, count); System.arraycopy(bp.getController().getContent(), offset, response, 1, count);
@ -141,7 +141,7 @@ public class BinaryProtocolServer implements BinaryProtocolCommands {
byte[] response = new byte[1 + Fields.TS_OUTPUT_SIZE]; byte[] response = new byte[1 + Fields.TS_OUTPUT_SIZE];
response[0] = (byte) TS_OK.charAt(0); response[0] = (byte) TS_OK.charAt(0);
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get(); BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
byte[] currentOutputs = bp.currentOutputs; byte[] currentOutputs = bp.currentOutputs;
if (currentOutputs != null) if (currentOutputs != null)
System.arraycopy(currentOutputs, 1, response, 1, Fields.TS_OUTPUT_SIZE); System.arraycopy(currentOutputs, 1, response, 1, Fields.TS_OUTPUT_SIZE);

View File

@ -118,7 +118,7 @@ public class TcpConnector implements LinkConnector {
}; };
// ioStream.setInputListener(listener1); // ioStream.setInputListener(listener1);
bp = BinaryProtocolHolder.create(FileLog.LOGGER, new TcpIoStream(stream, os)); bp = BinaryProtocolHolder.getInstance().create(FileLog.LOGGER, new TcpIoStream(stream, os));
boolean result = bp.connectAndReadConfiguration(listener1); boolean result = bp.connectAndReadConfiguration(listener1);
if (result) { if (result) {
@ -130,7 +130,6 @@ public class TcpConnector implements LinkConnector {
@Override @Override
public void restart() { public void restart() {
// FileLog.rlog("Restarting on " + port);
} }
@Override @Override
@ -141,7 +140,6 @@ public class TcpConnector implements LinkConnector {
@Override @Override
public String unpack(String packet) { public String unpack(String packet) {
return packet; return packet;
// return EngineState.unpackString(packet);
} }
@Override @Override
@ -152,15 +150,6 @@ public class TcpConnector implements LinkConnector {
} }
bp.doSend(command, fireEvent); bp.doSend(command, fireEvent);
// String command = LinkManager.encodeCommand(text);
// FileLog.MAIN.logLine("Writing " + command);
// try {
// ioStream.write((command + "\n").getBytes());
// } catch (IOException e) {
// withError = true;
// System.err.println("err in send");
// e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
// }
} }
public static Collection<String> getAvailablePorts() { public static Collection<String> getAvailablePorts() {

View File

@ -14,7 +14,7 @@ import java.io.ByteArrayOutputStream;
class BinaryProtocolServerSandbox { class BinaryProtocolServerSandbox {
public static void main(String[] args) { public static void main(String[] args) {
TcpIoStream stream = new TcpIoStream(new ByteArrayInputStream(new byte[0]), new ByteArrayOutputStream()); TcpIoStream stream = new TcpIoStream(new ByteArrayInputStream(new byte[0]), new ByteArrayOutputStream());
BinaryProtocol bp = BinaryProtocolHolder.create(FileLog.LOGGER, stream); BinaryProtocol bp = BinaryProtocolHolder.getInstance().create(FileLog.LOGGER, stream);
bp.setController(new ConfigurationImage(new byte[14008])); bp.setController(new ConfigurationImage(new byte[14008]));
bp.currentOutputs = new byte[1 + Fields.TS_OUTPUT_SIZE]; bp.currentOutputs = new byte[1 + Fields.TS_OUTPUT_SIZE];
BinaryProtocolServer.start(); BinaryProtocolServer.start();

View File

@ -57,7 +57,7 @@ public class BenchTestPane {
button.addActionListener(new ActionListener() { button.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
BinaryProtocol bp = BinaryProtocolHolder.INSTANCE.get(); BinaryProtocol bp = BinaryProtocolHolder.INSTANCE.getCurrentStreamState();
bp.executeCommand(new byte[]{'r'}, "begin trace", false); bp.executeCommand(new byte[]{'r'}, "begin trace", false);
try { try {

View File

@ -149,7 +149,7 @@ public class SensorLogger {
logFile.write("Captured " + FileLog.getDate() + "\r\n"); logFile.write("Captured " + FileLog.getDate() + "\r\n");
int debugMode = -1; int debugMode = -1;
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get(); BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
if (bp != null) { if (bp != null) {
ConfigurationImage ci = bp.getController(); ConfigurationImage ci = bp.getController();
if (ci != null) { if (ci != null) {

View File

@ -32,7 +32,7 @@ public class TableEditorPane extends JPanel {
add(editor.getContent()); add(editor.getContent());
BinaryProtocol instance = BinaryProtocolHolder.getInstance().get(); BinaryProtocol instance = BinaryProtocolHolder.getInstance().getCurrentStreamState();
if (instance == null) if (instance == null)
throw new NullPointerException("instance"); throw new NullPointerException("instance");
ConfigurationImage image = instance.getController(); ConfigurationImage image = instance.getController();

View File

@ -73,7 +73,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 SerialIoStreamJSSC(serialPort, logger)); final BinaryProtocol bp = BinaryProtocolHolder.getInstance().create(logger, new SerialIoStreamJSSC(serialPort, logger));
bp.setController(ci1); bp.setController(ci1);
scheduleUpload(ci2); scheduleUpload(ci2);
@ -90,7 +90,7 @@ public class UploadChanges {
@Override @Override
public void run() { public void run() {
try { try {
BinaryProtocolHolder.getInstance().get().uploadChanges(newVersion, logger); BinaryProtocolHolder.getInstance().getCurrentStreamState().uploadChanges(newVersion, logger);
if (afterUpload != null) if (afterUpload != null)
afterUpload.run(); afterUpload.run();
} catch (InterruptedException | EOFException | SerialPortException e) { } catch (InterruptedException | EOFException | SerialPortException e) {

View File

@ -32,7 +32,7 @@ public class BinaryProtocolCmdSandbox {
if (!opened) { if (!opened) {
logger.error("failed to open " + port); logger.error("failed to open " + port);
} }
BinaryProtocol bp = BinaryProtocolHolder.create(logger, new SerialIoStreamJSSC(serialPort, logger)); BinaryProtocol bp = BinaryProtocolHolder.getInstance().create(logger, new SerialIoStreamJSSC(serialPort, logger));
SerialIoStreamJSSC.setupPort(serialPort, 38400); SerialIoStreamJSSC.setupPort(serialPort, 38400);
logger.info("Binary looks good!"); logger.info("Binary looks good!");

View File

@ -105,7 +105,7 @@ public class FormulasPane {
} }
private void updateFormula() { private void updateFormula() {
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get(); BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
if (bp == null) if (bp == null)
return; return;
ConfigurationImage ci = bp.getController(); ConfigurationImage ci = bp.getController();

View File

@ -136,7 +136,7 @@ public class FuelTunePane {
private void uploadCurrentResult() { private void uploadCurrentResult() {
byte[] newVeMap = FuelTunePane.this.newVeMap; byte[] newVeMap = FuelTunePane.this.newVeMap;
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get(); BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
if (newVeMap == null || bp == null) if (newVeMap == null || bp == null)
return; return;
ConfigurationImage ci = bp.getController().clone(); ConfigurationImage ci = bp.getController().clone();
@ -313,7 +313,7 @@ public class FuelTunePane {
} }
private byte[] reloadVeTable() { private byte[] reloadVeTable() {
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get(); BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
byte[] content = bp.getController().getContent(); byte[] content = bp.getController().getContent();
loadData(veTable.getXAxis(), content, veRpmOffset); loadData(veTable.getXAxis(), content, veRpmOffset);
@ -329,7 +329,7 @@ public class FuelTunePane {
} }
private void loadArray(double[] array, int offset) { private void loadArray(double[] array, int offset) {
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get(); BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
if (bp == null) { if (bp == null) {
FileLog.MAIN.logLine("bp not ready"); FileLog.MAIN.logLine("bp not ready");
return; return;

View File

@ -28,7 +28,7 @@ public abstract class BaseConfigField {
} }
private void processInitialValue(Field field) { private void processInitialValue(Field field) {
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get(); BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
if (bp == null) if (bp == null)
return; return;
ConfigurationImage ci = bp.getController(); ConfigurationImage ci = bp.getController();

View File

@ -111,7 +111,7 @@ public class MainFrame {
root.setProperty(Launcher.TAB_INDEX, tabbedPane.tabbedPane.getSelectedIndex()); root.setProperty(Launcher.TAB_INDEX, tabbedPane.tabbedPane.getSelectedIndex());
GaugesPanel.DetachedRepository.INSTANCE.saveConfig(); GaugesPanel.DetachedRepository.INSTANCE.saveConfig();
getConfig().save(); getConfig().save();
BinaryProtocol bp = BinaryProtocolHolder.getInstance().get(); BinaryProtocol bp = BinaryProtocolHolder.getInstance().getCurrentStreamState();
if (bp != null && !bp.isClosed) if (bp != null && !bp.isClosed)
bp.close(); // it could be that serial driver wants to be closed explicitly bp.close(); // it could be that serial driver wants to be closed explicitly
System.exit(0); System.exit(0);