From 41b23d206384b286ccca95b5f65bf2c872caca4e Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Thu, 17 Jun 2021 15:41:07 +0000 Subject: [PATCH] Auto-generated configs and docs --- ...ngine_configuration_generated_structures.h | 7 ++++--- .../controllers/algo/rusefi_generated.h | 4 ++-- ...ngine_configuration_generated_structures.h | 7 ++++--- .../controllers/algo/rusefi_generated.h | 4 ++-- ...ngine_configuration_generated_structures.h | 7 ++++--- .../controllers/algo/rusefi_generated.h | 4 ++-- ...ngine_configuration_generated_structures.h | 7 ++++--- .../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 | 4 ++-- .../controllers/generated/signature_all.h | 4 ++-- .../generated/signature_frankenso_na6.h | 4 ++-- .../generated/signature_hellen121nissan.h | 4 ++-- .../generated/signature_hellen121vag.h | 4 ++-- .../generated/signature_hellen128.h | 4 ++-- .../generated/signature_hellen72.h | 4 ++-- .../generated/signature_hellenNA6.h | 4 ++-- .../generated/signature_hellen_cypress.h | 4 ++-- .../controllers/generated/signature_kin.h | 4 ++-- .../controllers/generated/signature_mre_f4.h | 4 ++-- .../controllers/generated/signature_mre_f7.h | 4 ++-- .../generated/signature_prometheus_405.h | 4 ++-- .../generated/signature_prometheus_469.h | 4 ++-- .../generated/signature_proteus_f4.h | 4 ++-- .../generated/signature_proteus_f7.h | 4 ++-- .../generated/signature_subaru_eg33_f7.h | 4 ++-- firmware/tunerstudio/generated/cache.zip | Bin 1518956 -> 1518904 bytes firmware/tunerstudio/generated/rusefi.ini | 8 ++++---- .../generated/rusefi_frankenso_na6.ini | 8 ++++---- .../generated/rusefi_hellen121nissan.ini | 8 ++++---- .../generated/rusefi_hellen121vag.ini | 8 ++++---- .../generated/rusefi_hellen128.ini | 8 ++++---- .../tunerstudio/generated/rusefi_hellen72.ini | 8 ++++---- .../generated/rusefi_hellenNA6.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 ++++---- .../generated/rusefi_subaru_eg33_f7.ini | 8 ++++---- .../com/rusefi/config/generated/Fields.java | 6 +++--- java_console/rusefi.xml | 2 +- 47 files changed, 128 insertions(+), 124 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 8c246c2ecd..6d45cf2487 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 Thu Jun 17 13:51:30 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Thu Jun 17 15:40:23 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -910,7 +910,8 @@ struct engine_configuration_s { */ int rpmHardLimit; /** - * This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS + * This setting controls which fuel quantity control algorithm is used. + * Alpha-N means drive by TPS * Speed Density requires MAP sensor * offset 420 */ @@ -4226,4 +4227,4 @@ struct 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 Thu Jun 17 13:51:30 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Thu Jun 17 15:40:23 UTC 2021 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 cae73405e1..07f1b68a4c 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 @@ -1289,7 +1289,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD hellen_cypress #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 102786430 +#define SIGNATURE_HASH 1481774859 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1642,7 +1642,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.06.17.hellen_cypress.102786430" +#define TS_SIGNATURE "rusEFI 2021.06.17.hellen_cypress.1481774859" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' 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 6d7bd7060a..cf6350105d 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 Thu Jun 17 13:51:28 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Thu Jun 17 15:40:22 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -910,7 +910,8 @@ struct engine_configuration_s { */ int rpmHardLimit; /** - * This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS + * This setting controls which fuel quantity control algorithm is used. + * Alpha-N means drive by TPS * Speed Density requires MAP sensor * offset 420 */ @@ -4220,4 +4221,4 @@ struct persistent_config_s { }; // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Thu Jun 17 13:51:28 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Thu Jun 17 15:40:22 UTC 2021 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 c0364e7539..e505711ce9 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h @@ -1273,7 +1273,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD kin #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 4186286466 +#define SIGNATURE_HASH 2818038775 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1626,7 +1626,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator true #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.06.17.kin.4186286466" +#define TS_SIGNATURE "rusEFI 2021.06.17.kin.2818038775" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' diff --git a/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures.h b/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures.h index 60e4932537..ae6d7e11c1 100644 --- a/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_config.sh integration/rusefi_config.txt Thu Jun 17 13:51:31 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:25 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -910,7 +910,8 @@ struct engine_configuration_s { */ int rpmHardLimit; /** - * This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS + * This setting controls which fuel quantity control algorithm is used. + * Alpha-N means drive by TPS * Speed Density requires MAP sensor * offset 420 */ @@ -4226,4 +4227,4 @@ struct persistent_config_s { }; // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_config.sh integration/rusefi_config.txt Thu Jun 17 13:51:31 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:25 UTC 2021 diff --git a/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated.h index 846fe354d0..27be7d9d26 100644 --- a/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated.h @@ -1289,7 +1289,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD subaru_eg33_f7 #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 3909136568 +#define SIGNATURE_HASH 3077751501 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1642,7 +1642,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port false -#define TS_SIGNATURE "rusEFI 2021.06.17.subaru_eg33_f7.3909136568" +#define TS_SIGNATURE "rusEFI 2021.06.17.subaru_eg33_f7.3077751501" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' diff --git a/firmware/controllers/generated/engine_configuration_generated_structures.h b/firmware/controllers/generated/engine_configuration_generated_structures.h index af895ca30d..a75e16e63b 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 Thu Jun 17 13:51:04 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:03 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -910,7 +910,8 @@ struct engine_configuration_s { */ int rpmHardLimit; /** - * This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS + * This setting controls which fuel quantity control algorithm is used. + * Alpha-N means drive by TPS * Speed Density requires MAP sensor * offset 420 */ @@ -4226,4 +4227,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 Thu Jun 17 13:51:04 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:03 UTC 2021 diff --git a/firmware/controllers/generated/fsio_enums_generated.def b/firmware/controllers/generated/fsio_enums_generated.def index a81659f926..ead80d7ddf 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 Thu Jun 17 13:51:04 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:03 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 f4c0b8459c..ab9665ecf1 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 Thu Jun 17 13:51:04 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:03 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 57fce5997d..547549d5dd 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 Thu Jun 17 13:51:04 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:03 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 c0d99e6274..75cd045534 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 Thu Jun 17 13:51:04 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:03 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 2b5309e6ef..78a166cb38 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -1286,7 +1286,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD all #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 1146928814 +#define SIGNATURE_HASH 439274715 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1639,7 +1639,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.06.17.all.1146928814" +#define TS_SIGNATURE "rusEFI 2021.06.17.all.439274715" #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_all.h b/firmware/controllers/generated/signature_all.h index 181f111068..c8bc9a1fbe 100644 --- a/firmware/controllers/generated/signature_all.h +++ b/firmware/controllers/generated/signature_all.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD all #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 1146928814 -#define TS_SIGNATURE "rusEFI 2021.06.17.all.1146928814" +#define SIGNATURE_HASH 439274715 +#define TS_SIGNATURE "rusEFI 2021.06.17.all.439274715" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index 3a684ceeb0..5d2cca5f2c 100644 --- a/firmware/controllers/generated/signature_frankenso_na6.h +++ b/firmware/controllers/generated/signature_frankenso_na6.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD frankenso_na6 #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 2081566871 -#define TS_SIGNATURE "rusEFI 2021.06.17.frankenso_na6.2081566871" +#define SIGNATURE_HASH 576733922 +#define TS_SIGNATURE "rusEFI 2021.06.17.frankenso_na6.576733922" diff --git a/firmware/controllers/generated/signature_hellen121nissan.h b/firmware/controllers/generated/signature_hellen121nissan.h index 16d37d12c2..ebf6c46a1a 100644 --- a/firmware/controllers/generated/signature_hellen121nissan.h +++ b/firmware/controllers/generated/signature_hellen121nissan.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD hellen121nissan #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 2352494237 -#define TS_SIGNATURE "rusEFI 2021.06.17.hellen121nissan.2352494237" +#define SIGNATURE_HASH 3528082664 +#define TS_SIGNATURE "rusEFI 2021.06.17.hellen121nissan.3528082664" diff --git a/firmware/controllers/generated/signature_hellen121vag.h b/firmware/controllers/generated/signature_hellen121vag.h index 6a44263f14..0dd4026819 100644 --- a/firmware/controllers/generated/signature_hellen121vag.h +++ b/firmware/controllers/generated/signature_hellen121vag.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD hellen121vag #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 1584659016 -#define TS_SIGNATURE "rusEFI 2021.06.17.hellen121vag.1584659016" +#define SIGNATURE_HASH 100413 +#define TS_SIGNATURE "rusEFI 2021.06.17.hellen121vag.100413" diff --git a/firmware/controllers/generated/signature_hellen128.h b/firmware/controllers/generated/signature_hellen128.h index 40dbc6eb1b..7448938cda 100644 --- a/firmware/controllers/generated/signature_hellen128.h +++ b/firmware/controllers/generated/signature_hellen128.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD hellen128 #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 3013782090 -#define TS_SIGNATURE "rusEFI 2021.06.17.hellen128.3013782090" +#define SIGNATURE_HASH 3989887039 +#define TS_SIGNATURE "rusEFI 2021.06.17.hellen128.3989887039" diff --git a/firmware/controllers/generated/signature_hellen72.h b/firmware/controllers/generated/signature_hellen72.h index 82c95928d2..327b82b2ef 100644 --- a/firmware/controllers/generated/signature_hellen72.h +++ b/firmware/controllers/generated/signature_hellen72.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD hellen72 #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 3937026341 -#define TS_SIGNATURE "rusEFI 2021.06.17.hellen72.3937026341" +#define SIGNATURE_HASH 3034067792 +#define TS_SIGNATURE "rusEFI 2021.06.17.hellen72.3034067792" diff --git a/firmware/controllers/generated/signature_hellenNA6.h b/firmware/controllers/generated/signature_hellenNA6.h index 1f3fec3eb1..785c488ba4 100644 --- a/firmware/controllers/generated/signature_hellenNA6.h +++ b/firmware/controllers/generated/signature_hellenNA6.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD hellenNA6 #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 3270587796 -#define TS_SIGNATURE "rusEFI 2021.06.17.hellenNA6.3270587796" +#define SIGNATURE_HASH 2625849313 +#define TS_SIGNATURE "rusEFI 2021.06.17.hellenNA6.2625849313" diff --git a/firmware/controllers/generated/signature_hellen_cypress.h b/firmware/controllers/generated/signature_hellen_cypress.h index 865f7171f8..8ed666e63f 100644 --- a/firmware/controllers/generated/signature_hellen_cypress.h +++ b/firmware/controllers/generated/signature_hellen_cypress.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD hellen_cypress #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 102786430 -#define TS_SIGNATURE "rusEFI 2021.06.17.hellen_cypress.102786430" +#define SIGNATURE_HASH 1481774859 +#define TS_SIGNATURE "rusEFI 2021.06.17.hellen_cypress.1481774859" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index 0b4c923fa8..2e8980544d 100644 --- a/firmware/controllers/generated/signature_kin.h +++ b/firmware/controllers/generated/signature_kin.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD kin #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 4186286466 -#define TS_SIGNATURE "rusEFI 2021.06.17.kin.4186286466" +#define SIGNATURE_HASH 2818038775 +#define TS_SIGNATURE "rusEFI 2021.06.17.kin.2818038775" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index 26a1a95e67..63a8590727 100644 --- a/firmware/controllers/generated/signature_mre_f4.h +++ b/firmware/controllers/generated/signature_mre_f4.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD mre_f4 #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 3331205044 -#define TS_SIGNATURE "rusEFI 2021.06.17.mre_f4.3331205044" +#define SIGNATURE_HASH 1102779730 +#define TS_SIGNATURE "rusEFI 2021.06.17.mre_f4.1102779730" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index f1d468d6ec..a35c024c17 100644 --- a/firmware/controllers/generated/signature_mre_f7.h +++ b/firmware/controllers/generated/signature_mre_f7.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD mre_f7 #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 3331205044 -#define TS_SIGNATURE "rusEFI 2021.06.17.mre_f7.3331205044" +#define SIGNATURE_HASH 1102779730 +#define TS_SIGNATURE "rusEFI 2021.06.17.mre_f7.1102779730" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index 9e99693dd0..1f81f7f3eb 100644 --- a/firmware/controllers/generated/signature_prometheus_405.h +++ b/firmware/controllers/generated/signature_prometheus_405.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD prometheus_405 #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 1456127128 -#define TS_SIGNATURE "rusEFI 2021.06.17.prometheus_405.1456127128" +#define SIGNATURE_HASH 146329325 +#define TS_SIGNATURE "rusEFI 2021.06.17.prometheus_405.146329325" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index a2f78282bd..e17b2c8a64 100644 --- a/firmware/controllers/generated/signature_prometheus_469.h +++ b/firmware/controllers/generated/signature_prometheus_469.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD prometheus_469 #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 1456127128 -#define TS_SIGNATURE "rusEFI 2021.06.17.prometheus_469.1456127128" +#define SIGNATURE_HASH 146329325 +#define TS_SIGNATURE "rusEFI 2021.06.17.prometheus_469.146329325" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index 83c2ad0937..55f2f4e09f 100644 --- a/firmware/controllers/generated/signature_proteus_f4.h +++ b/firmware/controllers/generated/signature_proteus_f4.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD proteus_f4 #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 770311093 -#define TS_SIGNATURE "rusEFI 2021.06.17.proteus_f4.770311093" +#define SIGNATURE_HASH 1939370432 +#define TS_SIGNATURE "rusEFI 2021.06.17.proteus_f4.1939370432" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index a5a894ea39..af7007516e 100644 --- a/firmware/controllers/generated/signature_proteus_f7.h +++ b/firmware/controllers/generated/signature_proteus_f7.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD proteus_f7 #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 770311093 -#define TS_SIGNATURE "rusEFI 2021.06.17.proteus_f7.770311093" +#define SIGNATURE_HASH 1939370432 +#define TS_SIGNATURE "rusEFI 2021.06.17.proteus_f7.1939370432" diff --git a/firmware/controllers/generated/signature_subaru_eg33_f7.h b/firmware/controllers/generated/signature_subaru_eg33_f7.h index 54f64a40b0..21f0b1751f 100644 --- a/firmware/controllers/generated/signature_subaru_eg33_f7.h +++ b/firmware/controllers/generated/signature_subaru_eg33_f7.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD subaru_eg33_f7 #define SIGNATURE_DATE 2021.06.17 -#define SIGNATURE_HASH 3909136568 -#define TS_SIGNATURE "rusEFI 2021.06.17.subaru_eg33_f7.3909136568" +#define SIGNATURE_HASH 3077751501 +#define TS_SIGNATURE "rusEFI 2021.06.17.subaru_eg33_f7.3077751501" diff --git a/firmware/tunerstudio/generated/cache.zip b/firmware/tunerstudio/generated/cache.zip index 6b938e827450b0b52638fcbcda1db73edf763ba0..42634974cd91f2ca94de6ab7e010688b99e52ef8 100644 GIT binary patch delta 435198 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 diff --git a/firmware/tunerstudio/generated/rusefi.ini b/firmware/tunerstudio/generated/rusefi.ini index 0197ba9715..4ae29ff537 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 2021.06.17.all.1146928814" + signature = "rusEFI 2021.06.17.all.439274715" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.17.all.1146928814" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.17.all.439274715" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -77,7 +77,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 Thu Jun 17 13:51:04 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:03 UTC 2021 pageSize = 20000 page = 1 @@ -1338,7 +1338,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1.0, 0, 0.0, 25500.0, 2 knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" cylinderBore = "Cylinder diameter, in mm." sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" - fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" + fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"." injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection" extraInjectionOffset = "this is about deciding when the injector starts it's squirt\nSee also injectionPhase map\ntodo: do we need even need this since we have the map anyway?" diff --git a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini index 0296975093..a9c9becbba 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 2021.06.17.frankenso_na6.2081566871" + signature = "rusEFI 2021.06.17.frankenso_na6.576733922" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.17.frankenso_na6.2081566871" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.17.frankenso_na6.576733922" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -77,7 +77,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 Thu Jun 17 13:51:20 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:15 UTC 2021 pageSize = 20000 page = 1 @@ -1338,7 +1338,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1.0, 0, 0.0, 25500.0, 2 knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" cylinderBore = "Cylinder diameter, in mm." sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" - fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" + fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"." injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection" extraInjectionOffset = "this is about deciding when the injector starts it's squirt\nSee also injectionPhase map\ntodo: do we need even need this since we have the map anyway?" diff --git a/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini b/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini index 29199da2c5..21369d530c 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.06.17.hellen121nissan.2352494237" + signature = "rusEFI 2021.06.17.hellen121nissan.3528082664" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.17.hellen121nissan.2352494237" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.17.hellen121nissan.3528082664" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -77,7 +77,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 Thu Jun 17 13:51:09 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:09 UTC 2021 pageSize = 20000 page = 1 @@ -1338,7 +1338,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1.0, 0, 0.0, 25500.0, 2 knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" cylinderBore = "Cylinder diameter, in mm." sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" - fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" + fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"." injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection" extraInjectionOffset = "this is about deciding when the injector starts it's squirt\nSee also injectionPhase map\ntodo: do we need even need this since we have the map anyway?" diff --git a/firmware/tunerstudio/generated/rusefi_hellen121vag.ini b/firmware/tunerstudio/generated/rusefi_hellen121vag.ini index f20397d038..c30c090ecc 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen121vag.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen121vag.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.06.17.hellen121vag.1584659016" + signature = "rusEFI 2021.06.17.hellen121vag.100413" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.17.hellen121vag.1584659016" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.17.hellen121vag.100413" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -77,7 +77,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 Thu Jun 17 13:51:07 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:07 UTC 2021 pageSize = 20000 page = 1 @@ -1338,7 +1338,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1.0, 0, 0.0, 25500.0, 2 knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" cylinderBore = "Cylinder diameter, in mm." sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" - fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" + fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"." injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection" extraInjectionOffset = "this is about deciding when the injector starts it's squirt\nSee also injectionPhase map\ntodo: do we need even need this since we have the map anyway?" diff --git a/firmware/tunerstudio/generated/rusefi_hellen128.ini b/firmware/tunerstudio/generated/rusefi_hellen128.ini index faed18cb9b..4415ee85c6 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen128.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen128.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.06.17.hellen128.3013782090" + signature = "rusEFI 2021.06.17.hellen128.3989887039" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.17.hellen128.3013782090" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.17.hellen128.3989887039" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -77,7 +77,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 Thu Jun 17 13:51:06 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:05 UTC 2021 pageSize = 20000 page = 1 @@ -1338,7 +1338,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1.0, 0, 0.0, 25500.0, 2 knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" cylinderBore = "Cylinder diameter, in mm." sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" - fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" + fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"." injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection" extraInjectionOffset = "this is about deciding when the injector starts it's squirt\nSee also injectionPhase map\ntodo: do we need even need this since we have the map anyway?" diff --git a/firmware/tunerstudio/generated/rusefi_hellen72.ini b/firmware/tunerstudio/generated/rusefi_hellen72.ini index 9fbfa03656..83ea87b503 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen72.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen72.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.06.17.hellen72.3937026341" + signature = "rusEFI 2021.06.17.hellen72.3034067792" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.17.hellen72.3937026341" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.17.hellen72.3034067792" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -77,7 +77,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 Thu Jun 17 13:51:11 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:10 UTC 2021 pageSize = 20000 page = 1 @@ -1338,7 +1338,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1.0, 0, 0.0, 25500.0, 2 knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" cylinderBore = "Cylinder diameter, in mm." sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" - fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" + fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"." injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection" extraInjectionOffset = "this is about deciding when the injector starts it's squirt\nSee also injectionPhase map\ntodo: do we need even need this since we have the map anyway?" diff --git a/firmware/tunerstudio/generated/rusefi_hellenNA6.ini b/firmware/tunerstudio/generated/rusefi_hellenNA6.ini index 0467532b23..8e445c15ff 100644 --- a/firmware/tunerstudio/generated/rusefi_hellenNA6.ini +++ b/firmware/tunerstudio/generated/rusefi_hellenNA6.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.06.17.hellenNA6.3270587796" + signature = "rusEFI 2021.06.17.hellenNA6.2625849313" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.17.hellenNA6.3270587796" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.17.hellenNA6.2625849313" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -77,7 +77,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 Thu Jun 17 13:51:14 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:11 UTC 2021 pageSize = 20000 page = 1 @@ -1338,7 +1338,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1.0, 0, 0.0, 25500.0, 2 knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" cylinderBore = "Cylinder diameter, in mm." sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" - fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" + fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"." injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection" extraInjectionOffset = "this is about deciding when the injector starts it's squirt\nSee also injectionPhase map\ntodo: do we need even need this since we have the map anyway?" diff --git a/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini b/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini index 718d67e4fb..b6cae16cf5 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 2021.06.17.hellen_cypress.102786430" + signature = "rusEFI 2021.06.17.hellen_cypress.1481774859" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.17.hellen_cypress.102786430" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.17.hellen_cypress.1481774859" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -77,7 +77,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 Thu Jun 17 13:51:30 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Thu Jun 17 15:40:23 UTC 2021 pageSize = 20000 page = 1 @@ -1338,7 +1338,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1.0, 0, 0.0, 25500.0, 2 knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" cylinderBore = "Cylinder diameter, in mm." sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" - fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" + fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"." injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection" extraInjectionOffset = "this is about deciding when the injector starts it's squirt\nSee also injectionPhase map\ntodo: do we need even need this since we have the map anyway?" diff --git a/firmware/tunerstudio/generated/rusefi_kinetis.ini b/firmware/tunerstudio/generated/rusefi_kinetis.ini index 3820e28cd4..f42c9be176 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 2021.06.17.kin.4186286466" + signature = "rusEFI 2021.06.17.kin.2818038775" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.17.kin.4186286466" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.17.kin.2818038775" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -77,7 +77,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 Thu Jun 17 13:51:28 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Thu Jun 17 15:40:22 UTC 2021 pageSize = 19972 page = 1 @@ -1322,7 +1322,7 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1.0, 0, 0.0, 25500.0, 2 knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" cylinderBore = "Cylinder diameter, in mm." sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" - fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" + fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"." injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection" extraInjectionOffset = "this is about deciding when the injector starts it's squirt\nSee also injectionPhase map\ntodo: do we need even need this since we have the map anyway?" diff --git a/firmware/tunerstudio/generated/rusefi_mre_f4.ini b/firmware/tunerstudio/generated/rusefi_mre_f4.ini index b89e81f0c0..d2e35b67ec 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 2021.06.17.mre_f4.3331205044" + signature = "rusEFI 2021.06.17.mre_f4.1102779730" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.17.mre_f4.3331205044" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.17.mre_f4.1102779730" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -77,7 +77,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 Thu Jun 17 13:51:17 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:14 UTC 2021 pageSize = 20000 page = 1 @@ -1338,7 +1338,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1.0, 0, 0.0, 25500.0, 2 knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" cylinderBore = "Cylinder diameter, in mm." sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" - fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" + fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"." injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection" extraInjectionOffset = "this is about deciding when the injector starts it's squirt\nSee also injectionPhase map\ntodo: do we need even need this since we have the map anyway?" diff --git a/firmware/tunerstudio/generated/rusefi_mre_f7.ini b/firmware/tunerstudio/generated/rusefi_mre_f7.ini index f0020da033..092123072b 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 2021.06.17.mre_f7.3331205044" + signature = "rusEFI 2021.06.17.mre_f7.1102779730" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.17.mre_f7.3331205044" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.17.mre_f7.1102779730" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -77,7 +77,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 Thu Jun 17 13:51:16 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:13 UTC 2021 pageSize = 20000 page = 1 @@ -1338,7 +1338,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1.0, 0, 0.0, 25500.0, 2 knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" cylinderBore = "Cylinder diameter, in mm." sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" - fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" + fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"." injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection" extraInjectionOffset = "this is about deciding when the injector starts it's squirt\nSee also injectionPhase map\ntodo: do we need even need this since we have the map anyway?" diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini index a9edfa77c6..be02a70b84 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 2021.06.17.prometheus_405.1456127128" + signature = "rusEFI 2021.06.17.prometheus_405.146329325" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.17.prometheus_405.1456127128" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.17.prometheus_405.146329325" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -77,7 +77,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 Thu Jun 17 13:51:23 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:18 UTC 2021 pageSize = 20000 page = 1 @@ -1338,7 +1338,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1.0, 0, 0.0, 25500.0, 2 knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" cylinderBore = "Cylinder diameter, in mm." sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" - fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" + fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"." injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection" extraInjectionOffset = "this is about deciding when the injector starts it's squirt\nSee also injectionPhase map\ntodo: do we need even need this since we have the map anyway?" diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini index 04968af8ec..69a123b9f3 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 2021.06.17.prometheus_469.1456127128" + signature = "rusEFI 2021.06.17.prometheus_469.146329325" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.17.prometheus_469.1456127128" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.17.prometheus_469.146329325" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -77,7 +77,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 Thu Jun 17 13:51:21 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:17 UTC 2021 pageSize = 20000 page = 1 @@ -1338,7 +1338,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1.0, 0, 0.0, 25500.0, 2 knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" cylinderBore = "Cylinder diameter, in mm." sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" - fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" + fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"." injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection" extraInjectionOffset = "this is about deciding when the injector starts it's squirt\nSee also injectionPhase map\ntodo: do we need even need this since we have the map anyway?" diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini index e8c85f855c..4955590162 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 2021.06.17.proteus_f4.770311093" + signature = "rusEFI 2021.06.17.proteus_f4.1939370432" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.17.proteus_f4.770311093" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.17.proteus_f4.1939370432" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -77,7 +77,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 Thu Jun 17 13:51:26 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:21 UTC 2021 pageSize = 20000 page = 1 @@ -1338,7 +1338,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1.0, 0, 0.0, 25500.0, 2 knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" cylinderBore = "Cylinder diameter, in mm." sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" - fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" + fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"." injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection" extraInjectionOffset = "this is about deciding when the injector starts it's squirt\nSee also injectionPhase map\ntodo: do we need even need this since we have the map anyway?" diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini index 87d7413813..735e5f34ff 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 2021.06.17.proteus_f7.770311093" + signature = "rusEFI 2021.06.17.proteus_f7.1939370432" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.17.proteus_f7.770311093" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.17.proteus_f7.1939370432" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -77,7 +77,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 Thu Jun 17 13:51:25 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:19 UTC 2021 pageSize = 20000 page = 1 @@ -1338,7 +1338,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1.0, 0, 0.0, 25500.0, 2 knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" cylinderBore = "Cylinder diameter, in mm." sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" - fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" + fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"." injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection" extraInjectionOffset = "this is about deciding when the injector starts it's squirt\nSee also injectionPhase map\ntodo: do we need even need this since we have the map anyway?" diff --git a/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini b/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini index 79d0893963..ab7fb3f6c8 100644 --- a/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.06.17.subaru_eg33_f7.3909136568" + signature = "rusEFI 2021.06.17.subaru_eg33_f7.3077751501" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.17.subaru_eg33_f7.3909136568" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.17.subaru_eg33_f7.3077751501" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -77,7 +77,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 config/boards/subaru_eg33/config/gen_config.sh integration/rusefi_config.txt Thu Jun 17 13:51:31 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:25 UTC 2021 pageSize = 20000 page = 1 @@ -1338,7 +1338,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1.0, 0, 0.0, 25500.0, 2 knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" cylinderBore = "Cylinder diameter, in mm." sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" - fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\тAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" + fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS\nSpeed Density requires MAP sensor" crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"." injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation". \nset injection_mode X\nSee also twoWireBatchInjection" extraInjectionOffset = "this is about deciding when the injector starts it's squirt\nSee also injectionPhase map\ntodo: do we need even need this since we have the map anyway?" 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 5860228466..d789673b50 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 Thu Jun 17 13:51:04 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Jun 17 15:40:03 UTC 2021 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; @@ -1240,7 +1240,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 = 1146928814; + public static final int SIGNATURE_HASH = 439274715; public static final int silentTriggerError_offset = 1464; public static final int slowAdcAlpha_offset = 2088; public static final int sparkDwellRpmBins_offset = 332; @@ -1542,7 +1542,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 2021.06.17.all.1146928814"; + public static final String TS_SIGNATURE = "rusEFI 2021.06.17.all.439274715"; public static final char TS_SINGLE_WRITE_COMMAND = 'W'; public static final char TS_TEST_COMMAND = 't'; public static final int TT_TT_1_16 = 50; diff --git a/java_console/rusefi.xml b/java_console/rusefi.xml index feff2c3e25..fb7c1ad412 100644 --- a/java_console/rusefi.xml +++ b/java_console/rusefi.xml @@ -1,6 +1,6 @@ - +