From 850d19aaa99360c032fec89880527a68bd22d52c Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Wed, 16 Jun 2021 21:09:18 +0000 Subject: [PATCH] Auto-generated configs and docs --- ...ngine_configuration_generated_structures.h | 8 ++++---- .../controllers/algo/rusefi_generated.h | 7 ++++--- ...ngine_configuration_generated_structures.h | 8 ++++---- .../controllers/algo/rusefi_generated.h | 7 ++++--- ...ngine_configuration_generated_structures.h | 8 ++++---- .../controllers/algo/rusefi_generated.h | 7 ++++--- ...ngine_configuration_generated_structures.h | 8 ++++---- .../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 | 7 ++++--- .../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 1516764 -> 1516668 bytes firmware/tunerstudio/generated/rusefi.ini | 10 +++++----- .../generated/rusefi_frankenso_na6.ini | 10 +++++----- .../generated/rusefi_hellen121nissan.ini | 10 +++++----- .../generated/rusefi_hellen121vag.ini | 10 +++++----- .../generated/rusefi_hellen128.ini | 10 +++++----- .../tunerstudio/generated/rusefi_hellen72.ini | 10 +++++----- .../generated/rusefi_hellenNA6.ini | 10 +++++----- .../generated/rusefi_hellen_cypress.ini | 10 +++++----- .../tunerstudio/generated/rusefi_kinetis.ini | 10 +++++----- .../tunerstudio/generated/rusefi_mre_f4.ini | 10 +++++----- .../tunerstudio/generated/rusefi_mre_f7.ini | 10 +++++----- .../generated/rusefi_prometheus_405.ini | 10 +++++----- .../generated/rusefi_prometheus_469.ini | 10 +++++----- .../generated/rusefi_proteus_f4.ini | 10 +++++----- .../generated/rusefi_proteus_f7.ini | 10 +++++----- .../generated/rusefi_subaru_eg33_f7.ini | 10 +++++----- .../com/rusefi/config/generated/Fields.java | 6 +++--- java_console/rusefi.xml | 2 +- 47 files changed, 152 insertions(+), 148 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 2919192e05..e83463da35 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 Wed Jun 16 15:29:21 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Wed Jun 16 21:08:33 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -825,13 +825,13 @@ struct engine_configuration_s { float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. - 1 + rpm * offset 104 */ uint16_t etbRevLimitStart; /** * This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed. - 1 + rpm * offset 106 */ uint16_t etbRevLimitRange; @@ -4219,4 +4219,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 Wed Jun 16 15:29:21 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Wed Jun 16 21:08:33 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 d9399260e4..dc61198a77 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 @@ -1288,7 +1288,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD hellen_cypress #define SIGNATURE_DATE 2021.06.16 -#define SIGNATURE_HASH 445893595 +#define SIGNATURE_HASH 3360936260 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1641,10 +1641,11 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.06.16.hellen_cypress.445893595" +#define TS_SIGNATURE "rusEFI 2021.06.16.hellen_cypress.3360936260" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W -#define TS_TEST_COMMAND 't' // 0x74 +#define TS_TEST_COMMAND 't' +#define TS_TEST_COMMAND_char t #define TT_TT_1_16 50 #define TT_TT_2JZ_1_12 29 #define TT_TT_2JZ_3_34 25 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 4f1be6562c..8a10b8a469 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 Wed Jun 16 15:29:19 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Wed Jun 16 21:08:31 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -825,13 +825,13 @@ struct engine_configuration_s { float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. - 1 + rpm * offset 104 */ uint16_t etbRevLimitStart; /** * This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed. - 1 + rpm * offset 106 */ uint16_t etbRevLimitRange; @@ -4213,4 +4213,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 Wed Jun 16 15:29:19 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Wed Jun 16 21:08:31 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 fb1d95b5d4..eb7f634006 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h @@ -1272,7 +1272,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD kin #define SIGNATURE_DATE 2021.06.16 -#define SIGNATURE_HASH 3845523239 +#define SIGNATURE_HASH 938876344 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1625,10 +1625,11 @@ #define ts_show_spi true #define ts_show_trigger_comparator true #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.06.16.kin.3845523239" +#define TS_SIGNATURE "rusEFI 2021.06.16.kin.938876344" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W -#define TS_TEST_COMMAND 't' // 0x74 +#define TS_TEST_COMMAND 't' +#define TS_TEST_COMMAND_char t #define TT_TT_1_16 50 #define TT_TT_2JZ_1_12 29 #define TT_TT_2JZ_3_34 25 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 1d98f0a929..059a8257aa 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 Wed Jun 16 15:29:22 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 Wed Jun 16 21:08:34 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -825,13 +825,13 @@ struct engine_configuration_s { float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. - 1 + rpm * offset 104 */ uint16_t etbRevLimitStart; /** * This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed. - 1 + rpm * offset 106 */ uint16_t etbRevLimitRange; @@ -4219,4 +4219,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 Wed Jun 16 15:29:22 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 Wed Jun 16 21:08:34 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 147fcb6e61..c341caf3f7 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 @@ -1288,7 +1288,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD subaru_eg33_f7 #define SIGNATURE_DATE 2021.06.16 -#define SIGNATURE_HASH 4122156573 +#define SIGNATURE_HASH 661849218 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1641,10 +1641,11 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port false -#define TS_SIGNATURE "rusEFI 2021.06.16.subaru_eg33_f7.4122156573" +#define TS_SIGNATURE "rusEFI 2021.06.16.subaru_eg33_f7.661849218" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W -#define TS_TEST_COMMAND 't' // 0x74 +#define TS_TEST_COMMAND 't' +#define TS_TEST_COMMAND_char t #define TT_TT_1_16 50 #define TT_TT_2JZ_1_12 29 #define TT_TT_2JZ_3_34 25 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures.h b/firmware/controllers/generated/engine_configuration_generated_structures.h index 0ca9c41c94..fe09597c42 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 Wed Jun 16 15:28:56 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:10 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -825,13 +825,13 @@ struct engine_configuration_s { float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. - 1 + rpm * offset 104 */ uint16_t etbRevLimitStart; /** * This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed. - 1 + rpm * offset 106 */ uint16_t etbRevLimitRange; @@ -4219,4 +4219,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 Wed Jun 16 15:28:56 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:10 UTC 2021 diff --git a/firmware/controllers/generated/fsio_enums_generated.def b/firmware/controllers/generated/fsio_enums_generated.def index 637406f117..dc187fca94 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 Wed Jun 16 15:28:56 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:10 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 deb1abac73..b8e2af8faf 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 Wed Jun 16 15:28:56 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:10 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 18c948cbc5..b2fe9f3223 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 Wed Jun 16 15:28:56 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:10 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 5579084615..81e0bc8820 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 Wed Jun 16 15:28:56 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:10 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 e35a5f27d8..df5d84486f 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -1285,7 +1285,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD all #define SIGNATURE_DATE 2021.06.16 -#define SIGNATURE_HASH 1492062219 +#define SIGNATURE_HASH 2318338708 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1638,10 +1638,11 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.06.16.all.1492062219" +#define TS_SIGNATURE "rusEFI 2021.06.16.all.2318338708" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W -#define TS_TEST_COMMAND 't' // 0x74 +#define TS_TEST_COMMAND 't' +#define TS_TEST_COMMAND_char t #define TT_TT_1_16 50 #define TT_TT_2JZ_1_12 29 #define TT_TT_2JZ_3_34 25 diff --git a/firmware/controllers/generated/signature_all.h b/firmware/controllers/generated/signature_all.h index 49a03b5922..0cdca396c3 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.16 -#define SIGNATURE_HASH 1492062219 -#define TS_SIGNATURE "rusEFI 2021.06.16.all.1492062219" +#define SIGNATURE_HASH 2318338708 +#define TS_SIGNATURE "rusEFI 2021.06.16.all.2318338708" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index 154eabc3ac..99ecd00c02 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.16 -#define SIGNATURE_HASH 1621204530 -#define TS_SIGNATURE "rusEFI 2021.06.16.frankenso_na6.1621204530" +#define SIGNATURE_HASH 2992735405 +#define TS_SIGNATURE "rusEFI 2021.06.16.frankenso_na6.2992735405" diff --git a/firmware/controllers/generated/signature_hellen121nissan.h b/firmware/controllers/generated/signature_hellen121nissan.h index 751c50135c..3c88e08abe 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.16 -#define SIGNATURE_HASH 2425067576 -#define TS_SIGNATURE "rusEFI 2021.06.16.hellen121nissan.2425067576" +#define SIGNATURE_HASH 1112244903 +#define TS_SIGNATURE "rusEFI 2021.06.16.hellen121nissan.1112244903" diff --git a/firmware/controllers/generated/signature_hellen121vag.h b/firmware/controllers/generated/signature_hellen121vag.h index 353490bd54..7f8077cb49 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.16 -#define SIGNATURE_HASH 1119900909 -#define TS_SIGNATURE "rusEFI 2021.06.16.hellen121vag.1119900909" +#define SIGNATURE_HASH 2415939186 +#define TS_SIGNATURE "rusEFI 2021.06.16.hellen121vag.2415939186" diff --git a/firmware/controllers/generated/signature_hellen128.h b/firmware/controllers/generated/signature_hellen128.h index a1f80fb4e0..f35d1b7fe3 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.16 -#define SIGNATURE_HASH 2937128175 -#define TS_SIGNATURE "rusEFI 2021.06.16.hellen128.2937128175" +#define SIGNATURE_HASH 2110856816 +#define TS_SIGNATURE "rusEFI 2021.06.16.hellen128.2110856816" diff --git a/firmware/controllers/generated/signature_hellen72.h b/firmware/controllers/generated/signature_hellen72.h index aba9647929..cf0ba13bec 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.16 -#define SIGNATURE_HASH 4128894848 -#define TS_SIGNATURE "rusEFI 2021.06.16.hellen72.4128894848" +#define SIGNATURE_HASH 618263839 +#define TS_SIGNATURE "rusEFI 2021.06.16.hellen72.618263839" diff --git a/firmware/controllers/generated/signature_hellenNA6.h b/firmware/controllers/generated/signature_hellenNA6.h index 94eb9fa4cf..77904ef1c1 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.16 -#define SIGNATURE_HASH 3728907057 -#define TS_SIGNATURE "rusEFI 2021.06.16.hellenNA6.3728907057" +#define SIGNATURE_HASH 209879470 +#define TS_SIGNATURE "rusEFI 2021.06.16.hellenNA6.209879470" diff --git a/firmware/controllers/generated/signature_hellen_cypress.h b/firmware/controllers/generated/signature_hellen_cypress.h index 0114fc45b4..e60ccb8191 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.16 -#define SIGNATURE_HASH 445893595 -#define TS_SIGNATURE "rusEFI 2021.06.16.hellen_cypress.445893595" +#define SIGNATURE_HASH 3360936260 +#define TS_SIGNATURE "rusEFI 2021.06.16.hellen_cypress.3360936260" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index f4cc8d5cf5..b46ca9505d 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.16 -#define SIGNATURE_HASH 3845523239 -#define TS_SIGNATURE "rusEFI 2021.06.16.kin.3845523239" +#define SIGNATURE_HASH 938876344 +#define TS_SIGNATURE "rusEFI 2021.06.16.kin.938876344" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index 60847fc187..7401714065 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.16 -#define SIGNATURE_HASH 3661465873 -#define TS_SIGNATURE "rusEFI 2021.06.16.mre_f4.3661465873" +#define SIGNATURE_HASH 150836110 +#define TS_SIGNATURE "rusEFI 2021.06.16.mre_f4.150836110" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index 3a0641ae30..0435bad878 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.16 -#define SIGNATURE_HASH 3661465873 -#define TS_SIGNATURE "rusEFI 2021.06.16.mre_f7.3661465873" +#define SIGNATURE_HASH 150836110 +#define TS_SIGNATURE "rusEFI 2021.06.16.mre_f7.150836110" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index 9bccf6dfd6..68511d910e 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.16 -#define SIGNATURE_HASH 1249448509 -#define TS_SIGNATURE "rusEFI 2021.06.16.prometheus_405.1249448509" +#define SIGNATURE_HASH 2562263202 +#define TS_SIGNATURE "rusEFI 2021.06.16.prometheus_405.2562263202" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index 472541208c..b50765a5da 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.16 -#define SIGNATURE_HASH 1249448509 -#define TS_SIGNATURE "rusEFI 2021.06.16.prometheus_469.1249448509" +#define SIGNATURE_HASH 2562263202 +#define TS_SIGNATURE "rusEFI 2021.06.16.prometheus_469.2562263202" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index 03f3f9831e..e3d63f6858 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.16 -#define SIGNATURE_HASH 827960592 -#define TS_SIGNATURE "rusEFI 2021.06.16.proteus_f4.827960592" +#define SIGNATURE_HASH 3818502031 +#define TS_SIGNATURE "rusEFI 2021.06.16.proteus_f4.3818502031" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 16a212ee4b..e1e0379bf0 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.16 -#define SIGNATURE_HASH 827960592 -#define TS_SIGNATURE "rusEFI 2021.06.16.proteus_f7.827960592" +#define SIGNATURE_HASH 3818502031 +#define TS_SIGNATURE "rusEFI 2021.06.16.proteus_f7.3818502031" diff --git a/firmware/controllers/generated/signature_subaru_eg33_f7.h b/firmware/controllers/generated/signature_subaru_eg33_f7.h index b72ab5f9af..e5e1636424 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.16 -#define SIGNATURE_HASH 4122156573 -#define TS_SIGNATURE "rusEFI 2021.06.16.subaru_eg33_f7.4122156573" +#define SIGNATURE_HASH 661849218 +#define TS_SIGNATURE "rusEFI 2021.06.16.subaru_eg33_f7.661849218" diff --git a/firmware/tunerstudio/generated/cache.zip b/firmware/tunerstudio/generated/cache.zip index 1975d8d1765fa92ac56d010eb106903d94b6c048..998861b5a9c2cef7e622e25e388dd0db7abfe4d3 100644 GIT binary patch delta 469438 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

WG8ySi*Pf*9-DodNzGB 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 CAF`wX diff --git a/firmware/tunerstudio/generated/rusefi.ini b/firmware/tunerstudio/generated/rusefi.ini index 6e5cef0476..02fa260752 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.16.all.1492062219" + signature = "rusEFI 2021.06.16.all.2318338708" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.16.all.1492062219" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.16.all.2318338708" ; 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 Wed Jun 16 15:28:56 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:10 UTC 2021 pageSize = 20000 page = 1 @@ -127,8 +127,8 @@ cranking_rpm = scalar, S16, 92, "RPM", 1.0, 0, 0, 3000, 0 cranking_alignmentFill_at_6 = array, U08, 94, [2], "units", 1.0, 0, -20, 100, 0 primingSquirtDurationMs = scalar, F32, 96, "*C", 1.0, 0, -40, 200, 1 ignitionDwellForCrankingMs = scalar, F32, 100, "ms", 1.0, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 104, 1, 0.0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 106, 1, 0.0, 0, 2000, 0 +etbRevLimitStart = scalar, U16, 104, "rpm", 1.0, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 106, "rpm", 1.0, 0, 0, 2000, 0 map_samplingAngleBins = array, F32, 108, [8], "", 1.0, 0, 0.0, 18000, 2 map_samplingAngle = array, F32, 140, [8], "deg", 1.0, 0, -720, 720, 2 map_samplingWindowBins = array, F32, 172, [8], "", 1.0, 0, 0.0, 18000, 2 diff --git a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini index b133591ba1..84afe9d301 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.16.frankenso_na6.1621204530" + signature = "rusEFI 2021.06.16.frankenso_na6.2992735405" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.16.frankenso_na6.1621204530" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.16.frankenso_na6.2992735405" ; 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 Wed Jun 16 15:29:11 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:24 UTC 2021 pageSize = 20000 page = 1 @@ -127,8 +127,8 @@ cranking_rpm = scalar, S16, 92, "RPM", 1.0, 0, 0, 3000, 0 cranking_alignmentFill_at_6 = array, U08, 94, [2], "units", 1.0, 0, -20, 100, 0 primingSquirtDurationMs = scalar, F32, 96, "*C", 1.0, 0, -40, 200, 1 ignitionDwellForCrankingMs = scalar, F32, 100, "ms", 1.0, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 104, 1, 0.0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 106, 1, 0.0, 0, 2000, 0 +etbRevLimitStart = scalar, U16, 104, "rpm", 1.0, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 106, "rpm", 1.0, 0, 0, 2000, 0 map_samplingAngleBins = array, F32, 108, [8], "", 1.0, 0, 0.0, 18000, 2 map_samplingAngle = array, F32, 140, [8], "deg", 1.0, 0, -720, 720, 2 map_samplingWindowBins = array, F32, 172, [8], "", 1.0, 0, 0.0, 18000, 2 diff --git a/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini b/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini index dd0f66ee7f..4809908402 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.16.hellen121nissan.2425067576" + signature = "rusEFI 2021.06.16.hellen121nissan.1112244903" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.16.hellen121nissan.2425067576" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.16.hellen121nissan.1112244903" ; 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 Wed Jun 16 15:29:01 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:17 UTC 2021 pageSize = 20000 page = 1 @@ -127,8 +127,8 @@ cranking_rpm = scalar, S16, 92, "RPM", 1.0, 0, 0, 3000, 0 cranking_alignmentFill_at_6 = array, U08, 94, [2], "units", 1.0, 0, -20, 100, 0 primingSquirtDurationMs = scalar, F32, 96, "*C", 1.0, 0, -40, 200, 1 ignitionDwellForCrankingMs = scalar, F32, 100, "ms", 1.0, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 104, 1, 0.0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 106, 1, 0.0, 0, 2000, 0 +etbRevLimitStart = scalar, U16, 104, "rpm", 1.0, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 106, "rpm", 1.0, 0, 0, 2000, 0 map_samplingAngleBins = array, F32, 108, [8], "", 1.0, 0, 0.0, 18000, 2 map_samplingAngle = array, F32, 140, [8], "deg", 1.0, 0, -720, 720, 2 map_samplingWindowBins = array, F32, 172, [8], "", 1.0, 0, 0.0, 18000, 2 diff --git a/firmware/tunerstudio/generated/rusefi_hellen121vag.ini b/firmware/tunerstudio/generated/rusefi_hellen121vag.ini index 663266c4b9..120865c98e 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.16.hellen121vag.1119900909" + signature = "rusEFI 2021.06.16.hellen121vag.2415939186" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.16.hellen121vag.1119900909" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.16.hellen121vag.2415939186" ; 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 Wed Jun 16 15:28:59 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:15 UTC 2021 pageSize = 20000 page = 1 @@ -127,8 +127,8 @@ cranking_rpm = scalar, S16, 92, "RPM", 1.0, 0, 0, 3000, 0 cranking_alignmentFill_at_6 = array, U08, 94, [2], "units", 1.0, 0, -20, 100, 0 primingSquirtDurationMs = scalar, F32, 96, "*C", 1.0, 0, -40, 200, 1 ignitionDwellForCrankingMs = scalar, F32, 100, "ms", 1.0, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 104, 1, 0.0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 106, 1, 0.0, 0, 2000, 0 +etbRevLimitStart = scalar, U16, 104, "rpm", 1.0, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 106, "rpm", 1.0, 0, 0, 2000, 0 map_samplingAngleBins = array, F32, 108, [8], "", 1.0, 0, 0.0, 18000, 2 map_samplingAngle = array, F32, 140, [8], "deg", 1.0, 0, -720, 720, 2 map_samplingWindowBins = array, F32, 172, [8], "", 1.0, 0, 0.0, 18000, 2 diff --git a/firmware/tunerstudio/generated/rusefi_hellen128.ini b/firmware/tunerstudio/generated/rusefi_hellen128.ini index 5dc17d77c4..519811e6ba 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.16.hellen128.2937128175" + signature = "rusEFI 2021.06.16.hellen128.2110856816" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.16.hellen128.2937128175" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.16.hellen128.2110856816" ; 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 Wed Jun 16 15:28:58 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:14 UTC 2021 pageSize = 20000 page = 1 @@ -127,8 +127,8 @@ cranking_rpm = scalar, S16, 92, "RPM", 1.0, 0, 0, 3000, 0 cranking_alignmentFill_at_6 = array, U08, 94, [2], "units", 1.0, 0, -20, 100, 0 primingSquirtDurationMs = scalar, F32, 96, "*C", 1.0, 0, -40, 200, 1 ignitionDwellForCrankingMs = scalar, F32, 100, "ms", 1.0, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 104, 1, 0.0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 106, 1, 0.0, 0, 2000, 0 +etbRevLimitStart = scalar, U16, 104, "rpm", 1.0, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 106, "rpm", 1.0, 0, 0, 2000, 0 map_samplingAngleBins = array, F32, 108, [8], "", 1.0, 0, 0.0, 18000, 2 map_samplingAngle = array, F32, 140, [8], "deg", 1.0, 0, -720, 720, 2 map_samplingWindowBins = array, F32, 172, [8], "", 1.0, 0, 0.0, 18000, 2 diff --git a/firmware/tunerstudio/generated/rusefi_hellen72.ini b/firmware/tunerstudio/generated/rusefi_hellen72.ini index b700f3401c..34c15e902c 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.16.hellen72.4128894848" + signature = "rusEFI 2021.06.16.hellen72.618263839" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.16.hellen72.4128894848" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.16.hellen72.618263839" ; 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 Wed Jun 16 15:29:03 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:18 UTC 2021 pageSize = 20000 page = 1 @@ -127,8 +127,8 @@ cranking_rpm = scalar, S16, 92, "RPM", 1.0, 0, 0, 3000, 0 cranking_alignmentFill_at_6 = array, U08, 94, [2], "units", 1.0, 0, -20, 100, 0 primingSquirtDurationMs = scalar, F32, 96, "*C", 1.0, 0, -40, 200, 1 ignitionDwellForCrankingMs = scalar, F32, 100, "ms", 1.0, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 104, 1, 0.0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 106, 1, 0.0, 0, 2000, 0 +etbRevLimitStart = scalar, U16, 104, "rpm", 1.0, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 106, "rpm", 1.0, 0, 0, 2000, 0 map_samplingAngleBins = array, F32, 108, [8], "", 1.0, 0, 0.0, 18000, 2 map_samplingAngle = array, F32, 140, [8], "deg", 1.0, 0, -720, 720, 2 map_samplingWindowBins = array, F32, 172, [8], "", 1.0, 0, 0.0, 18000, 2 diff --git a/firmware/tunerstudio/generated/rusefi_hellenNA6.ini b/firmware/tunerstudio/generated/rusefi_hellenNA6.ini index 25641a1eb0..f911fed8de 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.16.hellenNA6.3728907057" + signature = "rusEFI 2021.06.16.hellenNA6.209879470" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.16.hellenNA6.3728907057" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.16.hellenNA6.209879470" ; 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 Wed Jun 16 15:29:06 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:20 UTC 2021 pageSize = 20000 page = 1 @@ -127,8 +127,8 @@ cranking_rpm = scalar, S16, 92, "RPM", 1.0, 0, 0, 3000, 0 cranking_alignmentFill_at_6 = array, U08, 94, [2], "units", 1.0, 0, -20, 100, 0 primingSquirtDurationMs = scalar, F32, 96, "*C", 1.0, 0, -40, 200, 1 ignitionDwellForCrankingMs = scalar, F32, 100, "ms", 1.0, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 104, 1, 0.0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 106, 1, 0.0, 0, 2000, 0 +etbRevLimitStart = scalar, U16, 104, "rpm", 1.0, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 106, "rpm", 1.0, 0, 0, 2000, 0 map_samplingAngleBins = array, F32, 108, [8], "", 1.0, 0, 0.0, 18000, 2 map_samplingAngle = array, F32, 140, [8], "deg", 1.0, 0, -720, 720, 2 map_samplingWindowBins = array, F32, 172, [8], "", 1.0, 0, 0.0, 18000, 2 diff --git a/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini b/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini index 213586672f..ff469c225a 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.16.hellen_cypress.445893595" + signature = "rusEFI 2021.06.16.hellen_cypress.3360936260" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.16.hellen_cypress.445893595" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.16.hellen_cypress.3360936260" ; 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 Wed Jun 16 15:29:21 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Wed Jun 16 21:08:33 UTC 2021 pageSize = 20000 page = 1 @@ -127,8 +127,8 @@ cranking_rpm = scalar, S16, 92, "RPM", 1.0, 0, 0, 3000, 0 cranking_alignmentFill_at_6 = array, U08, 94, [2], "units", 1.0, 0, -20, 100, 0 primingSquirtDurationMs = scalar, F32, 96, "*C", 1.0, 0, -40, 200, 1 ignitionDwellForCrankingMs = scalar, F32, 100, "ms", 1.0, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 104, 1, 0.0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 106, 1, 0.0, 0, 2000, 0 +etbRevLimitStart = scalar, U16, 104, "rpm", 1.0, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 106, "rpm", 1.0, 0, 0, 2000, 0 map_samplingAngleBins = array, F32, 108, [8], "", 1.0, 0, 0.0, 18000, 2 map_samplingAngle = array, F32, 140, [8], "deg", 1.0, 0, -720, 720, 2 map_samplingWindowBins = array, F32, 172, [8], "", 1.0, 0, 0.0, 18000, 2 diff --git a/firmware/tunerstudio/generated/rusefi_kinetis.ini b/firmware/tunerstudio/generated/rusefi_kinetis.ini index 47c4cadd9a..508847a7d8 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.16.kin.3845523239" + signature = "rusEFI 2021.06.16.kin.938876344" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.16.kin.3845523239" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.16.kin.938876344" ; 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 Wed Jun 16 15:29:19 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Wed Jun 16 21:08:31 UTC 2021 pageSize = 19972 page = 1 @@ -127,8 +127,8 @@ cranking_rpm = scalar, S16, 92, "RPM", 1.0, 0, 0, 3000, 0 cranking_alignmentFill_at_6 = array, U08, 94, [2], "units", 1.0, 0, -20, 100, 0 primingSquirtDurationMs = scalar, F32, 96, "*C", 1.0, 0, -40, 200, 1 ignitionDwellForCrankingMs = scalar, F32, 100, "ms", 1.0, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 104, 1, 0.0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 106, 1, 0.0, 0, 2000, 0 +etbRevLimitStart = scalar, U16, 104, "rpm", 1.0, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 106, "rpm", 1.0, 0, 0, 2000, 0 map_samplingAngleBins = array, F32, 108, [8], "", 1.0, 0, 0.0, 18000, 2 map_samplingAngle = array, F32, 140, [8], "deg", 1.0, 0, -720, 720, 2 map_samplingWindowBins = array, F32, 172, [8], "", 1.0, 0, 0.0, 18000, 2 diff --git a/firmware/tunerstudio/generated/rusefi_mre_f4.ini b/firmware/tunerstudio/generated/rusefi_mre_f4.ini index d3fb0275ff..39067f8d67 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.16.mre_f4.3661465873" + signature = "rusEFI 2021.06.16.mre_f4.150836110" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.16.mre_f4.3661465873" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.16.mre_f4.150836110" ; 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 Wed Jun 16 15:29:09 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:22 UTC 2021 pageSize = 20000 page = 1 @@ -127,8 +127,8 @@ cranking_rpm = scalar, S16, 92, "RPM", 1.0, 0, 0, 3000, 0 cranking_alignmentFill_at_6 = array, U08, 94, [2], "units", 1.0, 0, -20, 100, 0 primingSquirtDurationMs = scalar, F32, 96, "*C", 1.0, 0, -40, 200, 1 ignitionDwellForCrankingMs = scalar, F32, 100, "ms", 1.0, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 104, 1, 0.0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 106, 1, 0.0, 0, 2000, 0 +etbRevLimitStart = scalar, U16, 104, "rpm", 1.0, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 106, "rpm", 1.0, 0, 0, 2000, 0 map_samplingAngleBins = array, F32, 108, [8], "", 1.0, 0, 0.0, 18000, 2 map_samplingAngle = array, F32, 140, [8], "deg", 1.0, 0, -720, 720, 2 map_samplingWindowBins = array, F32, 172, [8], "", 1.0, 0, 0.0, 18000, 2 diff --git a/firmware/tunerstudio/generated/rusefi_mre_f7.ini b/firmware/tunerstudio/generated/rusefi_mre_f7.ini index 95a099cfe1..d88ce45834 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.16.mre_f7.3661465873" + signature = "rusEFI 2021.06.16.mre_f7.150836110" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.16.mre_f7.3661465873" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.16.mre_f7.150836110" ; 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 Wed Jun 16 15:29:08 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:21 UTC 2021 pageSize = 20000 page = 1 @@ -127,8 +127,8 @@ cranking_rpm = scalar, S16, 92, "RPM", 1.0, 0, 0, 3000, 0 cranking_alignmentFill_at_6 = array, U08, 94, [2], "units", 1.0, 0, -20, 100, 0 primingSquirtDurationMs = scalar, F32, 96, "*C", 1.0, 0, -40, 200, 1 ignitionDwellForCrankingMs = scalar, F32, 100, "ms", 1.0, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 104, 1, 0.0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 106, 1, 0.0, 0, 2000, 0 +etbRevLimitStart = scalar, U16, 104, "rpm", 1.0, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 106, "rpm", 1.0, 0, 0, 2000, 0 map_samplingAngleBins = array, F32, 108, [8], "", 1.0, 0, 0.0, 18000, 2 map_samplingAngle = array, F32, 140, [8], "deg", 1.0, 0, -720, 720, 2 map_samplingWindowBins = array, F32, 172, [8], "", 1.0, 0, 0.0, 18000, 2 diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini index e46c356280..0d3f5190ca 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.16.prometheus_405.1249448509" + signature = "rusEFI 2021.06.16.prometheus_405.2562263202" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.16.prometheus_405.1249448509" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.16.prometheus_405.2562263202" ; 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 Wed Jun 16 15:29:14 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:26 UTC 2021 pageSize = 20000 page = 1 @@ -127,8 +127,8 @@ cranking_rpm = scalar, S16, 92, "RPM", 1.0, 0, 0, 3000, 0 cranking_alignmentFill_at_6 = array, U08, 94, [2], "units", 1.0, 0, -20, 100, 0 primingSquirtDurationMs = scalar, F32, 96, "*C", 1.0, 0, -40, 200, 1 ignitionDwellForCrankingMs = scalar, F32, 100, "ms", 1.0, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 104, 1, 0.0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 106, 1, 0.0, 0, 2000, 0 +etbRevLimitStart = scalar, U16, 104, "rpm", 1.0, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 106, "rpm", 1.0, 0, 0, 2000, 0 map_samplingAngleBins = array, F32, 108, [8], "", 1.0, 0, 0.0, 18000, 2 map_samplingAngle = array, F32, 140, [8], "deg", 1.0, 0, -720, 720, 2 map_samplingWindowBins = array, F32, 172, [8], "", 1.0, 0, 0.0, 18000, 2 diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini index 6480ae0d2c..92a967e9e4 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.16.prometheus_469.1249448509" + signature = "rusEFI 2021.06.16.prometheus_469.2562263202" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.16.prometheus_469.1249448509" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.16.prometheus_469.2562263202" ; 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 Wed Jun 16 15:29:13 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:25 UTC 2021 pageSize = 20000 page = 1 @@ -127,8 +127,8 @@ cranking_rpm = scalar, S16, 92, "RPM", 1.0, 0, 0, 3000, 0 cranking_alignmentFill_at_6 = array, U08, 94, [2], "units", 1.0, 0, -20, 100, 0 primingSquirtDurationMs = scalar, F32, 96, "*C", 1.0, 0, -40, 200, 1 ignitionDwellForCrankingMs = scalar, F32, 100, "ms", 1.0, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 104, 1, 0.0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 106, 1, 0.0, 0, 2000, 0 +etbRevLimitStart = scalar, U16, 104, "rpm", 1.0, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 106, "rpm", 1.0, 0, 0, 2000, 0 map_samplingAngleBins = array, F32, 108, [8], "", 1.0, 0, 0.0, 18000, 2 map_samplingAngle = array, F32, 140, [8], "deg", 1.0, 0, -720, 720, 2 map_samplingWindowBins = array, F32, 172, [8], "", 1.0, 0, 0.0, 18000, 2 diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini index 6bb83e0329..b780d48a0a 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.16.proteus_f4.827960592" + signature = "rusEFI 2021.06.16.proteus_f4.3818502031" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.16.proteus_f4.827960592" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.16.proteus_f4.3818502031" ; 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 Wed Jun 16 15:29:17 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:29 UTC 2021 pageSize = 20000 page = 1 @@ -127,8 +127,8 @@ cranking_rpm = scalar, S16, 92, "RPM", 1.0, 0, 0, 3000, 0 cranking_alignmentFill_at_6 = array, U08, 94, [2], "units", 1.0, 0, -20, 100, 0 primingSquirtDurationMs = scalar, F32, 96, "*C", 1.0, 0, -40, 200, 1 ignitionDwellForCrankingMs = scalar, F32, 100, "ms", 1.0, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 104, 1, 0.0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 106, 1, 0.0, 0, 2000, 0 +etbRevLimitStart = scalar, U16, 104, "rpm", 1.0, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 106, "rpm", 1.0, 0, 0, 2000, 0 map_samplingAngleBins = array, F32, 108, [8], "", 1.0, 0, 0.0, 18000, 2 map_samplingAngle = array, F32, 140, [8], "deg", 1.0, 0, -720, 720, 2 map_samplingWindowBins = array, F32, 172, [8], "", 1.0, 0, 0.0, 18000, 2 diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini index 6a423755d7..1ed233deac 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.16.proteus_f7.827960592" + signature = "rusEFI 2021.06.16.proteus_f7.3818502031" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.16.proteus_f7.827960592" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.16.proteus_f7.3818502031" ; 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 Wed Jun 16 15:29:16 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:28 UTC 2021 pageSize = 20000 page = 1 @@ -127,8 +127,8 @@ cranking_rpm = scalar, S16, 92, "RPM", 1.0, 0, 0, 3000, 0 cranking_alignmentFill_at_6 = array, U08, 94, [2], "units", 1.0, 0, -20, 100, 0 primingSquirtDurationMs = scalar, F32, 96, "*C", 1.0, 0, -40, 200, 1 ignitionDwellForCrankingMs = scalar, F32, 100, "ms", 1.0, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 104, 1, 0.0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 106, 1, 0.0, 0, 2000, 0 +etbRevLimitStart = scalar, U16, 104, "rpm", 1.0, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 106, "rpm", 1.0, 0, 0, 2000, 0 map_samplingAngleBins = array, F32, 108, [8], "", 1.0, 0, 0.0, 18000, 2 map_samplingAngle = array, F32, 140, [8], "deg", 1.0, 0, -720, 720, 2 map_samplingWindowBins = array, F32, 172, [8], "", 1.0, 0, 0.0, 18000, 2 diff --git a/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini b/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini index f448adfdf0..44ff23b0ce 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.16.subaru_eg33_f7.4122156573" + signature = "rusEFI 2021.06.16.subaru_eg33_f7.661849218" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.06.16.subaru_eg33_f7.4122156573" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.06.16.subaru_eg33_f7.661849218" ; 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 Wed Jun 16 15:29:22 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 Wed Jun 16 21:08:34 UTC 2021 pageSize = 20000 page = 1 @@ -127,8 +127,8 @@ cranking_rpm = scalar, S16, 92, "RPM", 1.0, 0, 0, 3000, 0 cranking_alignmentFill_at_6 = array, U08, 94, [2], "units", 1.0, 0, -20, 100, 0 primingSquirtDurationMs = scalar, F32, 96, "*C", 1.0, 0, -40, 200, 1 ignitionDwellForCrankingMs = scalar, F32, 100, "ms", 1.0, 0, 0, 200, 1 -etbRevLimitStart = scalar, U16, 104, 1, 0.0, 0, 15000, 0 -etbRevLimitRange = scalar, U16, 106, 1, 0.0, 0, 2000, 0 +etbRevLimitStart = scalar, U16, 104, "rpm", 1.0, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 106, "rpm", 1.0, 0, 0, 2000, 0 map_samplingAngleBins = array, F32, 108, [8], "", 1.0, 0, 0.0, 18000, 2 map_samplingAngle = array, F32, 140, [8], "deg", 1.0, 0, -720, 720, 2 map_samplingWindowBins = array, F32, 172, [8], "", 1.0, 0, 0.0, 18000, 2 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 bbdee87373..383523e8f9 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 Wed Jun 16 15:28:56 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Jun 16 21:08:10 UTC 2021 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; @@ -1239,7 +1239,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 = 1492062219; public static final int silentTriggerError_offset = 1464; public static final int slowAdcAlpha_offset = 2088; public static final int sparkDwellRpmBins_offset = 332; @@ -1541,8 +1540,9 @@ 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.16.all.1492062219"; + public static final String TS_SIGNATURE = "rusEFI 2021.06.16.all.2318338708"; 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; public static final int TT_TT_2JZ_1_12 = 29; public static final int TT_TT_2JZ_3_34 = 25; diff --git a/java_console/rusefi.xml b/java_console/rusefi.xml index b7a862c7ee..ff5b2344b3 100644 --- a/java_console/rusefi.xml +++ b/java_console/rusefi.xml @@ -1,6 +1,6 @@ - +