From 85f4b0c4d5e9460d8ebb8bb0e9734871dc0eb1b6 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Sun, 18 Jun 2023 20:01:56 -0400 Subject: [PATCH] only:Improve toolset for default tune canned tune generation #4871 --- .../java/com/rusefi/tools/tune/TuneCanTool.java | 13 ++++++++++--- .../java/com/rusefi/tune/LoadOlderTuneTest.java | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/java_tools/tune-tools/src/main/java/com/rusefi/tools/tune/TuneCanTool.java b/java_tools/tune-tools/src/main/java/com/rusefi/tools/tune/TuneCanTool.java index a9b9da4506..1a2a743537 100644 --- a/java_tools/tune-tools/src/main/java/com/rusefi/tools/tune/TuneCanTool.java +++ b/java_tools/tune-tools/src/main/java/com/rusefi/tools/tune/TuneCanTool.java @@ -14,6 +14,7 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; +import java.util.Objects; import static com.rusefi.ConfigFieldImpl.unquote; import static com.rusefi.tools.tune.WriteSimulatorConfiguration.INI_FILE_FOR_SIMULATOR; @@ -60,7 +61,7 @@ public class TuneCanTool { } @NotNull - public static StringBuilder getTunePatch2(Msq customOldTune, Msq lessOldDefaultTune, IniFileModel ini) throws IOException { + public static StringBuilder getTunePatch2(Msq defaultTune, Msq customTune, IniFileModel ini) throws IOException { List options = Files.readAllLines(Paths.get(RootHolder.ROOT + "../" + ConfigDefinition.CONFIG_PATH)); String[] totalArgs = options.toArray(new String[0]); @@ -70,12 +71,18 @@ public class TuneCanTool { StringBuilder sb = new StringBuilder(); for (DialogModel.Field f : ini.fieldsInUiOrder) { String name = f.getKey(); - Constant customValue = customOldTune.getConstantsAsMap().get(name); - Constant defaultValue = lessOldDefaultTune.getConstantsAsMap().get(name); + Constant customValue = customTune.getConstantsAsMap().get(name); + Constant defaultValue = defaultTune.getConstantsAsMap().get(name); if (defaultValue == null) { // no longer present continue; } + Objects.requireNonNull(defaultValue.getValue(), "d value"); + if (customValue == null) { + System.out.println("Skipping " + name + " TODO"); + continue; + } + Objects.requireNonNull(customValue.getValue(), "c value"); boolean isSameValue = simplerSpaces(defaultValue.getValue()).equals(simplerSpaces(customValue.getValue())); if (!isSameValue) { diff --git a/java_tools/tune-tools/src/test/java/com/rusefi/tune/LoadOlderTuneTest.java b/java_tools/tune-tools/src/test/java/com/rusefi/tune/LoadOlderTuneTest.java index caf90a819a..4f3f59afb8 100644 --- a/java_tools/tune-tools/src/test/java/com/rusefi/tune/LoadOlderTuneTest.java +++ b/java_tools/tune-tools/src/test/java/com/rusefi/tune/LoadOlderTuneTest.java @@ -26,7 +26,7 @@ public class LoadOlderTuneTest { RootHolder.ROOT = "../../firmware/"; - StringBuilder sb = TuneCanTool.getTunePatch2(customOldTune, lessOldDefaultTune, ini); + StringBuilder sb = TuneCanTool.getTunePatch2(lessOldDefaultTune, customOldTune, ini); assertEquals("\tengineConfiguration->ignitionMode = IM_ONE_COIL;\n" + "\tengineConfiguration->cylindersCount = 4;\n" +