From 618e7edc2cc0b4fc35ca6f36cde8013b748b6eba Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Fri, 5 Nov 2021 11:19:56 +0000 Subject: [PATCH] Auto-generated configs and docs --- ...ngine_configuration_generated_structures.h | 4 ++-- .../controllers/algo/rusefi_generated.h | 11 ++++++----- ...ngine_configuration_generated_structures.h | 4 ++-- .../controllers/algo/rusefi_generated.h | 11 ++++++----- ...ngine_configuration_generated_structures.h | 4 ++-- .../controllers/algo/rusefi_generated.h | 11 ++++++----- .../algo/auto_generated_enginetypes.cpp | 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 | 11 ++++++----- .../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_hellen88bmw.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 2111288 -> 2111393 bytes firmware/tunerstudio/generated/rusefi.ini | 8 ++++---- .../tunerstudio/generated/rusefi_atlas.ini | 8 ++++---- .../generated/rusefi_f429-discovery.ini | 8 ++++---- .../generated/rusefi_frankenso_na6.ini | 8 ++++---- .../generated/rusefi_hellen-nb1.ini | 8 ++++---- .../generated/rusefi_hellen121nissan.ini | 8 ++++---- .../generated/rusefi_hellen121vag.ini | 8 ++++---- .../generated/rusefi_hellen128mercedes.ini | 8 ++++---- .../generated/rusefi_hellen154hyundai.ini | 8 ++++---- .../tunerstudio/generated/rusefi_hellen72.ini | 8 ++++---- .../generated/rusefi_hellen88bmw.ini | 8 ++++---- .../generated/rusefi_hellenNA6.ini | 8 ++++---- .../generated/rusefi_hellen_cypress.ini | 8 ++++---- .../tunerstudio/generated/rusefi_kinetis.ini | 8 ++++---- .../tunerstudio/generated/rusefi_mre_f4.ini | 8 ++++---- .../tunerstudio/generated/rusefi_mre_f7.ini | 8 ++++---- .../generated/rusefi_prometheus_405.ini | 8 ++++---- .../generated/rusefi_prometheus_469.ini | 8 ++++---- .../generated/rusefi_proteus_f4.ini | 8 ++++---- .../generated/rusefi_proteus_f7.ini | 8 ++++---- .../generated/rusefi_subaru_eg33_f7.ini | 8 ++++---- .../java/com/rusefi/enums/trigger_type_e.java | 1 + .../com/rusefi/config/generated/Fields.java | 11 ++++++----- java_console/rusefi.xml | 2 +- 59 files changed, 173 insertions(+), 165 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 ab587406c0..2e261ec761 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 Nov 05 03:36:14 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Fri Nov 05 11:18:34 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -4434,4 +4434,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 Fri Nov 05 03:36:14 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Fri Nov 05 11:18:34 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 b39893429d..dad49d9010 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 @@ -1816,7 +1816,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD hellen_cypress #define SIGNATURE_DATE 2021.11.05 -#define SIGNATURE_HASH 592091035 +#define SIGNATURE_HASH 1339582607 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -2062,8 +2062,8 @@ #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_UNUSED_10", "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_SUBARU_7_WITHOUT_6", "TT_52", "TT_TRI_TACH", "TT_GM_60_2_2_2", "TT_SKODA_FAVORIT", "TT_VVT_BARRA_3_PLUS_1", "TT_KAWA_KX450F", "TT_NISSAN_VQ35", "TT_VVT_NISSAN_VQ35", "TT_NISSAN_VQ30", "TT_NISSAN_QR25", "TT_TEMP_62", "TT_SUBARU_SVX_CRANK_1", "TT_SUBARU_SVX_CAM_VVT", "TT_FORD_TFI_PIP", "TT_SUZUKI_G13B", "TT_HONDA_K_4_1", "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", "Subaru 7 without 6", "trg52", "TriTach", "GM 60/2/2/2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "trg59", "Nissan VQ30", "Nissan QR25", "trg62", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "trg68", "trg69" +#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_UNUSED_10", "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_SUBARU_7_WITHOUT_6", "TT_52", "TT_TRI_TACH", "TT_GM_60_2_2_2", "TT_SKODA_FAVORIT", "TT_VVT_BARRA_3_PLUS_1", "TT_KAWA_KX450F", "TT_NISSAN_VQ35", "TT_VVT_NISSAN_VQ35", "TT_NISSAN_VQ30", "TT_NISSAN_QR25", "TT_TEMP_62", "TT_SUBARU_SVX_CRANK_1", "TT_SUBARU_SVX_CAM_VVT", "TT_FORD_TFI_PIP", "TT_SUZUKI_G13B", "TT_HONDA_K_4_1", "TT_NISSAN_MR18_CRANK", "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", "Subaru 7 without 6", "trg52", "TriTach", "GM 60/2/2/2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "trg59", "Nissan VQ30", "Nissan QR25", "trg62", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "trg69" #define trigger_type_e_Force_4_bytes_size_trigger_type ENUM_32_BITS #define trigger_type_e_TT_1_16 50 #define trigger_type_e_TT_2JZ_1_12 29 @@ -2104,6 +2104,7 @@ #define trigger_type_e_TT_MAZDA_SOHC_4 7 #define trigger_type_e_TT_MIATA_VVT 33 #define trigger_type_e_TT_MITSUBISHI 11 +#define trigger_type_e_TT_NISSAN_MR18_CRANK 68 #define trigger_type_e_TT_NISSAN_QR25 61 #define trigger_type_e_TT_NISSAN_SR20VE 24 #define trigger_type_e_TT_NISSAN_SR20VE_360 38 @@ -2127,7 +2128,7 @@ #define trigger_type_e_TT_TOOTHED_WHEEL_36_2 48 #define trigger_type_e_TT_TOOTHED_WHEEL_60_2 8 #define trigger_type_e_TT_TRI_TACH 53 -#define trigger_type_e_TT_UNUSED 68 +#define trigger_type_e_TT_UNUSED 69 #define trigger_type_e_TT_UNUSED_10 10 #define trigger_type_e_TT_VVT_BARRA_3_PLUS_1 56 #define trigger_type_e_TT_VVT_BOSCH_QUICK_START 47 @@ -2324,7 +2325,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.11.05.hellen_cypress.592091035" +#define TS_SIGNATURE "rusEFI 2021.11.05.hellen_cypress.1339582607" #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 eb71c8d07c..e32f48f6ff 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 Nov 05 03:36:12 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Fri Nov 05 11:18:32 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -4428,4 +4428,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 Fri Nov 05 03:36:12 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Fri Nov 05 11:18:32 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 76dd871dbc..c7cabd9365 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h @@ -1801,7 +1801,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD kin #define SIGNATURE_DATE 2021.11.05 -#define SIGNATURE_HASH 3706674023 +#define SIGNATURE_HASH 2961024115 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -2047,8 +2047,8 @@ #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_UNUSED_10", "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_SUBARU_7_WITHOUT_6", "TT_52", "TT_TRI_TACH", "TT_GM_60_2_2_2", "TT_SKODA_FAVORIT", "TT_VVT_BARRA_3_PLUS_1", "TT_KAWA_KX450F", "TT_NISSAN_VQ35", "TT_VVT_NISSAN_VQ35", "TT_NISSAN_VQ30", "TT_NISSAN_QR25", "TT_TEMP_62", "TT_SUBARU_SVX_CRANK_1", "TT_SUBARU_SVX_CAM_VVT", "TT_FORD_TFI_PIP", "TT_SUZUKI_G13B", "TT_HONDA_K_4_1", "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", "Subaru 7 without 6", "trg52", "TriTach", "GM 60/2/2/2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "trg59", "Nissan VQ30", "Nissan QR25", "trg62", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "trg68", "trg69" +#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_UNUSED_10", "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_SUBARU_7_WITHOUT_6", "TT_52", "TT_TRI_TACH", "TT_GM_60_2_2_2", "TT_SKODA_FAVORIT", "TT_VVT_BARRA_3_PLUS_1", "TT_KAWA_KX450F", "TT_NISSAN_VQ35", "TT_VVT_NISSAN_VQ35", "TT_NISSAN_VQ30", "TT_NISSAN_QR25", "TT_TEMP_62", "TT_SUBARU_SVX_CRANK_1", "TT_SUBARU_SVX_CAM_VVT", "TT_FORD_TFI_PIP", "TT_SUZUKI_G13B", "TT_HONDA_K_4_1", "TT_NISSAN_MR18_CRANK", "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", "Subaru 7 without 6", "trg52", "TriTach", "GM 60/2/2/2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "trg59", "Nissan VQ30", "Nissan QR25", "trg62", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "trg69" #define trigger_type_e_Force_4_bytes_size_trigger_type ENUM_32_BITS #define trigger_type_e_TT_1_16 50 #define trigger_type_e_TT_2JZ_1_12 29 @@ -2089,6 +2089,7 @@ #define trigger_type_e_TT_MAZDA_SOHC_4 7 #define trigger_type_e_TT_MIATA_VVT 33 #define trigger_type_e_TT_MITSUBISHI 11 +#define trigger_type_e_TT_NISSAN_MR18_CRANK 68 #define trigger_type_e_TT_NISSAN_QR25 61 #define trigger_type_e_TT_NISSAN_SR20VE 24 #define trigger_type_e_TT_NISSAN_SR20VE_360 38 @@ -2112,7 +2113,7 @@ #define trigger_type_e_TT_TOOTHED_WHEEL_36_2 48 #define trigger_type_e_TT_TOOTHED_WHEEL_60_2 8 #define trigger_type_e_TT_TRI_TACH 53 -#define trigger_type_e_TT_UNUSED 68 +#define trigger_type_e_TT_UNUSED 69 #define trigger_type_e_TT_UNUSED_10 10 #define trigger_type_e_TT_VVT_BARRA_3_PLUS_1 56 #define trigger_type_e_TT_VVT_BOSCH_QUICK_START 47 @@ -2309,7 +2310,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator true #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.11.05.kin.3706674023" +#define TS_SIGNATURE "rusEFI 2021.11.05.kin.2961024115" #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 1d43869b55..ce40ee12e8 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 Fri Nov 05 03:36:17 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 Fri Nov 05 11:18:37 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -4434,4 +4434,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 Fri Nov 05 03:36:17 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 Fri Nov 05 11:18:37 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 4fb92914c6..acf67c35eb 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 @@ -1829,7 +1829,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD subaru_eg33_f7 #define SIGNATURE_DATE 2021.11.05 -#define SIGNATURE_HASH 4106004264 +#define SIGNATURE_HASH 2553174076 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -2075,8 +2075,8 @@ #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_UNUSED_10", "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_SUBARU_7_WITHOUT_6", "TT_52", "TT_TRI_TACH", "TT_GM_60_2_2_2", "TT_SKODA_FAVORIT", "TT_VVT_BARRA_3_PLUS_1", "TT_KAWA_KX450F", "TT_NISSAN_VQ35", "TT_VVT_NISSAN_VQ35", "TT_NISSAN_VQ30", "TT_NISSAN_QR25", "TT_TEMP_62", "TT_SUBARU_SVX_CRANK_1", "TT_SUBARU_SVX_CAM_VVT", "TT_FORD_TFI_PIP", "TT_SUZUKI_G13B", "TT_HONDA_K_4_1", "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", "Subaru 7 without 6", "trg52", "TriTach", "GM 60/2/2/2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "trg59", "Nissan VQ30", "Nissan QR25", "trg62", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "trg68", "trg69" +#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_UNUSED_10", "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_SUBARU_7_WITHOUT_6", "TT_52", "TT_TRI_TACH", "TT_GM_60_2_2_2", "TT_SKODA_FAVORIT", "TT_VVT_BARRA_3_PLUS_1", "TT_KAWA_KX450F", "TT_NISSAN_VQ35", "TT_VVT_NISSAN_VQ35", "TT_NISSAN_VQ30", "TT_NISSAN_QR25", "TT_TEMP_62", "TT_SUBARU_SVX_CRANK_1", "TT_SUBARU_SVX_CAM_VVT", "TT_FORD_TFI_PIP", "TT_SUZUKI_G13B", "TT_HONDA_K_4_1", "TT_NISSAN_MR18_CRANK", "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", "Subaru 7 without 6", "trg52", "TriTach", "GM 60/2/2/2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "trg59", "Nissan VQ30", "Nissan QR25", "trg62", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "trg69" #define trigger_type_e_Force_4_bytes_size_trigger_type ENUM_32_BITS #define trigger_type_e_TT_1_16 50 #define trigger_type_e_TT_2JZ_1_12 29 @@ -2117,6 +2117,7 @@ #define trigger_type_e_TT_MAZDA_SOHC_4 7 #define trigger_type_e_TT_MIATA_VVT 33 #define trigger_type_e_TT_MITSUBISHI 11 +#define trigger_type_e_TT_NISSAN_MR18_CRANK 68 #define trigger_type_e_TT_NISSAN_QR25 61 #define trigger_type_e_TT_NISSAN_SR20VE 24 #define trigger_type_e_TT_NISSAN_SR20VE_360 38 @@ -2140,7 +2141,7 @@ #define trigger_type_e_TT_TOOTHED_WHEEL_36_2 48 #define trigger_type_e_TT_TOOTHED_WHEEL_60_2 8 #define trigger_type_e_TT_TRI_TACH 53 -#define trigger_type_e_TT_UNUSED 68 +#define trigger_type_e_TT_UNUSED 69 #define trigger_type_e_TT_UNUSED_10 10 #define trigger_type_e_TT_VVT_BARRA_3_PLUS_1 56 #define trigger_type_e_TT_VVT_BOSCH_QUICK_START 47 @@ -2337,7 +2338,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port false -#define TS_SIGNATURE "rusEFI 2021.11.05.subaru_eg33_f7.4106004264" +#define TS_SIGNATURE "rusEFI 2021.11.05.subaru_eg33_f7.2553174076" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' diff --git a/firmware/controllers/algo/auto_generated_enginetypes.cpp b/firmware/controllers/algo/auto_generated_enginetypes.cpp index c2ea3e7ff5..7a5cb04705 100644 --- a/firmware/controllers/algo/auto_generated_enginetypes.cpp +++ b/firmware/controllers/algo/auto_generated_enginetypes.cpp @@ -1,6 +1,6 @@ #include "global.h" #include "engine_types.h" -// was generated automatically by rusEFI tool from engine_types.h // by enum2string.jar tool on Thu Oct 28 13:21:58 EDT 2021 +// was generated automatically by rusEFI tool from engine_types.h // by enum2string.jar tool on Fri Nov 05 11:17:43 UTC 2021 // see also gen_config_and_enums.bat @@ -431,6 +431,8 @@ case TT_MIATA_VVT: return "TT_MIATA_VVT"; case TT_MITSUBISHI: return "TT_MITSUBISHI"; +case TT_NISSAN_MR18_CRANK: + return "TT_NISSAN_MR18_CRANK"; case TT_NISSAN_QR25: return "TT_NISSAN_QR25"; case TT_NISSAN_SR20VE: diff --git a/firmware/controllers/generated/engine_configuration_generated_structures.h b/firmware/controllers/generated/engine_configuration_generated_structures.h index 15e8abb65a..234ec225cf 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 Nov 05 03:36:10 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Nov 05 11:18:29 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -4434,4 +4434,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 Fri Nov 05 03:36:10 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Nov 05 11:18:29 UTC 2021 diff --git a/firmware/controllers/generated/fsio_enums_generated.def b/firmware/controllers/generated/fsio_enums_generated.def index ef5acf2211..a236323b3e 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 Nov 05 03:36:10 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Nov 05 11:18:29 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 d5ff2a8b88..83da7d313d 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 Nov 05 03:36:10 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Nov 05 11:18:29 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 b9c6ef9caf..e518c0eee0 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 Nov 05 03:36:10 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Nov 05 11:18:29 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 5352232726..af603c5e01 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 Nov 05 03:36:10 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Nov 05 11:18:29 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 9e162dcb58..e122547d5c 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -1816,7 +1816,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD all #define SIGNATURE_DATE 2021.11.05 -#define SIGNATURE_HASH 1856319244 +#define SIGNATURE_HASH 37212184 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -2062,8 +2062,8 @@ #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_UNUSED_10", "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_SUBARU_7_WITHOUT_6", "TT_52", "TT_TRI_TACH", "TT_GM_60_2_2_2", "TT_SKODA_FAVORIT", "TT_VVT_BARRA_3_PLUS_1", "TT_KAWA_KX450F", "TT_NISSAN_VQ35", "TT_VVT_NISSAN_VQ35", "TT_NISSAN_VQ30", "TT_NISSAN_QR25", "TT_TEMP_62", "TT_SUBARU_SVX_CRANK_1", "TT_SUBARU_SVX_CAM_VVT", "TT_FORD_TFI_PIP", "TT_SUZUKI_G13B", "TT_HONDA_K_4_1", "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", "Subaru 7 without 6", "trg52", "TriTach", "GM 60/2/2/2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "trg59", "Nissan VQ30", "Nissan QR25", "trg62", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "trg68", "trg69" +#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_UNUSED_10", "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_SUBARU_7_WITHOUT_6", "TT_52", "TT_TRI_TACH", "TT_GM_60_2_2_2", "TT_SKODA_FAVORIT", "TT_VVT_BARRA_3_PLUS_1", "TT_KAWA_KX450F", "TT_NISSAN_VQ35", "TT_VVT_NISSAN_VQ35", "TT_NISSAN_VQ30", "TT_NISSAN_QR25", "TT_TEMP_62", "TT_SUBARU_SVX_CRANK_1", "TT_SUBARU_SVX_CAM_VVT", "TT_FORD_TFI_PIP", "TT_SUZUKI_G13B", "TT_HONDA_K_4_1", "TT_NISSAN_MR18_CRANK", "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", "Subaru 7 without 6", "trg52", "TriTach", "GM 60/2/2/2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "trg59", "Nissan VQ30", "Nissan QR25", "trg62", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "trg69" #define trigger_type_e_Force_4_bytes_size_trigger_type ENUM_32_BITS #define trigger_type_e_TT_1_16 50 #define trigger_type_e_TT_2JZ_1_12 29 @@ -2104,6 +2104,7 @@ #define trigger_type_e_TT_MAZDA_SOHC_4 7 #define trigger_type_e_TT_MIATA_VVT 33 #define trigger_type_e_TT_MITSUBISHI 11 +#define trigger_type_e_TT_NISSAN_MR18_CRANK 68 #define trigger_type_e_TT_NISSAN_QR25 61 #define trigger_type_e_TT_NISSAN_SR20VE 24 #define trigger_type_e_TT_NISSAN_SR20VE_360 38 @@ -2127,7 +2128,7 @@ #define trigger_type_e_TT_TOOTHED_WHEEL_36_2 48 #define trigger_type_e_TT_TOOTHED_WHEEL_60_2 8 #define trigger_type_e_TT_TRI_TACH 53 -#define trigger_type_e_TT_UNUSED 68 +#define trigger_type_e_TT_UNUSED 69 #define trigger_type_e_TT_UNUSED_10 10 #define trigger_type_e_TT_VVT_BARRA_3_PLUS_1 56 #define trigger_type_e_TT_VVT_BOSCH_QUICK_START 47 @@ -2324,7 +2325,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.11.05.all.1856319244" +#define TS_SIGNATURE "rusEFI 2021.11.05.all.37212184" #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 f068d3d56d..5f4025ed7c 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.11.05 -#define SIGNATURE_HASH 1856319244 -#define TS_SIGNATURE "rusEFI 2021.11.05.all.1856319244" +#define SIGNATURE_HASH 37212184 +#define TS_SIGNATURE "rusEFI 2021.11.05.all.37212184" diff --git a/firmware/controllers/generated/signature_atlas.h b/firmware/controllers/generated/signature_atlas.h index b384af5efa..a076170c74 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.11.05 -#define SIGNATURE_HASH 1919932971 -#define TS_SIGNATURE "rusEFI 2021.11.05.atlas.1919932971" +#define SIGNATURE_HASH 519906623 +#define TS_SIGNATURE "rusEFI 2021.11.05.atlas.519906623" diff --git a/firmware/controllers/generated/signature_f429-discovery.h b/firmware/controllers/generated/signature_f429-discovery.h index 884d5ae037..5626474233 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.11.05 -#define SIGNATURE_HASH 1856319244 -#define TS_SIGNATURE "rusEFI 2021.11.05.f429-discovery.1856319244" +#define SIGNATURE_HASH 37212184 +#define TS_SIGNATURE "rusEFI 2021.11.05.f429-discovery.37212184" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index fe6b1b1009..981d55d488 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.11.05 -#define SIGNATURE_HASH 345471717 -#define TS_SIGNATURE "rusEFI 2021.11.05.frankenso_na6.345471717" +#define SIGNATURE_HASH 2013627889 +#define TS_SIGNATURE "rusEFI 2021.11.05.frankenso_na6.2013627889" diff --git a/firmware/controllers/generated/signature_hellen-nb1.h b/firmware/controllers/generated/signature_hellen-nb1.h index f692cd2bd4..a2a278fa26 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.11.05 -#define SIGNATURE_HASH 151169317 -#define TS_SIGNATURE "rusEFI 2021.11.05.hellen-nb1.151169317" +#define SIGNATURE_HASH 1703958065 +#define TS_SIGNATURE "rusEFI 2021.11.05.hellen-nb1.1703958065" diff --git a/firmware/controllers/generated/signature_hellen121nissan.h b/firmware/controllers/generated/signature_hellen121nissan.h index 53594c7fe4..c71238d111 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.11.05 -#define SIGNATURE_HASH 3847518030 -#define TS_SIGNATURE "rusEFI 2021.11.05.hellen121nissan.3847518030" +#define SIGNATURE_HASH 2311489626 +#define TS_SIGNATURE "rusEFI 2021.11.05.hellen121nissan.2311489626" diff --git a/firmware/controllers/generated/signature_hellen121vag.h b/firmware/controllers/generated/signature_hellen121vag.h index d621cb4bd3..2f754b5577 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.11.05 -#define SIGNATURE_HASH 1028247370 -#define TS_SIGNATURE "rusEFI 2021.11.05.hellen121vag.1028247370" +#define SIGNATURE_HASH 1373319262 +#define TS_SIGNATURE "rusEFI 2021.11.05.hellen121vag.1373319262" diff --git a/firmware/controllers/generated/signature_hellen128.h b/firmware/controllers/generated/signature_hellen128.h index 5521df398d..e371de6e49 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.11.05 -#define SIGNATURE_HASH 3097835484 -#define TS_SIGNATURE "rusEFI 2021.11.05.hellen128.3097835484" +#define SIGNATURE_HASH 3560425672 +#define TS_SIGNATURE "rusEFI 2021.11.05.hellen128.3560425672" diff --git a/firmware/controllers/generated/signature_hellen154hyundai.h b/firmware/controllers/generated/signature_hellen154hyundai.h index a5fa25f01f..f9b517569b 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.11.05 -#define SIGNATURE_HASH 718965046 -#define TS_SIGNATURE "rusEFI 2021.11.05.hellen154hyundai.718965046" +#define SIGNATURE_HASH 1179153954 +#define TS_SIGNATURE "rusEFI 2021.11.05.hellen154hyundai.1179153954" diff --git a/firmware/controllers/generated/signature_hellen72.h b/firmware/controllers/generated/signature_hellen72.h index 48e9f84933..5449140875 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.11.05 -#define SIGNATURE_HASH 137383723 -#define TS_SIGNATURE "rusEFI 2021.11.05.hellen72.137383723" +#define SIGNATURE_HASH 1688383551 +#define TS_SIGNATURE "rusEFI 2021.11.05.hellen72.1688383551" diff --git a/firmware/controllers/generated/signature_hellen88bmw.h b/firmware/controllers/generated/signature_hellen88bmw.h index 45f701ee5d..9390226dc4 100644 --- a/firmware/controllers/generated/signature_hellen88bmw.h +++ b/firmware/controllers/generated/signature_hellen88bmw.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD hellen88bmw #define SIGNATURE_DATE 2021.11.05 -#define SIGNATURE_HASH 2552615905 -#define TS_SIGNATURE "rusEFI 2021.11.05.hellen88bmw.2552615905" +#define SIGNATURE_HASH 4105645301 +#define TS_SIGNATURE "rusEFI 2021.11.05.hellen88bmw.4105645301" diff --git a/firmware/controllers/generated/signature_hellenNA6.h b/firmware/controllers/generated/signature_hellenNA6.h index 4f6deac73a..82c03d5783 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.11.05 -#define SIGNATURE_HASH 3757909506 -#define TS_SIGNATURE "rusEFI 2021.11.05.hellenNA6.3757909506" +#define SIGNATURE_HASH 3010451734 +#define TS_SIGNATURE "rusEFI 2021.11.05.hellenNA6.3010451734" diff --git a/firmware/controllers/generated/signature_hellen_cypress.h b/firmware/controllers/generated/signature_hellen_cypress.h index 411bb3cd7a..29e19bfa9e 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.11.05 -#define SIGNATURE_HASH 592091035 -#define TS_SIGNATURE "rusEFI 2021.11.05.hellen_cypress.592091035" +#define SIGNATURE_HASH 1339582607 +#define TS_SIGNATURE "rusEFI 2021.11.05.hellen_cypress.1339582607" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index eebc831405..2bd539ca2d 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.11.05 -#define SIGNATURE_HASH 3706674023 -#define TS_SIGNATURE "rusEFI 2021.11.05.kin.3706674023" +#define SIGNATURE_HASH 2961024115 +#define TS_SIGNATURE "rusEFI 2021.11.05.kin.2961024115" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index 55954bae6d..d5f1411f8e 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.11.05 -#define SIGNATURE_HASH 3862247576 -#define TS_SIGNATURE "rusEFI 2021.11.05.mre_f4.3862247576" +#define SIGNATURE_HASH 2326251404 +#define TS_SIGNATURE "rusEFI 2021.11.05.mre_f4.2326251404" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index cab55540df..c2714cf0b9 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.11.05 -#define SIGNATURE_HASH 3862247576 -#define TS_SIGNATURE "rusEFI 2021.11.05.mre_f7.3862247576" +#define SIGNATURE_HASH 2326251404 +#define TS_SIGNATURE "rusEFI 2021.11.05.mre_f7.2326251404" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index 23e62cabbe..ee63e8a51e 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.11.05 -#define SIGNATURE_HASH 1045427946 -#define TS_SIGNATURE "rusEFI 2021.11.05.prometheus_405.1045427946" +#define SIGNATURE_HASH 1390217726 +#define TS_SIGNATURE "rusEFI 2021.11.05.prometheus_405.1390217726" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index 32d9b8a2f0..246b6b6fcb 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.11.05 -#define SIGNATURE_HASH 1045427946 -#define TS_SIGNATURE "rusEFI 2021.11.05.prometheus_469.1045427946" +#define SIGNATURE_HASH 1390217726 +#define TS_SIGNATURE "rusEFI 2021.11.05.prometheus_469.1390217726" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index ef1ec9b6c9..eecc62c839 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.11.05 -#define SIGNATURE_HASH 4030818256 -#define TS_SIGNATURE "rusEFI 2021.11.05.proteus_f4.4030818256" +#define SIGNATURE_HASH 2631112900 +#define TS_SIGNATURE "rusEFI 2021.11.05.proteus_f4.2631112900" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index a7f6a8a039..947509048f 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.11.05 -#define SIGNATURE_HASH 4030818256 -#define TS_SIGNATURE "rusEFI 2021.11.05.proteus_f7.4030818256" +#define SIGNATURE_HASH 2631112900 +#define TS_SIGNATURE "rusEFI 2021.11.05.proteus_f7.2631112900" diff --git a/firmware/controllers/generated/signature_subaru_eg33_f7.h b/firmware/controllers/generated/signature_subaru_eg33_f7.h index 8e93c5ab30..5b88f722a0 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.11.05 -#define SIGNATURE_HASH 4106004264 -#define TS_SIGNATURE "rusEFI 2021.11.05.subaru_eg33_f7.4106004264" +#define SIGNATURE_HASH 2553174076 +#define TS_SIGNATURE "rusEFI 2021.11.05.subaru_eg33_f7.2553174076" diff --git a/firmware/tunerstudio/generated/cache.zip b/firmware/tunerstudio/generated/cache.zip index 7b2f2c02784468de460a67e8eac337aa01e5c174..d12ca4b2be7f2524af44fab37ed52a1a067abd5e 100644 GIT binary patch delta 419386 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 - +