From 145879bc7f3b8827175078a58ce81516877ee751 Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Sat, 18 Sep 2021 04:22:21 +0000 Subject: [PATCH] Auto-generated configs and docs --- ...ngine_configuration_generated_structures.h | 4 ++-- .../controllers/algo/rusefi_generated.h | 4 ++-- ...ngine_configuration_generated_structures.h | 4 ++-- .../controllers/algo/rusefi_generated.h | 4 ++-- ...ngine_configuration_generated_structures.h | 4 ++-- .../controllers/algo/rusefi_generated.h | 4 ++-- ...ngine_configuration_generated_structures.h | 4 ++-- .../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 ++-- .../controllers/generated/signature_atlas.h | 4 ++-- .../generated/signature_f429-discovery.h | 4 ++-- .../generated/signature_frankenso_na6.h | 4 ++-- .../generated/signature_hellen-nb1.h | 4 ++-- .../generated/signature_hellen121nissan.h | 4 ++-- .../generated/signature_hellen121vag.h | 4 ++-- .../generated/signature_hellen128.h | 4 ++-- .../generated/signature_hellen154hyundai.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 1960077 -> 1965957 bytes firmware/tunerstudio/generated/rusefi.ini | 14 +++++++------- .../tunerstudio/generated/rusefi_atlas.ini | 14 +++++++------- .../generated/rusefi_f429-discovery.ini | 14 +++++++------- .../generated/rusefi_frankenso_na6.ini | 14 +++++++------- .../generated/rusefi_hellen-nb1.ini | 14 +++++++------- .../generated/rusefi_hellen121nissan.ini | 14 +++++++------- .../generated/rusefi_hellen121vag.ini | 14 +++++++------- .../generated/rusefi_hellen128mercedes.ini | 14 +++++++------- .../generated/rusefi_hellen154hyundai.ini | 14 +++++++------- .../tunerstudio/generated/rusefi_hellen72.ini | 14 +++++++------- .../generated/rusefi_hellenNA6.ini | 14 +++++++------- .../generated/rusefi_hellen_cypress.ini | 14 +++++++------- .../tunerstudio/generated/rusefi_kinetis.ini | 14 +++++++------- .../tunerstudio/generated/rusefi_mre_f4.ini | 14 +++++++------- .../tunerstudio/generated/rusefi_mre_f7.ini | 14 +++++++------- .../generated/rusefi_prometheus_405.ini | 14 +++++++------- .../generated/rusefi_prometheus_469.ini | 14 +++++++------- .../generated/rusefi_proteus_f4.ini | 14 +++++++------- .../generated/rusefi_proteus_f7.ini | 14 +++++++------- .../generated/rusefi_subaru_eg33_f7.ini | 14 +++++++------- .../com/rusefi/config/generated/Fields.java | 5 +++-- java_console/rusefi.xml | 2 +- 55 files changed, 204 insertions(+), 203 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 0c56e82e8c..8c619024da 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 Sat Sep 18 03:15:12 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Sat Sep 18 04:21:16 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -4343,4 +4343,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 Sat Sep 18 03:15:12 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Sat Sep 18 04:21:16 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 3718f387d9..f323591a97 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 @@ -1274,7 +1274,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD hellen_cypress #define SIGNATURE_DATE 2021.09.18 -#define SIGNATURE_HASH 3315032943 +#define SIGNATURE_HASH 1267881267 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1630,7 +1630,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.09.18.hellen_cypress.3315032943" +#define TS_SIGNATURE "rusEFI 2021.09.18.hellen_cypress.1267881267" #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 f943984415..2e3e1a85d4 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 Sat Sep 18 03:15:10 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sat Sep 18 04:21:14 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -4337,4 +4337,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 Sat Sep 18 03:15:10 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sat Sep 18 04:21:14 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 ea9ff2a909..9c1fe97859 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h @@ -1255,7 +1255,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD kin #define SIGNATURE_DATE 2021.09.18 -#define SIGNATURE_HASH 976400275 +#define SIGNATURE_HASH 3023542735 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1611,7 +1611,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator true #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.09.18.kin.976400275" +#define TS_SIGNATURE "rusEFI 2021.09.18.kin.3023542735" #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 55a3f9b6c4..a75571c3c8 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 Sat Sep 18 03:15:14 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 Sat Sep 18 04:21:19 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -4343,4 +4343,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 Sat Sep 18 03:15:14 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 Sat Sep 18 04:21:19 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 11e96b92cd..5a5d31772f 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 @@ -1275,7 +1275,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD subaru_eg33_f7 #define SIGNATURE_DATE 2021.09.18 -#define SIGNATURE_HASH 308368348 +#define SIGNATURE_HASH 2623825280 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1631,7 +1631,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port false -#define TS_SIGNATURE "rusEFI 2021.09.18.subaru_eg33_f7.308368348" +#define TS_SIGNATURE "rusEFI 2021.09.18.subaru_eg33_f7.2623825280" #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 0fc6e47db4..5160b2a2a1 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 Sat Sep 18 03:15:07 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:21:11 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -4343,4 +4343,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 Sat Sep 18 03:15:07 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:21:11 UTC 2021 diff --git a/firmware/controllers/generated/fsio_enums_generated.def b/firmware/controllers/generated/fsio_enums_generated.def index cb51071c30..b4c2d15bf1 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 Sat Sep 18 03:15:07 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:21:11 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 0c978fdb1f..f1e823c568 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 Sat Sep 18 03:15:07 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:21:11 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 6194bf0549..73088ca6cf 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 Sat Sep 18 03:15:07 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:21:11 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 46b4c1b267..67d7a3e209 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 Sat Sep 18 03:15:07 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:21:11 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 76e05e55ff..c228e4c2b2 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -1274,7 +1274,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD all #define SIGNATURE_DATE 2021.09.18 -#define SIGNATURE_HASH 2280372415 +#define SIGNATURE_HASH 166629091 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1630,7 +1630,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.09.18.all.2280372415" +#define TS_SIGNATURE "rusEFI 2021.09.18.all.166629091" #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 f6370948ca..d1fcfa9649 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.09.18 -#define SIGNATURE_HASH 2280372415 -#define TS_SIGNATURE "rusEFI 2021.09.18.all.2280372415" +#define SIGNATURE_HASH 166629091 +#define TS_SIGNATURE "rusEFI 2021.09.18.all.166629091" diff --git a/firmware/controllers/generated/signature_atlas.h b/firmware/controllers/generated/signature_atlas.h index 2ef6acfed9..c210319bfe 100644 --- a/firmware/controllers/generated/signature_atlas.h +++ b/firmware/controllers/generated/signature_atlas.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD atlas #define SIGNATURE_DATE 2021.09.18 -#define SIGNATURE_HASH 2280372415 -#define TS_SIGNATURE "rusEFI 2021.09.18.atlas.2280372415" +#define SIGNATURE_HASH 166629091 +#define TS_SIGNATURE "rusEFI 2021.09.18.atlas.166629091" diff --git a/firmware/controllers/generated/signature_f429-discovery.h b/firmware/controllers/generated/signature_f429-discovery.h index 8481d45d20..5fa9b90bba 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.09.18 -#define SIGNATURE_HASH 2280372415 -#define TS_SIGNATURE "rusEFI 2021.09.18.f429-discovery.2280372415" +#define SIGNATURE_HASH 166629091 +#define TS_SIGNATURE "rusEFI 2021.09.18.f429-discovery.166629091" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index f198b5a007..2ae3ff632f 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.09.18 -#define SIGNATURE_HASH 4258917718 -#define TS_SIGNATURE "rusEFI 2021.09.18.frankenso_na6.4258917718" +#define SIGNATURE_HASH 1943853834 +#define TS_SIGNATURE "rusEFI 2021.09.18.frankenso_na6.1943853834" diff --git a/firmware/controllers/generated/signature_hellen-nb1.h b/firmware/controllers/generated/signature_hellen-nb1.h index 0165a8f341..b9fb582873 100644 --- a/firmware/controllers/generated/signature_hellen-nb1.h +++ b/firmware/controllers/generated/signature_hellen-nb1.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD hellen-nb1 #define SIGNATURE_DATE 2021.09.18 -#define SIGNATURE_HASH 3106738614 -#define TS_SIGNATURE "rusEFI 2021.09.18.hellen-nb1.3106738614" +#define SIGNATURE_HASH 925378538 +#define TS_SIGNATURE "rusEFI 2021.09.18.hellen-nb1.925378538" diff --git a/firmware/controllers/generated/signature_hellen121nissan.h b/firmware/controllers/generated/signature_hellen121nissan.h index 9646294c51..83f1bd1212 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.09.18 -#define SIGNATURE_HASH 203088125 -#define TS_SIGNATURE "rusEFI 2021.09.18.hellen121nissan.203088125" +#define SIGNATURE_HASH 2183124641 +#define TS_SIGNATURE "rusEFI 2021.09.18.hellen121nissan.2183124641" diff --git a/firmware/controllers/generated/signature_hellen121vag.h b/firmware/controllers/generated/signature_hellen121vag.h index 8841aa704a..e8f90bb656 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.09.18 -#define SIGNATURE_HASH 3557251321 -#define TS_SIGNATURE "rusEFI 2021.09.18.hellen121vag.3557251321" +#define SIGNATURE_HASH 1510108837 +#define TS_SIGNATURE "rusEFI 2021.09.18.hellen121vag.1510108837" diff --git a/firmware/controllers/generated/signature_hellen128.h b/firmware/controllers/generated/signature_hellen128.h index 00a5dadf81..45a304ca6c 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.09.18 -#define SIGNATURE_HASH 156274784 -#define TS_SIGNATURE "rusEFI 2021.09.18.hellen128.156274784" +#define SIGNATURE_HASH 2270537276 +#define TS_SIGNATURE "rusEFI 2021.09.18.hellen128.2270537276" diff --git a/firmware/controllers/generated/signature_hellen154hyundai.h b/firmware/controllers/generated/signature_hellen154hyundai.h index 64ee05f3a5..18e7929906 100644 --- a/firmware/controllers/generated/signature_hellen154hyundai.h +++ b/firmware/controllers/generated/signature_hellen154hyundai.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD hellen154hyundai #define SIGNATURE_DATE 2021.09.18 -#define SIGNATURE_HASH 2857043781 -#define TS_SIGNATURE "rusEFI 2021.09.18.hellen154hyundai.2857043781" +#define SIGNATURE_HASH 609104153 +#define TS_SIGNATURE "rusEFI 2021.09.18.hellen154hyundai.609104153" diff --git a/firmware/controllers/generated/signature_hellen72.h b/firmware/controllers/generated/signature_hellen72.h index acc810aa29..afaf4a3f0d 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.09.18 -#define SIGNATURE_HASH 3783186584 -#define TS_SIGNATURE "rusEFI 2021.09.18.hellen72.3783186584" +#define SIGNATURE_HASH 1870393028 +#define TS_SIGNATURE "rusEFI 2021.09.18.hellen72.1870393028" diff --git a/firmware/controllers/generated/signature_hellenNA6.h b/firmware/controllers/generated/signature_hellenNA6.h index 44303b5b12..a148c10d9a 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.09.18 -#define SIGNATURE_HASH 1164823019 -#define TS_SIGNATURE "rusEFI 2021.09.18.hellenNA6.1164823019" +#define SIGNATURE_HASH 3412656055 +#define TS_SIGNATURE "rusEFI 2021.09.18.hellenNA6.3412656055" diff --git a/firmware/controllers/generated/signature_hellen_cypress.h b/firmware/controllers/generated/signature_hellen_cypress.h index d37751162d..15aa6008ba 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.09.18 -#define SIGNATURE_HASH 3315032943 -#define TS_SIGNATURE "rusEFI 2021.09.18.hellen_cypress.3315032943" +#define SIGNATURE_HASH 1267881267 +#define TS_SIGNATURE "rusEFI 2021.09.18.hellen_cypress.1267881267" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index 3444a6f4a0..ec2c95bf36 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.09.18 -#define SIGNATURE_HASH 976400275 -#define TS_SIGNATURE "rusEFI 2021.09.18.kin.976400275" +#define SIGNATURE_HASH 3023542735 +#define TS_SIGNATURE "rusEFI 2021.09.18.kin.3023542735" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index 978512923e..c5db3c3ab2 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.09.18 -#define SIGNATURE_HASH 417115060 -#define TS_SIGNATURE "rusEFI 2021.09.18.mre_f4.417115060" +#define SIGNATURE_HASH 2530844136 +#define TS_SIGNATURE "rusEFI 2021.09.18.mre_f4.2530844136" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index ffc6fc6cd8..ba4d8bd3e5 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.09.18 -#define SIGNATURE_HASH 417115060 -#define TS_SIGNATURE "rusEFI 2021.09.18.mre_f7.417115060" +#define SIGNATURE_HASH 2530844136 +#define TS_SIGNATURE "rusEFI 2021.09.18.mre_f7.2530844136" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index c653765bde..78fed0ba94 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.09.18 -#define SIGNATURE_HASH 3607191897 -#define TS_SIGNATURE "rusEFI 2021.09.18.prometheus_405.3607191897" +#define SIGNATURE_HASH 1493456645 +#define TS_SIGNATURE "rusEFI 2021.09.18.prometheus_405.1493456645" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index c4e52b9f92..1e00ecc368 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.09.18 -#define SIGNATURE_HASH 3607191897 -#define TS_SIGNATURE "rusEFI 2021.09.18.prometheus_469.3607191897" +#define SIGNATURE_HASH 1493456645 +#define TS_SIGNATURE "rusEFI 2021.09.18.prometheus_469.1493456645" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index 2506ff15de..a1f82dbdde 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.09.18 -#define SIGNATURE_HASH 1630385689 -#define TS_SIGNATURE "rusEFI 2021.09.18.proteus_f4.1630385689" +#define SIGNATURE_HASH 4012408901 +#define TS_SIGNATURE "rusEFI 2021.09.18.proteus_f4.4012408901" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 12141ff4b6..446218a9cc 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.09.18 -#define SIGNATURE_HASH 1630385689 -#define TS_SIGNATURE "rusEFI 2021.09.18.proteus_f7.1630385689" +#define SIGNATURE_HASH 4012408901 +#define TS_SIGNATURE "rusEFI 2021.09.18.proteus_f7.4012408901" diff --git a/firmware/controllers/generated/signature_subaru_eg33_f7.h b/firmware/controllers/generated/signature_subaru_eg33_f7.h index 4de7035756..6650e7d3d2 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.09.18 -#define SIGNATURE_HASH 308368348 -#define TS_SIGNATURE "rusEFI 2021.09.18.subaru_eg33_f7.308368348" +#define SIGNATURE_HASH 2623825280 +#define TS_SIGNATURE "rusEFI 2021.09.18.subaru_eg33_f7.2623825280" diff --git a/firmware/tunerstudio/generated/cache.zip b/firmware/tunerstudio/generated/cache.zip index a5a69b5194bd14cb498c21b62489b9aac64a1a2c..325ae678c05db69edb23db3fccf9b275c5f7f6be 100644 GIT binary patch delta 427763 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 GZ~q5aR%&|y delta 422487 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 W&7VR!(C= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} diff --git a/firmware/tunerstudio/generated/rusefi_atlas.ini b/firmware/tunerstudio/generated/rusefi_atlas.ini index 33785ba3b4..33fe31fe9a 100644 --- a/firmware/tunerstudio/generated/rusefi_atlas.ini +++ b/firmware/tunerstudio/generated/rusefi_atlas.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.09.18.atlas.2280372415" + signature = "rusEFI 2021.09.18.atlas.166629091" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.09.18.atlas.2280372415" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.09.18.atlas.166629091" ; 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 Sat Sep 18 03:15:04 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:21:09 UTC 2021 pageSize = 20000 page = 1 @@ -164,7 +164,7 @@ sparkDwellRpmBins = array, F32, 332, [8], "RPM", 1, 0, 0, 18000, 2 sparkDwellValues = array, F32, 364, [8], "ms", 1, 0, 0, 30, 2 displacement = scalar, F32, 396, "L", 1, 0, 0, 1000, 2 cylindersCount = scalar, U32, 400, "", 1, 0, 1, 12, 0 -firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "fo30", "fo31", "fo32", "fo33", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000, 2 sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0, 30000, 0 rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000, 2 @@ -3298,9 +3298,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} diff --git a/firmware/tunerstudio/generated/rusefi_f429-discovery.ini b/firmware/tunerstudio/generated/rusefi_f429-discovery.ini index 8d90cc793d..dbca49424d 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.09.18.f429-discovery.2280372415" + signature = "rusEFI 2021.09.18.f429-discovery.166629091" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.09.18.f429-discovery.2280372415" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.09.18.f429-discovery.166629091" ; 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 Sat Sep 18 03:14:21 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:20:32 UTC 2021 pageSize = 20000 page = 1 @@ -164,7 +164,7 @@ sparkDwellRpmBins = array, F32, 332, [8], "RPM", 1, 0, 0, 18000, 2 sparkDwellValues = array, F32, 364, [8], "ms", 1, 0, 0, 30, 2 displacement = scalar, F32, 396, "L", 1, 0, 0, 1000, 2 cylindersCount = scalar, U32, 400, "", 1, 0, 1, 12, 0 -firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "fo30", "fo31", "fo32", "fo33", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000, 2 sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0, 30000, 0 rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000, 2 @@ -3298,9 +3298,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} diff --git a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini index c701450cfb..9a44f584e5 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.09.18.frankenso_na6.4258917718" + signature = "rusEFI 2021.09.18.frankenso_na6.1943853834" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.09.18.frankenso_na6.4258917718" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.09.18.frankenso_na6.1943853834" ; 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 Sat Sep 18 03:14:51 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:20:57 UTC 2021 pageSize = 20000 page = 1 @@ -164,7 +164,7 @@ sparkDwellRpmBins = array, F32, 332, [8], "RPM", 1, 0, 0, 18000, 2 sparkDwellValues = array, F32, 364, [8], "ms", 1, 0, 0, 30, 2 displacement = scalar, F32, 396, "L", 1, 0, 0, 1000, 2 cylindersCount = scalar, U32, 400, "", 1, 0, 1, 12, 0 -firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "fo30", "fo31", "fo32", "fo33", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000, 2 sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0, 30000, 0 rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000, 2 @@ -3298,9 +3298,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} diff --git a/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini b/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini index d87c47f5cb..db1dc0e4cc 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.09.18.hellen-nb1.3106738614" + signature = "rusEFI 2021.09.18.hellen-nb1.925378538" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.09.18.hellen-nb1.3106738614" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.09.18.hellen-nb1.925378538" ; 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 Sat Sep 18 03:14:39 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:20:47 UTC 2021 pageSize = 20000 page = 1 @@ -164,7 +164,7 @@ sparkDwellRpmBins = array, F32, 332, [8], "RPM", 1, 0, 0, 18000, 2 sparkDwellValues = array, F32, 364, [8], "ms", 1, 0, 0, 30, 2 displacement = scalar, F32, 396, "L", 1, 0, 0, 1000, 2 cylindersCount = scalar, U32, 400, "", 1, 0, 1, 12, 0 -firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "fo30", "fo31", "fo32", "fo33", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000, 2 sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0, 30000, 0 rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000, 2 @@ -3294,9 +3294,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} diff --git a/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini b/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini index c1e7ac985b..e135f99072 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.09.18.hellen121nissan.203088125" + signature = "rusEFI 2021.09.18.hellen121nissan.2183124641" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.09.18.hellen121nissan.203088125" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.09.18.hellen121nissan.2183124641" ; 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 Sat Sep 18 03:14:31 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:20:39 UTC 2021 pageSize = 20000 page = 1 @@ -164,7 +164,7 @@ sparkDwellRpmBins = array, F32, 332, [8], "RPM", 1, 0, 0, 18000, 2 sparkDwellValues = array, F32, 364, [8], "ms", 1, 0, 0, 30, 2 displacement = scalar, F32, 396, "L", 1, 0, 0, 1000, 2 cylindersCount = scalar, U32, 400, "", 1, 0, 1, 12, 0 -firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "fo30", "fo31", "fo32", "fo33", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000, 2 sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0, 30000, 0 rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000, 2 @@ -3294,9 +3294,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} diff --git a/firmware/tunerstudio/generated/rusefi_hellen121vag.ini b/firmware/tunerstudio/generated/rusefi_hellen121vag.ini index 7fda018950..b0b437ad67 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.09.18.hellen121vag.3557251321" + signature = "rusEFI 2021.09.18.hellen121vag.1510108837" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.09.18.hellen121vag.3557251321" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.09.18.hellen121vag.1510108837" ; 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 Sat Sep 18 03:14:28 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:20:37 UTC 2021 pageSize = 20000 page = 1 @@ -164,7 +164,7 @@ sparkDwellRpmBins = array, F32, 332, [8], "RPM", 1, 0, 0, 18000, 2 sparkDwellValues = array, F32, 364, [8], "ms", 1, 0, 0, 30, 2 displacement = scalar, F32, 396, "L", 1, 0, 0, 1000, 2 cylindersCount = scalar, U32, 400, "", 1, 0, 1, 12, 0 -firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "fo30", "fo31", "fo32", "fo33", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000, 2 sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0, 30000, 0 rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000, 2 @@ -3294,9 +3294,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} diff --git a/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini b/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini index cc7c7460d6..287eadc743 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.09.18.hellen128.156274784" + signature = "rusEFI 2021.09.18.hellen128.2270537276" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.09.18.hellen128.156274784" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.09.18.hellen128.2270537276" ; 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 Sat Sep 18 03:14:25 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:20:34 UTC 2021 pageSize = 20000 page = 1 @@ -164,7 +164,7 @@ sparkDwellRpmBins = array, F32, 332, [8], "RPM", 1, 0, 0, 18000, 2 sparkDwellValues = array, F32, 364, [8], "ms", 1, 0, 0, 30, 2 displacement = scalar, F32, 396, "L", 1, 0, 0, 1000, 2 cylindersCount = scalar, U32, 400, "", 1, 0, 1, 12, 0 -firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "fo30", "fo31", "fo32", "fo33", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000, 2 sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0, 30000, 0 rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000, 2 @@ -3294,9 +3294,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} diff --git a/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini b/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini index 1116463130..f21852c1f4 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.09.18.hellen154hyundai.2857043781" + signature = "rusEFI 2021.09.18.hellen154hyundai.609104153" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.09.18.hellen154hyundai.2857043781" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.09.18.hellen154hyundai.609104153" ; 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 Sat Sep 18 03:14:34 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:20:42 UTC 2021 pageSize = 20000 page = 1 @@ -164,7 +164,7 @@ sparkDwellRpmBins = array, F32, 332, [8], "RPM", 1, 0, 0, 18000, 2 sparkDwellValues = array, F32, 364, [8], "ms", 1, 0, 0, 30, 2 displacement = scalar, F32, 396, "L", 1, 0, 0, 1000, 2 cylindersCount = scalar, U32, 400, "", 1, 0, 1, 12, 0 -firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "fo30", "fo31", "fo32", "fo33", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000, 2 sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0, 30000, 0 rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000, 2 @@ -3294,9 +3294,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} diff --git a/firmware/tunerstudio/generated/rusefi_hellen72.ini b/firmware/tunerstudio/generated/rusefi_hellen72.ini index f535d02d0b..48acd63afb 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.09.18.hellen72.3783186584" + signature = "rusEFI 2021.09.18.hellen72.1870393028" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.09.18.hellen72.3783186584" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.09.18.hellen72.1870393028" ; 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 Sat Sep 18 03:14:36 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:20:44 UTC 2021 pageSize = 20000 page = 1 @@ -164,7 +164,7 @@ sparkDwellRpmBins = array, F32, 332, [8], "RPM", 1, 0, 0, 18000, 2 sparkDwellValues = array, F32, 364, [8], "ms", 1, 0, 0, 30, 2 displacement = scalar, F32, 396, "L", 1, 0, 0, 1000, 2 cylindersCount = scalar, U32, 400, "", 1, 0, 1, 12, 0 -firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "fo30", "fo31", "fo32", "fo33", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000, 2 sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0, 30000, 0 rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000, 2 @@ -3294,9 +3294,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} diff --git a/firmware/tunerstudio/generated/rusefi_hellenNA6.ini b/firmware/tunerstudio/generated/rusefi_hellenNA6.ini index 71a1ae5291..88b84781de 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.09.18.hellenNA6.1164823019" + signature = "rusEFI 2021.09.18.hellenNA6.3412656055" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.09.18.hellenNA6.1164823019" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.09.18.hellenNA6.3412656055" ; 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 Sat Sep 18 03:14:42 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:20:49 UTC 2021 pageSize = 20000 page = 1 @@ -164,7 +164,7 @@ sparkDwellRpmBins = array, F32, 332, [8], "RPM", 1, 0, 0, 18000, 2 sparkDwellValues = array, F32, 364, [8], "ms", 1, 0, 0, 30, 2 displacement = scalar, F32, 396, "L", 1, 0, 0, 1000, 2 cylindersCount = scalar, U32, 400, "", 1, 0, 1, 12, 0 -firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "fo30", "fo31", "fo32", "fo33", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000, 2 sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0, 30000, 0 rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000, 2 @@ -3294,9 +3294,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} diff --git a/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini b/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini index cfa71c69f1..a54896cd2b 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.09.18.hellen_cypress.3315032943" + signature = "rusEFI 2021.09.18.hellen_cypress.1267881267" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.09.18.hellen_cypress.3315032943" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.09.18.hellen_cypress.1267881267" ; 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 Sat Sep 18 03:15:12 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Sat Sep 18 04:21:16 UTC 2021 pageSize = 20000 page = 1 @@ -164,7 +164,7 @@ sparkDwellRpmBins = array, F32, 332, [8], "RPM", 1, 0, 0, 18000, 2 sparkDwellValues = array, F32, 364, [8], "ms", 1, 0, 0, 30, 2 displacement = scalar, F32, 396, "L", 1, 0, 0, 1000, 2 cylindersCount = scalar, U32, 400, "", 1, 0, 1, 12, 0 -firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "fo30", "fo31", "fo32", "fo33", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000, 2 sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0, 30000, 0 rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000, 2 @@ -3298,9 +3298,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} diff --git a/firmware/tunerstudio/generated/rusefi_kinetis.ini b/firmware/tunerstudio/generated/rusefi_kinetis.ini index fb08daf802..8b8e346ab3 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.09.18.kin.976400275" + signature = "rusEFI 2021.09.18.kin.3023542735" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.09.18.kin.976400275" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.09.18.kin.3023542735" ; 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 Sat Sep 18 03:15:10 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sat Sep 18 04:21:14 UTC 2021 pageSize = 19972 page = 1 @@ -164,7 +164,7 @@ sparkDwellRpmBins = array, F32, 332, [8], "RPM", 1, 0, 0, 18000, 2 sparkDwellValues = array, F32, 364, [8], "ms", 1, 0, 0, 30, 2 displacement = scalar, F32, 396, "L", 1, 0, 0, 1000, 2 cylindersCount = scalar, U32, 400, "", 1, 0, 1, 12, 0 -firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "fo30", "fo31", "fo32", "fo33", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000, 2 sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0, 30000, 0 rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000, 2 @@ -3270,9 +3270,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} diff --git a/firmware/tunerstudio/generated/rusefi_mre_f4.ini b/firmware/tunerstudio/generated/rusefi_mre_f4.ini index da07277110..489e2c5284 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.09.18.mre_f4.417115060" + signature = "rusEFI 2021.09.18.mre_f4.2530844136" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.09.18.mre_f4.417115060" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.09.18.mre_f4.2530844136" ; 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 Sat Sep 18 03:14:48 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:20:55 UTC 2021 pageSize = 20000 page = 1 @@ -164,7 +164,7 @@ sparkDwellRpmBins = array, F32, 332, [8], "RPM", 1, 0, 0, 18000, 2 sparkDwellValues = array, F32, 364, [8], "ms", 1, 0, 0, 30, 2 displacement = scalar, F32, 396, "L", 1, 0, 0, 1000, 2 cylindersCount = scalar, U32, 400, "", 1, 0, 1, 12, 0 -firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "fo30", "fo31", "fo32", "fo33", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000, 2 sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0, 30000, 0 rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000, 2 @@ -3294,9 +3294,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} diff --git a/firmware/tunerstudio/generated/rusefi_mre_f7.ini b/firmware/tunerstudio/generated/rusefi_mre_f7.ini index 9d7c131c6d..c3aa4b760c 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.09.18.mre_f7.417115060" + signature = "rusEFI 2021.09.18.mre_f7.2530844136" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.09.18.mre_f7.417115060" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.09.18.mre_f7.2530844136" ; 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 Sat Sep 18 03:14:45 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:20:52 UTC 2021 pageSize = 20000 page = 1 @@ -164,7 +164,7 @@ sparkDwellRpmBins = array, F32, 332, [8], "RPM", 1, 0, 0, 18000, 2 sparkDwellValues = array, F32, 364, [8], "ms", 1, 0, 0, 30, 2 displacement = scalar, F32, 396, "L", 1, 0, 0, 1000, 2 cylindersCount = scalar, U32, 400, "", 1, 0, 1, 12, 0 -firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "fo30", "fo31", "fo32", "fo33", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000, 2 sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0, 30000, 0 rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000, 2 @@ -3294,9 +3294,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini index 9e7094567a..524a27b669 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.09.18.prometheus_405.3607191897" + signature = "rusEFI 2021.09.18.prometheus_405.1493456645" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.09.18.prometheus_405.3607191897" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.09.18.prometheus_405.1493456645" ; 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 Sat Sep 18 03:14:56 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:21:02 UTC 2021 pageSize = 20000 page = 1 @@ -164,7 +164,7 @@ sparkDwellRpmBins = array, F32, 332, [8], "RPM", 1, 0, 0, 18000, 2 sparkDwellValues = array, F32, 364, [8], "ms", 1, 0, 0, 30, 2 displacement = scalar, F32, 396, "L", 1, 0, 0, 1000, 2 cylindersCount = scalar, U32, 400, "", 1, 0, 1, 12, 0 -firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "fo30", "fo31", "fo32", "fo33", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000, 2 sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0, 30000, 0 rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000, 2 @@ -3293,9 +3293,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini index d1b28671dc..c4e687c072 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.09.18.prometheus_469.3607191897" + signature = "rusEFI 2021.09.18.prometheus_469.1493456645" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.09.18.prometheus_469.3607191897" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.09.18.prometheus_469.1493456645" ; 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 Sat Sep 18 03:14:54 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:20:59 UTC 2021 pageSize = 20000 page = 1 @@ -164,7 +164,7 @@ sparkDwellRpmBins = array, F32, 332, [8], "RPM", 1, 0, 0, 18000, 2 sparkDwellValues = array, F32, 364, [8], "ms", 1, 0, 0, 30, 2 displacement = scalar, F32, 396, "L", 1, 0, 0, 1000, 2 cylindersCount = scalar, U32, 400, "", 1, 0, 1, 12, 0 -firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "fo30", "fo31", "fo32", "fo33", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000, 2 sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0, 30000, 0 rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000, 2 @@ -3293,9 +3293,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini index b84c660c86..7eb0cedfe4 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.09.18.proteus_f4.1630385689" + signature = "rusEFI 2021.09.18.proteus_f4.4012408901" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.09.18.proteus_f4.1630385689" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.09.18.proteus_f4.4012408901" ; 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 Sat Sep 18 03:15:02 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:21:07 UTC 2021 pageSize = 20000 page = 1 @@ -164,7 +164,7 @@ sparkDwellRpmBins = array, F32, 332, [8], "RPM", 1, 0, 0, 18000, 2 sparkDwellValues = array, F32, 364, [8], "ms", 1, 0, 0, 30, 2 displacement = scalar, F32, 396, "L", 1, 0, 0, 1000, 2 cylindersCount = scalar, U32, 400, "", 1, 0, 1, 12, 0 -firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "fo30", "fo31", "fo32", "fo33", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000, 2 sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0, 30000, 0 rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000, 2 @@ -3291,9 +3291,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini index 03416c53b6..6a8cc6ae84 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.09.18.proteus_f7.1630385689" + signature = "rusEFI 2021.09.18.proteus_f7.4012408901" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.09.18.proteus_f7.1630385689" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.09.18.proteus_f7.4012408901" ; 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 Sat Sep 18 03:14:59 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:21:04 UTC 2021 pageSize = 20000 page = 1 @@ -164,7 +164,7 @@ sparkDwellRpmBins = array, F32, 332, [8], "RPM", 1, 0, 0, 18000, 2 sparkDwellValues = array, F32, 364, [8], "ms", 1, 0, 0, 30, 2 displacement = scalar, F32, 396, "L", 1, 0, 0, 1000, 2 cylindersCount = scalar, U32, 400, "", 1, 0, 1, 12, 0 -firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "fo30", "fo31", "fo32", "fo33", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000, 2 sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0, 30000, 0 rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000, 2 @@ -3291,9 +3291,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} diff --git a/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini b/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini index e86470efe0..2a1f08de80 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.09.18.subaru_eg33_f7.308368348" + signature = "rusEFI 2021.09.18.subaru_eg33_f7.2623825280" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.09.18.subaru_eg33_f7.308368348" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.09.18.subaru_eg33_f7.2623825280" ; 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 Sat Sep 18 03:15:14 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 Sat Sep 18 04:21:19 UTC 2021 pageSize = 20000 page = 1 @@ -164,7 +164,7 @@ sparkDwellRpmBins = array, F32, 332, [8], "RPM", 1, 0, 0, 18000, 2 sparkDwellValues = array, F32, 364, [8], "ms", 1, 0, 0, 30, 2 displacement = scalar, F32, 396, "L", 1, 0, 0, 1000, 2 cylindersCount = scalar, U32, 400, "", 1, 0, 1, 12, 0 -firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "fo30", "fo31", "fo32", "fo33", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +firingOrder = bits, U32, 404, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" cylinderBore = scalar, F32, 408, "mm", 1, 0, 0, 20000, 2 sensorSnifferRpmThreshold = scalar, S32, 412, "RPM", 1, 0, 0, 30000, 0 rpmHardLimit = scalar, S32, 416, "rpm", 1, 0, 0, 20000, 2 @@ -3294,9 +3294,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" ; this section is auto-generated by FiringOrderTSLogic.java field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 29)))} field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9) || (firingOrder == 13) || (firingOrder == 14) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 20) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 27) || (firingOrder == 28)))} - field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27)))} - field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26)))} - field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29)))} + field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12) || (firingOrder == 14) || (firingOrder == 16) || (firingOrder == 17) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 25) || (firingOrder == 26) || (firingOrder == 27) || (firingOrder == 31)))} + field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12) || (firingOrder == 15) || (firingOrder == 18) || (firingOrder == 23) || (firingOrder == 26) || (firingOrder == 30) || (firingOrder == 31)))} + field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 13) || (firingOrder == 22) || (firingOrder == 23) || (firingOrder == 29) || (firingOrder == 30)))} field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11) || (firingOrder == 15) || (firingOrder == 16) || (firingOrder == 19) || (firingOrder == 20) || (firingOrder == 22) || (firingOrder == 28)))} field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11) || (firingOrder == 16) || (firingOrder == 18) || (firingOrder == 19) || (firingOrder == 26) || (firingOrder == 28)))} field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount >= 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 14) || (firingOrder == 15) || (firingOrder == 22)))} 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 0b427312e9..3a55936cc0 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 Sat Sep 18 03:15:07 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sat Sep 18 04:21:11 UTC 2021 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; @@ -1226,6 +1226,7 @@ public class Fields { public static final int servoOutputPins8_offset = 3147; public static final int showHumanReadableWarning_offset = 976; public static final int showSdCardWarning_offset = 76; + public static final int SIGNATURE_HASH = 166629091; public static final int silentTriggerError_offset = 1464; public static final int slowAdcAlpha_offset = 2088; public static final int sparkDwellRpmBins_offset = 332; @@ -1532,7 +1533,7 @@ public class Fields { public static final int TS_RESPONSE_UNDERRUN = 0x80; public static final int TS_RESPONSE_UNRECOGNIZED_COMMAND = 0x83; public static final char TS_SET_LOGGER_SWITCH = 'l'; - public static final String TS_SIGNATURE = "rusEFI 2021.09.18.all.2280372415"; + public static final String TS_SIGNATURE = "rusEFI 2021.09.18.all.166629091"; 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 19a39ed894..6007d2ce8a 100644 --- a/java_console/rusefi.xml +++ b/java_console/rusefi.xml @@ -1,6 +1,6 @@ - +