From 3f3a17e36652ef1ff68a906c8f226ff3f3e2a486 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Sat, 23 Oct 2021 21:46:42 -0400 Subject: [PATCH] generate java enum from C enum? generate both C and java from yaml? #2102 --- firmware/controllers/algo/engine_types.h | 231 +++++++++++++++++++++++ firmware/controllers/algo/rusefi_enums.h | 230 +--------------------- firmware/integration/rusefi_config.txt | 8 - firmware/tunerstudio/rusefi.input | 16 +- 4 files changed, 244 insertions(+), 241 deletions(-) create mode 100644 firmware/controllers/algo/engine_types.h diff --git a/firmware/controllers/algo/engine_types.h b/firmware/controllers/algo/engine_types.h new file mode 100644 index 0000000000..35c047577d --- /dev/null +++ b/firmware/controllers/algo/engine_types.h @@ -0,0 +1,231 @@ +/* + * @file engine_types.h + * + * @date Oct 23, 2021 + * @author Andrey Belomutskiy, (c) 2012-2021 + */ + +#pragma once + +#include "rusefi_generated.h" + + +/** + * http://rusefi.com/wiki/index.php?title=Manual:Engine_Type + */ +typedef enum { + DEFAULT_FRANKENSO = ET_DEFAULT_FRANKENSO, + /** + * 1995 Dodge Neon + * http://rusefi.com/forum/viewtopic.php?t=360 + */ + DODGE_NEON_1995 = ET_DODGE_NEON_1995, + /** + * 1996 1.3 Ford Aspire + * http://rusefi.com/forum/viewtopic.php?t=375 + */ + FORD_ASPIRE_1996 = ET_FORD_ASPIRE, + + NISSAN_PRIMERA = ET_NISSAN_PRIMERA, + UNUSED_6 = 6, + FORD_INLINE_6_1995 = 7, + /** + * one cylinder engine + * 139qmb 50-90cc + * http://rusefi.com/forum/viewtopic.php?f=3&t=332 + */ + GY6_139QMB = 8, + + MIATA_PROTEUS_TCU = ET_MIATA_TCU_PROTEUS, + MAZDA_MIATA_NB1 = 9, + MRE_MIATA_NB2_MAP = ET_MRE_MIATA_NB2_MAP, + MRE_MIATA_NA6_VAF = ET_MRE_MIATA_NA6_VAF, + MRE_MIATA_NB2_ETB = 13, + MRE_MIATA_NA6_MAP = ET_MRE_MIATA_NA6_MAP, + MRE_MIATA_NB2_MAF = ET_MRE_MIATA_NB2_MAF, + + // Frankenstein board + MIATA_1990 = 19, + // Frankenso board + MIATA_NA6_MAP = ET_FRANKENSO_MIATA_NA6, + MRE_MIATA_94_MAP = ET_MRE_MIATA_94_MAP, + MIATA_1996 = 21, + + FORD_ESCORT_GT = ET_FORD_ESCORT_GT, + + + MITSU_4G93 = 16, + + /** + * a version of HONDA_ACCORD_CD which only uses two of three trigger input sensors + */ + HONDA_ACCORD_CD_TWO_WIRES = 17, + + HONDA_ACCORD_CD_DIP = 18, + + + SUBARU_2003_WRX = 22, + + /** + * microRusEFI used as Body Control Module BCM BCU + */ + MRE_BODY_CONTROL = ET_MRE_BODY_CONTROL, + BMW_M73_M = 24, + + TEST_ENGINE = 26, + + // used by unit test + // see https://github.com/rusefi/rusefi/issues/898 + // see TriggerWaveform::bothFrontsRequired + TEST_ISSUE_898 = 27, + + MAZDA_626 = 28, + + SACHS = ET_SACHS, + + // LED physical order set for older test fixtures + MRE_BOARD_OLD_TEST = 30, + + MRE_BOARD_NEW_TEST = 31, + + VW_ABA = ET_VW_ABA, + + HELLEN72_ETB = 33, + + HELLEN_NA6 = ET_HELLEN_NA6, + + CAMARO_4 = ET_CAMARO, + + HELLEN_128_MERCEDES_4_CYL = ET_HELLEN_128_MERCEDES_4_CYL, + + MRE_SUBARU_EJ18 = ET_MRE_SUBARU_EJ18, + + TOYOTA_JZS147 = 38, // 2JZ-GTE NON VVTi + + LADA_KALINA = 39, + + BMW_M73_F = ET_BMW_M73_F, + + PROTEUS_QC_TEST_BOARD = ET_PROTEUS_QC_TEST_BOARD, + + HONDA_600 = 43, + + TOYOTA_2JZ_GTE_VVTi = 44, + + TEST_ENGINE_VVT = 45, + + DODGE_NEON_2003_CRANK = 46, + + /** + * proper NB2 setup, 2003 red test mule car + */ + MAZDA_MIATA_2003 = ET_FRANKENSO_MIATA_NB2, + + UNUSED_48 = 48, + + FRANKENSO_QA_ENGINE = 49, + + UNUSED_50 = 50, + + UNUSED_51 = 51, + + + TEST_ISSUE_366_BOTH = 52, + TEST_ISSUE_366_RISE = 53, + + /** + * green Hunchback race car - VVT engine on a NA body with NA return fuel lines which + * means different fuel pressure situation + */ + MAZDA_MIATA_2003_NA_RAIL = 54, + + MAZDA_MIATA_2003_BOARD_TEST = 55, + + MAZDA_MIATA_NA8 = 56, + + // see also MIATA_NA6_MAP = 41 + MIATA_NA6_VAF = ET_FRANKENSO_MIATA_NA6_VAF, + + ETB_BENCH_ENGINE = 58, + + TLE8888_BENCH_ENGINE = 59, + + MICRO_RUS_EFI = ET_MRE_DEFAULTS, + + PROTEUS_DEFAULTS = 61, + + PROTEUS_ANALOG_PWM_TEST = ET_PROTEUS_ANALOG_PWM_TEST, + + VW_B6 = ET_VW_B6, + + BMW_M73_PROTEUS = ET_PROTEUS_BMW_M73, + + DODGE_RAM = 64, + CITROEN_TU3JP = ET_CITROEN_TU3JP, + + MRE_M111 = ET_MRE_M111, + + PROTEUS_MIATA_NB2 = ET_PROTEUS_MIATA_NB2, + + HELLEN_NB2 = ET_HELLEN_NB2, + + SUBARUEG33_DEFAULTS = 70, + + HELLEN_121_VAG = ET_HELLEN_121_VAG, + HELLEN_121_NISSAN_6_CYL = ET_HELLEN_121_NISSAN_6_CYL, + HELLEN_55_BMW = ET_HELLEN_55_BMW, + HELLEN_88_BMW = ET_HELLEN_88_BMW, + HELLEN_134_BMW = ET_HELLEN_134_BMW, + HELLEN_154_VAG = ET_HELLEN_154_VAG, + + HELLEN_121_VAG_5_CYL = ET_HELLEN_121_VAG_5_CYL, + HELLEN_121_VAG_V6_CYL = ET_HELLEN_121_VAG_V6_CYL, + HELLEN_121_VAG_VR6_CYL = ET_HELLEN_121_VAG_VR6_CYL, + HELLEN_121_VAG_8_CYL = ET_HELLEN_121_VAG_8_CYL, + + HELLEN_NA94 = ET_HELLEN_NA94, + + // 82 + HELLEN_154_HYUNDAI_COUPE_BK1 = ET_HELLEN_154_HYUNDAI_COUPE_BK1, + HELLEN_NB1 = ET_HELLEN_NB1, + // 84 + HELLEN_121_NISSAN_4_CYL = ET_HELLEN_121_NISSAN_4_CYL, + + HELLEN_NB2_36 = ET_HELLEN_NB2_36, + + HELLEN_128_MERCEDES_6_CYL = ET_HELLEN_128_MERCEDES_6_CYL, + + HELLEN_128_MERCEDES_8_CYL = ET_HELLEN_128_MERCEDES_8_CYL, + + PROTEUS_HONDA_ELEMENT_2003 = ET_PROTEUS_HONDA_ELEMENT_2003, + + PROTEUS_HONDA_OBD2A = ET_PROTEUS_HONDA_OBD2A, + + PROTEUS_VAG_80_18T = ET_PROTEUS_VAG_80_18T, + + PROTEUS_N73 = ET_PROTEUS_N73, + + HELLEN_154_HYUNDAI_COUPE_BK2 = ET_HELLEN_154_HYUNDAI_COUPE_BK2, + + + /** + * this configuration has as few pins configured as possible + */ + MINIMAL_PINS = 99, + PROMETHEUS_DEFAULTS = 100, + SUBARUEJ20G_DEFAULTS = 101, + VAG_18_TURBO = 102, + + TEST_33816 = 103, + + BMW_M73_MRE = 104, + BMW_M73_MRE_SLAVE = 105, + + TEST_ROTARY = ET_TEST_ROTARY, + + TEST_108 = 108, + TEST_109 = 109, + TEST_110 = 110, + + Force_4_bytes_size_engine_type = ENUM_32_BITS, +} engine_type_e; diff --git a/firmware/controllers/algo/rusefi_enums.h b/firmware/controllers/algo/rusefi_enums.h index 5f14cf35ff..e7e1e94c42 100644 --- a/firmware/controllers/algo/rusefi_enums.h +++ b/firmware/controllers/algo/rusefi_enums.h @@ -13,7 +13,7 @@ #include "efifeatures.h" #include "obd_error_codes.h" #include "live_data_ids.h" -#include "rusefi_generated.h" +#include "engine_types.h" // we do not want to start the search for header from current folder so we use brackets here // https://stackoverflow.com/questions/21593/what-is-the-difference-between-include-filename-and-include-filename #include @@ -27,226 +27,6 @@ #define PERCENT_MULT 100.0f #define PERCENT_DIV 0.01f -/** - * http://rusefi.com/wiki/index.php?title=Manual:Engine_Type - */ -typedef enum { - DEFAULT_FRANKENSO = ET_DEFAULT_FRANKENSO, - /** - * 1995 Dodge Neon - * http://rusefi.com/forum/viewtopic.php?t=360 - */ - DODGE_NEON_1995 = ET_DODGE_NEON_1995, - /** - * 1996 1.3 Ford Aspire - * http://rusefi.com/forum/viewtopic.php?t=375 - */ - FORD_ASPIRE_1996 = ET_FORD_ASPIRE, - - NISSAN_PRIMERA = ET_NISSAN_PRIMERA, - UNUSED_6 = 6, - FORD_INLINE_6_1995 = 7, - /** - * one cylinder engine - * 139qmb 50-90cc - * http://rusefi.com/forum/viewtopic.php?f=3&t=332 - */ - GY6_139QMB = 8, - - MIATA_PROTEUS_TCU = ET_MIATA_TCU_PROTEUS, - MAZDA_MIATA_NB1 = 9, - MRE_MIATA_NB2_MAP = ET_MRE_MIATA_NB2_MAP, - MRE_MIATA_NA6_VAF = ET_MRE_MIATA_NA6_VAF, - MRE_MIATA_NB2_ETB = 13, - MRE_MIATA_NA6_MAP = ET_MRE_MIATA_NA6_MAP, - MRE_MIATA_NB2_MAF = ET_MRE_MIATA_NB2_MAF, - - // Frankenstein board - MIATA_1990 = 19, - // Frankenso board - MIATA_NA6_MAP = ET_FRANKENSO_MIATA_NA6, - MRE_MIATA_94_MAP = ET_MRE_MIATA_94_MAP, - MIATA_1996 = 21, - - FORD_ESCORT_GT = ET_FORD_ESCORT_GT, - - - MITSU_4G93 = 16, - - /** - * a version of HONDA_ACCORD_CD which only uses two of three trigger input sensors - */ - HONDA_ACCORD_CD_TWO_WIRES = 17, - - HONDA_ACCORD_CD_DIP = 18, - - - SUBARU_2003_WRX = 22, - - /** - * microRusEFI used as Body Control Module BCM BCU - */ - MRE_BODY_CONTROL = ET_MRE_BODY_CONTROL, - BMW_M73_M = 24, - - TEST_ENGINE = 26, - - // used by unit test - // see https://github.com/rusefi/rusefi/issues/898 - // see TriggerWaveform::bothFrontsRequired - TEST_ISSUE_898 = 27, - - MAZDA_626 = 28, - - SACHS = ET_SACHS, - - // LED physical order set for older test fixtures - MRE_BOARD_OLD_TEST = 30, - - MRE_BOARD_NEW_TEST = 31, - - VW_ABA = ET_VW_ABA, - - HELLEN72_ETB = 33, - - HELLEN_NA6 = ET_HELLEN_NA6, - - CAMARO_4 = ET_CAMARO, - - HELLEN_128_MERCEDES_4_CYL = ET_HELLEN_128_MERCEDES_4_CYL, - - MRE_SUBARU_EJ18 = ET_MRE_SUBARU_EJ18, - - TOYOTA_JZS147 = 38, // 2JZ-GTE NON VVTi - - LADA_KALINA = 39, - - BMW_M73_F = ET_BMW_M73_F, - - PROTEUS_QC_TEST_BOARD = ET_PROTEUS_QC_TEST_BOARD, - - HONDA_600 = 43, - - TOYOTA_2JZ_GTE_VVTi = 44, - - TEST_ENGINE_VVT = 45, - - DODGE_NEON_2003_CRANK = 46, - - /** - * proper NB2 setup, 2003 red test mule car - */ - MAZDA_MIATA_2003 = ET_FRANKENSO_MIATA_NB2, - - UNUSED_48 = 48, - - FRANKENSO_QA_ENGINE = 49, - - UNUSED_50 = 50, - - UNUSED_51 = 51, - - - TEST_ISSUE_366_BOTH = 52, - TEST_ISSUE_366_RISE = 53, - - /** - * green Hunchback race car - VVT engine on a NA body with NA return fuel lines which - * means different fuel pressure situation - */ - MAZDA_MIATA_2003_NA_RAIL = 54, - - MAZDA_MIATA_2003_BOARD_TEST = 55, - - MAZDA_MIATA_NA8 = 56, - - // see also MIATA_NA6_MAP = 41 - MIATA_NA6_VAF = ET_FRANKENSO_MIATA_NA6_VAF, - - ETB_BENCH_ENGINE = 58, - - TLE8888_BENCH_ENGINE = 59, - - MICRO_RUS_EFI = ET_MRE_DEFAULTS, - - PROTEUS_DEFAULTS = 61, - - PROTEUS_ANALOG_PWM_TEST = ET_PROTEUS_ANALOG_PWM_TEST, - - VW_B6 = ET_VW_B6, - - BMW_M73_PROTEUS = ET_PROTEUS_BMW_M73, - - DODGE_RAM = 64, - CITROEN_TU3JP = ET_CITROEN_TU3JP, - - MRE_M111 = ET_MRE_M111, - - PROTEUS_MIATA_NB2 = ET_PROTEUS_MIATA_NB2, - - HELLEN_NB2 = ET_HELLEN_NB2, - - SUBARUEG33_DEFAULTS = 70, - - HELLEN_121_VAG = ET_HELLEN_121_VAG, - HELLEN_121_NISSAN_6_CYL = ET_HELLEN_121_NISSAN_6_CYL, - HELLEN_55_BMW = ET_HELLEN_55_BMW, - HELLEN_88_BMW = ET_HELLEN_88_BMW, - HELLEN_134_BMW = ET_HELLEN_134_BMW, - HELLEN_154_VAG = ET_HELLEN_154_VAG, - - HELLEN_121_VAG_5_CYL = ET_HELLEN_121_VAG_5_CYL, - HELLEN_121_VAG_V6_CYL = ET_HELLEN_121_VAG_V6_CYL, - HELLEN_121_VAG_VR6_CYL = ET_HELLEN_121_VAG_VR6_CYL, - HELLEN_121_VAG_8_CYL = ET_HELLEN_121_VAG_8_CYL, - - HELLEN_NA94 = ET_HELLEN_NA94, - - // 82 - HELLEN_154_HYUNDAI_COUPE_BK1 = ET_HELLEN_154_HYUNDAI_COUPE_BK1, - HELLEN_NB1 = ET_HELLEN_NB1, - // 84 - HELLEN_121_NISSAN_4_CYL = ET_HELLEN_121_NISSAN_4_CYL, - - HELLEN_NB2_36 = ET_HELLEN_NB2_36, - - HELLEN_128_MERCEDES_6_CYL = ET_HELLEN_128_MERCEDES_6_CYL, - - HELLEN_128_MERCEDES_8_CYL = ET_HELLEN_128_MERCEDES_8_CYL, - - PROTEUS_HONDA_ELEMENT_2003 = ET_PROTEUS_HONDA_ELEMENT_2003, - - PROTEUS_HONDA_OBD2A = ET_PROTEUS_HONDA_OBD2A, - - PROTEUS_VAG_80_18T = ET_PROTEUS_VAG_80_18T, - - PROTEUS_N73 = ET_PROTEUS_N73, - - HELLEN_154_HYUNDAI_COUPE_BK2 = ET_HELLEN_154_HYUNDAI_COUPE_BK2, - - - /** - * this configuration has as few pins configured as possible - */ - MINIMAL_PINS = 99, - PROMETHEUS_DEFAULTS = 100, - SUBARUEJ20G_DEFAULTS = 101, - VAG_18_TURBO = 102, - - TEST_33816 = 103, - - BMW_M73_MRE = 104, - BMW_M73_MRE_SLAVE = 105, - - TEST_ROTARY = ET_TEST_ROTARY, - - TEST_108 = 108, - TEST_109 = 109, - TEST_110 = 110, - - Force_4_bytes_size_engine_type = ENUM_32_BITS, -} engine_type_e; - /** * @see http://rusefi.com/wiki/index.php?title=Manual:Software:Trigger @@ -696,11 +476,11 @@ typedef enum { * todo: we might want to implement one additional mode where each pair of injectors is floating twice per engine cycle. * todo: this could reduce phase offset from injection to stroke but would not work great for large injectors */ - IM_BATCH = IM_IM_BATCH, + IM_BATCH = 2, /** * only one injector located in throttle body */ - IM_SINGLE_POINT = IM_IM_SINGLE_POINT, + IM_SINGLE_POINT = 3, Force_4_bytes_size_injection_mode = ENUM_32_BITS, @@ -1107,10 +887,10 @@ typedef enum __attribute__ ((__packed__)) { typedef enum __attribute__ ((__packed__)) { // todo: rename to HB_None? - ETB_None = ETB_FUNCTION_NONE, + ETB_None = 0, ETB_Throttle1 = 1, ETB_Throttle2 = 2, - ETB_IdleValve = DC_FUNCTION_IDLE, + ETB_IdleValve = 3, ETB_Wastegate = 4, // todo: rename to dc_function_e? rename to hbrg_function_e? } etb_function_e; diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index 1dcdff9904..13825c02f1 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -215,8 +215,6 @@ struct_no_prefix engine_configuration_s #define TPS_TPS_ACCEL_TABLE 8 #define MAP_ACCEL_TAPER 8 #define ADC_CHANNEL_NONE 0 -#define ETB_FUNCTION_NONE 0 -#define DC_FUNCTION_IDLE 3 #define BARO_CORR_SIZE 4 @@ -469,12 +467,6 @@ end_struct ! todo https://github.com/rusefi/rusefi/issues/2102 #define DBG_DBG_LOGIC_ANALYZER 45 -#define ETB_ETB_None 0 - -! todo https://github.com/rusefi/rusefi/issues/2102 -#define IM_IM_BATCH 2 -#define IM_IM_SINGLE_POINT 3 - ! todo https://github.com/rusefi/rusefi/issues/2102 #define ET_DEFAULT_FRANKENSO 0 #define ET_MIATA_TCU_PROTEUS 1 diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index 769b4991e8..744d54ab09 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -1849,7 +1849,7 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" - field = "Individually wired Batch Fuel", twoWireBatchInjection, {isInjectionEnabled == 1 && injectionMode == @@IM_IM_BATCH@@ } + field = "Individually wired Batch Fuel", twoWireBatchInjection, {isInjectionEnabled == 1 && injectionMode == @@injection_mode_e_IM_BATCH@@ } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } @@ -1982,10 +1982,10 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00" field = "Use only first half of pins for batch mode" field = "Injection Pin 1", injectionPins1, {isInjectionEnabled == 1} field = "Injection Pin 2", injectionPins2, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 1} - field = "Injection Pin 3", injectionPins3, {isInjectionEnabled == 1 && injectionMode != @@IM_IM_SINGLE_POINT@@ && cylindersCount > 2} + field = "Injection Pin 3", injectionPins3, {isInjectionEnabled == 1 && injectionMode != @@injection_mode_e_IM_SINGLE_POINT@@ && cylindersCount > 2} field = "Injection Pin 4", injectionPins4, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 3} - field = "Injection Pin 5 ", injectionPins5, {isInjectionEnabled == 1 && injectionMode != @@IM_IM_SINGLE_POINT@@ && cylindersCount > 4} - field = "Injection Pin 6 ", injectionPins6, {isInjectionEnabled == 1 && injectionMode != @@IM_IM_SINGLE_POINT@@ && cylindersCount > 5} + field = "Injection Pin 5 ", injectionPins5, {isInjectionEnabled == 1 && injectionMode != @@injection_mode_e_IM_SINGLE_POINT@@ && cylindersCount > 4} + field = "Injection Pin 6 ", injectionPins6, {isInjectionEnabled == 1 && injectionMode != @@injection_mode_e_IM_SINGLE_POINT@@ && cylindersCount > 5} field = "Injection Pin 7 ", injectionPins7, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 6} field = "Injection Pin 8 ", injectionPins8, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 7} field = "Injection Pin 9 ", injectionPins9, {isInjectionEnabled == 1 && cylindersCount > 8} @@ -1997,8 +1997,8 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00" dialog = cylinderBankSelect, "Cylinder Banks", yAxis field = "Cylinder 1", cylinderBankSelect1, {isInjectionEnabled == 1} - field = "Cylinder 2", cylinderBankSelect2, {isInjectionEnabled == 1 && injectionMode != @@IM_IM_SINGLE_POINT@@ && cylindersCount > 1} - field = "Cylinder 3", cylinderBankSelect3, {isInjectionEnabled == 1 && injectionMode != @@IM_IM_SINGLE_POINT@@ && cylindersCount > 2} + field = "Cylinder 2", cylinderBankSelect2, {isInjectionEnabled == 1 && injectionMode != @@injection_mode_e_IM_SINGLE_POINT@@ && cylindersCount > 1} + field = "Cylinder 3", cylinderBankSelect3, {isInjectionEnabled == 1 && injectionMode != @@injection_mode_e_IM_SINGLE_POINT@@ && cylindersCount > 2} field = "Cylinder 4", cylinderBankSelect4, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 3} field = "Cylinder 5 ", cylinderBankSelect5, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 4} field = "Cylinder 6 ", cylinderBankSelect6, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 5} @@ -3471,7 +3471,7 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00" ; criteria for the same panel when used in multiple places ; todo: report bug to TS? ; another todo: split panel into two panels so that we can enable/disable h-bridge #1 separately from h-bridge #2 - panel = etbHbridgeHardware, { etbFunctions1 != @@ETB_FUNCTION_NONE@@ || etbFunctions2 != @@ETB_FUNCTION_NONE@@ || (useStepperIdle && useHbridgesToDriveIdleStepper) } + panel = etbHbridgeHardware, { etbFunctions1 != @@etb_function_e_ETB_None@@ || etbFunctions2 != @@etb_function_e_ETB_None@@ || (useStepperIdle && useHbridgesToDriveIdleStepper) } dialog = etbAutotune, "PID Autotune" field = "First step: calibrate TPS and hit 'Burn'" @@ -3487,7 +3487,7 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00" dialog = etbDialogRight panel = etbIdleDialog, { throttlePedalPositionAdcChannel != @@ADC_CHANNEL_NONE@@ } - panel = etbPidDialog, { (throttlePedalPositionAdcChannel != @@ADC_CHANNEL_NONE@@) || (etbFunctions1 == @@DC_FUNCTION_IDLE@@) } + panel = etbPidDialog, { (throttlePedalPositionAdcChannel != @@ADC_CHANNEL_NONE@@) || (etbFunctions1 == @@etb_function_e_ETB_IdleValve@@) } panel = etbAutotune ; Neutral position handling not yet implemented!