From f979accd39deb74f791b61ebd90154be1f07eeb1 Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Wed, 13 Oct 2021 01:18:52 +0000 Subject: [PATCH] Auto-generated configs and docs --- ...ngine_configuration_generated_structures.h | 20 +++--- .../generated/fsio_enums_generated.def | 2 +- .../controllers/generated/fsio_getters.def | 2 +- firmware/controllers/generated/fsio_names.def | 2 +- .../controllers/generated/fsio_strings.def | 2 +- .../controllers/generated/rusefi_generated.h | 16 ++--- .../generated/signature_hellen154hyundai.h | 6 +- firmware/tunerstudio/generated/cache.zip | Bin 2091972 -> 2092044 bytes .../generated/rusefi_hellen154hyundai.ini | 66 +++++++++--------- .../com/rusefi/config/generated/Fields.java | 12 ++-- java_console/rusefi.xml | 2 +- 11 files changed, 65 insertions(+), 65 deletions(-) diff --git a/firmware/controllers/generated/engine_configuration_generated_structures.h b/firmware/controllers/generated/engine_configuration_generated_structures.h index 85637ebdd4..bf5aea39cd 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Oct 12 22:06:44 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Oct 13 01:17:35 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -13,7 +13,7 @@ #define acSwitch_offset 1469 #define acSwitchMode_offset 4516 #define adc_channel_e_auto_enum "EFI_ADC_NONE", "EFI_ADC_0", "EFI_ADC_1", "EFI_ADC_2", "EFI_ADC_3", "EFI_ADC_4", "EFI_ADC_5", "EFI_ADC_6", "EFI_ADC_7", "EFI_ADC_8", "EFI_ADC_9", "EFI_ADC_10", "EFI_ADC_11", "EFI_ADC_12", "EFI_ADC_13", "EFI_ADC_14", "EFI_ADC_15", "EFI_ADC_LAST_CHANNEL", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "EFI_ADC_ERROR" -#define adc_channel_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","17 - CAM","INVALID","INVALID","16 - CRANK" +#define adc_channel_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","TPS 2","INVALID","Map Sensor K31","INVALID","CLT","IAT","PPS 2" #define adc_channel_mode_e_auto_enum "ADC_OFF", "ADC_SLOW", "ADC_FAST" #define ADC_CHANNEL_NONE 0 #define adcVcc_offset 548 @@ -154,7 +154,7 @@ #define boostTpsBins_offset 6392 #define boostType_e_auto_enum "OPEN_LOOP", "CLOSED_LOOP" #define boostType_offset 1012 -#define brain_input_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","17 - CAM","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","16 - CRANK" +#define brain_input_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Cam - K62","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Crank - K17","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Cam - K15" #define brain_pin_e_auto_enum "GPIO_UNASSIGNED", "GPIO_INVALID", "GPIOA_0", "GPIOA_1", "GPIOA_2", "GPIOA_3", "GPIOA_4", "GPIOA_5", "GPIOA_6", "GPIOA_7", "GPIOA_8", "GPIOA_9", "GPIOA_10", "GPIOA_11", "GPIOA_12", "GPIOA_13", "GPIOA_14", "GPIOA_15", "GPIOB_0", "GPIOB_1", "GPIOB_2", "GPIOB_3", "GPIOB_4", "GPIOB_5", "GPIOB_6", "GPIOB_7", "GPIOB_8", "GPIOB_9", "GPIOB_10", "GPIOB_11", "GPIOB_12", "GPIOB_13", "GPIOB_14", "GPIOB_15", "GPIOC_0", "GPIOC_1", "GPIOC_2", "GPIOC_3", "GPIOC_4", "GPIOC_5", "GPIOC_6", "GPIOC_7", "GPIOC_8", "GPIOC_9", "GPIOC_10", "GPIOC_11", "GPIOC_12", "GPIOC_13", "GPIOC_14", "GPIOC_15", "GPIOD_0", "GPIOD_1", "GPIOD_2", "GPIOD_3", "GPIOD_4", "GPIOD_5", "GPIOD_6", "GPIOD_7", "GPIOD_8", "GPIOD_9", "GPIOD_10", "GPIOD_11", "GPIOD_12", "GPIOD_13", "GPIOD_14", "GPIOD_15", "GPIOE_0", "GPIOE_1", "GPIOE_2", "GPIOE_3", "GPIOE_4", "GPIOE_5", "GPIOE_6", "GPIOE_7", "GPIOE_8", "GPIOE_9", "GPIOE_10", "GPIOE_11", "GPIOE_12", "GPIOE_13", "GPIOE_14", "GPIOE_15", "GPIOF_0", "GPIOF_1", "GPIOF_2", "GPIOF_3", "GPIOF_4", "GPIOF_5", "GPIOF_6", "GPIOF_7", "GPIOF_8", "GPIOF_9", "GPIOF_10", "GPIOF_11", "GPIOF_12", "GPIOF_13", "GPIOF_14", "GPIOF_15", "GPIOG_0", "GPIOG_1", "GPIOG_2", "GPIOG_3", "GPIOG_4", "GPIOG_5", "GPIOG_6", "GPIOG_7", "GPIOG_8", "GPIOG_9", "GPIOG_10", "GPIOG_11", "GPIOG_12", "GPIOG_13", "GPIOG_14", "GPIOG_15", "GPIOH_0", "GPIOH_1", "GPIOH_2", "GPIOH_3", "GPIOH_4", "GPIOH_5", "GPIOH_6", "GPIOH_7", "GPIOH_8", "GPIOH_9", "GPIOH_10", "GPIOH_11", "GPIOH_12", "GPIOH_13", "GPIOH_14", "GPIOH_15", "GPIOI_0", "GPIOI_1", "GPIOI_2", "GPIOI_3", "GPIOI_4", "GPIOI_5", "GPIOI_6", "GPIOI_7", "GPIOI_8", "GPIOI_9", "GPIOI_10", "GPIOI_11", "GPIOI_12", "GPIOI_13", "GPIOI_14", "GPIOI_15", "MC33972_PIN_1", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "MC33972_PIN_21", "MC33972_PIN_22", "TLE8888_PIN_1", "TLE8888_PIN_2", "TLE8888_PIN_3", "TLE8888_PIN_4", "TLE8888_PIN_5", "TLE8888_PIN_6", "TLE8888_PIN_7", "TLE8888_PIN_8", "TLE8888_PIN_9", "TLE8888_PIN_10", "TLE8888_PIN_11", "TLE8888_PIN_12", "TLE8888_PIN_13", "TLE8888_PIN_14", "TLE8888_PIN_15", "TLE8888_PIN_16", "TLE8888_PIN_17", "TLE8888_PIN_18", "TLE8888_PIN_19", "TLE8888_PIN_20", "TLE8888_PIN_21", "TLE8888_PIN_22", "TLE8888_PIN_23", "TLE8888_PIN_24", "TLE8888_PIN_25", "TLE8888_PIN_26", "TLE8888_PIN_27", "TLE8888_PIN_28", "TLE8888_PIN_MR", "TLE8888_PIN_KEY", "TLE8888_PIN_WAKE", "TLE6240_PIN_1", "TLE6240_PIN_2", "TLE6240_PIN_3", "TLE6240_PIN_4", "TLE6240_PIN_5", "TLE6240_PIN_6", "TLE6240_PIN_7", "TLE6240_PIN_8", "TLE6240_PIN_9", "TLE6240_PIN_10", "TLE6240_PIN_11", "TLE6240_PIN_12", "TLE6240_PIN_13", "TLE6240_PIN_14", "TLE6240_PIN_15", "TLE6240_PIN_16" #define brain_pin_e_enum "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" #define brakePedalPin_offset 2608 @@ -1221,7 +1221,7 @@ #define oilPressure_value2_offset 2708 #define onOffAlternatorLogic_offset 744 #define operation_mode_e_auto_enum "OM_NONE", "FOUR_STROKE_CRANK_SENSOR", "FOUR_STROKE_CAM_SENSOR", "TWO_STROKE", "FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR", "FOUR_STROKE_THREE_TIMES_CRANK_SENSOR" -#define output_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","24 - Coil 6","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","50 - Coil 1","INVALID","INVALID","INVALID","INVALID","INVALID","27 - MAIN","INVALID","INVALID","INVALID","INVALID","INVALID","3 - INJ_5","5 - INJ_4","31 - INJ_3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","25 - Coil 5","23 - Coil 4","52 - Coil 3","51 - Coil 2","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","4 - INJ_6","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","33 - INJ_1","32 - INJ_2","INVALID","INVALID","INVALID","INVALID","INVALID","1 - OUT_PUMP" +#define output_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INJ_4 k28","INJ_3 k27","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INJ_1 k25","INJ_2 k26","INVALID","INVALID","INVALID","INVALID","Fuel Pump K70","Main Relay K64" #define overrideCrankingIacSetting_offset 1476 #define overrideTriggerGaps_offset 76 #define PACK_ADD_TEMPERATURE 40 @@ -1309,15 +1309,15 @@ #define servoOutputPins7_offset 3146 #define servoOutputPins8_offset 3147 #define show_Frankenso_presets false -#define show_Hellen88bmw_presets true +#define show_Hellen_hyundai_154 true #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false #define showHumanReadableWarning_offset 976 #define showSdCardWarning_offset 76 -#define SIGNATURE_BOARD hellen88bmw -#define SIGNATURE_DATE 2021.10.12 -#define SIGNATURE_HASH 50731632 +#define SIGNATURE_BOARD hellen154hyundai +#define SIGNATURE_DATE 2021.10.13 +#define SIGNATURE_HASH 547833572 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1679,7 +1679,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port false -#define TS_SIGNATURE "rusEFI 2021.10.12.hellen88bmw.50731632" +#define TS_SIGNATURE "rusEFI 2021.10.13.hellen154hyundai.547833572" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' @@ -6291,4 +6291,4 @@ struct persistent_config_s { }; // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Oct 12 22:06:44 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Oct 13 01:17:35 UTC 2021 diff --git a/firmware/controllers/generated/fsio_enums_generated.def b/firmware/controllers/generated/fsio_enums_generated.def index 2b3ae59332..7cb53910ad 100644 --- a/firmware/controllers/generated/fsio_enums_generated.def +++ b/firmware/controllers/generated/fsio_enums_generated.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Oct 12 22:06:44 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Oct 13 01:17:35 UTC 2021 // by class com.rusefi.output.FileFsioSettingsConsumer FSIO_SETTING_ACIDLEEXTRAOFFSET = 1000, diff --git a/firmware/controllers/generated/fsio_getters.def b/firmware/controllers/generated/fsio_getters.def index 370e093f97..24fae72e35 100644 --- a/firmware/controllers/generated/fsio_getters.def +++ b/firmware/controllers/generated/fsio_getters.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Oct 12 22:06:44 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Oct 13 01:17:35 UTC 2021 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_ACIDLEEXTRAOFFSET: diff --git a/firmware/controllers/generated/fsio_names.def b/firmware/controllers/generated/fsio_names.def index acbca7cf9b..d82fe0f60b 100644 --- a/firmware/controllers/generated/fsio_names.def +++ b/firmware/controllers/generated/fsio_names.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Oct 12 22:06:44 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Oct 13 01:17:35 UTC 2021 // by class com.rusefi.output.FileFsioSettingsConsumer static LENameOrdinalPair leacIdleExtraOffset(FSIO_SETTING_ACIDLEEXTRAOFFSET, "cfg_acIdleExtraOffset"); diff --git a/firmware/controllers/generated/fsio_strings.def b/firmware/controllers/generated/fsio_strings.def index c73bfff509..6340ac4d11 100644 --- a/firmware/controllers/generated/fsio_strings.def +++ b/firmware/controllers/generated/fsio_strings.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Oct 12 22:06:44 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Oct 13 01:17:35 UTC 2021 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_ACIDLEEXTRAOFFSET: diff --git a/firmware/controllers/generated/rusefi_generated.h b/firmware/controllers/generated/rusefi_generated.h index 44567f4f2d..54c89f76c8 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -12,7 +12,7 @@ #define acSwitch_offset 1469 #define acSwitchMode_offset 4516 #define adc_channel_e_auto_enum "EFI_ADC_NONE", "EFI_ADC_0", "EFI_ADC_1", "EFI_ADC_2", "EFI_ADC_3", "EFI_ADC_4", "EFI_ADC_5", "EFI_ADC_6", "EFI_ADC_7", "EFI_ADC_8", "EFI_ADC_9", "EFI_ADC_10", "EFI_ADC_11", "EFI_ADC_12", "EFI_ADC_13", "EFI_ADC_14", "EFI_ADC_15", "EFI_ADC_LAST_CHANNEL", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "EFI_ADC_ERROR" -#define adc_channel_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","17 - CAM","INVALID","INVALID","16 - CRANK" +#define adc_channel_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","TPS 2","INVALID","Map Sensor K31","INVALID","CLT","IAT","PPS 2" #define adc_channel_mode_e_auto_enum "ADC_OFF", "ADC_SLOW", "ADC_FAST" #define ADC_CHANNEL_NONE 0 #define adcVcc_offset 548 @@ -153,7 +153,7 @@ #define boostTpsBins_offset 6392 #define boostType_e_auto_enum "OPEN_LOOP", "CLOSED_LOOP" #define boostType_offset 1012 -#define brain_input_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","17 - CAM","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","16 - CRANK" +#define brain_input_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Cam - K62","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Crank - K17","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Cam - K15" #define brain_pin_e_auto_enum "GPIO_UNASSIGNED", "GPIO_INVALID", "GPIOA_0", "GPIOA_1", "GPIOA_2", "GPIOA_3", "GPIOA_4", "GPIOA_5", "GPIOA_6", "GPIOA_7", "GPIOA_8", "GPIOA_9", "GPIOA_10", "GPIOA_11", "GPIOA_12", "GPIOA_13", "GPIOA_14", "GPIOA_15", "GPIOB_0", "GPIOB_1", "GPIOB_2", "GPIOB_3", "GPIOB_4", "GPIOB_5", "GPIOB_6", "GPIOB_7", "GPIOB_8", "GPIOB_9", "GPIOB_10", "GPIOB_11", "GPIOB_12", "GPIOB_13", "GPIOB_14", "GPIOB_15", "GPIOC_0", "GPIOC_1", "GPIOC_2", "GPIOC_3", "GPIOC_4", "GPIOC_5", "GPIOC_6", "GPIOC_7", "GPIOC_8", "GPIOC_9", "GPIOC_10", "GPIOC_11", "GPIOC_12", "GPIOC_13", "GPIOC_14", "GPIOC_15", "GPIOD_0", "GPIOD_1", "GPIOD_2", "GPIOD_3", "GPIOD_4", "GPIOD_5", "GPIOD_6", "GPIOD_7", "GPIOD_8", "GPIOD_9", "GPIOD_10", "GPIOD_11", "GPIOD_12", "GPIOD_13", "GPIOD_14", "GPIOD_15", "GPIOE_0", "GPIOE_1", "GPIOE_2", "GPIOE_3", "GPIOE_4", "GPIOE_5", "GPIOE_6", "GPIOE_7", "GPIOE_8", "GPIOE_9", "GPIOE_10", "GPIOE_11", "GPIOE_12", "GPIOE_13", "GPIOE_14", "GPIOE_15", "GPIOF_0", "GPIOF_1", "GPIOF_2", "GPIOF_3", "GPIOF_4", "GPIOF_5", "GPIOF_6", "GPIOF_7", "GPIOF_8", "GPIOF_9", "GPIOF_10", "GPIOF_11", "GPIOF_12", "GPIOF_13", "GPIOF_14", "GPIOF_15", "GPIOG_0", "GPIOG_1", "GPIOG_2", "GPIOG_3", "GPIOG_4", "GPIOG_5", "GPIOG_6", "GPIOG_7", "GPIOG_8", "GPIOG_9", "GPIOG_10", "GPIOG_11", "GPIOG_12", "GPIOG_13", "GPIOG_14", "GPIOG_15", "GPIOH_0", "GPIOH_1", "GPIOH_2", "GPIOH_3", "GPIOH_4", "GPIOH_5", "GPIOH_6", "GPIOH_7", "GPIOH_8", "GPIOH_9", "GPIOH_10", "GPIOH_11", "GPIOH_12", "GPIOH_13", "GPIOH_14", "GPIOH_15", "GPIOI_0", "GPIOI_1", "GPIOI_2", "GPIOI_3", "GPIOI_4", "GPIOI_5", "GPIOI_6", "GPIOI_7", "GPIOI_8", "GPIOI_9", "GPIOI_10", "GPIOI_11", "GPIOI_12", "GPIOI_13", "GPIOI_14", "GPIOI_15", "MC33972_PIN_1", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "MC33972_PIN_21", "MC33972_PIN_22", "TLE8888_PIN_1", "TLE8888_PIN_2", "TLE8888_PIN_3", "TLE8888_PIN_4", "TLE8888_PIN_5", "TLE8888_PIN_6", "TLE8888_PIN_7", "TLE8888_PIN_8", "TLE8888_PIN_9", "TLE8888_PIN_10", "TLE8888_PIN_11", "TLE8888_PIN_12", "TLE8888_PIN_13", "TLE8888_PIN_14", "TLE8888_PIN_15", "TLE8888_PIN_16", "TLE8888_PIN_17", "TLE8888_PIN_18", "TLE8888_PIN_19", "TLE8888_PIN_20", "TLE8888_PIN_21", "TLE8888_PIN_22", "TLE8888_PIN_23", "TLE8888_PIN_24", "TLE8888_PIN_25", "TLE8888_PIN_26", "TLE8888_PIN_27", "TLE8888_PIN_28", "TLE8888_PIN_MR", "TLE8888_PIN_KEY", "TLE8888_PIN_WAKE", "TLE6240_PIN_1", "TLE6240_PIN_2", "TLE6240_PIN_3", "TLE6240_PIN_4", "TLE6240_PIN_5", "TLE6240_PIN_6", "TLE6240_PIN_7", "TLE6240_PIN_8", "TLE6240_PIN_9", "TLE6240_PIN_10", "TLE6240_PIN_11", "TLE6240_PIN_12", "TLE6240_PIN_13", "TLE6240_PIN_14", "TLE6240_PIN_15", "TLE6240_PIN_16" #define brain_pin_e_enum "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" #define brakePedalPin_offset 2608 @@ -1220,7 +1220,7 @@ #define oilPressure_value2_offset 2708 #define onOffAlternatorLogic_offset 744 #define operation_mode_e_auto_enum "OM_NONE", "FOUR_STROKE_CRANK_SENSOR", "FOUR_STROKE_CAM_SENSOR", "TWO_STROKE", "FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR", "FOUR_STROKE_THREE_TIMES_CRANK_SENSOR" -#define output_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","24 - Coil 6","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","50 - Coil 1","INVALID","INVALID","INVALID","INVALID","INVALID","27 - MAIN","INVALID","INVALID","INVALID","INVALID","INVALID","3 - INJ_5","5 - INJ_4","31 - INJ_3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","25 - Coil 5","23 - Coil 4","52 - Coil 3","51 - Coil 2","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","4 - INJ_6","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","33 - INJ_1","32 - INJ_2","INVALID","INVALID","INVALID","INVALID","INVALID","1 - OUT_PUMP" +#define output_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INJ_4 k28","INJ_3 k27","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INJ_1 k25","INJ_2 k26","INVALID","INVALID","INVALID","INVALID","Fuel Pump K70","Main Relay K64" #define overrideCrankingIacSetting_offset 1476 #define overrideTriggerGaps_offset 76 #define PACK_ADD_TEMPERATURE 40 @@ -1308,15 +1308,15 @@ #define servoOutputPins7_offset 3146 #define servoOutputPins8_offset 3147 #define show_Frankenso_presets false -#define show_Hellen88bmw_presets true +#define show_Hellen_hyundai_154 true #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false #define showHumanReadableWarning_offset 976 #define showSdCardWarning_offset 76 -#define SIGNATURE_BOARD hellen88bmw -#define SIGNATURE_DATE 2021.10.12 -#define SIGNATURE_HASH 50731632 +#define SIGNATURE_BOARD hellen154hyundai +#define SIGNATURE_DATE 2021.10.13 +#define SIGNATURE_HASH 547833572 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1678,7 +1678,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port false -#define TS_SIGNATURE "rusEFI 2021.10.12.hellen88bmw.50731632" +#define TS_SIGNATURE "rusEFI 2021.10.13.hellen154hyundai.547833572" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' diff --git a/firmware/controllers/generated/signature_hellen154hyundai.h b/firmware/controllers/generated/signature_hellen154hyundai.h index cc6c57f258..6ab2853cbc 100644 --- a/firmware/controllers/generated/signature_hellen154hyundai.h +++ b/firmware/controllers/generated/signature_hellen154hyundai.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD hellen154hyundai -#define SIGNATURE_DATE 2021.10.12 -#define SIGNATURE_HASH 1860833055 -#define TS_SIGNATURE "rusEFI 2021.10.12.hellen154hyundai.1860833055" +#define SIGNATURE_DATE 2021.10.13 +#define SIGNATURE_HASH 547833572 +#define TS_SIGNATURE "rusEFI 2021.10.13.hellen154hyundai.547833572" diff --git a/firmware/tunerstudio/generated/cache.zip b/firmware/tunerstudio/generated/cache.zip index 224e7c44739e5b3b794b1b8846bff07f909d8d87..7aed488676b54de4cea1e15499d9368204db7ced 100644 GIT binary patch delta 4339 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 - +