From 7bf4c362d08887e8208d7a814c27e3288fa0b37a Mon Sep 17 00:00:00 2001 From: rusefi Date: Sun, 31 May 2020 14:05:03 -0400 Subject: [PATCH] progress --- .../controllers/algo/rusefi_generated.h | 1 + .../controllers/generated/rusefi_generated.h | 1 + firmware/integration/rusefi_config.txt | 1 + .../com/rusefi/config/generated/Fields.java | 3 ++- java_tools/ConfigDefinition.jar | Bin 167734 -> 167933 bytes .../src/com/rusefi/VariableRegistry.java | 2 +- .../rusefi/test/ConfigFieldParserTest.java | 11 +++++++++++ 7 files changed, 17 insertions(+), 2 deletions(-) diff --git a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h index c6562c4802..6221f5f9dc 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h @@ -1018,6 +1018,7 @@ #define PROTOCOL_ENGINE_SNIFFER "wave_chart" #define PROTOCOL_ES_DOWN "d" #define PROTOCOL_ES_UP "u" +#define PROTOCOL_HELLO_PREFIX "***" #define PROTOCOL_HIP_NAME "HIP" #define PROTOCOL_INJ1_SHORT_NAME "i1" #define PROTOCOL_MSG "msg" diff --git a/firmware/controllers/generated/rusefi_generated.h b/firmware/controllers/generated/rusefi_generated.h index 7ffab66248..1f8823f715 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -1018,6 +1018,7 @@ #define PROTOCOL_ENGINE_SNIFFER "wave_chart" #define PROTOCOL_ES_DOWN "d" #define PROTOCOL_ES_UP "u" +#define PROTOCOL_HELLO_PREFIX "***" #define PROTOCOL_HIP_NAME "HIP" #define PROTOCOL_INJ1_SHORT_NAME "i1" #define PROTOCOL_MSG "msg" diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index 039bfe9964..877c7749ec 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -1535,6 +1535,7 @@ end_struct #define CMD_TRIGGER_HW_INPUT "trigger_hw_input" #define PROTOCOL_MSG "msg" +#define PROTOCOL_HELLO_PREFIX "***" #define PROTOCOL_OUTPIN "outpin" #define PROTOCOL_ANALOG_CHART "analog_chart" diff --git a/java_console/models/src/com/rusefi/config/generated/Fields.java b/java_console/models/src/com/rusefi/config/generated/Fields.java index 527e5d5b1f..979b582eb3 100644 --- a/java_console/models/src/com/rusefi/config/generated/Fields.java +++ b/java_console/models/src/com/rusefi/config/generated/Fields.java @@ -1,6 +1,6 @@ package com.rusefi.config.generated; -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Sun May 31 13:45:22 EDT 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Sun May 31 14:04:20 EDT 2020 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; @@ -1007,6 +1007,7 @@ public class Fields { public static final String PROTOCOL_ENGINE_SNIFFER = "wave_chart"; public static final String PROTOCOL_ES_DOWN = "d"; public static final String PROTOCOL_ES_UP = "u"; + public static final String PROTOCOL_HELLO_PREFIX = "***"; public static final String PROTOCOL_HIP_NAME = "HIP"; public static final String PROTOCOL_INJ1_SHORT_NAME = "i1"; public static final String PROTOCOL_MSG = "msg"; diff --git a/java_tools/ConfigDefinition.jar b/java_tools/ConfigDefinition.jar index c14a88ab385156d94a675d270bbdbaf2bfe0da91..0684abf247195abaf5ace3c06f3647f6189bd521 100644 GIT binary patch delta 18779 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 delta 18496 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 diff --git a/java_tools/configuration_definition/src/com/rusefi/VariableRegistry.java b/java_tools/configuration_definition/src/com/rusefi/VariableRegistry.java index 739251a759..305ee8f263 100644 --- a/java_tools/configuration_definition/src/com/rusefi/VariableRegistry.java +++ b/java_tools/configuration_definition/src/com/rusefi/VariableRegistry.java @@ -56,7 +56,7 @@ public class VariableRegistry { } value = applyVariables(value); int multPosition = value.indexOf(MULT_TOKEN); - if (multPosition != -1) { + if (!isQuoted(value, '"') && multPosition != -1) { Integer first = Integer.valueOf(value.substring(0, multPosition)); Integer second = Integer.valueOf(value.substring(multPosition + 1)); value = String.valueOf(first * second); 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 89cfecb7f9..2164a5a51f 100644 --- a/java_tools/configuration_definition/src/com/rusefi/test/ConfigFieldParserTest.java +++ b/java_tools/configuration_definition/src/com/rusefi/test/ConfigFieldParserTest.java @@ -52,6 +52,17 @@ public class ConfigFieldParserTest { assertEquals(16, TypesHelper.getElementSize(state, "pid_s")); } + @Test + public void manyStartAreNotMultiplication() throws IOException { + String test = "struct pid_s\n" + + "#define ERROR_BUFFER_SIZE \"***\"\n" + + "end_struct\n" + + ""; + VariableRegistry.INSTANCE.clear(); + BufferedReader reader = new BufferedReader(new StringReader(test)); + new ReaderState().readBufferedReader(reader, Collections.emptyList()); + } + @Test public void multiplicationInDefine() throws IOException { String test = "struct pid_s\n" +