From ea7867ba6f7128ac26c1fcc0e5d3af3b8bf13632 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Sun, 16 Feb 2025 09:00:13 -0500 Subject: [PATCH] Console should get much smarter around compatibility with older units #6845 only:preparation --- .../main/java/com/rusefi/common/PwmHardwareTestLogic.java | 2 +- .../main/java/com/rusefi/common/VssHardwareTestLogic.java | 2 +- .../com/rusefi/f4discovery/DiscoveryPwmHardwareTest.java | 2 ++ .../main/java/com/rusefi/proteus/ProteusAnalogTest.java | 1 + .../io/src/main/java/com/rusefi/io/can/PCanIoStream.java | 5 +++-- .../src/main/java/com/rusefi/io/can/SocketCANIoStream.java | 4 ++-- .../main/java/com/rusefi/io/tcp/BinaryProtocolServer.java | 4 ++-- .../binaryprotocol/test/BinaryProtocolServerSandbox.java | 3 ++- .../com/rusefi/binaryprotocol/test/TcpServerSandbox.java | 7 +++++-- .../test/java/com/rusefi/io/can/IsoTpConnectorTest.java | 3 ++- .../io/src/testFixtures/java/com/rusefi/TestHelper.java | 5 +++-- .../rusefi/io/commands/GetOutputsCommandBrokenHelper.java | 5 +++-- 12 files changed, 27 insertions(+), 16 deletions(-) diff --git a/java_console/autotest/src/main/java/com/rusefi/common/PwmHardwareTestLogic.java b/java_console/autotest/src/main/java/com/rusefi/common/PwmHardwareTestLogic.java index e29dc64a68..3faf7fe074 100644 --- a/java_console/autotest/src/main/java/com/rusefi/common/PwmHardwareTestLogic.java +++ b/java_console/autotest/src/main/java/com/rusefi/common/PwmHardwareTestLogic.java @@ -9,7 +9,7 @@ import com.rusefi.functional_tests.EcuTestHelper; import static com.rusefi.IoUtil.getEnableCommand; import static com.rusefi.binaryprotocol.BinaryProtocol.sleep; -import static com.rusefi.config.generated.Fields.*; +import static com.rusefi.config.generated.VariableRegistryValues.*; public class PwmHardwareTestLogic { private static final int FREQUENCY = 160; diff --git a/java_console/autotest/src/main/java/com/rusefi/common/VssHardwareTestLogic.java b/java_console/autotest/src/main/java/com/rusefi/common/VssHardwareTestLogic.java index 0aa6cb2d2d..001c27fe25 100644 --- a/java_console/autotest/src/main/java/com/rusefi/common/VssHardwareTestLogic.java +++ b/java_console/autotest/src/main/java/com/rusefi/common/VssHardwareTestLogic.java @@ -10,7 +10,7 @@ import com.rusefi.functional_tests.EcuTestHelper; import static com.rusefi.IoUtil.getEnableCommand; import static com.rusefi.binaryprotocol.BinaryProtocol.sleep; -import static com.rusefi.config.generated.Fields.*; +import static com.rusefi.config.generated.Integration.*; public class VssHardwareTestLogic { private static final int FREQUENCY = 160; diff --git a/java_console/autotest/src/main/java/com/rusefi/f4discovery/DiscoveryPwmHardwareTest.java b/java_console/autotest/src/main/java/com/rusefi/f4discovery/DiscoveryPwmHardwareTest.java index c82cf9fbc7..0fd826934f 100644 --- a/java_console/autotest/src/main/java/com/rusefi/f4discovery/DiscoveryPwmHardwareTest.java +++ b/java_console/autotest/src/main/java/com/rusefi/f4discovery/DiscoveryPwmHardwareTest.java @@ -16,6 +16,8 @@ import static com.rusefi.IoUtil.getDisableCommand; import static com.rusefi.IoUtil.getEnableCommand; import static com.rusefi.binaryprotocol.BinaryProtocol.sleep; 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; /** diff --git a/java_console/autotest/src/main/java/com/rusefi/proteus/ProteusAnalogTest.java b/java_console/autotest/src/main/java/com/rusefi/proteus/ProteusAnalogTest.java index 84f5dece14..7ab1334bb5 100644 --- a/java_console/autotest/src/main/java/com/rusefi/proteus/ProteusAnalogTest.java +++ b/java_console/autotest/src/main/java/com/rusefi/proteus/ProteusAnalogTest.java @@ -13,6 +13,7 @@ import java.util.concurrent.atomic.AtomicReference; import static com.rusefi.config.generated.Fields.*; import static com.rusefi.IoUtil.*; +import static com.rusefi.config.generated.Integration.CMD_SELF_STIMULATION; import static org.junit.Assert.*; /* diff --git a/java_console/io/src/main/java/com/rusefi/io/can/PCanIoStream.java b/java_console/io/src/main/java/com/rusefi/io/can/PCanIoStream.java index 82999bb601..95abbbd55d 100644 --- a/java_console/io/src/main/java/com/rusefi/io/can/PCanIoStream.java +++ b/java_console/io/src/main/java/com/rusefi/io/can/PCanIoStream.java @@ -4,6 +4,7 @@ import com.devexperts.logging.Logging; import com.opensr5.io.DataListener; import com.rusefi.binaryprotocol.IncomingDataBuffer; import com.rusefi.config.generated.Fields; +import com.rusefi.config.generated.VariableRegistryValues; import com.rusefi.util.HexBinary; import com.rusefi.io.can.isotp.IsoTpCanDecoder; import com.rusefi.io.can.isotp.IsoTpConnector; @@ -19,7 +20,7 @@ import java.util.concurrent.Executor; import java.util.concurrent.Executors; 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 { 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 public void sendCanData(byte[] total) { sendCanPacket(total); diff --git a/java_console/io/src/main/java/com/rusefi/io/can/SocketCANIoStream.java b/java_console/io/src/main/java/com/rusefi/io/can/SocketCANIoStream.java index 2e393b0378..515d44afe9 100644 --- a/java_console/io/src/main/java/com/rusefi/io/can/SocketCANIoStream.java +++ b/java_console/io/src/main/java/com/rusefi/io/can/SocketCANIoStream.java @@ -19,7 +19,7 @@ import java.util.concurrent.Executor; import java.util.concurrent.Executors; 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 { 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 public void sendCanData(byte[] total) { sendCanPacket(total); diff --git a/java_console/io/src/main/java/com/rusefi/io/tcp/BinaryProtocolServer.java b/java_console/io/src/main/java/com/rusefi/io/tcp/BinaryProtocolServer.java index e411a96ed4..1e5c78ecaa 100644 --- a/java_console/io/src/main/java/com/rusefi/io/tcp/BinaryProtocolServer.java +++ b/java_console/io/src/main/java/com/rusefi/io/tcp/BinaryProtocolServer.java @@ -32,7 +32,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; 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 @@ -161,7 +161,7 @@ public class BinaryProtocolServer { log.info("Got command " + BinaryProtocol.findCommand(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) { stream.sendPacket((TS_OK + TS_PROTOCOL).getBytes()); } else if (command == Integration.TS_GET_FIRMWARE_VERSION) { diff --git a/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/BinaryProtocolServerSandbox.java b/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/BinaryProtocolServerSandbox.java index 1108f90f55..0125a0795c 100644 --- a/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/BinaryProtocolServerSandbox.java +++ b/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/BinaryProtocolServerSandbox.java @@ -7,6 +7,7 @@ import com.opensr5.ini.field.ScalarIniField; import com.rusefi.TestHelper; import com.rusefi.binaryprotocol.BinaryProtocolState; import com.rusefi.config.generated.Fields; +import com.rusefi.config.generated.VariableRegistryValues; import com.rusefi.io.LinkConnector; import com.rusefi.io.LinkManager; import com.rusefi.io.tcp.BinaryProtocolServer; @@ -31,7 +32,7 @@ class BinaryProtocolServerSandbox { ScalarIniField iniField = TestHelper.createIniField(Fields.TWOSTROKE); iniField.setValue(controller, new Constant(iniField.getName(), "", "1", iniField.getDigits())); 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.setConnector(LinkConnector.getDetachedConnector(state)); diff --git a/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/TcpServerSandbox.java b/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/TcpServerSandbox.java index f21e7c4bc7..9e24e15f39 100644 --- a/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/TcpServerSandbox.java +++ b/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/TcpServerSandbox.java @@ -9,6 +9,7 @@ import com.rusefi.binaryprotocol.IncomingDataBuffer; import com.rusefi.config.generated.Fields; import com.rusefi.config.generated.Integration; import com.rusefi.config.generated.TsOutputs; +import com.rusefi.config.generated.VariableRegistryValues; import com.rusefi.io.IoStream; import com.rusefi.io.commands.ByteRange; import com.rusefi.io.commands.HelloCommand; @@ -22,6 +23,8 @@ import java.io.IOException; import java.net.Socket; 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.getOutputCommandResponse; @@ -74,7 +77,7 @@ public class TcpServerSandbox { } 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(); @@ -96,7 +99,7 @@ public class TcpServerSandbox { byte command = payload[0]; 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) { stream.sendPacket((TS_OK + TS_PROTOCOL).getBytes()); } else if (command == Integration.TS_CRC_CHECK_COMMAND) { diff --git a/java_console/io/src/test/java/com/rusefi/io/can/IsoTpConnectorTest.java b/java_console/io/src/test/java/com/rusefi/io/can/IsoTpConnectorTest.java index e5102274e2..30a927360e 100644 --- a/java_console/io/src/test/java/com/rusefi/io/can/IsoTpConnectorTest.java +++ b/java_console/io/src/test/java/com/rusefi/io/can/IsoTpConnectorTest.java @@ -1,6 +1,7 @@ package com.rusefi.io.can; import com.rusefi.config.generated.Fields; +import com.rusefi.config.generated.VariableRegistryValues; import com.rusefi.io.can.isotp.IsoTpConnector; import com.rusefi.util.HexBinary; import org.junit.jupiter.api.Assertions; @@ -19,7 +20,7 @@ public class IsoTpConnectorTest { List packets = new ArrayList<>(); - IsoTpConnector testConnector = new IsoTpConnector(Fields.CAN_ECU_SERIAL_RX_ID) { + IsoTpConnector testConnector = new IsoTpConnector(VariableRegistryValues.CAN_ECU_SERIAL_RX_ID) { @Override public void sendCanData(byte[] total) { String packetAsString = HexBinary.printHexBinary(total); diff --git a/java_console/io/src/testFixtures/java/com/rusefi/TestHelper.java b/java_console/io/src/testFixtures/java/com/rusefi/TestHelper.java index 0fd1d32260..1e62ef76be 100644 --- a/java_console/io/src/testFixtures/java/com/rusefi/TestHelper.java +++ b/java_console/io/src/testFixtures/java/com/rusefi/TestHelper.java @@ -7,6 +7,7 @@ import com.rusefi.binaryprotocol.BinaryProtocol; import com.rusefi.binaryprotocol.BinaryProtocolState; import com.rusefi.config.Field; import com.rusefi.config.generated.Fields; +import com.rusefi.config.generated.VariableRegistryValues; import com.rusefi.core.rusEFIVersion; import com.rusefi.io.IoStream; import com.rusefi.io.LinkConnector; @@ -34,7 +35,7 @@ public class TestHelper extends MockitoTestHelper { 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_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_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 { BinaryProtocolState state = new BinaryProtocolState(); state.setConfigurationImage(ci); - byte[] currentOutputs = new byte[Fields.TS_TOTAL_OUTPUT_SIZE]; + byte[] currentOutputs = new byte[VariableRegistryValues.TS_TOTAL_OUTPUT_SIZE]; state.setCurrentOutputs(currentOutputs); LinkManager linkManager = new LinkManager(); diff --git a/java_console/io/src/testFixtures/java/com/rusefi/io/commands/GetOutputsCommandBrokenHelper.java b/java_console/io/src/testFixtures/java/com/rusefi/io/commands/GetOutputsCommandBrokenHelper.java index 6b06aa7aba..be833e0ae3 100644 --- a/java_console/io/src/testFixtures/java/com/rusefi/io/commands/GetOutputsCommandBrokenHelper.java +++ b/java_console/io/src/testFixtures/java/com/rusefi/io/commands/GetOutputsCommandBrokenHelper.java @@ -1,6 +1,7 @@ package com.rusefi.io.commands; import com.rusefi.config.generated.Fields; +import com.rusefi.config.generated.VariableRegistryValues; import com.rusefi.io.IoStream; 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! // we have a pile of dreams/unused code which was moved from PROD into TEST folders // 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 { - 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); stream.sendPacket(response); }