diff --git a/java_console/io/src/com/rusefi/binaryprotocol/IncomingDataBuffer.java b/java_console/io/src/com/rusefi/binaryprotocol/IncomingDataBuffer.java index 795eb6dd37..59b12f58f6 100644 --- a/java_console/io/src/com/rusefi/binaryprotocol/IncomingDataBuffer.java +++ b/java_console/io/src/com/rusefi/binaryprotocol/IncomingDataBuffer.java @@ -31,6 +31,10 @@ public class IncomingDataBuffer { this.logger = logger; } + public byte[] getPacket(Logger logger, String msg, boolean allowLongResponse) throws InterruptedException, EOFException { + return getPacket(logger, msg, allowLongResponse, System.currentTimeMillis()); + } + public byte[] getPacket(Logger logger, String msg, boolean allowLongResponse, long start) throws InterruptedException, EOFException { boolean isTimeout = waitForBytes(msg + " header", start, 2); if (isTimeout) diff --git a/java_console/ui/src/com/rusefi/autodetect/SerialAutoChecker.java b/java_console/ui/src/com/rusefi/autodetect/SerialAutoChecker.java index 421e373800..36f57fb42a 100644 --- a/java_console/ui/src/com/rusefi/autodetect/SerialAutoChecker.java +++ b/java_console/ui/src/com/rusefi/autodetect/SerialAutoChecker.java @@ -2,6 +2,7 @@ package com.rusefi.autodetect; import com.opensr5.Logger; import com.rusefi.FileLog; +import com.rusefi.binaryprotocol.BinaryProtocol; import com.rusefi.binaryprotocol.BinaryProtocolCommands; import com.rusefi.binaryprotocol.IncomingDataBuffer; import com.rusefi.config.generated.Fields; @@ -30,11 +31,10 @@ public class SerialAutoChecker implements Runnable { public void run() { IoStream stream = SerialIoStreamJSerialComm.openPort(serialPort); Logger logger = FileLog.LOGGER; - IncomingDataBuffer incomingData = new IncomingDataBuffer(logger); - stream.setInputListener(incomingData::addData); + IncomingDataBuffer incomingData = BinaryProtocol.createDataBuffer(stream, logger); try { stream.sendPacket(new byte[]{BinaryProtocolCommands.COMMAND_HELLO}, logger); - byte[] response = incomingData.getPacket(logger, "", false, System.currentTimeMillis()); + byte[] response = incomingData.getPacket(logger, "", false); if (!checkResponseCode(response, BinaryProtocolCommands.RESPONSE_OK)) return; String signature = new String(response, 1, response.length - 1);