From a2a4a676bbc911c190131e16686b3f5f54f0bd3c Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Tue, 13 Jul 2021 19:19:10 +0000 Subject: [PATCH] Auto-generated configs and docs --- ...ngine_configuration_generated_structures.h | 5 +++-- .../controllers/algo/rusefi_generated.h | 4 ++-- ...ngine_configuration_generated_structures.h | 5 +++-- .../controllers/algo/rusefi_generated.h | 4 ++-- ...ngine_configuration_generated_structures.h | 5 +++-- .../controllers/algo/rusefi_generated.h | 4 ++-- ...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 | 4 ++-- .../controllers/generated/signature_all.h | 4 ++-- .../generated/signature_f429-discovery.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 1603320 -> 1604000 bytes firmware/tunerstudio/generated/rusefi.ini | 7 ++++--- .../generated/rusefi_f429-discovery.ini | 7 ++++--- .../generated/rusefi_frankenso_na6.ini | 7 ++++--- .../generated/rusefi_hellen121nissan.ini | 7 ++++--- .../generated/rusefi_hellen121vag.ini | 7 ++++--- .../generated/rusefi_hellen128.ini | 7 ++++--- .../tunerstudio/generated/rusefi_hellen72.ini | 7 ++++--- .../generated/rusefi_hellenNA6.ini | 7 ++++--- .../generated/rusefi_hellen_cypress.ini | 7 ++++--- .../tunerstudio/generated/rusefi_kinetis.ini | 7 ++++--- .../tunerstudio/generated/rusefi_mre_f4.ini | 7 ++++--- .../tunerstudio/generated/rusefi_mre_f7.ini | 7 ++++--- .../generated/rusefi_prometheus_405.ini | 7 ++++--- .../generated/rusefi_prometheus_469.ini | 7 ++++--- .../generated/rusefi_proteus_f4.ini | 7 ++++--- .../generated/rusefi_proteus_f7.ini | 7 ++++--- .../generated/rusefi_subaru_eg33_f7.ini | 7 ++++--- .../com/rusefi/config/generated/Fields.java | 5 ++--- java_console/rusefi.xml | 2 +- 49 files changed, 129 insertions(+), 109 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 3ec5fd1b9a..2d6e5b7d4f 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 Tue Jul 13 18:36:52 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Tue Jul 13 19:18:24 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -2538,6 +2538,7 @@ struct engine_configuration_s { */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** + * Duration in ms or duty cycle depending on selected mode * offset 1704 */ float tachPulseDuractionMs; @@ -4272,4 +4273,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 Tue Jul 13 18:36:52 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Tue Jul 13 19:18:24 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 1349276451..219a4883f5 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 @@ -1318,7 +1318,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD hellen_cypress #define SIGNATURE_DATE 2021.07.13 -#define SIGNATURE_HASH 2134414392 +#define SIGNATURE_HASH 3583138004 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1687,7 +1687,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.07.13.hellen_cypress.2134414392" +#define TS_SIGNATURE "rusEFI 2021.07.13.hellen_cypress.3583138004" #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 f1527b7cc9..67307643ec 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 Tue Jul 13 18:36:50 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Tue Jul 13 19:18:22 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -2538,6 +2538,7 @@ struct engine_configuration_s { */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** + * Duration in ms or duty cycle depending on selected mode * offset 1704 */ float tachPulseDuractionMs; @@ -4266,4 +4267,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 Tue Jul 13 18:36:50 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Tue Jul 13 19:18: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 56df31e99e..4baaff9c8c 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h @@ -1299,7 +1299,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD kin #define SIGNATURE_DATE 2021.07.13 -#define SIGNATURE_HASH 2157795524 +#define SIGNATURE_HASH 708285480 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1668,7 +1668,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator true #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.07.13.kin.2157795524" +#define TS_SIGNATURE "rusEFI 2021.07.13.kin.708285480" #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 7b5d0301f5..cbc1c96fe6 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 Tue Jul 13 18:36:55 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 Tue Jul 13 19:18:27 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -2538,6 +2538,7 @@ struct engine_configuration_s { */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** + * Duration in ms or duty cycle depending on selected mode * offset 1704 */ float tachPulseDuractionMs; @@ -4272,4 +4273,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 Tue Jul 13 18:36:55 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 Tue Jul 13 19:18:27 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 9b26a28cad..e2f6abea5c 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 @@ -1318,7 +1318,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD subaru_eg33_f7 #define SIGNATURE_DATE 2021.07.13 -#define SIGNATURE_HASH 2417508862 +#define SIGNATURE_HASH 984780050 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1687,7 +1687,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port false -#define TS_SIGNATURE "rusEFI 2021.07.13.subaru_eg33_f7.2417508862" +#define TS_SIGNATURE "rusEFI 2021.07.13.subaru_eg33_f7.984780050" #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 ad7cb3fad5..fb514e3fee 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 18:36:15 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:17:47 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -2538,6 +2538,7 @@ struct engine_configuration_s { */ float crankingTpsBins[CRANKING_CURVE_SIZE]; /** + * Duration in ms or duty cycle depending on selected mode * offset 1704 */ float tachPulseDuractionMs; @@ -4272,4 +4273,4 @@ struct persistent_config_s { }; // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 18:36:15 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:17:47 UTC 2021 diff --git a/firmware/controllers/generated/fsio_enums_generated.def b/firmware/controllers/generated/fsio_enums_generated.def index 4ff8f40b11..4d75381d66 100644 --- a/firmware/controllers/generated/fsio_enums_generated.def +++ b/firmware/controllers/generated/fsio_enums_generated.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 18:36:15 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:17:47 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 849f785e3c..d1ece8511d 100644 --- a/firmware/controllers/generated/fsio_getters.def +++ b/firmware/controllers/generated/fsio_getters.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 18:36:15 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:17:47 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 0fb4c19da0..667e3415ff 100644 --- a/firmware/controllers/generated/fsio_names.def +++ b/firmware/controllers/generated/fsio_names.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 18:36:15 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:17:47 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 e9e80c1c72..31d846713e 100644 --- a/firmware/controllers/generated/fsio_strings.def +++ b/firmware/controllers/generated/fsio_strings.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 18:36:15 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:17:47 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 b5cfa3bf87..2ee0b04560 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -1315,7 +1315,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD all #define SIGNATURE_DATE 2021.07.13 -#define SIGNATURE_HASH 1027887080 +#define SIGNATURE_HASH 2548990724 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1684,7 +1684,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.07.13.all.1027887080" +#define TS_SIGNATURE "rusEFI 2021.07.13.all.2548990724" #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 07da9df1b6..97d02d7212 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.07.13 -#define SIGNATURE_HASH 1027887080 -#define TS_SIGNATURE "rusEFI 2021.07.13.all.1027887080" +#define SIGNATURE_HASH 2548990724 +#define TS_SIGNATURE "rusEFI 2021.07.13.all.2548990724" diff --git a/firmware/controllers/generated/signature_f429-discovery.h b/firmware/controllers/generated/signature_f429-discovery.h index 3f97717ee1..d6506cc176 100644 --- a/firmware/controllers/generated/signature_f429-discovery.h +++ b/firmware/controllers/generated/signature_f429-discovery.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD f429-discovery #define SIGNATURE_DATE 2021.07.13 -#define SIGNATURE_HASH 2134414392 -#define TS_SIGNATURE "rusEFI 2021.07.13.f429-discovery.2134414392" +#define SIGNATURE_HASH 3583138004 +#define TS_SIGNATURE "rusEFI 2021.07.13.f429-discovery.3583138004" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index 28de7422e3..7d2840ba8d 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.07.13 -#define SIGNATURE_HASH 84591057 -#define TS_SIGNATURE "rusEFI 2021.07.13.frankenso_na6.84591057" +#define SIGNATURE_HASH 2946501949 +#define TS_SIGNATURE "rusEFI 2021.07.13.frankenso_na6.2946501949" diff --git a/firmware/controllers/generated/signature_hellen121nissan.h b/firmware/controllers/generated/signature_hellen121nissan.h index 5ee522eb78..456b8f6df2 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.07.13 -#define SIGNATURE_HASH 1467467590 -#define TS_SIGNATURE "rusEFI 2021.07.13.hellen121nissan.1467467590" +#define SIGNATURE_HASH 4259122090 +#define TS_SIGNATURE "rusEFI 2021.07.13.hellen121nissan.4259122090" diff --git a/firmware/controllers/generated/signature_hellen121vag.h b/firmware/controllers/generated/signature_hellen121vag.h index 323a370067..7b904c8318 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.07.13 -#define SIGNATURE_HASH 3520780441 -#define TS_SIGNATURE "rusEFI 2021.07.13.hellen121vag.3520780441" +#define SIGNATURE_HASH 2070942837 +#define TS_SIGNATURE "rusEFI 2021.07.13.hellen121vag.2070942837" diff --git a/firmware/controllers/generated/signature_hellen128.h b/firmware/controllers/generated/signature_hellen128.h index 1b801b959b..0c3c6a6a2f 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.07.13 -#define SIGNATURE_HASH 2759546426 -#define TS_SIGNATURE "rusEFI 2021.07.13.hellen128.2759546426" +#define SIGNATURE_HASH 248617686 +#define TS_SIGNATURE "rusEFI 2021.07.13.hellen128.248617686" diff --git a/firmware/controllers/generated/signature_hellen72.h b/firmware/controllers/generated/signature_hellen72.h index b4539d8211..9a780a2547 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.07.13 -#define SIGNATURE_HASH 216015639 -#define TS_SIGNATURE "rusEFI 2021.07.13.hellen72.216015639" +#define SIGNATURE_HASH 2789928955 +#define TS_SIGNATURE "rusEFI 2021.07.13.hellen72.2789928955" diff --git a/firmware/controllers/generated/signature_hellenNA6.h b/firmware/controllers/generated/signature_hellenNA6.h index 81baee53eb..f82f9dd8cf 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.07.13 -#define SIGNATURE_HASH 828769429 -#define TS_SIGNATURE "rusEFI 2021.07.13.hellenNA6.828769429" +#define SIGNATURE_HASH 2613889145 +#define TS_SIGNATURE "rusEFI 2021.07.13.hellenNA6.2613889145" diff --git a/firmware/controllers/generated/signature_hellen_cypress.h b/firmware/controllers/generated/signature_hellen_cypress.h index 5a7bdf9503..e4d4e21d04 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.07.13 -#define SIGNATURE_HASH 2134414392 -#define TS_SIGNATURE "rusEFI 2021.07.13.hellen_cypress.2134414392" +#define SIGNATURE_HASH 3583138004 +#define TS_SIGNATURE "rusEFI 2021.07.13.hellen_cypress.3583138004" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index 38b3ed628d..d54057d474 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.07.13 -#define SIGNATURE_HASH 2157795524 -#define TS_SIGNATURE "rusEFI 2021.07.13.kin.2157795524" +#define SIGNATURE_HASH 708285480 +#define TS_SIGNATURE "rusEFI 2021.07.13.kin.708285480" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index 983dc0af5a..1ecefa701e 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.07.13 -#define SIGNATURE_HASH 3629939900 -#define TS_SIGNATURE "rusEFI 2021.07.13.mre_f4.3629939900" +#define SIGNATURE_HASH 1928769616 +#define TS_SIGNATURE "rusEFI 2021.07.13.mre_f4.1928769616" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index c43f50739f..8760ed21ed 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.07.13 -#define SIGNATURE_HASH 3629939900 -#define TS_SIGNATURE "rusEFI 2021.07.13.mre_f7.3629939900" +#define SIGNATURE_HASH 1928769616 +#define TS_SIGNATURE "rusEFI 2021.07.13.mre_f7.1928769616" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index fad39eeea3..3f65ee6380 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.07.13 -#define SIGNATURE_HASH 802311646 -#define TS_SIGNATURE "rusEFI 2021.07.13.prometheus_405.802311646" +#define SIGNATURE_HASH 2239267122 +#define TS_SIGNATURE "rusEFI 2021.07.13.prometheus_405.2239267122" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index 8e043944b9..40977d72e1 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.07.13 -#define SIGNATURE_HASH 802311646 -#define TS_SIGNATURE "rusEFI 2021.07.13.prometheus_469.802311646" +#define SIGNATURE_HASH 2239267122 +#define TS_SIGNATURE "rusEFI 2021.07.13.prometheus_469.2239267122" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index 444ba12528..d31ac4a5af 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.07.13 -#define SIGNATURE_HASH 1425208051 -#define TS_SIGNATURE "rusEFI 2021.07.13.proteus_f4.1425208051" +#define SIGNATURE_HASH 4267195935 +#define TS_SIGNATURE "rusEFI 2021.07.13.proteus_f4.4267195935" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 003cc9b120..3d4416e53f 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.07.13 -#define SIGNATURE_HASH 1425208051 -#define TS_SIGNATURE "rusEFI 2021.07.13.proteus_f7.1425208051" +#define SIGNATURE_HASH 4267195935 +#define TS_SIGNATURE "rusEFI 2021.07.13.proteus_f7.4267195935" diff --git a/firmware/controllers/generated/signature_subaru_eg33_f7.h b/firmware/controllers/generated/signature_subaru_eg33_f7.h index 63f741ab2e..8f71dac76a 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.07.13 -#define SIGNATURE_HASH 2417508862 -#define TS_SIGNATURE "rusEFI 2021.07.13.subaru_eg33_f7.2417508862" +#define SIGNATURE_HASH 984780050 +#define TS_SIGNATURE "rusEFI 2021.07.13.subaru_eg33_f7.984780050" diff --git a/firmware/tunerstudio/generated/cache.zip b/firmware/tunerstudio/generated/cache.zip index 66b1a282d29a69d386081e720e0f1d443a07eb5e..c859237435404ec13d3b9e2974e68680867bbacb 100644 GIT binary patch delta 492390 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 Zo0^x8nu)`O(}nZ;8V-&}oOJ4c{{i$l1iJtL delta 491388 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 tN>lVI({4*(q6qdx!u diff --git a/firmware/tunerstudio/generated/rusefi.ini b/firmware/tunerstudio/generated/rusefi.ini index b185efcd9a..217da241c3 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.07.13.all.1027887080" + signature = "rusEFI 2021.07.13.all.2548990724" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.07.13.all.1027887080" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.07.13.all.2548990724" ; 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 Tue Jul 13 18:36:15 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:17:47 UTC 2021 pageSize = 20000 page = 1 @@ -1497,6 +1497,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 ignMathCalculateAtIndex = "At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." + tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." diff --git a/firmware/tunerstudio/generated/rusefi_f429-discovery.ini b/firmware/tunerstudio/generated/rusefi_f429-discovery.ini index 95889eb2bf..1243f84047 100644 --- a/firmware/tunerstudio/generated/rusefi_f429-discovery.ini +++ b/firmware/tunerstudio/generated/rusefi_f429-discovery.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.07.13.f429-discovery.2134414392" + signature = "rusEFI 2021.07.13.f429-discovery.3583138004" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.07.13.f429-discovery.2134414392" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.07.13.f429-discovery.3583138004" ; 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 Tue Jul 13 18:36:18 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:17:51 UTC 2021 pageSize = 20000 page = 1 @@ -1497,6 +1497,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 ignMathCalculateAtIndex = "At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." + tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." diff --git a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini index d6d70ec454..f0bf5c48a4 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.07.13.frankenso_na6.84591057" + signature = "rusEFI 2021.07.13.frankenso_na6.2946501949" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.07.13.frankenso_na6.84591057" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.07.13.frankenso_na6.2946501949" ; 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 Tue Jul 13 18:36:38 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:18:11 UTC 2021 pageSize = 20000 page = 1 @@ -1497,6 +1497,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 ignMathCalculateAtIndex = "At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." + tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." diff --git a/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini b/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini index f50b78bb64..8a64d93672 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.07.13.hellen121nissan.1467467590" + signature = "rusEFI 2021.07.13.hellen121nissan.4259122090" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.07.13.hellen121nissan.1467467590" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.07.13.hellen121nissan.4259122090" ; 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 Tue Jul 13 18:36:25 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:17:59 UTC 2021 pageSize = 20000 page = 1 @@ -1497,6 +1497,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 ignMathCalculateAtIndex = "At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." + tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." diff --git a/firmware/tunerstudio/generated/rusefi_hellen121vag.ini b/firmware/tunerstudio/generated/rusefi_hellen121vag.ini index e7d7c830b7..4ef8228f60 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.07.13.hellen121vag.3520780441" + signature = "rusEFI 2021.07.13.hellen121vag.2070942837" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.07.13.hellen121vag.3520780441" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.07.13.hellen121vag.2070942837" ; 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 Tue Jul 13 18:36:23 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:17:56 UTC 2021 pageSize = 20000 page = 1 @@ -1497,6 +1497,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 ignMathCalculateAtIndex = "At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." + tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." diff --git a/firmware/tunerstudio/generated/rusefi_hellen128.ini b/firmware/tunerstudio/generated/rusefi_hellen128.ini index e5e3a2f491..3ef8a0fa05 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.07.13.hellen128.2759546426" + signature = "rusEFI 2021.07.13.hellen128.248617686" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.07.13.hellen128.2759546426" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.07.13.hellen128.248617686" ; 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 Tue Jul 13 18:36:20 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:17:54 UTC 2021 pageSize = 20000 page = 1 @@ -1497,6 +1497,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 ignMathCalculateAtIndex = "At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." + tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." diff --git a/firmware/tunerstudio/generated/rusefi_hellen72.ini b/firmware/tunerstudio/generated/rusefi_hellen72.ini index a370c61082..5298343db1 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.07.13.hellen72.216015639" + signature = "rusEFI 2021.07.13.hellen72.2789928955" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.07.13.hellen72.216015639" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.07.13.hellen72.2789928955" ; 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 Tue Jul 13 18:36:28 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:18:01 UTC 2021 pageSize = 20000 page = 1 @@ -1497,6 +1497,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 ignMathCalculateAtIndex = "At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." + tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." diff --git a/firmware/tunerstudio/generated/rusefi_hellenNA6.ini b/firmware/tunerstudio/generated/rusefi_hellenNA6.ini index 97bdd423e2..9263f5bed9 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.07.13.hellenNA6.828769429" + signature = "rusEFI 2021.07.13.hellenNA6.2613889145" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.07.13.hellenNA6.828769429" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.07.13.hellenNA6.2613889145" ; 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 Tue Jul 13 18:36:30 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:18:04 UTC 2021 pageSize = 20000 page = 1 @@ -1497,6 +1497,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 ignMathCalculateAtIndex = "At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." + tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." diff --git a/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini b/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini index 4b39f03e2d..541d5a507e 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.07.13.hellen_cypress.2134414392" + signature = "rusEFI 2021.07.13.hellen_cypress.3583138004" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.07.13.hellen_cypress.2134414392" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.07.13.hellen_cypress.3583138004" ; 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 Tue Jul 13 18:36:52 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Tue Jul 13 19:18:24 UTC 2021 pageSize = 20000 page = 1 @@ -1497,6 +1497,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 ignMathCalculateAtIndex = "At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." + tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." diff --git a/firmware/tunerstudio/generated/rusefi_kinetis.ini b/firmware/tunerstudio/generated/rusefi_kinetis.ini index 8edd62fe0e..35e5fa6768 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.07.13.kin.2157795524" + signature = "rusEFI 2021.07.13.kin.708285480" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.07.13.kin.2157795524" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.07.13.kin.708285480" ; 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 Tue Jul 13 18:36:50 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Tue Jul 13 19:18:22 UTC 2021 pageSize = 19972 page = 1 @@ -1469,6 +1469,7 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2 ignMathCalculateAtIndex = "At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." + tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." diff --git a/firmware/tunerstudio/generated/rusefi_mre_f4.ini b/firmware/tunerstudio/generated/rusefi_mre_f4.ini index 6170246f25..c8047dbc86 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.07.13.mre_f4.3629939900" + signature = "rusEFI 2021.07.13.mre_f4.1928769616" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.07.13.mre_f4.3629939900" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.07.13.mre_f4.1928769616" ; 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 Tue Jul 13 18:36:35 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:18:09 UTC 2021 pageSize = 20000 page = 1 @@ -1497,6 +1497,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 ignMathCalculateAtIndex = "At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." + tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." diff --git a/firmware/tunerstudio/generated/rusefi_mre_f7.ini b/firmware/tunerstudio/generated/rusefi_mre_f7.ini index 9148bba74f..31802a2150 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.07.13.mre_f7.3629939900" + signature = "rusEFI 2021.07.13.mre_f7.1928769616" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.07.13.mre_f7.3629939900" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.07.13.mre_f7.1928769616" ; 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 Tue Jul 13 18:36:33 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:18:06 UTC 2021 pageSize = 20000 page = 1 @@ -1497,6 +1497,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 ignMathCalculateAtIndex = "At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." + tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini index 26d355d26c..b534d3b54e 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.07.13.prometheus_405.802311646" + signature = "rusEFI 2021.07.13.prometheus_405.2239267122" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.07.13.prometheus_405.802311646" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.07.13.prometheus_405.2239267122" ; 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 Tue Jul 13 18:36:43 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:18:16 UTC 2021 pageSize = 20000 page = 1 @@ -1497,6 +1497,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 ignMathCalculateAtIndex = "At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." + tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini index 42c04b281f..9af91b4b68 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.07.13.prometheus_469.802311646" + signature = "rusEFI 2021.07.13.prometheus_469.2239267122" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.07.13.prometheus_469.802311646" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.07.13.prometheus_469.2239267122" ; 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 Tue Jul 13 18:36:40 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:18:13 UTC 2021 pageSize = 20000 page = 1 @@ -1497,6 +1497,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 ignMathCalculateAtIndex = "At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." + tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini index 7925136935..f4481a5adb 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.07.13.proteus_f4.1425208051" + signature = "rusEFI 2021.07.13.proteus_f4.4267195935" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.07.13.proteus_f4.1425208051" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.07.13.proteus_f4.4267195935" ; 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 Tue Jul 13 18:36:48 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:18:20 UTC 2021 pageSize = 20000 page = 1 @@ -1497,6 +1497,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 ignMathCalculateAtIndex = "At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." + tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini index c36d0e219b..e5a2bf0a70 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.07.13.proteus_f7.1425208051" + signature = "rusEFI 2021.07.13.proteus_f7.4267195935" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.07.13.proteus_f7.1425208051" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.07.13.proteus_f7.4267195935" ; 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 Tue Jul 13 18:36:45 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:18:18 UTC 2021 pageSize = 20000 page = 1 @@ -1497,6 +1497,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 ignMathCalculateAtIndex = "At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." + tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." diff --git a/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini b/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini index 1cde5d2943..cf52ad2f12 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.07.13.subaru_eg33_f7.2417508862" + signature = "rusEFI 2021.07.13.subaru_eg33_f7.984780050" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.07.13.subaru_eg33_f7.2417508862" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.07.13.subaru_eg33_f7.984780050" ; 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 Tue Jul 13 18:36:55 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 Tue Jul 13 19:18:27 UTC 2021 pageSize = 20000 page = 1 @@ -1497,6 +1497,7 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 ignMathCalculateAtIndex = "At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." + tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." 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 cab73e16f6..060c16b045 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 Tue Jul 13 18:36:15 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jul 13 19:17:47 UTC 2021 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; @@ -1268,7 +1268,6 @@ 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 = 1027887080; public static final int silentTriggerError_offset = 1464; public static final int slowAdcAlpha_offset = 2088; public static final int sparkDwellRpmBins_offset = 332; @@ -1586,7 +1585,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.07.13.all.1027887080"; + public static final String TS_SIGNATURE = "rusEFI 2021.07.13.all.2548990724"; 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 48b3799430..2c0a00d584 100644 --- a/java_console/rusefi.xml +++ b/java_console/rusefi.xml @@ -1,6 +1,6 @@ - +