diff --git a/java_tools/ConfigDefinition.jar b/java_tools/ConfigDefinition.jar index 4da6b20e07..3dec6e2cd5 100644 Binary files a/java_tools/ConfigDefinition.jar and b/java_tools/ConfigDefinition.jar differ diff --git a/java_tools/configuration_definition/src/com/rusefi/VariableRegistry.java b/java_tools/configuration_definition/src/com/rusefi/VariableRegistry.java index ff5cc49ebc..635ae9c409 100644 --- a/java_tools/configuration_definition/src/com/rusefi/VariableRegistry.java +++ b/java_tools/configuration_definition/src/com/rusefi/VariableRegistry.java @@ -17,7 +17,8 @@ import static com.rusefi.ReaderState.MULT_TOKEN; public class VariableRegistry { private static final String _16_HEX_SUFFIX = "_16_hex"; private static final String _HEX_SUFFIX = "_hex"; - private TreeMap data = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); + private static final String HEX_PREFIX = "0x"; + private final TreeMap data = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); public static final VariableRegistry INSTANCE = new VariableRegistry(); private final Pattern VAR = Pattern.compile("(@@(.*?)@@)"); @@ -85,6 +86,13 @@ public class VariableRegistry { @SuppressWarnings("StringConcatenationInsideStringBufferAppend") private void tryToRegisterAsInteger(String var, String value) { + if (value.trim().startsWith(HEX_PREFIX)) { + int intValue = Integer.parseInt(value.trim().substring(HEX_PREFIX.length()), 16); + intValues.put(var, intValue); + javaDefinitions.put(var, "\tpublic static final int " + var + " = " + intValue + ";" + EOL); + return; + } + try { int intValue = Integer.parseInt(value); SystemOut.println("key [" + var + "] value: " + intValue); diff --git a/java_tools/configuration_definition/src/com/rusefi/test/ConfigFieldParserTest.java b/java_tools/configuration_definition/src/com/rusefi/test/ConfigFieldParserTest.java index 95e8d5d4ae..faa4dc4ec4 100644 --- a/java_tools/configuration_definition/src/com/rusefi/test/ConfigFieldParserTest.java +++ b/java_tools/configuration_definition/src/com/rusefi/test/ConfigFieldParserTest.java @@ -134,7 +134,9 @@ public class ConfigFieldParserTest { JavaFieldsConsumer javaFieldsConsumer = new TestJavaFieldsConsumer(state); state.readBufferedReader(reader, Arrays.asList(javaFieldsConsumer)); - assertEquals("\tpublic static final int ERROR_BUFFER_SIZE = 120;\n", + assertEquals("\tpublic static final int ERROR_BUFFER_SIZE = 120;\n" + + "\tpublic static final int ERROR_BUFFER_SIZE_H = 288;\n" + + "", VariableRegistry.INSTANCE.getJavaConstants()); }