From be55246188c8fe28ca3bd183c134ef3c06797558 Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Fri, 4 Dec 2020 16:39:14 +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 971725 -> 971805 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, 77 insertions(+), 72 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 6d5dfb01a4..c1138981ef 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 05:20:58 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 16:38:43 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 05:20:58 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 16:38:43 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 902596f2f7..593ce7ccef 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 833017382 +#define SIGNATURE_HASH 3827438289 #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_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_FORD_ST170", "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_CHRYSLER_NGC_36_2_2", "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_FORD_ST170", "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.833017382" +#define TS_SIGNATURE "rusEFI 2020.12.04.hellen_cypress.3827438289" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 @@ -1570,6 +1570,7 @@ #define TT_TT_MAZDA_MIATA_NA 3 #define TT_TT_MAZDA_MIATA_NB1 4 #define TT_TT_MAZDA_SOHC_4 7 +#define TT_TT_MIATA_VVT 33 #define TT_TT_ONE 18 #define TT_TT_RENIX_44_2_2 44 #define TT_TT_RENIX_66_2_2_2 45 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 08e047685e..02e7615558 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 05:20:56 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 16:38:41 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 05:20:56 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 16:38:41 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 92ee2a999a..05be9422eb 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 1622863068 +#define SIGNATURE_HASH 3040749611 #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_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_FORD_ST170", "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_CHRYSLER_NGC_36_2_2", "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_FORD_ST170", "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.1622863068" +#define TS_SIGNATURE "rusEFI 2020.12.04.kin.3040749611" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 @@ -1570,6 +1570,7 @@ #define TT_TT_MAZDA_MIATA_NA 3 #define TT_TT_MAZDA_MIATA_NB1 4 #define TT_TT_MAZDA_SOHC_4 7 +#define TT_TT_MIATA_VVT 33 #define TT_TT_ONE 18 #define TT_TT_RENIX_44_2_2 44 #define TT_TT_RENIX_66_2_2_2 45 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures.h b/firmware/controllers/generated/engine_configuration_generated_structures.h index 44779ef4ec..714267c953 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 05:20:41 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Dec 04 16:38:29 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 05:20:41 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Dec 04 16:38:29 UTC 2020 diff --git a/firmware/controllers/generated/fsio_enums_generated.def b/firmware/controllers/generated/fsio_enums_generated.def index deec9290b9..e2cbff3733 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 05:20:41 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Dec 04 16:38:29 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 6d18d0caf5..d7fccfc004 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 05:20:41 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Dec 04 16:38:29 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 6a9b096ec7..1c5f8d61fb 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 05:20:41 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Dec 04 16:38:29 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 433ad3795c..7f873928ac 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 05:20:41 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Dec 04 16:38:29 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 d25e9b5f54..f99b356d57 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 4166480101 +#define SIGNATURE_HASH 768848914 #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_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_FORD_ST170", "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_CHRYSLER_NGC_36_2_2", "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_FORD_ST170", "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.4166480101" +#define TS_SIGNATURE "rusEFI 2020.12.04.all.768848914" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 @@ -1570,6 +1570,7 @@ #define TT_TT_MAZDA_MIATA_NA 3 #define TT_TT_MAZDA_MIATA_NB1 4 #define TT_TT_MAZDA_SOHC_4 7 +#define TT_TT_MIATA_VVT 33 #define TT_TT_ONE 18 #define TT_TT_RENIX_44_2_2 44 #define TT_TT_RENIX_66_2_2_2 45 diff --git a/firmware/controllers/generated/signature_all.h b/firmware/controllers/generated/signature_all.h index 26c9c559ab..c60dba7859 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 4166480101 -#define TS_SIGNATURE "rusEFI 2020.12.04.all.4166480101" +#define SIGNATURE_HASH 768848914 +#define TS_SIGNATURE "rusEFI 2020.12.04.all.768848914" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index c0c48147d1..4b9c6775a1 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 1848099102 -#define TS_SIGNATURE "rusEFI 2020.12.04.frankenso_na6.1848099102" +#define SIGNATURE_HASH 3148023273 +#define TS_SIGNATURE "rusEFI 2020.12.04.frankenso_na6.3148023273" diff --git a/firmware/controllers/generated/signature_hellen_cypress.h b/firmware/controllers/generated/signature_hellen_cypress.h index 7eb13ee9da..d688e48510 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 833017382 -#define TS_SIGNATURE "rusEFI 2020.12.04.hellen_cypress.833017382" +#define SIGNATURE_HASH 3827438289 +#define TS_SIGNATURE "rusEFI 2020.12.04.hellen_cypress.3827438289" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index 0af9860886..7d902a4233 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 1622863068 -#define TS_SIGNATURE "rusEFI 2020.12.04.kin.1622863068" +#define SIGNATURE_HASH 3040749611 +#define TS_SIGNATURE "rusEFI 2020.12.04.kin.3040749611" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index 2eae29101a..886e0e9d48 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 4018646684 -#define TS_SIGNATURE "rusEFI 2020.12.04.mre_f4.4018646684" +#define SIGNATURE_HASH 973302379 +#define TS_SIGNATURE "rusEFI 2020.12.04.mre_f4.973302379" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index 27a4a480de..1c12889918 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 4018646684 -#define TS_SIGNATURE "rusEFI 2020.12.04.mre_f7.4018646684" +#define SIGNATURE_HASH 973302379 +#define TS_SIGNATURE "rusEFI 2020.12.04.mre_f7.973302379" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index 5f4759de29..0b0739f80d 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 3129964212 -#define TS_SIGNATURE "rusEFI 2020.12.04.prometheus_405.3129964212" +#define SIGNATURE_HASH 1863037507 +#define TS_SIGNATURE "rusEFI 2020.12.04.prometheus_405.1863037507" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index 9f7845aa7a..ce02f29082 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 3129964212 -#define TS_SIGNATURE "rusEFI 2020.12.04.prometheus_469.3129964212" +#define SIGNATURE_HASH 1863037507 +#define TS_SIGNATURE "rusEFI 2020.12.04.prometheus_469.1863037507" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index 3094946809..72ede37482 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 838679099 -#define TS_SIGNATURE "rusEFI 2020.12.04.proteus_f4.838679099" +#define SIGNATURE_HASH 3833200332 +#define TS_SIGNATURE "rusEFI 2020.12.04.proteus_f4.3833200332" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 7b9e54bbfa..848d2b6ebc 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 838679099 -#define TS_SIGNATURE "rusEFI 2020.12.04.proteus_f7.838679099" +#define SIGNATURE_HASH 3833200332 +#define TS_SIGNATURE "rusEFI 2020.12.04.proteus_f7.3833200332" diff --git a/firmware/tunerstudio/generated/cache.zip b/firmware/tunerstudio/generated/cache.zip index f55828cbc0cc11708a44af33c1e9eee3bb725978..f4f8e960339aac0d5bf286bb086431921f7948fd 100644 GIT binary patch delta 88708 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 YM`K|h{}1CU`tN5Y7)(6~iT>&T12m9+I{*Lx delta 88636 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 - +