Console should get much smarter around compatibility with older units #6845

only:preparation
This commit is contained in:
rusefillc 2025-02-16 09:00:13 -05:00
parent 259ecc4bbf
commit ea7867ba6f
12 changed files with 27 additions and 16 deletions

View File

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

View File

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

View File

@ -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;
/** /**

View File

@ -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.*;
/* /*

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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