diff --git a/firmware/controllers/algo/auto_generated_enums.cpp b/firmware/controllers/algo/auto_generated_enums.cpp index d949586ab1..d01bde12ca 100644 --- a/firmware/controllers/algo/auto_generated_enums.cpp +++ b/firmware/controllers/algo/auto_generated_enums.cpp @@ -1,6 +1,6 @@ // auto-generated from.\controllers/algo/rusefi_enums.h // by enum2string.jar tool -// on Thu Nov 22 20:05:41 EST 2018 +// on Wed Apr 10 18:38:13 EDT 2019 // see also gen_config_and_enums.bat @@ -35,6 +35,8 @@ case DODGE_RAM: return "DODGE_RAM"; case DODGE_STRATUS: return "DODGE_STRATUS"; +case ETB_BENCH_ENGINE: + return "ETB_BENCH_ENGINE"; case FORD_ASPIRE_1996: return "FORD_ASPIRE_1996"; case FORD_ESCORT_GT: @@ -91,10 +93,6 @@ case MIATA_NA6_MAP: return "MIATA_NA6_MAP"; case MIATA_NA6_VAF: return "MIATA_NA6_VAF"; -case ETB_BENCH_ENGINE: - return "ETB_BENCH_ENGINE"; -case TLE8888_BENCH_ENGINE: - return "TLE8888_BENCH_ENGINE"; case MINIMAL_PINS: return "MINIMAL_PINS"; case MINI_COOPER_R50: @@ -127,6 +125,8 @@ case TEST_ISSUE_366_BOTH: return "TEST_ISSUE_366_BOTH"; case TEST_ISSUE_366_RISE: return "TEST_ISSUE_366_RISE"; +case TLE8888_BENCH_ENGINE: + return "TLE8888_BENCH_ENGINE"; case TOYOTA_2JZ_GTE_VVTi: return "TOYOTA_2JZ_GTE_VVTi"; case TOYOTA_JZS147: @@ -365,6 +365,19 @@ case OM_OPENDRAIN_INVERTED: } return NULL; } +const char *getPin_mode_e(pin_mode_e value){ +switch(value) { +case PO_DEFAULT: + return "PO_DEFAULT"; +case PO_OPENDRAIN: + return "PO_OPENDRAIN"; +case PO_PULLDOWN: + return "PO_PULLDOWN"; +case PO_PULLUP: + return "PO_PULLUP"; + } + return NULL; +} const char *getPin_input_mode_e(pin_input_mode_e value){ switch(value) { case PI_DEFAULT: @@ -401,10 +414,10 @@ case IM_INDIVIDUAL_COILS: return "IM_INDIVIDUAL_COILS"; case IM_ONE_COIL: return "IM_ONE_COIL"; +case IM_TWO_COILS: + return "IM_TWO_COILS"; case IM_WASTED_SPARK: return "IM_WASTED_SPARK"; -case IM_TWO_COILS: - return "IM_TWO_COILS"; } return NULL; } @@ -451,6 +464,19 @@ case UART_NONE: } return NULL; } +const char *getSpi_speed_e(spi_speed_e value){ +switch(value) { +case _150KHz: + return "_150KHz"; +case _1_25MHz: + return "_1_25MHz"; +case _2_5MHz: + return "_2_5MHz"; +case _5MHz: + return "_5MHz"; + } + return NULL; +} const char *getSpi_device_e(spi_device_e value){ switch(value) { case Force_4_bytes_size_spi_device: @@ -526,6 +552,8 @@ const char *getEgo_sensor_e(ego_sensor_e value){ switch(value) { case ES_14Point7_Free: return "ES_14Point7_Free"; +case ES_AEM: + return "ES_AEM"; case ES_BPSX_D1: return "ES_BPSX_D1"; case ES_Custom: @@ -534,8 +562,6 @@ case ES_Innovate_MTX_L: return "ES_Innovate_MTX_L"; case ES_NarrowBand: return "ES_NarrowBand"; -case ES_AEM: - return "ES_AEM"; case ES_PLX: return "ES_PLX"; case Force_4_bytes_size_ego_sensor: @@ -705,10 +731,6 @@ case GPIOE_8: return "GPIOE_8"; case GPIOE_9: return "GPIOE_9"; -case GPIO_INVALID: - return "GPIO_INVALID"; -case GPIO_UNASSIGNED: - return "GPIO_UNASSIGNED"; case GPIOF_0: return "GPIOF_0"; case GPIOF_1: @@ -770,7 +792,7 @@ case GPIOG_6: case GPIOG_7: return "GPIOG_7"; case GPIOG_8: - return "GPIOA_G"; + return "GPIOG_8"; case GPIOG_9: return "GPIOG_9"; case GPIOH_0: @@ -805,13 +827,15 @@ case GPIOH_8: return "GPIOH_8"; case GPIOH_9: return "GPIOH_9"; +case GPIO_INVALID: + return "GPIO_INVALID"; +case GPIO_UNASSIGNED: + return "GPIO_UNASSIGNED"; } return NULL; } const char *getDebug_mode_e(debug_mode_e value){ switch(value) { -case DBG_TLE8888: - return "DBG_TLE8888"; case DBG_32: return "DBG_32"; case DBG_33: @@ -854,6 +878,8 @@ case DBG_IGNITION_TIMING: return "DBG_IGNITION_TIMING"; case DBG_INSTANT_RPM: return "DBG_INSTANT_RPM"; +case DBG_ION: + return "DBG_ION"; case DBG_KNOCK: return "DBG_KNOCK"; case DBG_MAP: @@ -866,6 +892,8 @@ case DBG_SR5_PROTOCOL: return "DBG_SR5_PROTOCOL"; case DBG_STATUS: return "DBG_STATUS"; +case DBG_TLE8888: + return "DBG_TLE8888"; case DBG_TPS_ACCEL: return "DBG_TPS_ACCEL"; case DBG_TRIGGER_INPUT: @@ -878,8 +906,6 @@ case DBG_VVT: return "DBG_VVT"; case DBG_WARMUP_ENRICH: return "DBG_WARMUP_ENRICH"; -case DBG_ION: - return "DBG_ION"; case Force_4_bytes_size_debug_mode_e: return "Force_4_bytes_size_debug_mode_e"; } diff --git a/java_tools/enum2string.jar b/java_tools/enum2string.jar index c9c79f78d9..ad8e266fcd 100644 Binary files a/java_tools/enum2string.jar and b/java_tools/enum2string.jar differ diff --git a/java_tools/enum_to_string/.idea/misc.xml b/java_tools/enum_to_string/.idea/misc.xml index 1eee6a6201..d5d79e0ca5 100644 --- a/java_tools/enum_to_string/.idea/misc.xml +++ b/java_tools/enum_to_string/.idea/misc.xml @@ -1,9 +1,6 @@ - + - - \ No newline at end of file diff --git a/java_tools/enum_to_string/.idea/vcs.xml b/java_tools/enum_to_string/.idea/vcs.xml index ebabb34f16..9b76d0c0c2 100644 --- a/java_tools/enum_to_string/.idea/vcs.xml +++ b/java_tools/enum_to_string/.idea/vcs.xml @@ -2,6 +2,6 @@ + - - + \ No newline at end of file diff --git a/java_tools/enum_to_string/src/com/rusefi/EnumToString.java b/java_tools/enum_to_string/src/com/rusefi/EnumToString.java index c43ea2b89f..25f41bac96 100644 --- a/java_tools/enum_to_string/src/com/rusefi/EnumToString.java +++ b/java_tools/enum_to_string/src/com/rusefi/EnumToString.java @@ -14,7 +14,7 @@ import java.util.TreeSet; public class EnumToString { private final static Set currentValues = new TreeSet<>(); - private final static StringBuilder cppFileContent = new StringBuilder(); + public final static StringBuilder cppFileContent = new StringBuilder(); private final static StringBuilder headerFileContent = new StringBuilder(); public static void main(String[] args) throws IOException { @@ -46,7 +46,6 @@ public class EnumToString { } private static void process(String inFileName) throws IOException { - BufferedReader reader; String header = "// auto-generated from" + inFileName + "\r\n" + "// by enum2string.jar tool\r\n" + @@ -59,7 +58,6 @@ public class EnumToString { cppFileContent.append(header); EnumToString.headerFileContent.insert(0, header); - boolean isInsideEnum = false; File f = new File(inFileName); System.out.println("Reading from " + inFileName); @@ -69,12 +67,21 @@ public class EnumToString { cppFileContent.append("#include \"" + simpleFileName + "\"\r\n"); EnumToString.headerFileContent.append("#include \"" + simpleFileName + "\"\r\n"); - reader = new BufferedReader(new FileReader(inFileName)); + process(new FileReader(inFileName)); + } + + public static void clear() { + cppFileContent.setLength(0); + } + + public static void process(Reader in) throws IOException { + boolean isInsideEnum = false; + BufferedReader reader = new BufferedReader(in); String line; while ((line = reader.readLine()) != null) { line = removeSpaces(line); - if (line.startsWith("typedefenum{")) { + if (line.startsWith("typedefenum{") || line.startsWith("typedefenum__attribute__")) { System.out.println("Entering enum"); currentValues.clear(); isInsideEnum = true; diff --git a/java_tools/enum_to_string/src/com/rusefi/EnumToStringTest.java b/java_tools/enum_to_string/src/com/rusefi/EnumToStringTest.java index d225258089..ea6b95c315 100644 --- a/java_tools/enum_to_string/src/com/rusefi/EnumToStringTest.java +++ b/java_tools/enum_to_string/src/com/rusefi/EnumToStringTest.java @@ -2,7 +2,11 @@ package com.rusefi; import org.junit.Test; +import java.io.IOException; +import java.io.StringReader; + import static com.rusefi.EnumToString.isKeyValueLine; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; public class EnumToStringTest { @@ -12,4 +16,42 @@ public class EnumToStringTest { assertTrue(isKeyValueLine("MIN = 2,")); assertTrue(isKeyValueLine("MIN = -3,")); } + + @Test + public void parseEnum() throws IOException { + EnumToString.clear(); + EnumToString.process(new StringReader( + "typedef enum {\n" + + "\tGPIO_UNASSIGNED = 0,\n" + + "\tGPIO_INVALID = 1,\n" + + "}brain_pin_e;")); + assertEquals("const char *getBrain_pin_e(brain_pin_e value){\r\n" + + "switch(value) {\r\n" + + "case GPIO_INVALID:\r\n" + + " return \"GPIO_INVALID\";\r\n" + + "case GPIO_UNASSIGNED:\r\n" + + " return \"GPIO_UNASSIGNED\";\r\n" + + " }\r\n" + + " return NULL;\r\n" + + "}\r\n", EnumToString.cppFileContent.toString()); + } + + @Test + public void parsePackedEnum() throws IOException { + EnumToString.clear(); + EnumToString.process(new StringReader( + "typedef enum __attribute__ ((__packed__)) {\n" + + "\tGPIO_UNASSIGNED = 0,\n" + + "\tGPIO_INVALID = 1,\n" + + "} brain_pin_e ;")); + assertEquals("const char *getBrain_pin_e(brain_pin_e value){\r\n" + + "switch(value) {\r\n" + + "case GPIO_INVALID:\r\n" + + " return \"GPIO_INVALID\";\r\n" + + "case GPIO_UNASSIGNED:\r\n" + + " return \"GPIO_UNASSIGNED\";\r\n" + + " }\r\n" + + " return NULL;\r\n" + + "}\r\n", EnumToString.cppFileContent.toString()); + } }