diff --git a/firmware/config/boards/kinetis/config/gen_kinetis_config.sh b/firmware/config/boards/kinetis/config/gen_kinetis_config.sh index 2365500d60..e561dcc6e5 100755 --- a/firmware/config/boards/kinetis/config/gen_kinetis_config.sh +++ b/firmware/config/boards/kinetis/config/gen_kinetis_config.sh @@ -10,13 +10,6 @@ pwd -# nasty: we have to invoke gen_live_documentation.sh with custom prepend due to CAM_INPUTS_COUNT difference -java -DSystemOut.name=logs/gen_live_documentation \ - -DUsagesReader.prepend=config/boards/kinetis/config/rusefi_config_kinetis.txt \ - -cp ../java_tools/ConfigDefinition.jar \ - com.rusefi.ldmp.UsagesReader integration/LiveData.yaml -[ $? -eq 0 ] || { echo "ERROR generating"; exit 1; } - bash gen_signature.sh kin source gen_config_common.sh diff --git a/firmware/console/binary/output_channels.txt b/firmware/console/binary/output_channels.txt index c8d5e1bf40..a4a5dec428 100644 --- a/firmware/console/binary/output_channels.txt +++ b/firmware/console/binary/output_channels.txt @@ -341,6 +341,5 @@ uint16_t rpmAcceleration;dRPM;"RPM/s",1, 0, 0, 5, 0 int16_t autoscale rawBattery;;"V",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 5, 3 - pid_status_s[CAM_INPUTS_COUNT iterate] vvtStatus uint8_t[160] unusedAtTheEnd;;"",1, 0, 0, 0, 0 end_struct diff --git a/firmware/gen_config.sh b/firmware/gen_config.sh index 2498e4e898..c4d8ada997 100755 --- a/firmware/gen_config.sh +++ b/firmware/gen_config.sh @@ -62,9 +62,6 @@ done config/boards/kinetis/config/gen_kinetis_config.sh [ $? -eq 0 ] || { echo "ERROR generating board kinetis kin"; exit 1; } -# nasty: undo effects of custom kinetis generated files -gen_live_documentation.sh - config/boards/hellen/cypress/config/gen_cypress_config.sh [ $? -eq 0 ] || { echo "ERROR generating board hellen_cypress hellen_cypress"; exit 1; } diff --git a/java_tools/ConfigDefinition.jar b/java_tools/ConfigDefinition.jar index ef3cf051e6..4f22998e94 100644 Binary files a/java_tools/ConfigDefinition.jar and b/java_tools/ConfigDefinition.jar differ diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/ldmp/UsagesReader.java b/java_tools/configuration_definition/src/main/java/com/rusefi/ldmp/UsagesReader.java index 4a4080049f..a13fa59407 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/ldmp/UsagesReader.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/ldmp/UsagesReader.java @@ -3,6 +3,10 @@ package com.rusefi.ldmp; import com.devexperts.logging.Logging; import com.rusefi.ConfigDefinition; import com.rusefi.ReaderState; +import com.rusefi.RusefiParseErrorStrategy; +import com.rusefi.newparse.ParseState; +import com.rusefi.newparse.outputs.OutputChannelWriter; +import com.rusefi.newparse.parsing.Definition; import com.rusefi.output.*; import org.yaml.snakeyaml.Yaml; @@ -33,8 +37,6 @@ public class UsagesReader { private final StringBuilder fragmentsContent = new StringBuilder(header); - private static final String EXTRA_PREPEND = System.getProperty("UsagesReader.prepend"); - public static void main(String[] args) throws IOException { if (args.length != 1) { System.err.println("One parameter expected: name of live data yaml input file"); @@ -76,7 +78,7 @@ public class UsagesReader { JavaSensorsConsumer javaSensorsConsumer = new JavaSensorsConsumer(); String tsOutputsDestination = "console/binary/"; - ConfigurationConsumer outputsSections = new OutputsSectionConsumer(tsOutputsDestination + File.separator + "generated/output_channels.ini"); + OutputChannelWriter outputChannelWriter = new OutputChannelWriter(tsOutputsDestination + File.separator + "generated/output_channels.ini"); ConfigurationConsumer dataLogConsumer = new DataLogConsumer(tsOutputsDestination + File.separator + "generated/data_logs.ini"); @@ -89,25 +91,41 @@ public class UsagesReader { log.info("Starting " + name + " at " + startingPosition); ReaderState state = new ReaderState(); - state.setDefinitionInputFile(folder + File.separator + name + ".txt"); + String definitionInputFile = folder + File.separator + name + ".txt"; + state.setDefinitionInputFile(definitionInputFile); state.withC_Defines = withCDefines; state.addDestination(javaSensorsConsumer, - outputsSections, dataLogConsumer ); FragmentDialogConsumer fragmentDialogConsumer = new FragmentDialogConsumer(name); state.addDestination(fragmentDialogConsumer); - if (EXTRA_PREPEND != null) { - System.out.println("EXTRA_PREPEND=" + EXTRA_PREPEND); - state.addPrepend(EXTRA_PREPEND); - } state.addPrepend(prepend); state.addCHeaderDestination(folder + File.separator + name + "_generated.h"); state.addJavaDestination("../java_console/models/src/main/java/com/rusefi/config/generated/" + javaName); state.doJob(); + { + ParseState parseState = new ParseState(state.enumsReader); + + parseState.setDefinitionPolicy(Definition.OverwritePolicy.NotAllowed); + + if (prepend != null && !prepend.isEmpty()) { + RusefiParseErrorStrategy.parseDefinitionFile(parseState.getListener(), prepend); + } + + RusefiParseErrorStrategy.parseDefinitionFile(parseState.getListener(), definitionInputFile); + + // if (outputNames.length == 0) { + outputChannelWriter.writeOutputChannels(parseState, null); + // } else { + // for (int i = 0; i < outputNames.length; i++) { + // outputChannelWriter.writeOutputChannels(parseState, outputNames[i]); + // } + // } + } + fancyNewStuff.append(fragmentDialogConsumer.getContent()); fancyNewMenu.append(fragmentDialogConsumer.menuLine());