From 1b73e9615256a999aad7fd32684f3f1064398bfb Mon Sep 17 00:00:00 2001 From: rusefillc Date: Thu, 3 Feb 2022 14:27:47 -0500 Subject: [PATCH] User board-specific terms in error messages #3886 --- firmware/rusefi.mk | 7 +++++ java_tools/ConfigDefinition.jar | Bin 5414380 -> 5415646 bytes .../src/main/java/com/rusefi/PinoutLogic.java | 24 +++++++++++++++--- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/firmware/rusefi.mk b/firmware/rusefi.mk index 399c2ebe0e..28fa24070e 100644 --- a/firmware/rusefi.mk +++ b/firmware/rusefi.mk @@ -26,6 +26,13 @@ endif -include $(PROJECT_DIR)/config/boards/$(PROJECT_BOARD)/config.mk +PIN_NAMES_FILE=$(PROJECT_DIR)/config/boards/$(PROJECT_BOARD)/connectors/generated_ts_name_by_pin.cpp + +ifneq ("$(wildcard $(PIN_NAMES_FILE))","") +$(info found $(PIN_NAMES_FILE) ) +ALLCPPSRC += $(PIN_NAMES_FILE) +endif + # CPU-dependent defs ifeq ($(PROJECT_CPU),ARCH_STM32F7) CPU_STARTUP = startup_stm32f7xx.mk diff --git a/java_tools/ConfigDefinition.jar b/java_tools/ConfigDefinition.jar index cda2433c1512a05672630c1b091c1f0e140188d4..00fafbf40edb7d944e1ed15b19f8e2a4ac97b2b6 100644 GIT binary patch delta 69828 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

A%esa3@#%9(?>H* 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 delta 68477 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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 3d4637a321..99f235cfb0 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 @@ -4,10 +4,7 @@ import com.rusefi.enum_reader.Value; import com.rusefi.util.SystemOut; import org.yaml.snakeyaml.Yaml; -import java.io.File; -import java.io.FileReader; -import java.io.FilenameFilter; -import java.io.IOException; +import java.io.*; import java.util.*; public class PinoutLogic { @@ -153,6 +150,25 @@ public class PinoutLogic { processYamlFile(yamlFile); } registerPins(globalList, registry, state); + + try (FileWriter getTsNameByIdFile = new FileWriter(PinoutLogic.CONFIG_BOARDS + boardName + PinoutLogic.CONNECTORS + File.separator + "generated_ts_name_by_pin.cpp")) { + getTsNameByIdFile.append("// auto-generated by PinoutLogic.java\n\n"); + getTsNameByIdFile.append("#include \"pch.h\"\n\n"); + getTsNameByIdFile.append("const char * getBoardSpecificPinName(brain_pin_e brainPin) {\n"); + getTsNameByIdFile.append("\tswitch(brainPin) {\n"); + + for (Map.Entry e : tsNameById.entrySet()) { + getTsNameByIdFile.append("\t\tcase " + e.getKey() + ": return " + quote(e.getValue()) + ";\n"); + } + + getTsNameByIdFile.append("\t}\n"); + + getTsNameByIdFile.append("\treturn nullptr;\n}\n"); + } + } + + private String quote(String value) { + return "\"" + value + "\""; } public List getInputFiles() {