Console should get much smarter around compatibility with older units #6845
only:preparation
This commit is contained in:
parent
259ecc4bbf
commit
ea7867ba6f
|
@ -9,7 +9,7 @@ import com.rusefi.functional_tests.EcuTestHelper;
|
||||||
|
|
||||||
import static com.rusefi.IoUtil.getEnableCommand;
|
import static com.rusefi.IoUtil.getEnableCommand;
|
||||||
import static com.rusefi.binaryprotocol.BinaryProtocol.sleep;
|
import static com.rusefi.binaryprotocol.BinaryProtocol.sleep;
|
||||||
import static com.rusefi.config.generated.Fields.*;
|
import static com.rusefi.config.generated.VariableRegistryValues.*;
|
||||||
|
|
||||||
public class PwmHardwareTestLogic {
|
public class PwmHardwareTestLogic {
|
||||||
private static final int FREQUENCY = 160;
|
private static final int FREQUENCY = 160;
|
||||||
|
|
|
@ -10,7 +10,7 @@ import com.rusefi.functional_tests.EcuTestHelper;
|
||||||
|
|
||||||
import static com.rusefi.IoUtil.getEnableCommand;
|
import static com.rusefi.IoUtil.getEnableCommand;
|
||||||
import static com.rusefi.binaryprotocol.BinaryProtocol.sleep;
|
import static com.rusefi.binaryprotocol.BinaryProtocol.sleep;
|
||||||
import static com.rusefi.config.generated.Fields.*;
|
import static com.rusefi.config.generated.Integration.*;
|
||||||
|
|
||||||
public class VssHardwareTestLogic {
|
public class VssHardwareTestLogic {
|
||||||
private static final int FREQUENCY = 160;
|
private static final int FREQUENCY = 160;
|
||||||
|
|
|
@ -16,6 +16,8 @@ import static com.rusefi.IoUtil.getDisableCommand;
|
||||||
import static com.rusefi.IoUtil.getEnableCommand;
|
import static com.rusefi.IoUtil.getEnableCommand;
|
||||||
import static com.rusefi.binaryprotocol.BinaryProtocol.sleep;
|
import static com.rusefi.binaryprotocol.BinaryProtocol.sleep;
|
||||||
import static com.rusefi.config.generated.Fields.*;
|
import static com.rusefi.config.generated.Fields.*;
|
||||||
|
import static com.rusefi.config.generated.Integration.CMD_BURNCONFIG;
|
||||||
|
import static com.rusefi.config.generated.Integration.CMD_EXTERNAL_STIMULATION;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -13,6 +13,7 @@ import java.util.concurrent.atomic.AtomicReference;
|
||||||
|
|
||||||
import static com.rusefi.config.generated.Fields.*;
|
import static com.rusefi.config.generated.Fields.*;
|
||||||
import static com.rusefi.IoUtil.*;
|
import static com.rusefi.IoUtil.*;
|
||||||
|
import static com.rusefi.config.generated.Integration.CMD_SELF_STIMULATION;
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -4,6 +4,7 @@ import com.devexperts.logging.Logging;
|
||||||
import com.opensr5.io.DataListener;
|
import com.opensr5.io.DataListener;
|
||||||
import com.rusefi.binaryprotocol.IncomingDataBuffer;
|
import com.rusefi.binaryprotocol.IncomingDataBuffer;
|
||||||
import com.rusefi.config.generated.Fields;
|
import com.rusefi.config.generated.Fields;
|
||||||
|
import com.rusefi.config.generated.VariableRegistryValues;
|
||||||
import com.rusefi.util.HexBinary;
|
import com.rusefi.util.HexBinary;
|
||||||
import com.rusefi.io.can.isotp.IsoTpCanDecoder;
|
import com.rusefi.io.can.isotp.IsoTpCanDecoder;
|
||||||
import com.rusefi.io.can.isotp.IsoTpConnector;
|
import com.rusefi.io.can.isotp.IsoTpConnector;
|
||||||
|
@ -19,7 +20,7 @@ import java.util.concurrent.Executor;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
|
|
||||||
import static com.devexperts.logging.Logging.getLogging;
|
import static com.devexperts.logging.Logging.getLogging;
|
||||||
import static com.rusefi.config.generated.Fields.CAN_ECU_SERIAL_TX_ID;
|
import static com.rusefi.config.generated.VariableRegistryValues.CAN_ECU_SERIAL_TX_ID;
|
||||||
|
|
||||||
public class PCanIoStream extends AbstractIoStream {
|
public class PCanIoStream extends AbstractIoStream {
|
||||||
private static final int INFO_SKIP_RATE = 3-00;
|
private static final int INFO_SKIP_RATE = 3-00;
|
||||||
|
@ -38,7 +39,7 @@ public class PCanIoStream extends AbstractIoStream {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
private final IsoTpConnector isoTpConnector = new IsoTpConnector(Fields.CAN_ECU_SERIAL_RX_ID) {
|
private final IsoTpConnector isoTpConnector = new IsoTpConnector(VariableRegistryValues.CAN_ECU_SERIAL_RX_ID) {
|
||||||
@Override
|
@Override
|
||||||
public void sendCanData(byte[] total) {
|
public void sendCanData(byte[] total) {
|
||||||
sendCanPacket(total);
|
sendCanPacket(total);
|
||||||
|
|
|
@ -19,7 +19,7 @@ import java.util.concurrent.Executor;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
|
|
||||||
import static com.devexperts.logging.Logging.getLogging;
|
import static com.devexperts.logging.Logging.getLogging;
|
||||||
import static com.rusefi.config.generated.Fields.CAN_ECU_SERIAL_TX_ID;
|
import static com.rusefi.config.generated.VariableRegistryValues.*;
|
||||||
|
|
||||||
public class SocketCANIoStream extends AbstractIoStream {
|
public class SocketCANIoStream extends AbstractIoStream {
|
||||||
static Logging log = getLogging(SocketCANIoStream.class);
|
static Logging log = getLogging(SocketCANIoStream.class);
|
||||||
|
@ -33,7 +33,7 @@ public class SocketCANIoStream extends AbstractIoStream {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
private final IsoTpConnector isoTpConnector = new IsoTpConnector(Fields.CAN_ECU_SERIAL_RX_ID) {
|
private final IsoTpConnector isoTpConnector = new IsoTpConnector(CAN_ECU_SERIAL_RX_ID) {
|
||||||
@Override
|
@Override
|
||||||
public void sendCanData(byte[] total) {
|
public void sendCanData(byte[] total) {
|
||||||
sendCanPacket(total);
|
sendCanPacket(total);
|
||||||
|
|
|
@ -32,7 +32,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
import static com.devexperts.logging.Logging.getLogging;
|
import static com.devexperts.logging.Logging.getLogging;
|
||||||
import static com.rusefi.config.generated.Fields.*;
|
import static com.rusefi.config.generated.VariableRegistryValues.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class makes rusEfi console a proxy for other tuning software, this way we can have two tools connected via same
|
* This class makes rusEfi console a proxy for other tuning software, this way we can have two tools connected via same
|
||||||
|
@ -161,7 +161,7 @@ public class BinaryProtocolServer {
|
||||||
log.info("Got command " + BinaryProtocol.findCommand(command));
|
log.info("Got command " + BinaryProtocol.findCommand(command));
|
||||||
|
|
||||||
if (command == Integration.TS_HELLO_COMMAND) {
|
if (command == Integration.TS_HELLO_COMMAND) {
|
||||||
new HelloCommand(Fields.TS_SIGNATURE).handle(stream);
|
new HelloCommand(TS_SIGNATURE).handle(stream);
|
||||||
} else if (command == Integration.TS_GET_PROTOCOL_VERSION_COMMAND_F) {
|
} else if (command == Integration.TS_GET_PROTOCOL_VERSION_COMMAND_F) {
|
||||||
stream.sendPacket((TS_OK + TS_PROTOCOL).getBytes());
|
stream.sendPacket((TS_OK + TS_PROTOCOL).getBytes());
|
||||||
} else if (command == Integration.TS_GET_FIRMWARE_VERSION) {
|
} else if (command == Integration.TS_GET_FIRMWARE_VERSION) {
|
||||||
|
|
|
@ -7,6 +7,7 @@ import com.opensr5.ini.field.ScalarIniField;
|
||||||
import com.rusefi.TestHelper;
|
import com.rusefi.TestHelper;
|
||||||
import com.rusefi.binaryprotocol.BinaryProtocolState;
|
import com.rusefi.binaryprotocol.BinaryProtocolState;
|
||||||
import com.rusefi.config.generated.Fields;
|
import com.rusefi.config.generated.Fields;
|
||||||
|
import com.rusefi.config.generated.VariableRegistryValues;
|
||||||
import com.rusefi.io.LinkConnector;
|
import com.rusefi.io.LinkConnector;
|
||||||
import com.rusefi.io.LinkManager;
|
import com.rusefi.io.LinkManager;
|
||||||
import com.rusefi.io.tcp.BinaryProtocolServer;
|
import com.rusefi.io.tcp.BinaryProtocolServer;
|
||||||
|
@ -31,7 +32,7 @@ class BinaryProtocolServerSandbox {
|
||||||
ScalarIniField iniField = TestHelper.createIniField(Fields.TWOSTROKE);
|
ScalarIniField iniField = TestHelper.createIniField(Fields.TWOSTROKE);
|
||||||
iniField.setValue(controller, new Constant(iniField.getName(), "", "1", iniField.getDigits()));
|
iniField.setValue(controller, new Constant(iniField.getName(), "", "1", iniField.getDigits()));
|
||||||
state.setConfigurationImage(controller);
|
state.setConfigurationImage(controller);
|
||||||
state.setCurrentOutputs(new byte[1 + Fields.TS_TOTAL_OUTPUT_SIZE]);
|
state.setCurrentOutputs(new byte[1 + VariableRegistryValues.TS_TOTAL_OUTPUT_SIZE]);
|
||||||
|
|
||||||
LinkManager linkManager = new LinkManager();
|
LinkManager linkManager = new LinkManager();
|
||||||
linkManager.setConnector(LinkConnector.getDetachedConnector(state));
|
linkManager.setConnector(LinkConnector.getDetachedConnector(state));
|
||||||
|
|
|
@ -9,6 +9,7 @@ import com.rusefi.binaryprotocol.IncomingDataBuffer;
|
||||||
import com.rusefi.config.generated.Fields;
|
import com.rusefi.config.generated.Fields;
|
||||||
import com.rusefi.config.generated.Integration;
|
import com.rusefi.config.generated.Integration;
|
||||||
import com.rusefi.config.generated.TsOutputs;
|
import com.rusefi.config.generated.TsOutputs;
|
||||||
|
import com.rusefi.config.generated.VariableRegistryValues;
|
||||||
import com.rusefi.io.IoStream;
|
import com.rusefi.io.IoStream;
|
||||||
import com.rusefi.io.commands.ByteRange;
|
import com.rusefi.io.commands.ByteRange;
|
||||||
import com.rusefi.io.commands.HelloCommand;
|
import com.rusefi.io.commands.HelloCommand;
|
||||||
|
@ -22,6 +23,8 @@ import java.io.IOException;
|
||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
|
|
||||||
import static com.rusefi.config.generated.Fields.*;
|
import static com.rusefi.config.generated.Fields.*;
|
||||||
|
import static com.rusefi.config.generated.VariableRegistryValues.HIGH_SPEED_COUNT;
|
||||||
|
import static com.rusefi.config.generated.VariableRegistryValues.TS_PROTOCOL;
|
||||||
import static com.rusefi.io.tcp.BinaryProtocolServer.TS_OK;
|
import static com.rusefi.io.tcp.BinaryProtocolServer.TS_OK;
|
||||||
import static com.rusefi.io.tcp.BinaryProtocolServer.getOutputCommandResponse;
|
import static com.rusefi.io.tcp.BinaryProtocolServer.getOutputCommandResponse;
|
||||||
|
|
||||||
|
@ -74,7 +77,7 @@ public class TcpServerSandbox {
|
||||||
}
|
}
|
||||||
|
|
||||||
static class EcuState {
|
static class EcuState {
|
||||||
private final byte[] outputs = new byte[Fields.TS_TOTAL_OUTPUT_SIZE];
|
private final byte[] outputs = new byte[VariableRegistryValues.TS_TOTAL_OUTPUT_SIZE];
|
||||||
|
|
||||||
final long startUpTime = System.currentTimeMillis();
|
final long startUpTime = System.currentTimeMillis();
|
||||||
|
|
||||||
|
@ -96,7 +99,7 @@ public class TcpServerSandbox {
|
||||||
byte command = payload[0];
|
byte command = payload[0];
|
||||||
|
|
||||||
if (command == Integration.TS_HELLO_COMMAND) {
|
if (command == Integration.TS_HELLO_COMMAND) {
|
||||||
new HelloCommand(Fields.TS_SIGNATURE).handle(stream);
|
new HelloCommand(VariableRegistryValues.TS_SIGNATURE).handle(stream);
|
||||||
} else if (command == Integration.TS_GET_PROTOCOL_VERSION_COMMAND_F) {
|
} else if (command == Integration.TS_GET_PROTOCOL_VERSION_COMMAND_F) {
|
||||||
stream.sendPacket((TS_OK + TS_PROTOCOL).getBytes());
|
stream.sendPacket((TS_OK + TS_PROTOCOL).getBytes());
|
||||||
} else if (command == Integration.TS_CRC_CHECK_COMMAND) {
|
} else if (command == Integration.TS_CRC_CHECK_COMMAND) {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.rusefi.io.can;
|
package com.rusefi.io.can;
|
||||||
|
|
||||||
import com.rusefi.config.generated.Fields;
|
import com.rusefi.config.generated.Fields;
|
||||||
|
import com.rusefi.config.generated.VariableRegistryValues;
|
||||||
import com.rusefi.io.can.isotp.IsoTpConnector;
|
import com.rusefi.io.can.isotp.IsoTpConnector;
|
||||||
import com.rusefi.util.HexBinary;
|
import com.rusefi.util.HexBinary;
|
||||||
import org.junit.jupiter.api.Assertions;
|
import org.junit.jupiter.api.Assertions;
|
||||||
|
@ -19,7 +20,7 @@ public class IsoTpConnectorTest {
|
||||||
|
|
||||||
List<String> packets = new ArrayList<>();
|
List<String> packets = new ArrayList<>();
|
||||||
|
|
||||||
IsoTpConnector testConnector = new IsoTpConnector(Fields.CAN_ECU_SERIAL_RX_ID) {
|
IsoTpConnector testConnector = new IsoTpConnector(VariableRegistryValues.CAN_ECU_SERIAL_RX_ID) {
|
||||||
@Override
|
@Override
|
||||||
public void sendCanData(byte[] total) {
|
public void sendCanData(byte[] total) {
|
||||||
String packetAsString = HexBinary.printHexBinary(total);
|
String packetAsString = HexBinary.printHexBinary(total);
|
||||||
|
|
|
@ -7,6 +7,7 @@ import com.rusefi.binaryprotocol.BinaryProtocol;
|
||||||
import com.rusefi.binaryprotocol.BinaryProtocolState;
|
import com.rusefi.binaryprotocol.BinaryProtocolState;
|
||||||
import com.rusefi.config.Field;
|
import com.rusefi.config.Field;
|
||||||
import com.rusefi.config.generated.Fields;
|
import com.rusefi.config.generated.Fields;
|
||||||
|
import com.rusefi.config.generated.VariableRegistryValues;
|
||||||
import com.rusefi.core.rusEFIVersion;
|
import com.rusefi.core.rusEFIVersion;
|
||||||
import com.rusefi.io.IoStream;
|
import com.rusefi.io.IoStream;
|
||||||
import com.rusefi.io.LinkConnector;
|
import com.rusefi.io.LinkConnector;
|
||||||
|
@ -34,7 +35,7 @@ public class TestHelper extends MockitoTestHelper {
|
||||||
private static final Logging log = getLogging(TestHelper.class);
|
private static final Logging log = getLogging(TestHelper.class);
|
||||||
public static final String TEST_SIGNATURE_1 = "rusEFI master.2020.07.06.frankenso_na6.2468827536";
|
public static final String TEST_SIGNATURE_1 = "rusEFI master.2020.07.06.frankenso_na6.2468827536";
|
||||||
public static final String TEST_SIGNATURE_2 = "rusEFI master.2020.07.11.proteus_f4.1986715563";
|
public static final String TEST_SIGNATURE_2 = "rusEFI master.2020.07.11.proteus_f4.1986715563";
|
||||||
public static final ControllerInfo CONTROLLER_INFO = new ControllerInfo("name", "make", "code", Fields.TS_SIGNATURE);
|
public static final ControllerInfo CONTROLLER_INFO = new ControllerInfo("name", "make", "code", VariableRegistryValues.TS_SIGNATURE);
|
||||||
public static final String TEST_TOKEN_1 = "00000000-1234-1234-1234-123456789012";
|
public static final String TEST_TOKEN_1 = "00000000-1234-1234-1234-123456789012";
|
||||||
public static final String TEST_TOKEN_3 = "33333333-3333-1234-1234-123456789012";
|
public static final String TEST_TOKEN_3 = "33333333-3333-1234-1234-123456789012";
|
||||||
|
|
||||||
|
@ -55,7 +56,7 @@ public class TestHelper extends MockitoTestHelper {
|
||||||
public static BinaryProtocolServer createVirtualController(ConfigurationImage ci, int port, Listener serverSocketCreationCallback, BinaryProtocolServer.Context context) throws IOException {
|
public static BinaryProtocolServer createVirtualController(ConfigurationImage ci, int port, Listener serverSocketCreationCallback, BinaryProtocolServer.Context context) throws IOException {
|
||||||
BinaryProtocolState state = new BinaryProtocolState();
|
BinaryProtocolState state = new BinaryProtocolState();
|
||||||
state.setConfigurationImage(ci);
|
state.setConfigurationImage(ci);
|
||||||
byte[] currentOutputs = new byte[Fields.TS_TOTAL_OUTPUT_SIZE];
|
byte[] currentOutputs = new byte[VariableRegistryValues.TS_TOTAL_OUTPUT_SIZE];
|
||||||
state.setCurrentOutputs(currentOutputs);
|
state.setCurrentOutputs(currentOutputs);
|
||||||
|
|
||||||
LinkManager linkManager = new LinkManager();
|
LinkManager linkManager = new LinkManager();
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.rusefi.io.commands;
|
package com.rusefi.io.commands;
|
||||||
|
|
||||||
import com.rusefi.config.generated.Fields;
|
import com.rusefi.config.generated.Fields;
|
||||||
|
import com.rusefi.config.generated.VariableRegistryValues;
|
||||||
import com.rusefi.io.IoStream;
|
import com.rusefi.io.IoStream;
|
||||||
import com.rusefi.io.tcp.BinaryProtocolServer;
|
import com.rusefi.io.tcp.BinaryProtocolServer;
|
||||||
|
|
||||||
|
@ -12,11 +13,11 @@ public class GetOutputsCommandBrokenHelper {
|
||||||
// each session should know what signature it talks to and use dynamic IniModel!
|
// each session should know what signature it talks to and use dynamic IniModel!
|
||||||
// we have a pile of dreams/unused code which was moved from PROD into TEST folders
|
// we have a pile of dreams/unused code which was moved from PROD into TEST folders
|
||||||
// under https://github.com/rusefi/rusefi/issues/6845
|
// under https://github.com/rusefi/rusefi/issues/6845
|
||||||
return GetOutputsCommand.createRequest(0, Fields.TS_TOTAL_OUTPUT_SIZE);
|
return GetOutputsCommand.createRequest(0, VariableRegistryValues.TS_TOTAL_OUTPUT_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void sendOutput(IoStream stream) throws IOException {
|
public static void sendOutput(IoStream stream) throws IOException {
|
||||||
byte[] response = new byte[1 + Fields.TS_TOTAL_OUTPUT_SIZE];
|
byte[] response = new byte[1 + VariableRegistryValues.TS_TOTAL_OUTPUT_SIZE];
|
||||||
response[0] = (byte) BinaryProtocolServer.TS_OK.charAt(0);
|
response[0] = (byte) BinaryProtocolServer.TS_OK.charAt(0);
|
||||||
stream.sendPacket(response);
|
stream.sendPacket(response);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue