diff --git a/java_tools/configuration_definition_base/src/main/java/com/rusefi/ldmp/LiveDataProcessor.java b/java_tools/configuration_definition_base/src/main/java/com/rusefi/ldmp/LiveDataProcessor.java index 9282f6abcf..7432eefe5c 100644 --- a/java_tools/configuration_definition_base/src/main/java/com/rusefi/ldmp/LiveDataProcessor.java +++ b/java_tools/configuration_definition_base/src/main/java/com/rusefi/ldmp/LiveDataProcessor.java @@ -128,6 +128,7 @@ public class LiveDataProcessor { if (constexpr != null) { sdCardFieldsConsumer.home = constexpr; + sdCardFieldsConsumer.conditional = conditional; state.addDestination((state1, structure) -> sdCardFieldsConsumer.handleEndStruct(state1, structure)); outputValueConsumer.currentSectionPrefix = constexpr; 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 eb735ce0a8..89d2f8d014 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 @@ -11,6 +11,7 @@ public class SdCardFieldsContent { private final StringBuilder body = new StringBuilder(); public String home = "engine->outputChannels"; + public String conditional; public void handleEndStruct(ReaderState state, ConfigStructure structure) throws IOException { if (state.isStackEmpty()) { @@ -47,7 +48,11 @@ public class SdCardFieldsContent { categoryStr = ", " + categoryStr; } - return "\t{" + home + "." + name + + String before = conditional == null ? "" : "#if " + conditional + "\n"; + String after = conditional == null ? "" : "#endif\n"; + + return before + + "\t{" + home + "." + name + ", " + DataLogConsumer.getHumanGaugeName(prefix, configField) + ", " + @@ -55,7 +60,8 @@ public class SdCardFieldsContent { ", " + configField.getDigits() + categoryStr + - "},\n"; + "},\n" + + after; } public String getBody() {