From c89e2ff04499de343607ca811f968155431aaead Mon Sep 17 00:00:00 2001 From: rusefillc Date: Thu, 3 Feb 2022 13:11:43 -0500 Subject: [PATCH] User board-specific terms in error messages #3886 EFI_ADC_13 used multiple times in hellen121vag #2925 enforcing new constraint --- java_tools/ConfigDefinition.jar | Bin 5413006 -> 5414380 bytes .../src/main/java/com/rusefi/PinoutLogic.java | 54 ++++++++---------- 2 files changed, 25 insertions(+), 29 deletions(-) diff --git a/java_tools/ConfigDefinition.jar b/java_tools/ConfigDefinition.jar index d050b73cee03d3773391d70a177d6b05771e3644..cda2433c1512a05672630c1b091c1f0e140188d4 100644 GIT binary patch delta 66431 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 delta 67305 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 diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/PinoutLogic.java b/java_tools/configuration_definition/src/main/java/com/rusefi/PinoutLogic.java index ccc31cd90b..3d4637a321 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/PinoutLogic.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/PinoutLogic.java @@ -16,6 +16,9 @@ public class PinoutLogic { private final File[] boardYamlFiles; private final String boardName; + private final ArrayList globalList = new ArrayList<>(); + private final Map tsNameById = new HashMap<>(); + public PinoutLogic(String boardName, File[] boardYamlFiles) { this.boardName = boardName; @@ -48,7 +51,7 @@ public class PinoutLogic { for (int ii = classList.size(); ii <= index; ii++) { classList.add(null); } - classList.set(index, listPin.getPinName()); + classList.set(index, listPin.getPinTsName()); break; } } @@ -85,8 +88,7 @@ public class PinoutLogic { } @SuppressWarnings("unchecked") - private static void processYamlFile(File yamlFile, - ArrayList listPins) throws IOException { + private void processYamlFile(File yamlFile) throws IOException { Yaml yaml = new Yaml(); Map yamlData = yaml.load(new FileReader(yamlFile)); if (yamlData == null) { @@ -101,11 +103,10 @@ public class PinoutLogic { SystemOut.println(data); Objects.requireNonNull(data, "data"); for (Map pin : data) { - ArrayList thisPinList = new ArrayList<>(); Object pinId = pin.get("id"); Object pinClass = pin.get("class"); - String pinName = (String) pin.get("ts_name"); - if (pinId == null || pinClass == null || pinName == null) { + String pinTsName = (String) pin.get("ts_name"); + if (pinId == null || pinClass == null || pinTsName == null) { continue; } if (pinId instanceof ArrayList) { @@ -114,34 +115,27 @@ public class PinoutLogic { throw new IllegalStateException("Expected multiple classes for " + pinIds); for (int i = 0; i < pinIds.size(); i++) { String id = pinIds.get(i); - addPinToList(listPins, thisPinList, id, pinName, ((ArrayList) pinClass).get(i)); + addPinToList(id, pinTsName, ((ArrayList) pinClass).get(i)); } } else if (pinId instanceof String) { String pinIdString = (String) pinId; if (pinIdString.length() == 0) { throw new IllegalStateException("Unexpected empty ID field"); } - addPinToList(listPins, thisPinList, pinIdString, pinName, (String) pinClass); + addPinToList(pinIdString, pinTsName, (String) pinClass); } else { throw new IllegalStateException("Unexpected type of ID field: " + pinId.getClass().getSimpleName()); } - listPins.addAll(thisPinList); } } - private static void addPinToList(ArrayList listPins, ArrayList thisPinList, String id, String pinName, String pinClass) { -/* - This doesn't work as expected because it's possible that a board has multiple connector pins connected to the same MCU pin. - https://github.com/rusefi/rusefi/issues/2897 - https://github.com/rusefi/rusefi/issues/2925 - for (int i = 0; i < listPins.size(); i++) { - if (id.equals(listPins.get(i).get("id"))) { - throw new IllegalStateException("ID used multiple times: " + id); - } - } -*/ - PinState thisPin = new PinState(id, pinName, pinClass); - thisPinList.add(thisPin); + private void addPinToList(String id, String pinTsName, String pinClass) { + String existingTsName = tsNameById.get(id); + if (existingTsName != null && !existingTsName.equals(pinTsName)) + throw new IllegalStateException("ID used multiple times with different ts_name: " + id); + tsNameById.put(id, pinTsName); + PinState thisPin = new PinState(id, pinTsName, pinClass); + globalList.add(thisPin); } public static PinoutLogic create(String boardName) { @@ -155,11 +149,10 @@ public class PinoutLogic { } public void processYamls(VariableRegistry registry, ReaderState state) throws IOException { - ArrayList listPins = new ArrayList<>(); for (File yamlFile : boardYamlFiles) { - processYamlFile(yamlFile, listPins); + processYamlFile(yamlFile); } - registerPins(listPins, registry, state); + registerPins(globalList, registry, state); } public List getInputFiles() { @@ -172,13 +165,16 @@ public class PinoutLogic { } private static class PinState { + /** + * ID is not unique + */ private final String id; - private final String pinName; + private final String pinTsName; private final String pinClass; public PinState(String id, String pinName, String pinClass) { this.id = id; - this.pinName = pinName; + this.pinTsName = pinName; this.pinClass = pinClass; } @@ -186,8 +182,8 @@ public class PinoutLogic { return id; } - public String getPinName() { - return pinName; + public String getPinTsName() { + return pinTsName; } public String getPinClass() {