From 94d2ab5ea2b1807a879c313bd95a595db8d7e867 Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Mon, 30 Nov 2020 05:14:11 +0000 Subject: [PATCH] Auto-generated configs and docs --- ...ngine_configuration_generated_structures.h | 5 +++-- .../controllers/algo/rusefi_generated.h | 8 ++++---- ...ngine_configuration_generated_structures.h | 5 +++-- .../controllers/algo/rusefi_generated.h | 8 ++++---- ...ngine_configuration_generated_structures.h | 5 +++-- .../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 | 8 ++++---- .../controllers/generated/signature_all.h | 6 +++--- .../generated/signature_frankenso_na6.h | 6 +++--- .../generated/signature_hellen_cypress.h | 6 +++--- .../controllers/generated/signature_kin.h | 6 +++--- .../controllers/generated/signature_mre_f4.h | 6 +++--- .../controllers/generated/signature_mre_f7.h | 6 +++--- .../generated/signature_prometheus_405.h | 6 +++--- .../generated/signature_prometheus_469.h | 6 +++--- .../generated/signature_proteus_f4.h | 6 +++--- .../generated/signature_proteus_f7.h | 6 +++--- firmware/tunerstudio/generated/cache.zip | Bin 967405 -> 967665 bytes firmware/tunerstudio/generated/rusefi.ini | 8 ++++---- .../generated/rusefi_frankenso_na6.ini | 8 ++++---- .../generated/rusefi_hellen_cypress.ini | 8 ++++---- .../tunerstudio/generated/rusefi_kinetis.ini | 8 ++++---- .../tunerstudio/generated/rusefi_mre_f4.ini | 8 ++++---- .../tunerstudio/generated/rusefi_mre_f7.ini | 8 ++++---- .../generated/rusefi_prometheus_405.ini | 8 ++++---- .../generated/rusefi_prometheus_469.ini | 8 ++++---- .../generated/rusefi_proteus_f4.ini | 8 ++++---- .../generated/rusefi_proteus_f7.ini | 8 ++++---- .../com/rusefi/config/generated/Fields.java | 6 +++--- java_console/rusefi.xml | 2 +- 33 files changed, 99 insertions(+), 96 deletions(-) diff --git a/firmware/config/boards/hellen/cypress/config/controllers/algo/engine_configuration_generated_structures.h b/firmware/config/boards/hellen/cypress/config/controllers/algo/engine_configuration_generated_structures.h index b23df8033d..7eaad7906e 100644 --- a/firmware/config/boards/hellen/cypress/config/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/config/boards/hellen/cypress/config/controllers/algo/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Sun Nov 29 03:22:10 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Mon Nov 30 05:13:50 UTC 2020 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -2020,6 +2020,7 @@ struct engine_configuration_s { bool fuelClosedLoopCorrectionEnabled : 1; /** * Print details into rusEfi console + * enable verbose_idle offset 1464 bit 2 */ bool isVerboseIAC : 1; /** @@ -3777,4 +3778,4 @@ struct persistent_config_s { typedef struct persistent_config_s persistent_config_s; // end -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Sun Nov 29 03:22:10 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Mon Nov 30 05:13:50 UTC 2020 diff --git a/firmware/config/boards/hellen/cypress/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/hellen/cypress/config/controllers/algo/rusefi_generated.h index e92b81c558..09366a2d43 100644 --- a/firmware/config/boards/hellen/cypress/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/hellen/cypress/config/controllers/algo/rusefi_generated.h @@ -373,7 +373,7 @@ #define ENGINE_MAKE_VAG "VAG" #define ENGINE_NOISE_CURVE_SIZE 8 #define ENGINE_SNIFFER_UNIT_US 10 -#define engine_type_e_auto_enum "DEFAULT_FRANKENSO", "MIATA_PROTEUS_TCU", "DODGE_NEON_1995", "FORD_ASPIRE_1996", "FORD_FIESTA", "NISSAN_PRIMERA", "HONDA_ACCORD_CD", "FORD_INLINE_6_1995", "GY6_139QMB", "MAZDA_MIATA_NB1", "ROVER_V8", "MRE_MIATA_NB2_MAP", "MRE_MIATA_NA6_VAF", "MRE_MIATA_NB2_ETB", "FORD_ESCORT_GT", "MRE_MIATA_NB2_MAF", "MITSU_4G93", "HONDA_ACCORD_CD_TWO_WIRES", "HONDA_ACCORD_CD_DIP", "MIATA_1990", "MIATA_1994_DEVIATOR", "MIATA_1996", "SUBARU_2003_WRX", "MRE_BODY_CONTROL", "BMW_M73_M", "BMW_E34", "TEST_ENGINE", "ISSUE_898", "MAZDA_626", "SACHS", "MRE_BOARD_OLD_TEST", "MRE_BOARD_NEW_TEST", "VW_ABA", "UNUSED_33", "UNUSED_34", "CAMARO_4", "UNUSED_36", "CHEVY_C20_1973", "TOYOTA_JZS147", "LADA_KALINA", "BMW_M73_F", "MIATA_NA6_MAP", "ZIL_130", "HONDA_600", "TOYOTA_2JZ_GTE_VVTi", "TEST_ENGINE_VVT", "DODGE_NEON_2003_CRANK", "MAZDA_MIATA_2003", "HONDA_ACCORD_1_24_SHIFTED", "FRANKENSO_QA_ENGINE", "TEST_CIVIC_4_0_BOTH", "TEST_CIVIC_4_0_RISE", "TEST_ISSUE_366_BOTH", "TEST_ISSUE_366_RISE", "MAZDA_MIATA_2003_NA_RAIL", "MAZDA_MIATA_2003_BOARD_TEST", "MAZDA_MIATA_NA8", "MIATA_NA6_VAF", "ETB_BENCH_ENGINE", "TLE8888_BENCH_ENGINE", "MICRO_RUS_EFI", "PROTEUS", "VW_B6", "BMW_M73_PROTEUS", "DODGE_RAM", "CITROEN_TU3JP", "MRE_MIATA_NA6_MAP", "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", "MINIMAL_PINS", "PROMETHEUS_DEFAULTS", "SUBARUEJ20G_DEFAULTS", "VAG_18_TURBO", "TEST_33816", "BMW_M73_MRE", "BMW_M73_MRE_SLAVE" +#define engine_type_e_auto_enum "DEFAULT_FRANKENSO", "MIATA_PROTEUS_TCU", "DODGE_NEON_1995", "FORD_ASPIRE_1996", "FORD_FIESTA", "NISSAN_PRIMERA", "HONDA_ACCORD_CD", "FORD_INLINE_6_1995", "GY6_139QMB", "MAZDA_MIATA_NB1", "ROVER_V8", "MRE_MIATA_NB2_MAP", "MRE_MIATA_NA6_VAF", "MRE_MIATA_NB2_ETB", "FORD_ESCORT_GT", "MRE_MIATA_NB2_MAF", "MITSU_4G93", "HONDA_ACCORD_CD_TWO_WIRES", "HONDA_ACCORD_CD_DIP", "MIATA_1990", "MRE_MIATA_94_MAP", "MIATA_1996", "SUBARU_2003_WRX", "MRE_BODY_CONTROL", "BMW_M73_M", "BMW_E34", "TEST_ENGINE", "ISSUE_898", "MAZDA_626", "SACHS", "MRE_BOARD_OLD_TEST", "MRE_BOARD_NEW_TEST", "VW_ABA", "UNUSED_33", "UNUSED_34", "CAMARO_4", "UNUSED_36", "CHEVY_C20_1973", "TOYOTA_JZS147", "LADA_KALINA", "BMW_M73_F", "MIATA_NA6_MAP", "ZIL_130", "HONDA_600", "TOYOTA_2JZ_GTE_VVTi", "TEST_ENGINE_VVT", "DODGE_NEON_2003_CRANK", "MAZDA_MIATA_2003", "HONDA_ACCORD_1_24_SHIFTED", "FRANKENSO_QA_ENGINE", "TEST_CIVIC_4_0_BOTH", "TEST_CIVIC_4_0_RISE", "TEST_ISSUE_366_BOTH", "TEST_ISSUE_366_RISE", "MAZDA_MIATA_2003_NA_RAIL", "MAZDA_MIATA_2003_BOARD_TEST", "MAZDA_MIATA_NA8", "MIATA_NA6_VAF", "ETB_BENCH_ENGINE", "TLE8888_BENCH_ENGINE", "MICRO_RUS_EFI", "PROTEUS", "VW_B6", "BMW_M73_PROTEUS", "DODGE_RAM", "CITROEN_TU3JP", "MRE_MIATA_NA6_MAP", "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", "MINIMAL_PINS", "PROMETHEUS_DEFAULTS", "SUBARUEJ20G_DEFAULTS", "VAG_18_TURBO", "TEST_33816", "BMW_M73_MRE", "BMW_M73_MRE_SLAVE" #define engineChartSize_offset 1480 #define engineCode_offset 1128 #define engineConfiguration_offset 0 @@ -1212,8 +1212,8 @@ #define showHumanReadableWarning_offset 976 #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD hellen_cypress -#define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 3486056747 +#define SIGNATURE_DATE 2020.11.30 +#define SIGNATURE_HASH 2755964311 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1543,7 +1543,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2020.11.29.hellen_cypress.3486056747" +#define TS_SIGNATURE "rusEFI 2020.11.30.hellen_cypress.2755964311" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 diff --git a/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h b/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h index bf868522b7..ccc6398cd7 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sun Nov 29 03:22:08 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Mon Nov 30 05:13:48 UTC 2020 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -2020,6 +2020,7 @@ struct engine_configuration_s { bool fuelClosedLoopCorrectionEnabled : 1; /** * Print details into rusEfi console + * enable verbose_idle offset 1464 bit 2 */ bool isVerboseIAC : 1; /** @@ -3777,4 +3778,4 @@ struct persistent_config_s { typedef struct persistent_config_s persistent_config_s; // end -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sun Nov 29 03:22:08 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Mon Nov 30 05:13:48 UTC 2020 diff --git a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h index 788556ee69..34e2a754b9 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h @@ -373,7 +373,7 @@ #define ENGINE_MAKE_VAG "VAG" #define ENGINE_NOISE_CURVE_SIZE 8 #define ENGINE_SNIFFER_UNIT_US 10 -#define engine_type_e_auto_enum "DEFAULT_FRANKENSO", "MIATA_PROTEUS_TCU", "DODGE_NEON_1995", "FORD_ASPIRE_1996", "FORD_FIESTA", "NISSAN_PRIMERA", "HONDA_ACCORD_CD", "FORD_INLINE_6_1995", "GY6_139QMB", "MAZDA_MIATA_NB1", "ROVER_V8", "MRE_MIATA_NB2_MAP", "MRE_MIATA_NA6_VAF", "MRE_MIATA_NB2_ETB", "FORD_ESCORT_GT", "MRE_MIATA_NB2_MAF", "MITSU_4G93", "HONDA_ACCORD_CD_TWO_WIRES", "HONDA_ACCORD_CD_DIP", "MIATA_1990", "MIATA_1994_DEVIATOR", "MIATA_1996", "SUBARU_2003_WRX", "MRE_BODY_CONTROL", "BMW_M73_M", "BMW_E34", "TEST_ENGINE", "ISSUE_898", "MAZDA_626", "SACHS", "MRE_BOARD_OLD_TEST", "MRE_BOARD_NEW_TEST", "VW_ABA", "UNUSED_33", "UNUSED_34", "CAMARO_4", "UNUSED_36", "CHEVY_C20_1973", "TOYOTA_JZS147", "LADA_KALINA", "BMW_M73_F", "MIATA_NA6_MAP", "ZIL_130", "HONDA_600", "TOYOTA_2JZ_GTE_VVTi", "TEST_ENGINE_VVT", "DODGE_NEON_2003_CRANK", "MAZDA_MIATA_2003", "HONDA_ACCORD_1_24_SHIFTED", "FRANKENSO_QA_ENGINE", "TEST_CIVIC_4_0_BOTH", "TEST_CIVIC_4_0_RISE", "TEST_ISSUE_366_BOTH", "TEST_ISSUE_366_RISE", "MAZDA_MIATA_2003_NA_RAIL", "MAZDA_MIATA_2003_BOARD_TEST", "MAZDA_MIATA_NA8", "MIATA_NA6_VAF", "ETB_BENCH_ENGINE", "TLE8888_BENCH_ENGINE", "MICRO_RUS_EFI", "PROTEUS", "VW_B6", "BMW_M73_PROTEUS", "DODGE_RAM", "CITROEN_TU3JP", "MRE_MIATA_NA6_MAP", "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", "MINIMAL_PINS", "PROMETHEUS_DEFAULTS", "SUBARUEJ20G_DEFAULTS", "VAG_18_TURBO", "TEST_33816", "BMW_M73_MRE", "BMW_M73_MRE_SLAVE" +#define engine_type_e_auto_enum "DEFAULT_FRANKENSO", "MIATA_PROTEUS_TCU", "DODGE_NEON_1995", "FORD_ASPIRE_1996", "FORD_FIESTA", "NISSAN_PRIMERA", "HONDA_ACCORD_CD", "FORD_INLINE_6_1995", "GY6_139QMB", "MAZDA_MIATA_NB1", "ROVER_V8", "MRE_MIATA_NB2_MAP", "MRE_MIATA_NA6_VAF", "MRE_MIATA_NB2_ETB", "FORD_ESCORT_GT", "MRE_MIATA_NB2_MAF", "MITSU_4G93", "HONDA_ACCORD_CD_TWO_WIRES", "HONDA_ACCORD_CD_DIP", "MIATA_1990", "MRE_MIATA_94_MAP", "MIATA_1996", "SUBARU_2003_WRX", "MRE_BODY_CONTROL", "BMW_M73_M", "BMW_E34", "TEST_ENGINE", "ISSUE_898", "MAZDA_626", "SACHS", "MRE_BOARD_OLD_TEST", "MRE_BOARD_NEW_TEST", "VW_ABA", "UNUSED_33", "UNUSED_34", "CAMARO_4", "UNUSED_36", "CHEVY_C20_1973", "TOYOTA_JZS147", "LADA_KALINA", "BMW_M73_F", "MIATA_NA6_MAP", "ZIL_130", "HONDA_600", "TOYOTA_2JZ_GTE_VVTi", "TEST_ENGINE_VVT", "DODGE_NEON_2003_CRANK", "MAZDA_MIATA_2003", "HONDA_ACCORD_1_24_SHIFTED", "FRANKENSO_QA_ENGINE", "TEST_CIVIC_4_0_BOTH", "TEST_CIVIC_4_0_RISE", "TEST_ISSUE_366_BOTH", "TEST_ISSUE_366_RISE", "MAZDA_MIATA_2003_NA_RAIL", "MAZDA_MIATA_2003_BOARD_TEST", "MAZDA_MIATA_NA8", "MIATA_NA6_VAF", "ETB_BENCH_ENGINE", "TLE8888_BENCH_ENGINE", "MICRO_RUS_EFI", "PROTEUS", "VW_B6", "BMW_M73_PROTEUS", "DODGE_RAM", "CITROEN_TU3JP", "MRE_MIATA_NA6_MAP", "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", "MINIMAL_PINS", "PROMETHEUS_DEFAULTS", "SUBARUEJ20G_DEFAULTS", "VAG_18_TURBO", "TEST_33816", "BMW_M73_MRE", "BMW_M73_MRE_SLAVE" #define engineChartSize_offset 1480 #define engineCode_offset 1128 #define engineConfiguration_offset 0 @@ -1212,8 +1212,8 @@ #define showHumanReadableWarning_offset 976 #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD kin -#define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 2664774609 +#define SIGNATURE_DATE 2020.11.30 +#define SIGNATURE_HASH 4116223853 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1543,7 +1543,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator true #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2020.11.29.kin.2664774609" +#define TS_SIGNATURE "rusEFI 2020.11.30.kin.4116223853" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures.h b/firmware/controllers/generated/engine_configuration_generated_structures.h index cf4424b0e1..3d3ddbd81e 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 Sun Nov 29 03:21:46 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Nov 30 05:13:27 UTC 2020 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -2020,6 +2020,7 @@ struct engine_configuration_s { bool fuelClosedLoopCorrectionEnabled : 1; /** * Print details into rusEfi console + * enable verbose_idle offset 1464 bit 2 */ bool isVerboseIAC : 1; /** @@ -3777,4 +3778,4 @@ struct persistent_config_s { typedef struct persistent_config_s persistent_config_s; // end -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Nov 29 03:21:46 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Nov 30 05:13:27 UTC 2020 diff --git a/firmware/controllers/generated/fsio_enums_generated.def b/firmware/controllers/generated/fsio_enums_generated.def index 7a813a2690..d2426af17b 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 Sun Nov 29 03:21:46 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Nov 30 05:13:27 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer FSIO_SETTING_FANONTEMPERATURE = 1000, diff --git a/firmware/controllers/generated/fsio_getters.def b/firmware/controllers/generated/fsio_getters.def index 94c0d844ba..41ee584b76 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 Sun Nov 29 03:21:46 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Nov 30 05:13:27 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: diff --git a/firmware/controllers/generated/fsio_names.def b/firmware/controllers/generated/fsio_names.def index dfee31fae7..325b2971e5 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 Sun Nov 29 03:21:46 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Nov 30 05:13:27 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer static LENameOrdinalPair lefanOnTemperature(FSIO_SETTING_FANONTEMPERATURE, "cfg_fanOnTemperature"); diff --git a/firmware/controllers/generated/fsio_strings.def b/firmware/controllers/generated/fsio_strings.def index b936791fe5..72f2d712e6 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 Sun Nov 29 03:21:46 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Nov 30 05:13:27 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: diff --git a/firmware/controllers/generated/rusefi_generated.h b/firmware/controllers/generated/rusefi_generated.h index 59d265edef..3bad9db78a 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -373,7 +373,7 @@ #define ENGINE_MAKE_VAG "VAG" #define ENGINE_NOISE_CURVE_SIZE 8 #define ENGINE_SNIFFER_UNIT_US 10 -#define engine_type_e_auto_enum "DEFAULT_FRANKENSO", "MIATA_PROTEUS_TCU", "DODGE_NEON_1995", "FORD_ASPIRE_1996", "FORD_FIESTA", "NISSAN_PRIMERA", "HONDA_ACCORD_CD", "FORD_INLINE_6_1995", "GY6_139QMB", "MAZDA_MIATA_NB1", "ROVER_V8", "MRE_MIATA_NB2_MAP", "MRE_MIATA_NA6_VAF", "MRE_MIATA_NB2_ETB", "FORD_ESCORT_GT", "MRE_MIATA_NB2_MAF", "MITSU_4G93", "HONDA_ACCORD_CD_TWO_WIRES", "HONDA_ACCORD_CD_DIP", "MIATA_1990", "MIATA_1994_DEVIATOR", "MIATA_1996", "SUBARU_2003_WRX", "MRE_BODY_CONTROL", "BMW_M73_M", "BMW_E34", "TEST_ENGINE", "ISSUE_898", "MAZDA_626", "SACHS", "MRE_BOARD_OLD_TEST", "MRE_BOARD_NEW_TEST", "VW_ABA", "UNUSED_33", "UNUSED_34", "CAMARO_4", "UNUSED_36", "CHEVY_C20_1973", "TOYOTA_JZS147", "LADA_KALINA", "BMW_M73_F", "MIATA_NA6_MAP", "ZIL_130", "HONDA_600", "TOYOTA_2JZ_GTE_VVTi", "TEST_ENGINE_VVT", "DODGE_NEON_2003_CRANK", "MAZDA_MIATA_2003", "HONDA_ACCORD_1_24_SHIFTED", "FRANKENSO_QA_ENGINE", "TEST_CIVIC_4_0_BOTH", "TEST_CIVIC_4_0_RISE", "TEST_ISSUE_366_BOTH", "TEST_ISSUE_366_RISE", "MAZDA_MIATA_2003_NA_RAIL", "MAZDA_MIATA_2003_BOARD_TEST", "MAZDA_MIATA_NA8", "MIATA_NA6_VAF", "ETB_BENCH_ENGINE", "TLE8888_BENCH_ENGINE", "MICRO_RUS_EFI", "PROTEUS", "VW_B6", "BMW_M73_PROTEUS", "DODGE_RAM", "CITROEN_TU3JP", "MRE_MIATA_NA6_MAP", "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", "MINIMAL_PINS", "PROMETHEUS_DEFAULTS", "SUBARUEJ20G_DEFAULTS", "VAG_18_TURBO", "TEST_33816", "BMW_M73_MRE", "BMW_M73_MRE_SLAVE" +#define engine_type_e_auto_enum "DEFAULT_FRANKENSO", "MIATA_PROTEUS_TCU", "DODGE_NEON_1995", "FORD_ASPIRE_1996", "FORD_FIESTA", "NISSAN_PRIMERA", "HONDA_ACCORD_CD", "FORD_INLINE_6_1995", "GY6_139QMB", "MAZDA_MIATA_NB1", "ROVER_V8", "MRE_MIATA_NB2_MAP", "MRE_MIATA_NA6_VAF", "MRE_MIATA_NB2_ETB", "FORD_ESCORT_GT", "MRE_MIATA_NB2_MAF", "MITSU_4G93", "HONDA_ACCORD_CD_TWO_WIRES", "HONDA_ACCORD_CD_DIP", "MIATA_1990", "MRE_MIATA_94_MAP", "MIATA_1996", "SUBARU_2003_WRX", "MRE_BODY_CONTROL", "BMW_M73_M", "BMW_E34", "TEST_ENGINE", "ISSUE_898", "MAZDA_626", "SACHS", "MRE_BOARD_OLD_TEST", "MRE_BOARD_NEW_TEST", "VW_ABA", "UNUSED_33", "UNUSED_34", "CAMARO_4", "UNUSED_36", "CHEVY_C20_1973", "TOYOTA_JZS147", "LADA_KALINA", "BMW_M73_F", "MIATA_NA6_MAP", "ZIL_130", "HONDA_600", "TOYOTA_2JZ_GTE_VVTi", "TEST_ENGINE_VVT", "DODGE_NEON_2003_CRANK", "MAZDA_MIATA_2003", "HONDA_ACCORD_1_24_SHIFTED", "FRANKENSO_QA_ENGINE", "TEST_CIVIC_4_0_BOTH", "TEST_CIVIC_4_0_RISE", "TEST_ISSUE_366_BOTH", "TEST_ISSUE_366_RISE", "MAZDA_MIATA_2003_NA_RAIL", "MAZDA_MIATA_2003_BOARD_TEST", "MAZDA_MIATA_NA8", "MIATA_NA6_VAF", "ETB_BENCH_ENGINE", "TLE8888_BENCH_ENGINE", "MICRO_RUS_EFI", "PROTEUS", "VW_B6", "BMW_M73_PROTEUS", "DODGE_RAM", "CITROEN_TU3JP", "MRE_MIATA_NA6_MAP", "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", "MINIMAL_PINS", "PROMETHEUS_DEFAULTS", "SUBARUEJ20G_DEFAULTS", "VAG_18_TURBO", "TEST_33816", "BMW_M73_MRE", "BMW_M73_MRE_SLAVE" #define engineChartSize_offset 1480 #define engineCode_offset 1128 #define engineConfiguration_offset 0 @@ -1212,8 +1212,8 @@ #define showHumanReadableWarning_offset 976 #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD all -#define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 104376296 +#define SIGNATURE_DATE 2020.11.30 +#define SIGNATURE_HASH 1840581460 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1543,7 +1543,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2020.11.29.all.104376296" +#define TS_SIGNATURE "rusEFI 2020.11.30.all.1840581460" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 diff --git a/firmware/controllers/generated/signature_all.h b/firmware/controllers/generated/signature_all.h index b4b80066d1..65f2e60a83 100644 --- a/firmware/controllers/generated/signature_all.h +++ b/firmware/controllers/generated/signature_all.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD all -#define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 1419012726 -#define TS_SIGNATURE "rusEFI 2020.11.29.all.1419012726" +#define SIGNATURE_DATE 2020.11.30 +#define SIGNATURE_HASH 1840581460 +#define TS_SIGNATURE "rusEFI 2020.11.30.all.1840581460" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index 4568e5bac2..a1f49f523f 100644 --- a/firmware/controllers/generated/signature_frankenso_na6.h +++ b/firmware/controllers/generated/signature_frankenso_na6.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD frankenso_na6 -#define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 3269778317 -#define TS_SIGNATURE "rusEFI 2020.11.29.frankenso_na6.3269778317" +#define SIGNATURE_DATE 2020.11.30 +#define SIGNATURE_HASH 4224039599 +#define TS_SIGNATURE "rusEFI 2020.11.30.frankenso_na6.4224039599" diff --git a/firmware/controllers/generated/signature_hellen_cypress.h b/firmware/controllers/generated/signature_hellen_cypress.h index cac5a48d23..5e81aa9bfe 100644 --- a/firmware/controllers/generated/signature_hellen_cypress.h +++ b/firmware/controllers/generated/signature_hellen_cypress.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD hellen_cypress -#define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 2640694453 -#define TS_SIGNATURE "rusEFI 2020.11.29.hellen_cypress.2640694453" +#define SIGNATURE_DATE 2020.11.30 +#define SIGNATURE_HASH 2755964311 +#define TS_SIGNATURE "rusEFI 2020.11.30.hellen_cypress.2755964311" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index e76ccbedba..dfca57c179 100644 --- a/firmware/controllers/generated/signature_kin.h +++ b/firmware/controllers/generated/signature_kin.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD kin -#define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 3430544975 -#define TS_SIGNATURE "rusEFI 2020.11.29.kin.3430544975" +#define SIGNATURE_DATE 2020.11.30 +#define SIGNATURE_HASH 4116223853 +#define TS_SIGNATURE "rusEFI 2020.11.30.kin.4116223853" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index cc2569b88b..e8a7dcbe4a 100644 --- a/firmware/controllers/generated/signature_mre_f4.h +++ b/firmware/controllers/generated/signature_mre_f4.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD mre_f4 -#define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 1128576015 -#define TS_SIGNATURE "rusEFI 2020.11.29.mre_f4.1128576015" +#define SIGNATURE_DATE 2020.11.30 +#define SIGNATURE_HASH 2053494061 +#define TS_SIGNATURE "rusEFI 2020.11.30.mre_f4.2053494061" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index b19bb94028..0076cfb1d2 100644 --- a/firmware/controllers/generated/signature_mre_f7.h +++ b/firmware/controllers/generated/signature_mre_f7.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD mre_f7 -#define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 1128576015 -#define TS_SIGNATURE "rusEFI 2020.11.29.mre_f7.1128576015" +#define SIGNATURE_DATE 2020.11.30 +#define SIGNATURE_HASH 2053494061 +#define TS_SIGNATURE "rusEFI 2020.11.30.mre_f7.2053494061" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index 618699b8a3..2e1410e304 100644 --- a/firmware/controllers/generated/signature_prometheus_405.h +++ b/firmware/controllers/generated/signature_prometheus_405.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD prometheus_405 -#define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 374107175 -#define TS_SIGNATURE "rusEFI 2020.11.29.prometheus_405.374107175" +#define SIGNATURE_DATE 2020.11.30 +#define SIGNATURE_HASH 795675909 +#define TS_SIGNATURE "rusEFI 2020.11.30.prometheus_405.795675909" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index 1bcbbe8b55..9f15a27662 100644 --- a/firmware/controllers/generated/signature_prometheus_469.h +++ b/firmware/controllers/generated/signature_prometheus_469.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD prometheus_469 -#define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 374107175 -#define TS_SIGNATURE "rusEFI 2020.11.29.prometheus_469.374107175" +#define SIGNATURE_DATE 2020.11.30 +#define SIGNATURE_HASH 795675909 +#define TS_SIGNATURE "rusEFI 2020.11.30.prometheus_469.795675909" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index 9b67df28b0..9919cb99b3 100644 --- a/firmware/controllers/generated/signature_proteus_f4.h +++ b/firmware/controllers/generated/signature_proteus_f4.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD proteus_f4 -#define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 2638094504 -#define TS_SIGNATURE "rusEFI 2020.11.29.proteus_f4.2638094504" +#define SIGNATURE_DATE 2020.11.30 +#define SIGNATURE_HASH 2753511818 +#define TS_SIGNATURE "rusEFI 2020.11.30.proteus_f4.2753511818" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 76b6986195..58b5b1703b 100644 --- a/firmware/controllers/generated/signature_proteus_f7.h +++ b/firmware/controllers/generated/signature_proteus_f7.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD proteus_f7 -#define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 2638094504 -#define TS_SIGNATURE "rusEFI 2020.11.29.proteus_f7.2638094504" +#define SIGNATURE_DATE 2020.11.30 +#define SIGNATURE_HASH 2753511818 +#define TS_SIGNATURE "rusEFI 2020.11.30.proteus_f7.2753511818" diff --git a/firmware/tunerstudio/generated/cache.zip b/firmware/tunerstudio/generated/cache.zip index 10903cb1a444444dcb3f9795cdcd9f21df75d7b1..17c5eba4313b6c11e2d9a1b198f8eec1ef6f04bd 100644 GIT binary patch delta 292063 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 delta 291773 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 K(0md6fBy#>)GUVp diff --git a/firmware/tunerstudio/generated/rusefi.ini b/firmware/tunerstudio/generated/rusefi.ini index 336f2b8be4..d0d794f711 100644 --- a/firmware/tunerstudio/generated/rusefi.ini +++ b/firmware/tunerstudio/generated/rusefi.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.11.29.all.1419012726" + signature = "rusEFI 2020.11.30.all.1840581460" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.11.29.all.1419012726" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.11.30.all.1840581460" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,7 @@ enable2ndByteCanID = false ; see PAGE_0_SIZE in C source code ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Nov 29 23:13:10 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Nov 30 05:13:27 UTC 2020 pageSize = 20000 page = 1 @@ -1357,7 +1357,7 @@ page = 1 engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEfi console" + isVerboseIAC = "Print details into rusEfi console\nenable verbose_idle" isVerboseETB = "Prints ETB details to rusEFI console" useConstantDwellDuringCranking = "If set to true, will use the specified duration for cranking dwell. If set to false, will use the specified dwell angle. Unless you have a really good reason to, leave this set to true to use duration mode." isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price" diff --git a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini index 7ec068090d..c6eda8932c 100644 --- a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini +++ b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.11.29.frankenso_na6.3269778317" + signature = "rusEFI 2020.11.30.frankenso_na6.4224039599" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.11.29.frankenso_na6.3269778317" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.11.30.frankenso_na6.4224039599" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,7 @@ enable2ndByteCanID = false ; see PAGE_0_SIZE in C source code ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Nov 29 23:13:14 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Nov 30 05:13:33 UTC 2020 pageSize = 20000 page = 1 @@ -1357,7 +1357,7 @@ page = 1 engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEfi console" + isVerboseIAC = "Print details into rusEfi console\nenable verbose_idle" isVerboseETB = "Prints ETB details to rusEFI console" useConstantDwellDuringCranking = "If set to true, will use the specified duration for cranking dwell. If set to false, will use the specified dwell angle. Unless you have a really good reason to, leave this set to true to use duration mode." isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price" diff --git a/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini b/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini index 80bfde1935..51e5c10567 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.11.29.hellen_cypress.2640694453" + signature = "rusEFI 2020.11.30.hellen_cypress.2755964311" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.11.29.hellen_cypress.2640694453" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.11.30.hellen_cypress.2755964311" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,7 @@ enable2ndByteCanID = false ; see PAGE_0_SIZE in C source code ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Sun Nov 29 23:13:30 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Mon Nov 30 05:13:50 UTC 2020 pageSize = 20000 page = 1 @@ -1357,7 +1357,7 @@ page = 1 engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEfi console" + isVerboseIAC = "Print details into rusEfi console\nenable verbose_idle" isVerboseETB = "Prints ETB details to rusEFI console" useConstantDwellDuringCranking = "If set to true, will use the specified duration for cranking dwell. If set to false, will use the specified dwell angle. Unless you have a really good reason to, leave this set to true to use duration mode." isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price" diff --git a/firmware/tunerstudio/generated/rusefi_kinetis.ini b/firmware/tunerstudio/generated/rusefi_kinetis.ini index 9a9785322e..3b4c124682 100644 --- a/firmware/tunerstudio/generated/rusefi_kinetis.ini +++ b/firmware/tunerstudio/generated/rusefi_kinetis.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.11.29.kin.3430544975" + signature = "rusEFI 2020.11.30.kin.4116223853" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.11.29.kin.3430544975" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.11.30.kin.4116223853" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,7 @@ enable2ndByteCanID = false ; see PAGE_0_SIZE in C source code ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sun Nov 29 23:13:29 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Mon Nov 30 05:13:48 UTC 2020 pageSize = 20000 page = 1 @@ -1357,7 +1357,7 @@ page = 1 engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEfi console" + isVerboseIAC = "Print details into rusEfi console\nenable verbose_idle" isVerboseETB = "Prints ETB details to rusEFI console" useConstantDwellDuringCranking = "If set to true, will use the specified duration for cranking dwell. If set to false, will use the specified dwell angle. Unless you have a really good reason to, leave this set to true to use duration mode." isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price" diff --git a/firmware/tunerstudio/generated/rusefi_mre_f4.ini b/firmware/tunerstudio/generated/rusefi_mre_f4.ini index 2784801594..ec3ac76962 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f4.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.11.29.mre_f4.1128576015" + signature = "rusEFI 2020.11.30.mre_f4.2053494061" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.11.29.mre_f4.1128576015" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.11.30.mre_f4.2053494061" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,7 @@ enable2ndByteCanID = false ; see PAGE_0_SIZE in C source code ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Nov 29 23:13:13 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Nov 30 05:13:31 UTC 2020 pageSize = 20000 page = 1 @@ -1357,7 +1357,7 @@ page = 1 engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEfi console" + isVerboseIAC = "Print details into rusEfi console\nenable verbose_idle" isVerboseETB = "Prints ETB details to rusEFI console" useConstantDwellDuringCranking = "If set to true, will use the specified duration for cranking dwell. If set to false, will use the specified dwell angle. Unless you have a really good reason to, leave this set to true to use duration mode." isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price" diff --git a/firmware/tunerstudio/generated/rusefi_mre_f7.ini b/firmware/tunerstudio/generated/rusefi_mre_f7.ini index 95c2d76870..b5e00fdb46 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f7.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.11.29.mre_f7.1128576015" + signature = "rusEFI 2020.11.30.mre_f7.2053494061" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.11.29.mre_f7.1128576015" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.11.30.mre_f7.2053494061" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,7 @@ enable2ndByteCanID = false ; see PAGE_0_SIZE in C source code ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Nov 29 23:13:11 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Nov 30 05:13:29 UTC 2020 pageSize = 20000 page = 1 @@ -1357,7 +1357,7 @@ page = 1 engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEfi console" + isVerboseIAC = "Print details into rusEfi console\nenable verbose_idle" isVerboseETB = "Prints ETB details to rusEFI console" useConstantDwellDuringCranking = "If set to true, will use the specified duration for cranking dwell. If set to false, will use the specified dwell angle. Unless you have a really good reason to, leave this set to true to use duration mode." isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price" diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini index 0722cb9a6e..5da5fbefec 100644 --- a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini +++ b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.11.29.prometheus_405.374107175" + signature = "rusEFI 2020.11.30.prometheus_405.795675909" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.11.29.prometheus_405.374107175" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.11.30.prometheus_405.795675909" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,7 @@ enable2ndByteCanID = false ; see PAGE_0_SIZE in C source code ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Nov 29 23:13:17 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Nov 30 05:13:37 UTC 2020 pageSize = 20000 page = 1 @@ -1357,7 +1357,7 @@ page = 1 engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEfi console" + isVerboseIAC = "Print details into rusEfi console\nenable verbose_idle" isVerboseETB = "Prints ETB details to rusEFI console" useConstantDwellDuringCranking = "If set to true, will use the specified duration for cranking dwell. If set to false, will use the specified dwell angle. Unless you have a really good reason to, leave this set to true to use duration mode." isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price" diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini index 86e9b9b43c..2c93ce5a12 100644 --- a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini +++ b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.11.29.prometheus_469.374107175" + signature = "rusEFI 2020.11.30.prometheus_469.795675909" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.11.29.prometheus_469.374107175" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.11.30.prometheus_469.795675909" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,7 @@ enable2ndByteCanID = false ; see PAGE_0_SIZE in C source code ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Nov 29 23:13:16 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Nov 30 05:13:35 UTC 2020 pageSize = 20000 page = 1 @@ -1357,7 +1357,7 @@ page = 1 engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEfi console" + isVerboseIAC = "Print details into rusEfi console\nenable verbose_idle" isVerboseETB = "Prints ETB details to rusEFI console" useConstantDwellDuringCranking = "If set to true, will use the specified duration for cranking dwell. If set to false, will use the specified dwell angle. Unless you have a really good reason to, leave this set to true to use duration mode." isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price" diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini index c357ec087a..08a305bec6 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.11.29.proteus_f4.2638094504" + signature = "rusEFI 2020.11.30.proteus_f4.2753511818" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.11.29.proteus_f4.2638094504" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.11.30.proteus_f4.2753511818" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,7 @@ enable2ndByteCanID = false ; see PAGE_0_SIZE in C source code ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Nov 29 23:13:27 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Nov 30 05:13:47 UTC 2020 pageSize = 20000 page = 1 @@ -1357,7 +1357,7 @@ page = 1 engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEfi console" + isVerboseIAC = "Print details into rusEfi console\nenable verbose_idle" isVerboseETB = "Prints ETB details to rusEFI console" useConstantDwellDuringCranking = "If set to true, will use the specified duration for cranking dwell. If set to false, will use the specified dwell angle. Unless you have a really good reason to, leave this set to true to use duration mode." isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price" diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini index c2e899b763..4ac7516480 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.11.29.proteus_f7.2638094504" + signature = "rusEFI 2020.11.30.proteus_f7.2753511818" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.11.29.proteus_f7.2638094504" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.11.30.proteus_f7.2753511818" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,7 @@ enable2ndByteCanID = false ; see PAGE_0_SIZE in C source code ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Nov 29 23:13:19 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Nov 30 05:13:40 UTC 2020 pageSize = 20000 page = 1 @@ -1357,7 +1357,7 @@ page = 1 engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEfi console" + isVerboseIAC = "Print details into rusEfi console\nenable verbose_idle" isVerboseETB = "Prints ETB details to rusEFI console" useConstantDwellDuringCranking = "If set to true, will use the specified duration for cranking dwell. If set to false, will use the specified dwell angle. Unless you have a really good reason to, leave this set to true to use duration mode." isEngineChartEnabled = "This options enables data for 'engine sniffer' tab in console, which comes at some CPU price" diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java b/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java index b6556dcbb1..f317b131b4 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java @@ -1,6 +1,6 @@ package com.rusefi.config.generated; -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Nov 29 03:21:46 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Mon Nov 30 05:13:27 UTC 2020 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; @@ -1167,7 +1167,7 @@ public class Fields { public static final int servoOutputPins8_offset = 3147; public static final int showHumanReadableWarning_offset = 976; public static final int showSdCardWarning_offset = 76; - public static final int SIGNATURE_HASH = 104376296; + public static final int SIGNATURE_HASH = 1840581460; public static final int silentTriggerError_offset = 1464; public static final int slowAdcAlpha_offset = 2088; public static final int sparkDwellRpmBins_offset = 332; @@ -1447,7 +1447,7 @@ public class Fields { public static final char TS_SD_R_COMMAND = 'r'; public static final char TS_SD_W_COMMAND = 'w'; public static final char TS_SET_LOGGER_SWITCH = 'l'; - public static final String TS_SIGNATURE = "rusEFI 2020.11.29.all.104376296"; + public static final String TS_SIGNATURE = "rusEFI 2020.11.30.all.1840581460"; public static final char TS_SINGLE_WRITE_COMMAND = 'W'; public static final int TT_TT_60_2_VW = 20; public static final int TT_TT_ONE = 18; diff --git a/java_console/rusefi.xml b/java_console/rusefi.xml index 01fd499695..48c1253dd2 100644 --- a/java_console/rusefi.xml +++ b/java_console/rusefi.xml @@ -1,6 +1,6 @@ - +