diff --git a/java_tools/ConfigDefinition.jar b/java_tools/ConfigDefinition.jar index 95ae07da1b..8b84a5ed32 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/PinoutLogic.java b/java_tools/configuration_definition/src/main/java/com/rusefi/PinoutLogic.java index dc2e39e04b..ead645c73b 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 @@ -102,6 +102,7 @@ public class PinoutLogic { for (Map pin : data) { Object pinId = pin.get("id"); Object pinClass = pin.get("class"); + String pinName = (String) pin.get("pin"); String pinTsName = (String) pin.get("ts_name"); if (pinId == null || pinClass == null || pinTsName == null) { continue; @@ -110,9 +111,12 @@ public class PinoutLogic { ArrayList pinIds = (ArrayList) pinId; if (!(pinClass instanceof ArrayList)) throw new IllegalStateException("Expected multiple classes for " + pinIds); + ArrayList pinClassArray = (ArrayList) pinClass; + if (pinIds.size()!=pinClassArray.size()) + throw new IllegalStateException(pinName + ": id array length should match class array length"); for (int i = 0; i < pinIds.size(); i++) { String id = pinIds.get(i); - addPinToList(id, pinTsName, ((ArrayList) pinClass).get(i)); + addPinToList(id, pinTsName, pinClassArray.get(i)); } } else if (pinId instanceof String) { String pinIdString = (String) pinId;