From 98583bfabb0e4bf9e084b6c9f47b16619e91104f Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Fri, 4 Dec 2020 04:26:34 +0000 Subject: [PATCH] Auto-generated configs and docs --- ...ngine_configuration_generated_structures.h | 4 ++-- .../controllers/algo/rusefi_generated.h | 7 ++++--- ...ngine_configuration_generated_structures.h | 4 ++-- .../controllers/algo/rusefi_generated.h | 7 ++++--- ...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 | 7 ++++--- .../controllers/generated/signature_all.h | 4 ++-- .../generated/signature_frankenso_na6.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 ++-- firmware/tunerstudio/generated/cache.zip | Bin 971475 -> 971575 bytes firmware/tunerstudio/generated/rusefi.ini | 6 +++--- .../generated/rusefi_frankenso_na6.ini | 6 +++--- .../generated/rusefi_hellen_cypress.ini | 6 +++--- .../tunerstudio/generated/rusefi_kinetis.ini | 6 +++--- .../tunerstudio/generated/rusefi_mre_f4.ini | 6 +++--- .../tunerstudio/generated/rusefi_mre_f7.ini | 6 +++--- .../generated/rusefi_prometheus_405.ini | 6 +++--- .../generated/rusefi_prometheus_469.ini | 6 +++--- .../generated/rusefi_proteus_f4.ini | 6 +++--- .../generated/rusefi_proteus_f7.ini | 6 +++--- .../com/rusefi/config/generated/Fields.java | 6 +++--- java_console/rusefi.xml | 2 +- 33 files changed, 76 insertions(+), 73 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 9c8ad43c20..732a512251 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 Fri Dec 04 02:33:22 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Fri Dec 04 04:25:44 UTC 2020 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -3778,4 +3778,4 @@ struct persistent_config_s { typedef struct persistent_config_s persistent_config_s; // end -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Fri Dec 04 02:33:22 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Fri Dec 04 04:25:44 UTC 2020 diff --git a/firmware/config/boards/hellen/cypress/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/hellen/cypress/config/controllers/algo/rusefi_generated.h index 974e0fe906..4a6be15bad 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 @@ -1213,7 +1213,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD hellen_cypress #define SIGNATURE_DATE 2020.12.04 -#define SIGNATURE_HASH 3082853393 +#define SIGNATURE_HASH 196263591 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1410,7 +1410,7 @@ #define TRIGGER_SIMULATOR_PIN_COUNT 3 #define trigger_todoRemoveMeOneDay0_offset 528 #define trigger_todoRemoveMeOneDay1_offset 528 -#define trigger_type_e_auto_enum "TT_TOOTHED_WHEEL", "TT_FORD_ASPIRE", "TT_DODGE_NEON_1995", "TT_MAZDA_MIATA_NA", "TT_MAZDA_MIATA_NB1", "TT_GM_7X", "TT_TT_DAIHATSU", "TT_MAZDA_SOHC_4", "TT_TOOTHED_WHEEL_60_2", "TT_TOOTHED_WHEEL_36_1", "TT_HONDA_4_24_1", "TT_MITSUBISHI", "TT_HONDA_4_24", "TT_HONDA_1_4_24", "TT_DODGE_NEON_2003_CAM", "TT_MAZDA_DOHC_1_4", "TT_ONE_PLUS_ONE", "TT_VVT_JZ", "TT_ONE", "TT_DODGE_RAM", "TT_60_2_VW", "TT_HONDA_1_24", "TT_DODGE_STRATUS", "TT_36_2_2_2", "TT_NISSAN_SR20VE", "TT_2JZ_3_34", "TT_ROVER_K", "TT_GM_LS_24", "TT_HONDA_CBR_600", "TT_2JZ_1_12", "TT_UNUSED_30", "TT_3_1_CAM", "TT_DODGE_NEON_2003_CRANK", "TT_MIATA_VVT", "TT_HONDA_ACCORD_1_24_SHIFTED", "TT_MAZDA_MIATA_VVT_TEST", "TT_SUBARU_7_6", "TT_JEEP_18_2_2_2", "TT_NISSAN_SR20VE_360", "TT_DODGE_NEON_1995_ONLY_CRANK", "TT_JEEP_4_CYL", "TT_FIAT_IAW_P8", "TT_UNUSED_42", "TT_VVT_MIATA_NB2", "TT_RENIX_44_2_2", "TT_RENIX_66_2_2_2", "TT_HONDA_K_12_1", "TT_VVT_BOSCH_QUICK_START", "TT_TOOTHED_WHEEL_36_2", "TT_SUBARU_SVX", "TT_1_16", "TT_UNUSED" +#define trigger_type_e_auto_enum "TT_TOOTHED_WHEEL", "TT_FORD_ASPIRE", "TT_DODGE_NEON_1995", "TT_MAZDA_MIATA_NA", "TT_MAZDA_MIATA_NB1", "TT_GM_7X", "TT_DAIHATSU", "TT_MAZDA_SOHC_4", "TT_TOOTHED_WHEEL_60_2", "TT_TOOTHED_WHEEL_36_1", "TT_HONDA_4_24_1", "TT_MITSUBISHI", "TT_HONDA_4_24", "TT_HONDA_1_4_24", "TT_DODGE_NEON_2003_CAM", "TT_MAZDA_DOHC_1_4", "TT_ONE_PLUS_ONE", "TT_VVT_JZ", "TT_ONE", "TT_DODGE_RAM", "TT_60_2_VW", "TT_HONDA_1_24", "TT_DODGE_STRATUS", "TT_36_2_2_2", "TT_NISSAN_SR20VE", "TT_2JZ_3_34", "TT_ROVER_K", "TT_GM_LS_24", "TT_HONDA_CBR_600", "TT_2JZ_1_12", "TT_UNUSED_30", "TT_3_1_CAM", "TT_DODGE_NEON_2003_CRANK", "TT_MIATA_VVT", "TT_HONDA_ACCORD_1_24_SHIFTED", "TT_MAZDA_MIATA_VVT_TEST", "TT_SUBARU_7_6", "TT_JEEP_18_2_2_2", "TT_NISSAN_SR20VE_360", "TT_DODGE_NEON_1995_ONLY_CRANK", "TT_JEEP_4_CYL", "TT_FIAT_IAW_P8", "TT_UNUSED_42", "TT_VVT_MIATA_NB2", "TT_RENIX_44_2_2", "TT_RENIX_66_2_2_2", "TT_HONDA_K_12_1", "TT_VVT_BOSCH_QUICK_START", "TT_TOOTHED_WHEEL_36_2", "TT_SUBARU_SVX", "TT_1_16", "TT_UNUSED" #define trigger_type_e_enum "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "Miata NB", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Honda 4+24+1", "Mitsubishi", "Honda 4+24", "Honda 1+4+24", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Honda 1+24", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM LS 24", "Honda CBR 600", "2JZ_1_12", "Honda CBR 600 custom", "3/1 skipped" , "Dodge Neon 2003 crank", "Miata VVT", "trg34", "trg35", "Subaru 7+6", "Jeep 18-2-2-2", "WIP", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "trg43", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "trg47", "36/2", "Subaru SVX", "1+16", "trg51", "trg52", "INVALID" #define trigger_type_offset 524 #define trigger_unusedBit_4_10_offset 528 @@ -1543,7 +1543,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2020.12.04.hellen_cypress.3082853393" +#define TS_SIGNATURE "rusEFI 2020.12.04.hellen_cypress.196263591" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 @@ -1555,6 +1555,7 @@ #define TT_TT_60_2_VW 20 #define TT_TT_DAIHATSU 6 #define TT_TT_FORD_ASPIRE 1 +#define TT_TT_FORD_ST170 42 #define TT_TT_GM_7X 5 #define TT_TT_GM_LS_24 27 #define TT_TT_HONDA_1_24 21 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 411d548454..359ab6354b 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 Fri Dec 04 02:33:21 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Fri Dec 04 04:25:42 UTC 2020 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -3778,4 +3778,4 @@ struct persistent_config_s { typedef struct persistent_config_s persistent_config_s; // end -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Fri Dec 04 02:33:21 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Fri Dec 04 04:25:42 UTC 2020 diff --git a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h index 9df7b364ae..a8dbafbbac 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h @@ -1213,7 +1213,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD kin #define SIGNATURE_DATE 2020.12.04 -#define SIGNATURE_HASH 3873220331 +#define SIGNATURE_HASH 1521386589 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1410,7 +1410,7 @@ #define TRIGGER_SIMULATOR_PIN_COUNT 3 #define trigger_todoRemoveMeOneDay0_offset 528 #define trigger_todoRemoveMeOneDay1_offset 528 -#define trigger_type_e_auto_enum "TT_TOOTHED_WHEEL", "TT_FORD_ASPIRE", "TT_DODGE_NEON_1995", "TT_MAZDA_MIATA_NA", "TT_MAZDA_MIATA_NB1", "TT_GM_7X", "TT_TT_DAIHATSU", "TT_MAZDA_SOHC_4", "TT_TOOTHED_WHEEL_60_2", "TT_TOOTHED_WHEEL_36_1", "TT_HONDA_4_24_1", "TT_MITSUBISHI", "TT_HONDA_4_24", "TT_HONDA_1_4_24", "TT_DODGE_NEON_2003_CAM", "TT_MAZDA_DOHC_1_4", "TT_ONE_PLUS_ONE", "TT_VVT_JZ", "TT_ONE", "TT_DODGE_RAM", "TT_60_2_VW", "TT_HONDA_1_24", "TT_DODGE_STRATUS", "TT_36_2_2_2", "TT_NISSAN_SR20VE", "TT_2JZ_3_34", "TT_ROVER_K", "TT_GM_LS_24", "TT_HONDA_CBR_600", "TT_2JZ_1_12", "TT_UNUSED_30", "TT_3_1_CAM", "TT_DODGE_NEON_2003_CRANK", "TT_MIATA_VVT", "TT_HONDA_ACCORD_1_24_SHIFTED", "TT_MAZDA_MIATA_VVT_TEST", "TT_SUBARU_7_6", "TT_JEEP_18_2_2_2", "TT_NISSAN_SR20VE_360", "TT_DODGE_NEON_1995_ONLY_CRANK", "TT_JEEP_4_CYL", "TT_FIAT_IAW_P8", "TT_UNUSED_42", "TT_VVT_MIATA_NB2", "TT_RENIX_44_2_2", "TT_RENIX_66_2_2_2", "TT_HONDA_K_12_1", "TT_VVT_BOSCH_QUICK_START", "TT_TOOTHED_WHEEL_36_2", "TT_SUBARU_SVX", "TT_1_16", "TT_UNUSED" +#define trigger_type_e_auto_enum "TT_TOOTHED_WHEEL", "TT_FORD_ASPIRE", "TT_DODGE_NEON_1995", "TT_MAZDA_MIATA_NA", "TT_MAZDA_MIATA_NB1", "TT_GM_7X", "TT_DAIHATSU", "TT_MAZDA_SOHC_4", "TT_TOOTHED_WHEEL_60_2", "TT_TOOTHED_WHEEL_36_1", "TT_HONDA_4_24_1", "TT_MITSUBISHI", "TT_HONDA_4_24", "TT_HONDA_1_4_24", "TT_DODGE_NEON_2003_CAM", "TT_MAZDA_DOHC_1_4", "TT_ONE_PLUS_ONE", "TT_VVT_JZ", "TT_ONE", "TT_DODGE_RAM", "TT_60_2_VW", "TT_HONDA_1_24", "TT_DODGE_STRATUS", "TT_36_2_2_2", "TT_NISSAN_SR20VE", "TT_2JZ_3_34", "TT_ROVER_K", "TT_GM_LS_24", "TT_HONDA_CBR_600", "TT_2JZ_1_12", "TT_UNUSED_30", "TT_3_1_CAM", "TT_DODGE_NEON_2003_CRANK", "TT_MIATA_VVT", "TT_HONDA_ACCORD_1_24_SHIFTED", "TT_MAZDA_MIATA_VVT_TEST", "TT_SUBARU_7_6", "TT_JEEP_18_2_2_2", "TT_NISSAN_SR20VE_360", "TT_DODGE_NEON_1995_ONLY_CRANK", "TT_JEEP_4_CYL", "TT_FIAT_IAW_P8", "TT_UNUSED_42", "TT_VVT_MIATA_NB2", "TT_RENIX_44_2_2", "TT_RENIX_66_2_2_2", "TT_HONDA_K_12_1", "TT_VVT_BOSCH_QUICK_START", "TT_TOOTHED_WHEEL_36_2", "TT_SUBARU_SVX", "TT_1_16", "TT_UNUSED" #define trigger_type_e_enum "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "Miata NB", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Honda 4+24+1", "Mitsubishi", "Honda 4+24", "Honda 1+4+24", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Honda 1+24", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM LS 24", "Honda CBR 600", "2JZ_1_12", "Honda CBR 600 custom", "3/1 skipped" , "Dodge Neon 2003 crank", "Miata VVT", "trg34", "trg35", "Subaru 7+6", "Jeep 18-2-2-2", "WIP", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "trg43", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "trg47", "36/2", "Subaru SVX", "1+16", "trg51", "trg52", "INVALID" #define trigger_type_offset 524 #define trigger_unusedBit_4_10_offset 528 @@ -1543,7 +1543,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator true #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2020.12.04.kin.3873220331" +#define TS_SIGNATURE "rusEFI 2020.12.04.kin.1521386589" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 @@ -1555,6 +1555,7 @@ #define TT_TT_60_2_VW 20 #define TT_TT_DAIHATSU 6 #define TT_TT_FORD_ASPIRE 1 +#define TT_TT_FORD_ST170 42 #define TT_TT_GM_7X 5 #define TT_TT_GM_LS_24 27 #define TT_TT_HONDA_1_24 21 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures.h b/firmware/controllers/generated/engine_configuration_generated_structures.h index 20c28f115b..f64332790e 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 Fri Dec 04 02:33:09 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Dec 04 04:25:27 UTC 2020 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -3778,4 +3778,4 @@ struct persistent_config_s { typedef struct persistent_config_s persistent_config_s; // end -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Dec 04 02:33:09 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Dec 04 04:25:27 UTC 2020 diff --git a/firmware/controllers/generated/fsio_enums_generated.def b/firmware/controllers/generated/fsio_enums_generated.def index 97d30532d8..7b1196c5ec 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 Fri Dec 04 02:33:09 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Dec 04 04:25:27 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer FSIO_SETTING_FANONTEMPERATURE = 1000, diff --git a/firmware/controllers/generated/fsio_getters.def b/firmware/controllers/generated/fsio_getters.def index 41444b93b1..ed673de9e4 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 Fri Dec 04 02:33:09 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Dec 04 04:25:27 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: diff --git a/firmware/controllers/generated/fsio_names.def b/firmware/controllers/generated/fsio_names.def index 024994f071..4d8d8b968d 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 Fri Dec 04 02:33:09 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Dec 04 04:25:27 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer static LENameOrdinalPair lefanOnTemperature(FSIO_SETTING_FANONTEMPERATURE, "cfg_fanOnTemperature"); diff --git a/firmware/controllers/generated/fsio_strings.def b/firmware/controllers/generated/fsio_strings.def index 88ca94b4de..5d8792e056 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 Fri Dec 04 02:33:09 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Dec 04 04:25:27 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: diff --git a/firmware/controllers/generated/rusefi_generated.h b/firmware/controllers/generated/rusefi_generated.h index d0e4377c3d..3207200e3c 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -1213,7 +1213,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD all #define SIGNATURE_DATE 2020.12.04 -#define SIGNATURE_HASH 2117155538 +#define SIGNATURE_HASH 3259177060 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1410,7 +1410,7 @@ #define TRIGGER_SIMULATOR_PIN_COUNT 3 #define trigger_todoRemoveMeOneDay0_offset 528 #define trigger_todoRemoveMeOneDay1_offset 528 -#define trigger_type_e_auto_enum "TT_TOOTHED_WHEEL", "TT_FORD_ASPIRE", "TT_DODGE_NEON_1995", "TT_MAZDA_MIATA_NA", "TT_MAZDA_MIATA_NB1", "TT_GM_7X", "TT_TT_DAIHATSU", "TT_MAZDA_SOHC_4", "TT_TOOTHED_WHEEL_60_2", "TT_TOOTHED_WHEEL_36_1", "TT_HONDA_4_24_1", "TT_MITSUBISHI", "TT_HONDA_4_24", "TT_HONDA_1_4_24", "TT_DODGE_NEON_2003_CAM", "TT_MAZDA_DOHC_1_4", "TT_ONE_PLUS_ONE", "TT_VVT_JZ", "TT_ONE", "TT_DODGE_RAM", "TT_60_2_VW", "TT_HONDA_1_24", "TT_DODGE_STRATUS", "TT_36_2_2_2", "TT_NISSAN_SR20VE", "TT_2JZ_3_34", "TT_ROVER_K", "TT_GM_LS_24", "TT_HONDA_CBR_600", "TT_2JZ_1_12", "TT_UNUSED_30", "TT_3_1_CAM", "TT_DODGE_NEON_2003_CRANK", "TT_MIATA_VVT", "TT_HONDA_ACCORD_1_24_SHIFTED", "TT_MAZDA_MIATA_VVT_TEST", "TT_SUBARU_7_6", "TT_JEEP_18_2_2_2", "TT_NISSAN_SR20VE_360", "TT_DODGE_NEON_1995_ONLY_CRANK", "TT_JEEP_4_CYL", "TT_FIAT_IAW_P8", "TT_UNUSED_42", "TT_VVT_MIATA_NB2", "TT_RENIX_44_2_2", "TT_RENIX_66_2_2_2", "TT_HONDA_K_12_1", "TT_VVT_BOSCH_QUICK_START", "TT_TOOTHED_WHEEL_36_2", "TT_SUBARU_SVX", "TT_1_16", "TT_UNUSED" +#define trigger_type_e_auto_enum "TT_TOOTHED_WHEEL", "TT_FORD_ASPIRE", "TT_DODGE_NEON_1995", "TT_MAZDA_MIATA_NA", "TT_MAZDA_MIATA_NB1", "TT_GM_7X", "TT_DAIHATSU", "TT_MAZDA_SOHC_4", "TT_TOOTHED_WHEEL_60_2", "TT_TOOTHED_WHEEL_36_1", "TT_HONDA_4_24_1", "TT_MITSUBISHI", "TT_HONDA_4_24", "TT_HONDA_1_4_24", "TT_DODGE_NEON_2003_CAM", "TT_MAZDA_DOHC_1_4", "TT_ONE_PLUS_ONE", "TT_VVT_JZ", "TT_ONE", "TT_DODGE_RAM", "TT_60_2_VW", "TT_HONDA_1_24", "TT_DODGE_STRATUS", "TT_36_2_2_2", "TT_NISSAN_SR20VE", "TT_2JZ_3_34", "TT_ROVER_K", "TT_GM_LS_24", "TT_HONDA_CBR_600", "TT_2JZ_1_12", "TT_UNUSED_30", "TT_3_1_CAM", "TT_DODGE_NEON_2003_CRANK", "TT_MIATA_VVT", "TT_HONDA_ACCORD_1_24_SHIFTED", "TT_MAZDA_MIATA_VVT_TEST", "TT_SUBARU_7_6", "TT_JEEP_18_2_2_2", "TT_NISSAN_SR20VE_360", "TT_DODGE_NEON_1995_ONLY_CRANK", "TT_JEEP_4_CYL", "TT_FIAT_IAW_P8", "TT_UNUSED_42", "TT_VVT_MIATA_NB2", "TT_RENIX_44_2_2", "TT_RENIX_66_2_2_2", "TT_HONDA_K_12_1", "TT_VVT_BOSCH_QUICK_START", "TT_TOOTHED_WHEEL_36_2", "TT_SUBARU_SVX", "TT_1_16", "TT_UNUSED" #define trigger_type_e_enum "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "Miata NB", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Honda 4+24+1", "Mitsubishi", "Honda 4+24", "Honda 1+4+24", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Honda 1+24", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM LS 24", "Honda CBR 600", "2JZ_1_12", "Honda CBR 600 custom", "3/1 skipped" , "Dodge Neon 2003 crank", "Miata VVT", "trg34", "trg35", "Subaru 7+6", "Jeep 18-2-2-2", "WIP", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "trg43", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "trg47", "36/2", "Subaru SVX", "1+16", "trg51", "trg52", "INVALID" #define trigger_type_offset 524 #define trigger_unusedBit_4_10_offset 528 @@ -1543,7 +1543,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2020.12.04.all.2117155538" +#define TS_SIGNATURE "rusEFI 2020.12.04.all.3259177060" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 @@ -1555,6 +1555,7 @@ #define TT_TT_60_2_VW 20 #define TT_TT_DAIHATSU 6 #define TT_TT_FORD_ASPIRE 1 +#define TT_TT_FORD_ST170 42 #define TT_TT_GM_7X 5 #define TT_TT_GM_LS_24 27 #define TT_TT_HONDA_1_24 21 diff --git a/firmware/controllers/generated/signature_all.h b/firmware/controllers/generated/signature_all.h index eb34c9f740..853258943b 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 2020.12.04 -#define SIGNATURE_HASH 2117155538 -#define TS_SIGNATURE "rusEFI 2020.12.04.all.2117155538" +#define SIGNATURE_HASH 3259177060 +#define TS_SIGNATURE "rusEFI 2020.12.04.all.3259177060" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index 9a8159cd50..2b4f5219bc 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 2020.12.04 -#define SIGNATURE_HASH 3896609577 -#define TS_SIGNATURE "rusEFI 2020.12.04.frankenso_na6.3896609577" +#define SIGNATURE_HASH 1412671903 +#define TS_SIGNATURE "rusEFI 2020.12.04.frankenso_na6.1412671903" diff --git a/firmware/controllers/generated/signature_hellen_cypress.h b/firmware/controllers/generated/signature_hellen_cypress.h index 94406c47d4..b2bc5d9a88 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 2020.12.04 -#define SIGNATURE_HASH 3082853393 -#define TS_SIGNATURE "rusEFI 2020.12.04.hellen_cypress.3082853393" +#define SIGNATURE_HASH 196263591 +#define TS_SIGNATURE "rusEFI 2020.12.04.hellen_cypress.196263591" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index 2849b4a910..a5f3732bf6 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 2020.12.04 -#define SIGNATURE_HASH 3873220331 -#define TS_SIGNATURE "rusEFI 2020.12.04.kin.3873220331" +#define SIGNATURE_HASH 1521386589 +#define TS_SIGNATURE "rusEFI 2020.12.04.kin.1521386589" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index 298740c625..faa9c35b61 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 2020.12.04 -#define SIGNATURE_HASH 1776411819 -#define TS_SIGNATURE "rusEFI 2020.12.04.mre_f4.1776411819" +#define SIGNATURE_HASH 3583231517 +#define TS_SIGNATURE "rusEFI 2020.12.04.mre_f4.3583231517" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index ded09a62b6..d57cb0c556 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 2020.12.04 -#define SIGNATURE_HASH 1776411819 -#define TS_SIGNATURE "rusEFI 2020.12.04.mre_f7.1776411819" +#define SIGNATURE_HASH 3583231517 +#define TS_SIGNATURE "rusEFI 2020.12.04.mre_f7.3583231517" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index 9141b953d4..a0c5548132 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 2020.12.04 -#define SIGNATURE_HASH 1021918339 -#define TS_SIGNATURE "rusEFI 2020.12.04.prometheus_405.1021918339" +#define SIGNATURE_HASH 2157649461 +#define TS_SIGNATURE "rusEFI 2020.12.04.prometheus_405.2157649461" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index 23040fd7bf..374dcab0fe 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 2020.12.04 -#define SIGNATURE_HASH 1021918339 -#define TS_SIGNATURE "rusEFI 2020.12.04.prometheus_469.1021918339" +#define SIGNATURE_HASH 2157649461 +#define TS_SIGNATURE "rusEFI 2020.12.04.prometheus_469.2157649461" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index b37037c67b..f3a0028d8a 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 2020.12.04 -#define SIGNATURE_HASH 3080417292 -#define TS_SIGNATURE "rusEFI 2020.12.04.proteus_f4.3080417292" +#define SIGNATURE_HASH 199840442 +#define TS_SIGNATURE "rusEFI 2020.12.04.proteus_f4.199840442" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 48f75db763..13f4801a46 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 2020.12.04 -#define SIGNATURE_HASH 3080417292 -#define TS_SIGNATURE "rusEFI 2020.12.04.proteus_f7.3080417292" +#define SIGNATURE_HASH 199840442 +#define TS_SIGNATURE "rusEFI 2020.12.04.proteus_f7.199840442" diff --git a/firmware/tunerstudio/generated/cache.zip b/firmware/tunerstudio/generated/cache.zip index 5921058d9ed40d13452e5e78b8f880dfe50af56e..d6bfb2b31d55c5123d78da7e91a1801f3c696867 100644 GIT binary patch delta 89487 zcmeI*cQ}>({{ZlFYzIeVW$!(cJu)(~DI;VjB0HNSdrQV0*&`{EQ9|}kX2VECR*@C5 z;&ml3WbMagkn} z7sgF<8Q!scd;M&-qecofm=IMmNPn&_U_?Q&M>O5R6y-KH$A3YkW^-;H0-w9CMrB*h#KU52fx=%l3_Z_~wgLA4Eso}ZTab_a*5U2GCJAG6r@d}wU>$ORTDaD;g zKL5@2__}Dt9b-|G=`s{kgTSEj*UnbOsc{<3f~@_r1195ESxO4xn8uDk>F)<_-*9-m zwpcz`N*X2csXp^8?f0{rha=M^ottpBU+R2rW$IpQ*Dk@X4yV4hc7nE+-uMiQ8=k?+ZzwdQiMyd3SN^%pRIR>U#}-_{@VWSH%Xp@DIAc((q%j(S);mG zjqO1%b&ae4?1We=YW6Pu%ctCZWRYGfy>qYYtDk(Otg^6uv>}bC5y>35Y9bWpT)ZD% z4}UsFTeG`hWHr;Sokhv|Sk;QF%ELN>Wg#qd=^Jw|M>CGjqbLI5OfyZ-#IM(!iCK!b z2Yp`9`Xy-zUP(-fre;f;Dx&e*eCOVuJtCsJ)n^h9V`h2BYm9ouYy67axR2MkkK4GL z_mN(=hLO#?(AO6GUaEdGRf?{raTgw`;|F>yKHpbCO>5rRqjN2ATBH!+k=W8ctJiw# z`+MJwk26Y=xsQ4pjjQ>0{A-B2SK{>flNq|N5{zmy@5R$zHa@J(sNTnDFZC|BrGG0& zTpO#(of7<$jq$oLYT`RH*`UG$D#Fgq(cMAWz~{?XrJoHjoEgQG4ZhLY*7Zi^7I`Um zk+h1Lv>OaleC^W0Csk%SM#FEP_12Oxz2$b{4=Q8ZgI~VU8+>rE?8L7gVpbC=ALCT3 zc$di{_DR7DqcDRP!4mYL!UA|d@yA++w{RaP)|p<>-4DKfy(SZMD@a45_En);gt5{Jf#OeEM?Lx#+0Pg?Piq5^Kf} zi_fI>5%lbeW{%){VN7-z+kEh4!DU>Bdr{lN98pTLUQa%5!%;aY^rY*o3Jso=JMM>9 zQgO~bg@vkb{WP4&7mJaUH)$+!__7ma1hMkd9u z6TkW_i+DVW=lqR@u}sbML2R;J+w0-1^fDysnr-yz7~5Pc)-emzg>ROqFhcAT1tMNv zI~^ZHLxtx{u%kb|Pa_d&JhZ%uQ>Vyshmju{Y$zASoJ_-B9(r(#blZ+~U52AyRRTO?z|ncyMnm zCgb)20t|*2RRfX;X)9tI51}H{xmbLi2sYtt5nYW`KOVR2O9K-ueplQ?-;#>AuBsFB z({8p0RWxEH&seKnMTBCFg?sAlkFD`O!Jj0e59-uqFDSxCO?A?DXgng|B#g93mCme> zA!{Z6Vh|wqt+ zY>&zWLw%8Opc^V+hj?+S8yzinXMjhE1-G>w>*cJSJ7^gaR2eze9~G$xi8`*(c8# ziKXg)u%T2%Fi_%H#`35!hpd1h<8$Fw2oKz_Pjh86r8g!dUzv3JEV4Rh&UL5d6YY3% znWVH2P@0CYh)AC?bo%;Pe=1acEDqsmN;+B6J zgIk0^*fo>5(6$!EJkJMSXidjs_n?>U>m<}=uN_M zA9={-r}_EiwP>(XN#44F8Bp^=Td|y)U>uAq^>>qqJNOh z<1f`I5XC@p<;tT|lvVdI+8Ek$Fv^1C$7XA8&n?EVCv5mxPqHQW5Q*7R`b^uh{m8AU zf2PHnIF@*30kz0K<(A~-kQOFjmczPiUeKvE6%M^ELQp7?x6U70auhQys4{y-3bc`F z%ZFOU8T|M`i=l7Vo!-h_g1K}Z^VL32d!V)jyH7}23)kVjukc87F~;jRqUC9Xyqu%` zpNqfzp<@p(juoWx!?w;Uj+MP=B+)kFSX-pSTJ3M7GJ&FM@i`|;9l6t%_$e*FkeVwJ zdxKqqjw+u)PUJ_=DNdGqKHUUrZdY7yl;X1HJ(SPm#UPP1dg|n^*lk8@IiD(KUOug< z9Z^pxlTQ{8OlMDD;o8m8sUAy9zOb!c zv~#hOT9jqne{F~%_w-x5JBE+0@ATelTEO%o*CNOxySEwT*!d>old{0T)XO{YxOVNF zL?gzrgs(gD$TMr1RvBx=y-vjD{3Ne8UtbO6Ex=)2jeQhLg+Ea@GqBG!qZ0A#Ug`1| z3+uaiG2i!5=Q9Q8`YL7f zIa5;Z8`)BEq-4L~ewi0r+&9sD#b750-uaI3d&g-{iq%(M`W6~-#-maA%=t8HS`(h~ z)2TdqvC&XdX65-&u8KT&KiiuJ)AetrD-_tjGYaE#p%^Rigp!&X=SJ2SE{cSw=V5Hw zR57;P`Tln5TzN`2?p@7`m8ax3Xq$x3QlDnOI2|+HisEH;xR9@~edbMMolaV%jojm# z*GFttis6ZyW>l}YvB|V!^hteMBBQqO-tfJ77khsS4>7XAD)DGlnxU>`?chV|738-- zium!g)nN@3=Vhl0yE+w+a=s(?rJwr_~ z#W7hbo>ZG8QLfx(WtooIbJlARGkCH!pJ+B$|Mrv*DxFqHA%Zxs`FfS|n$63o_QG~+ z1=)NHJ(tjKWIA63qths1{g<~4dtJ{)Rz3?7cU~mbf}fG#-gFpi(yBylJBgw zeD36v&;(0@_#g)bIm_eSE{&&pxw}S;Pu}{~xp-_CudTBQ+eAvAn{uJa`N?vYHVo<<)_m;IXn`1 ztMzrYDtTB@a&UwRRfFsWWdFVK4+?%t#CHU5g*XXnSS2)>h!S>_VYqeKEyEI(^;`jaX7)s4|Z{IheRUpL{M{Sd0Y_C zpV*4JHj4|JUuR(O5u;Z6{(g98s`atD;aFFLJ0=HJoVk#nqT+KMZv{$MK9t!OvgTr6LRD}?0s7xqw0W|?jJ*V4{|NkTH| zoA*hkQ7>?(gWMkyi?gIl_Qq>yT8%Y|nn~p@iMI`cSW|1JTPbnIw_l4h4%Z$7@HAX}>2jjxFMN z_c>Z;s!X92p?oi;01pW6+P&CU2xd#~R4>hC~c?+{;AD<4N5 zlf2|lre(GsZ2I}C(bKozvo6fY2Hj@H2sCrx+ZAX$JThw65SYx+>hcZk&ZOw_kPd+mNQn^S(TY(W+xP6)LC} zhqYr^z}l+tQIkd2S~WSy)`+J(<7|__!+VnaFKH4}=JUi2CMjsB>FgqH;*LOS@Q&AZZ*-xhD~764?DJ$JfR^LK*ieqomF*&S`HNSX%gQluK1# z0AaZcid@%|)CSE>)59xvjkAgI1`1 zNaA5@>qwkJz0uH;eb1FM`8Z~V6HAI4Lf540ij>+jQqQs*Ro4nB zUM_Z@sqfC)4m{?46w5g zsXc}sW!EY4aPX>B-Ro!cIj#J98H$UY}$W5Qr*{4&dcx()LFc{_jpvvA<^j?6E|#!14J)X6CngbrEuPgt4~D z5U`fn~ zuV^uKLTC8p(ERe-7yV&wqsd=R?U>nSosQl~=SDTzYFaBZu}#~R%bmY2>pM&o-;105 zVjbR8x3+zgVnD@M{o3fjc))`f4nc&*69GiB@Xyn1xF*JD&4bdDhA0S4s;J9%1$;c# zFRkAffR~@Y$b;}Ht9hU9haEyO@Y%T0B!+Cwp)&BBhm&u0YqRldT`#Q?aYncF~33BmR&zbDwAvS0=#3W06VIUuvbrVd%aCDB*-VZ?*&8b^~X^~_5Ql!8}$0hA7^{~ zq8QgXzpTDtw5ax49^!C1-=3eu+bcLwNNFvEOuj@^SNdeLD4*pX`E22}baCtvtF^}N zPm{NI56P4dH@_cz5dFzuw{~c2L|U+mG*C7tg&ea8k#J||jy0}?0CI;hJEJ(BrD<`| zi7;s?ivf>9F}(UK8QH?Lv$=A36=z~R&zUnV-JdB+LfS;gARQ^JGkpH=F)lJ<-D2l) zor^1^4j29JUnKTqo~}DfJ7lg|AXH1DNu8^BDe%z7VF_yxg8Si9!hIq6Y(grG>nf0o z4K5qJ61t846p5;!t7?JcL&K@Y`rwi`2gR=Ag2J$*`UvR6ky}lXO3I1^XEZ%|S5K z=a0_}r-9b|@fk6gmLMHlTpEn>L`X0IpI)?UAu&9#Q}8qwZjbfW+lJe2>J>@PdR%mC zOh#->=J{W@a7>5S=sKeeciVIlIM zQ-Sy@@F$R~G0sK$mUqK$GR{#AjvEmdijA+8jVj0&*xZO*IyB>Ejyi-I1Mx+$5%qSv z77$ZD;YGMK6l8}>1DA!&QTVsu!_c4>wg8q`CZ-(3WQtQsq%g_)5IM}6$>+~(kpoSc z;sj&hMM6{ZSVQph5JNEj3wRf_W`<*d{$W`}n1i>cYDQNPAnXWDh2T44w5~$hq4>h^ zuIi?nxXN%0i;IwjG8P%eZ9Qlz44)c)4oXzU(qielvN*XqM#I!+gV`9SU57LjB~PHJ zSX#PQm7GKeQMlPSjzKrW@x$TUkdO;5J-imualz%J!&4R_Nw7)#u8Qf)dSkh~B)r_f zzDHF&$iq{NY6x<*#?inKFRN~}#_@q;FxONwMd9Ct!)2@2+;LB_qb56^l-6jn;Ww_7 z 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 KyJ#f(xBmeUqEj;f delta 89106 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 - +