This commit is contained in:
rusefi 2020-05-31 13:10:25 -04:00
parent bd588c0bf2
commit f8b6378e94
2 changed files with 7 additions and 3 deletions

View File

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

View File

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