From 58e81ceaf9a8751a24e7f53c9e90d04d26e0b289 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Fri, 17 Jan 2025 10:12:53 -0500 Subject: [PATCH] Fan indicators not working on latest fw #7318 step one: prefix better than suffix only:uaefi --- .../java/com/rusefi/output/DataLogConsumer.java | 14 ++++++-------- .../java/com/rusefi/output/GaugeConsumer.java | 2 +- .../com/rusefi/output/SdCardFieldsContent.java | 2 +- .../com/rusefi/ldmp/LiveDataProcessorTest.java | 16 ++++++++-------- 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/java_tools/configuration_definition_base/src/main/java/com/rusefi/output/DataLogConsumer.java b/java_tools/configuration_definition_base/src/main/java/com/rusefi/output/DataLogConsumer.java index 4bd3e24477..455532ebe0 100644 --- a/java_tools/configuration_definition_base/src/main/java/com/rusefi/output/DataLogConsumer.java +++ b/java_tools/configuration_definition_base/src/main/java/com/rusefi/output/DataLogConsumer.java @@ -44,14 +44,12 @@ public class DataLogConsumer implements ConfigurationConsumer { for (int i = 0; i < outputNames.length; i++) { String temporaryLineComment = needComment(i) ? ";" : ""; - String variableNameSuffix = outputNames.length > 1 ? Integer.toString(i) : ""; - - + String outputNamePrefix = outputNames.length > 1 ? outputNames[i] : ""; PerFieldWithStructuresIterator.Strategy strategy = new PerFieldWithStructuresIterator.Strategy() { @Override public String process(ReaderState state, ConfigField configField, String variableNamePrefixForEmptyComment, int currentPosition, PerFieldWithStructuresIterator perFieldWithStructuresIterator) { - return handle(configField, variableNamePrefixForEmptyComment, temporaryLineComment, variableNameSuffix); + return handle(configField, variableNamePrefixForEmptyComment, temporaryLineComment, "", outputNamePrefix); } @Override @@ -81,7 +79,7 @@ public class DataLogConsumer implements ConfigurationConsumer { } } - private String handle(ConfigField configField, String variableNamePrefixForEmptyComment, String temporaryLineComment, String variableNameSuffix) { + private String handle(ConfigField configField, String variableNamePrefixForEmptyComment, String temporaryLineComment, String variableNameSuffix, String outputNamePrefix) { if (configField.getName().contains(UNUSED)) return ""; @@ -100,7 +98,7 @@ public class DataLogConsumer implements ConfigurationConsumer { typeString = "int, \"%d\""; } - String comment = getHumanGaugeName(variableNamePrefixForEmptyComment, configField, variableNameSuffix); + String comment = getHumanGaugeName(outputNamePrefix, variableNamePrefixForEmptyComment, configField, variableNameSuffix); if (comments.contains(comment)) throw new IllegalStateException(comment + " already present in the outputs! " + configField); @@ -113,7 +111,7 @@ public class DataLogConsumer implements ConfigurationConsumer { * More detailed technical explanation should be placed in consecutive lines */ @NotNull - public static String getHumanGaugeName(String variableNamePrefixForEmptyComment, ConfigField configField, String variableNameSuffix) { + public static String getHumanGaugeName(String outputNamePrefix, String variableNamePrefixForEmptyComment, ConfigField configField, String variableNameSuffix) { String comment = configField.getCommentTemplated(); comment = getFirstLine(comment); @@ -123,7 +121,7 @@ public class DataLogConsumer implements ConfigurationConsumer { */ comment = variableNamePrefixForEmptyComment + unquote(configField.getName()); } - comment = comment + variableNameSuffix; + comment = outputNamePrefix + comment + variableNameSuffix; if (comment.length() > MSQ_LENGTH_LIMIT) throw new IllegalStateException("[" + comment + "] is too long for log files at " + comment.length() + " limit " + MSQ_LENGTH_LIMIT); diff --git a/java_tools/configuration_definition_base/src/main/java/com/rusefi/output/GaugeConsumer.java b/java_tools/configuration_definition_base/src/main/java/com/rusefi/output/GaugeConsumer.java index cd3cd52316..ae6a8331aa 100644 --- a/java_tools/configuration_definition_base/src/main/java/com/rusefi/output/GaugeConsumer.java +++ b/java_tools/configuration_definition_base/src/main/java/com/rusefi/output/GaugeConsumer.java @@ -47,7 +47,7 @@ public class GaugeConsumer implements ConfigurationConsumer { } private String handle(ConfigField configField, String prefix, String variableNameSuffix) { - String comment = getHumanGaugeName("", configField, variableNameSuffix); + String comment = getHumanGaugeName("", "", configField, variableNameSuffix); comment = ConfigFieldImpl.unquote(comment); if (!prefix.isEmpty()) { comment = prefix + " " + comment; diff --git a/java_tools/configuration_definition_base/src/main/java/com/rusefi/output/SdCardFieldsContent.java b/java_tools/configuration_definition_base/src/main/java/com/rusefi/output/SdCardFieldsContent.java index 2c1fa70004..c0554287bd 100644 --- a/java_tools/configuration_definition_base/src/main/java/com/rusefi/output/SdCardFieldsContent.java +++ b/java_tools/configuration_definition_base/src/main/java/com/rusefi/output/SdCardFieldsContent.java @@ -72,7 +72,7 @@ public class SdCardFieldsContent { } private static String getLine(ConfigField configField, String prefix, String namePrefix, String name, String expression, Boolean isPtr, String conditional, int currentPosition, PerFieldWithStructuresIterator perFieldWithStructuresIterator, int structureStartingTsPosition) { - String humanName = DataLogConsumer.getHumanGaugeName(prefix, configField, namePrefix); + String humanName = DataLogConsumer.getHumanGaugeName("", prefix, configField, namePrefix); String categoryStr = configField.getCategory(); diff --git a/java_tools/configuration_definition_base/src/test/java/com/rusefi/ldmp/LiveDataProcessorTest.java b/java_tools/configuration_definition_base/src/test/java/com/rusefi/ldmp/LiveDataProcessorTest.java index 634d07ec03..0b155bc69f 100644 --- a/java_tools/configuration_definition_base/src/test/java/com/rusefi/ldmp/LiveDataProcessorTest.java +++ b/java_tools/configuration_definition_base/src/test/java/com/rusefi/ldmp/LiveDataProcessorTest.java @@ -84,14 +84,14 @@ public class LiveDataProcessorTest { "lua_torqueReductionState = bits, U32, 32, [3:3]\n" + "; total TS size = 36\n", liveDataProcessor.getOutputsSectionFileName()); - captor.assertOutput("entry = tempC0, \"WBO: Temperature0\", int, \"%d\"\n" + - "entry = bitName10, \"bitName10\", int, \"%d\"\n" + - "entry = bitName20, \"bitName20\", int, \"%d\"\n" + - "entry = esr0, \"WBO: ESR0\", int, \"%d\"\n" + - "entry = tempC1, \"WBO: Temperature1\", int, \"%d\"\n" + - "entry = bitName11, \"bitName11\", int, \"%d\"\n" + - "entry = bitName21, \"bitName21\", int, \"%d\"\n" + - "entry = esr1, \"WBO: ESR1\", int, \"%d\"\n" + + captor.assertOutput("entry = tempC, \"wb1WBO: Temperature\", int, \"%d\"\n" + + "entry = bitName1, \"wb1bitName1\", int, \"%d\"\n" + + "entry = bitName2, \"wb1bitName2\", int, \"%d\"\n" + + "entry = esr, \"wb1WBO: ESR\", int, \"%d\"\n" + + "entry = tempC, \"wb2WBO: Temperature\", int, \"%d\"\n" + + "entry = bitName1, \"wb2bitName1\", int, \"%d\"\n" + + "entry = bitName2, \"wb2bitName2\", int, \"%d\"\n" + + "entry = esr, \"wb2WBO: ESR\", int, \"%d\"\n" + "entry = oootempC, \"Temperature\", int, \"%d\"\n" + "entry = oooesr, \"ESR\", int, \"%d\"\n" + "entry = lua_fuelMult, \"Lua: Fuel mult\", float, \"%.3f\"\n" +