From 8e409c371200db8d36c5df45c7a4f5bbe56b9128 Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Mon, 24 May 2021 00:00:27 +0000 Subject: [PATCH] Auto-generated configs and docs --- ...ngine_configuration_generated_structures.h | 15 ++-- .../controllers/algo/rusefi_generated.h | 29 ++++++-- ...ngine_configuration_generated_structures.h | 15 ++-- .../controllers/algo/rusefi_generated.h | 29 ++++++-- ...ngine_configuration_generated_structures.h | 15 ++-- .../controllers/algo/rusefi_generated.h | 29 ++++++-- ...ngine_configuration_generated_structures.h | 15 ++-- .../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 | 29 ++++++-- .../controllers/generated/signature_all.h | 6 +- .../generated/signature_frankenso_na6.h | 6 +- .../generated/signature_hellen121nissan.h | 6 +- .../generated/signature_hellen121vag.h | 6 +- .../generated/signature_hellen128.h | 6 +- .../generated/signature_hellen72.h | 6 +- .../generated/signature_hellenNA6.h | 6 +- .../generated/signature_hellen_cypress.h | 6 +- .../controllers/generated/signature_kin.h | 6 +- .../controllers/generated/signature_mre_f4.h | 6 +- .../controllers/generated/signature_mre_f7.h | 6 +- .../generated/signature_prometheus_405.h | 6 +- .../generated/signature_prometheus_469.h | 6 +- .../generated/signature_proteus_f4.h | 6 +- .../generated/signature_proteus_f7.h | 6 +- .../generated/signature_subaru_eg33_f7.h | 6 +- firmware/tunerstudio/generated/cache.zip | Bin 1503432 -> 1504840 bytes firmware/tunerstudio/generated/rusefi.ini | 28 ++++++-- .../generated/rusefi_frankenso_na6.ini | 28 ++++++-- .../generated/rusefi_hellen121nissan.ini | 28 ++++++-- .../generated/rusefi_hellen121vag.ini | 28 ++++++-- .../generated/rusefi_hellen128.ini | 28 ++++++-- .../tunerstudio/generated/rusefi_hellen72.ini | 28 ++++++-- .../generated/rusefi_hellenNA6.ini | 28 ++++++-- .../generated/rusefi_hellen_cypress.ini | 28 ++++++-- .../tunerstudio/generated/rusefi_kinetis.ini | 28 ++++++-- .../tunerstudio/generated/rusefi_mre_f4.ini | 28 ++++++-- .../tunerstudio/generated/rusefi_mre_f7.ini | 28 ++++++-- .../generated/rusefi_prometheus_405.ini | 28 ++++++-- .../generated/rusefi_prometheus_469.ini | 28 ++++++-- .../generated/rusefi_proteus_f4.ini | 28 ++++++-- .../generated/rusefi_proteus_f7.ini | 28 ++++++-- .../generated/rusefi_subaru_eg33_f7.ini | 28 ++++++-- .../com/rusefi/config/generated/Fields.java | 68 ++++++++++++++++-- java_console/rusefi.xml | 2 +- 47 files changed, 618 insertions(+), 180 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 b71ca63c43..f027a1dc79 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 Sun May 23 18:16:24 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Sun May 23 23:59:41 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -678,7 +678,7 @@ struct engine_configuration_s { bool isVerboseAuxPid1 : 1; /** offset 76 bit 3 */ - bool unused_294_3 : 1; + bool overrideTriggerGaps : 1; /** offset 76 bit 4 */ bool unused_294_4 : 1; @@ -3797,10 +3797,15 @@ struct engine_configuration_s { */ uint8_t alignmentFill_at_4539[1]; /** - units + ratio * offset 4540 */ - int mainUnusedEnd[365]; + float triggerGapOverride[GAP_TRACKING_LENGTH]; + /** + units + * offset 4612 + */ + int mainUnusedEnd[347]; /** total size 6000*/ }; @@ -4190,4 +4195,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 Sun May 23 18:16:24 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Sun May 23 23:59:41 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 02aa5d1040..60ba32213f 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 @@ -637,6 +637,7 @@ #define fuelPumpPin_offset 658 #define fuelPumpPinMode_offset 659 #define fuelReferencePressure_offset 2420 +#define GAP_TRACKING_LENGTH 18 #define GAUGE_COIL_DWELL_TIME "dwell: coil charge time" #define GAUGE_NAME_ACCEL_X "Acceleration: X" #define GAUGE_NAME_ACCEL_Y "Acceleration: Y" @@ -1087,7 +1088,7 @@ #define mafSensorType_offset 948 #define mainRelayPin_offset 706 #define mainRelayPinMode_offset 752 -#define mainUnusedEnd_offset 4540 +#define mainUnusedEnd_offset 4612 #define malfunctionIndicatorPin_offset 660 #define malfunctionIndicatorPinMode_offset 661 #define manIdlePosition_offset 608 @@ -1180,6 +1181,7 @@ #define operation_mode_e_auto_enum "OM_NONE", "FOUR_STROKE_CRANK_SENSOR", "FOUR_STROKE_CAM_SENSOR", "TWO_STROKE", "FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR", "FOUR_STROKE_THREE_TIMES_CRANK_SENSOR" #define output_pin_e_enum "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15", "PI0","PI1","PI2","PI3","PI4","PI5","PI6","PI7","PI8","PI9","PI10","PI11","PI12","PI13","PI14","PI15", "MC33972_1", "MC33972_2", "MC33972_3", "MC33972_4", "MC33972_5", "MC33972_6", "MC33972_7", "MC33972_8", "MC33972_9", "MC33972_10", "MC33972_11", "MC33972_12", "MC33972_13", "MC33972_14", "MC33972_15", "MC33972_16", "MC33972_17", "MC33972_18", "MC33972_19", "MC33972_20", "MC33972_21", "MC33972_22", "TLE8888_1", "TLE8888_2", "TLE8888_3", "TLE8888_4", "TLE8888_5", "TLE8888_6", "TLE8888_7", "TLE8888_8", "TLE8888_9", "TLE8888_10", "TLE8888_11", "TLE8888_12", "TLE8888_13", "TLE8888_14", "TLE8888_15", "TLE8888_16", "TLE8888_17", "TLE8888_18", "TLE8888_19", "TLE8888_20", "TLE8888_21", "TLE8888_22", "TLE8888_23", "TLE8888_24", "TLE8888_25", "TLE8888_26", "TLE8888_27", "TLE8888_28", "INVALID", "INVALID", "INVALID", "TLE6240_1", "TLE6240_2", "TLE6240_3", "TLE6240_4", "TLE6240_5", "TLE6240_6", "TLE6240_7", "TLE6240_8", "TLE6240_9", "TLE6240_10", "TLE6240_11", "TLE6240_12", "TLE6240_13", "TLE6240_14", "TLE6240_15", "TLE6240_16", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" #define overrideCrankingIacSetting_offset 1476 +#define overrideTriggerGaps_offset 76 #define PACK_ADD_TEMPERATURE 40 #define PACK_MULT_AFR 1000 #define PACK_MULT_AFR_CFG 10 @@ -1269,8 +1271,8 @@ #define showHumanReadableWarning_offset 976 #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD hellen_cypress -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 451124781 +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 4240265314 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1509,6 +1511,24 @@ #define triggerCompSensorSatRpm_offset 4039 #define triggerErrorPin_offset 828 #define triggerErrorPinMode_offset 829 +#define triggerGapOverride10_offset 4576 +#define triggerGapOverride11_offset 4580 +#define triggerGapOverride12_offset 4584 +#define triggerGapOverride13_offset 4588 +#define triggerGapOverride14_offset 4592 +#define triggerGapOverride15_offset 4596 +#define triggerGapOverride16_offset 4600 +#define triggerGapOverride17_offset 4604 +#define triggerGapOverride18_offset 4608 +#define triggerGapOverride1_offset 4540 +#define triggerGapOverride2_offset 4544 +#define triggerGapOverride3_offset 4548 +#define triggerGapOverride4_offset 4552 +#define triggerGapOverride5_offset 4556 +#define triggerGapOverride6_offset 4560 +#define triggerGapOverride7_offset 4564 +#define triggerGapOverride8_offset 4568 +#define triggerGapOverride9_offset 4572 #define triggerInputPins1_offset 700 #define triggerInputPins2_offset 701 #define triggerInputPins3_offset 702 @@ -1605,7 +1625,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.05.23.hellen_cypress.451124781" +#define TS_SIGNATURE "rusEFI 2021.05.24.hellen_cypress.4240265314" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 @@ -1697,7 +1717,6 @@ #define unused_1484_bit_29_offset 1476 #define unused_1484_bit_30_offset 1476 #define unused_1484_bit_31_offset 1476 -#define unused_294_3_offset 76 #define unused_294_4_offset 76 #define unused_294_5_offset 76 #define unused_294_6_offset 76 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 a3534baa06..9bf5e67462 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 Sun May 23 18:16:22 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sun May 23 23:59:40 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -678,7 +678,7 @@ struct engine_configuration_s { bool isVerboseAuxPid1 : 1; /** offset 76 bit 3 */ - bool unused_294_3 : 1; + bool overrideTriggerGaps : 1; /** offset 76 bit 4 */ bool unused_294_4 : 1; @@ -3791,10 +3791,15 @@ struct engine_configuration_s { */ uint8_t alignmentFill_at_4511[1]; /** - units + ratio * offset 4512 */ - int mainUnusedEnd[365]; + float triggerGapOverride[GAP_TRACKING_LENGTH]; + /** + units + * offset 4584 + */ + int mainUnusedEnd[347]; /** total size 5972*/ }; @@ -4184,4 +4189,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 Sun May 23 18:16:22 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sun May 23 23:59:40 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 284b40d698..5196b7f4c6 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h @@ -621,6 +621,7 @@ #define fuelPumpPin_offset 658 #define fuelPumpPinMode_offset 659 #define fuelReferencePressure_offset 2412 +#define GAP_TRACKING_LENGTH 18 #define GAUGE_COIL_DWELL_TIME "dwell: coil charge time" #define GAUGE_NAME_ACCEL_X "Acceleration: X" #define GAUGE_NAME_ACCEL_Y "Acceleration: Y" @@ -1071,7 +1072,7 @@ #define mafSensorType_offset 948 #define mainRelayPin_offset 706 #define mainRelayPinMode_offset 752 -#define mainUnusedEnd_offset 4512 +#define mainUnusedEnd_offset 4584 #define malfunctionIndicatorPin_offset 660 #define malfunctionIndicatorPinMode_offset 661 #define manIdlePosition_offset 608 @@ -1164,6 +1165,7 @@ #define operation_mode_e_auto_enum "OM_NONE", "FOUR_STROKE_CRANK_SENSOR", "FOUR_STROKE_CAM_SENSOR", "TWO_STROKE", "FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR", "FOUR_STROKE_THREE_TIMES_CRANK_SENSOR" #define output_pin_e_enum "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "N/A", "N/A", "PA10", "PA11", "PA12", "PA13", "N/A", "N/A", "N/A", "N/A", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "N/A", "N/A", "N/A", "N/A", "PB12", "PB13", "N/A", "N/A", "N/A", "N/A", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "N/A", "N/A", "N/A", "N/A", "PC14", "PC15", "PC16", "PC17", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "PD15", "PD16", "N/A", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "TLE6240_1", "TLE6240_2", "TLE6240_3", "TLE6240_4", "TLE6240_5", "TLE6240_6", "TLE6240_7", "TLE6240_8", "TLE6240_9", "TLE6240_10", "TLE6240_11", "TLE6240_12", "TLE6240_13", "TLE6240_14", "TLE6240_15", "TLE6240_16" #define overrideCrankingIacSetting_offset 1476 +#define overrideTriggerGaps_offset 76 #define PACK_ADD_TEMPERATURE 40 #define PACK_MULT_AFR 1000 #define PACK_MULT_AFR_CFG 10 @@ -1253,8 +1255,8 @@ #define showHumanReadableWarning_offset 976 #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD kin -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 3846591185 +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 51944606 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1493,6 +1495,24 @@ #define triggerCompSensorSatRpm_offset 4011 #define triggerErrorPin_offset 828 #define triggerErrorPinMode_offset 829 +#define triggerGapOverride10_offset 4548 +#define triggerGapOverride11_offset 4552 +#define triggerGapOverride12_offset 4556 +#define triggerGapOverride13_offset 4560 +#define triggerGapOverride14_offset 4564 +#define triggerGapOverride15_offset 4568 +#define triggerGapOverride16_offset 4572 +#define triggerGapOverride17_offset 4576 +#define triggerGapOverride18_offset 4580 +#define triggerGapOverride1_offset 4512 +#define triggerGapOverride2_offset 4516 +#define triggerGapOverride3_offset 4520 +#define triggerGapOverride4_offset 4524 +#define triggerGapOverride5_offset 4528 +#define triggerGapOverride6_offset 4532 +#define triggerGapOverride7_offset 4536 +#define triggerGapOverride8_offset 4540 +#define triggerGapOverride9_offset 4544 #define triggerInputPins1_offset 700 #define triggerInputPins2_offset 701 #define triggerInputPins3_offset 702 @@ -1589,7 +1609,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator true #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.05.23.kin.3846591185" +#define TS_SIGNATURE "rusEFI 2021.05.24.kin.51944606" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 @@ -1681,7 +1701,6 @@ #define unused_1484_bit_29_offset 1476 #define unused_1484_bit_30_offset 1476 #define unused_1484_bit_31_offset 1476 -#define unused_294_3_offset 76 #define unused_294_4_offset 76 #define unused_294_5_offset 76 #define unused_294_6_offset 76 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 e45bc502ad..291854ae25 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 Sun May 23 18:16:25 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 Sun May 23 23:59:43 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -678,7 +678,7 @@ struct engine_configuration_s { bool isVerboseAuxPid1 : 1; /** offset 76 bit 3 */ - bool unused_294_3 : 1; + bool overrideTriggerGaps : 1; /** offset 76 bit 4 */ bool unused_294_4 : 1; @@ -3797,10 +3797,15 @@ struct engine_configuration_s { */ uint8_t alignmentFill_at_4539[1]; /** - units + ratio * offset 4540 */ - int mainUnusedEnd[365]; + float triggerGapOverride[GAP_TRACKING_LENGTH]; + /** + units + * offset 4612 + */ + int mainUnusedEnd[347]; /** total size 6000*/ }; @@ -4190,4 +4195,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 Sun May 23 18:16:25 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 Sun May 23 23:59:43 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 c86c19c9e0..0d9e92d571 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 @@ -637,6 +637,7 @@ #define fuelPumpPin_offset 658 #define fuelPumpPinMode_offset 659 #define fuelReferencePressure_offset 2420 +#define GAP_TRACKING_LENGTH 18 #define GAUGE_COIL_DWELL_TIME "dwell: coil charge time" #define GAUGE_NAME_ACCEL_X "Acceleration: X" #define GAUGE_NAME_ACCEL_Y "Acceleration: Y" @@ -1087,7 +1088,7 @@ #define mafSensorType_offset 948 #define mainRelayPin_offset 706 #define mainRelayPinMode_offset 752 -#define mainUnusedEnd_offset 4540 +#define mainUnusedEnd_offset 4612 #define malfunctionIndicatorPin_offset 660 #define malfunctionIndicatorPinMode_offset 661 #define manIdlePosition_offset 608 @@ -1180,6 +1181,7 @@ #define operation_mode_e_auto_enum "OM_NONE", "FOUR_STROKE_CRANK_SENSOR", "FOUR_STROKE_CAM_SENSOR", "TWO_STROKE", "FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR", "FOUR_STROKE_THREE_TIMES_CRANK_SENSOR" #define output_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","D05 - Self Shutdown","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","D17 - FAN 1 relay","D03 - FAN 2 relay","C16 - Tacho out","C14 - FPump modulator","D23 - Fuel Pump relay","D22 - EGR control","D19 - Check Engine indicator","C15 - AUX1 OD out","D18 - Auxillary air valve","D06 - Absorber purge valve","D02 - IDLE open","D01 - IDLE close","INVALID","INVALID","B08 - AC clutch","D20 - Inertia-Resonance Super-Charger control","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","D13 - Injector 1","D11 - Injector 3","A01 - Injector 5","INVALID","D07 - Ignition 1","D09 - Ignition 3","INVALID","D21 - Ignition 5","D12 - Injector 2","D26 - Injector 4","A12 - Injector 6","INVALID","INVALID","D10 - Ignition 6","D08 - Ignition 2","D10 - Ignition 4" #define overrideCrankingIacSetting_offset 1476 +#define overrideTriggerGaps_offset 76 #define PACK_ADD_TEMPERATURE 40 #define PACK_MULT_AFR 1000 #define PACK_MULT_AFR_CFG 10 @@ -1269,8 +1271,8 @@ #define showHumanReadableWarning_offset 976 #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD subaru_eg33_f7 -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 3408387843 +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 762909004 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1509,6 +1511,24 @@ #define triggerCompSensorSatRpm_offset 4039 #define triggerErrorPin_offset 828 #define triggerErrorPinMode_offset 829 +#define triggerGapOverride10_offset 4576 +#define triggerGapOverride11_offset 4580 +#define triggerGapOverride12_offset 4584 +#define triggerGapOverride13_offset 4588 +#define triggerGapOverride14_offset 4592 +#define triggerGapOverride15_offset 4596 +#define triggerGapOverride16_offset 4600 +#define triggerGapOverride17_offset 4604 +#define triggerGapOverride18_offset 4608 +#define triggerGapOverride1_offset 4540 +#define triggerGapOverride2_offset 4544 +#define triggerGapOverride3_offset 4548 +#define triggerGapOverride4_offset 4552 +#define triggerGapOverride5_offset 4556 +#define triggerGapOverride6_offset 4560 +#define triggerGapOverride7_offset 4564 +#define triggerGapOverride8_offset 4568 +#define triggerGapOverride9_offset 4572 #define triggerInputPins1_offset 700 #define triggerInputPins2_offset 701 #define triggerInputPins3_offset 702 @@ -1605,7 +1625,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port false -#define TS_SIGNATURE "rusEFI 2021.05.23.subaru_eg33_f7.3408387843" +#define TS_SIGNATURE "rusEFI 2021.05.24.subaru_eg33_f7.762909004" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 @@ -1697,7 +1717,6 @@ #define unused_1484_bit_29_offset 1476 #define unused_1484_bit_30_offset 1476 #define unused_1484_bit_31_offset 1476 -#define unused_294_3_offset 76 #define unused_294_4_offset 76 #define unused_294_5_offset 76 #define unused_294_6_offset 76 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures.h b/firmware/controllers/generated/engine_configuration_generated_structures.h index 55d2ecbe25..e9d8c547da 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 Sun May 23 18:15:57 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun May 23 23:59:14 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -678,7 +678,7 @@ struct engine_configuration_s { bool isVerboseAuxPid1 : 1; /** offset 76 bit 3 */ - bool unused_294_3 : 1; + bool overrideTriggerGaps : 1; /** offset 76 bit 4 */ bool unused_294_4 : 1; @@ -3797,10 +3797,15 @@ struct engine_configuration_s { */ uint8_t alignmentFill_at_4539[1]; /** - units + ratio * offset 4540 */ - int mainUnusedEnd[365]; + float triggerGapOverride[GAP_TRACKING_LENGTH]; + /** + units + * offset 4612 + */ + int mainUnusedEnd[347]; /** total size 6000*/ }; @@ -4190,4 +4195,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 Sun May 23 18:15:57 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun May 23 23:59:14 UTC 2021 diff --git a/firmware/controllers/generated/fsio_enums_generated.def b/firmware/controllers/generated/fsio_enums_generated.def index b0631d5ebb..da4b68715e 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 Sun May 23 18:15:57 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun May 23 23:59:14 UTC 2021 // 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 0f9d6e770e..9a0b48f8c0 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 Sun May 23 18:15:57 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun May 23 23:59:14 UTC 2021 // 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 a32fe2b558..ca0265704c 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 Sun May 23 18:15:57 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun May 23 23:59:14 UTC 2021 // 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 f8423714d6..120055e469 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 Sun May 23 18:15:57 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun May 23 23:59:14 UTC 2021 // 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 5e267838e3..7a17fd3f79 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -635,6 +635,7 @@ #define fuelPumpPin_offset 658 #define fuelPumpPinMode_offset 659 #define fuelReferencePressure_offset 2420 +#define GAP_TRACKING_LENGTH 18 #define GAUGE_COIL_DWELL_TIME "dwell: coil charge time" #define GAUGE_NAME_ACCEL_X "Acceleration: X" #define GAUGE_NAME_ACCEL_Y "Acceleration: Y" @@ -1085,7 +1086,7 @@ #define mafSensorType_offset 948 #define mainRelayPin_offset 706 #define mainRelayPinMode_offset 752 -#define mainUnusedEnd_offset 4540 +#define mainUnusedEnd_offset 4612 #define malfunctionIndicatorPin_offset 660 #define malfunctionIndicatorPinMode_offset 661 #define manIdlePosition_offset 608 @@ -1178,6 +1179,7 @@ #define operation_mode_e_auto_enum "OM_NONE", "FOUR_STROKE_CRANK_SENSOR", "FOUR_STROKE_CAM_SENSOR", "TWO_STROKE", "FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR", "FOUR_STROKE_THREE_TIMES_CRANK_SENSOR" #define output_pin_e_enum "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15", "PI0","PI1","PI2","PI3","PI4","PI5","PI6","PI7","PI8","PI9","PI10","PI11","PI12","PI13","PI14","PI15", "MC33972_1", "MC33972_2", "MC33972_3", "MC33972_4", "MC33972_5", "MC33972_6", "MC33972_7", "MC33972_8", "MC33972_9", "MC33972_10", "MC33972_11", "MC33972_12", "MC33972_13", "MC33972_14", "MC33972_15", "MC33972_16", "MC33972_17", "MC33972_18", "MC33972_19", "MC33972_20", "MC33972_21", "MC33972_22", "TLE8888_1", "TLE8888_2", "TLE8888_3", "TLE8888_4", "TLE8888_5", "TLE8888_6", "TLE8888_7", "TLE8888_8", "TLE8888_9", "TLE8888_10", "TLE8888_11", "TLE8888_12", "TLE8888_13", "TLE8888_14", "TLE8888_15", "TLE8888_16", "TLE8888_17", "TLE8888_18", "TLE8888_19", "TLE8888_20", "TLE8888_21", "TLE8888_22", "TLE8888_23", "TLE8888_24", "TLE8888_25", "TLE8888_26", "TLE8888_27", "TLE8888_28", "INVALID", "INVALID", "INVALID", "TLE6240_1", "TLE6240_2", "TLE6240_3", "TLE6240_4", "TLE6240_5", "TLE6240_6", "TLE6240_7", "TLE6240_8", "TLE6240_9", "TLE6240_10", "TLE6240_11", "TLE6240_12", "TLE6240_13", "TLE6240_14", "TLE6240_15", "TLE6240_16", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" #define overrideCrankingIacSetting_offset 1476 +#define overrideTriggerGaps_offset 76 #define PACK_ADD_TEMPERATURE 40 #define PACK_MULT_AFR 1000 #define PACK_MULT_AFR_CFG 10 @@ -1266,8 +1268,8 @@ #define showHumanReadableWarning_offset 976 #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD all -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 1486833149 +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 3200355250 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1506,6 +1508,24 @@ #define triggerCompSensorSatRpm_offset 4039 #define triggerErrorPin_offset 828 #define triggerErrorPinMode_offset 829 +#define triggerGapOverride10_offset 4576 +#define triggerGapOverride11_offset 4580 +#define triggerGapOverride12_offset 4584 +#define triggerGapOverride13_offset 4588 +#define triggerGapOverride14_offset 4592 +#define triggerGapOverride15_offset 4596 +#define triggerGapOverride16_offset 4600 +#define triggerGapOverride17_offset 4604 +#define triggerGapOverride18_offset 4608 +#define triggerGapOverride1_offset 4540 +#define triggerGapOverride2_offset 4544 +#define triggerGapOverride3_offset 4548 +#define triggerGapOverride4_offset 4552 +#define triggerGapOverride5_offset 4556 +#define triggerGapOverride6_offset 4560 +#define triggerGapOverride7_offset 4564 +#define triggerGapOverride8_offset 4568 +#define triggerGapOverride9_offset 4572 #define triggerInputPins1_offset 700 #define triggerInputPins2_offset 701 #define triggerInputPins3_offset 702 @@ -1602,7 +1622,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.05.23.all.1486833149" +#define TS_SIGNATURE "rusEFI 2021.05.24.all.3200355250" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 @@ -1694,7 +1714,6 @@ #define unused_1484_bit_29_offset 1476 #define unused_1484_bit_30_offset 1476 #define unused_1484_bit_31_offset 1476 -#define unused_294_3_offset 76 #define unused_294_4_offset 76 #define unused_294_5_offset 76 #define unused_294_6_offset 76 diff --git a/firmware/controllers/generated/signature_all.h b/firmware/controllers/generated/signature_all.h index 73689ebf42..92fa94f492 100644 --- a/firmware/controllers/generated/signature_all.h +++ b/firmware/controllers/generated/signature_all.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD all -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 1486833149 -#define TS_SIGNATURE "rusEFI 2021.05.23.all.1486833149" +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 3200355250 +#define TS_SIGNATURE "rusEFI 2021.05.24.all.3200355250" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index d3ddebd5e8..b1b73ee594 100644 --- a/firmware/controllers/generated/signature_frankenso_na6.h +++ b/firmware/controllers/generated/signature_frankenso_na6.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD frankenso_na6 -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 1624361924 -#define TS_SIGNATURE "rusEFI 2021.05.23.frankenso_na6.1624361924" +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 2257520011 +#define TS_SIGNATURE "rusEFI 2021.05.24.frankenso_na6.2257520011" diff --git a/firmware/controllers/generated/signature_hellen121nissan.h b/firmware/controllers/generated/signature_hellen121nissan.h index 22e30a663d..0fe1ba9cf7 100644 --- a/firmware/controllers/generated/signature_hellen121nissan.h +++ b/firmware/controllers/generated/signature_hellen121nissan.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD hellen121nissan -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 2432421326 -#define TS_SIGNATURE "rusEFI 2021.05.23.hellen121nissan.2432421326" +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 1990525825 +#define TS_SIGNATURE "rusEFI 2021.05.24.hellen121nissan.1990525825" diff --git a/firmware/controllers/generated/signature_hellen121vag.h b/firmware/controllers/generated/signature_hellen121vag.h index 9d31f71937..40725b3afc 100644 --- a/firmware/controllers/generated/signature_hellen121vag.h +++ b/firmware/controllers/generated/signature_hellen121vag.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD hellen121vag -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 3485392418 -#define TS_SIGNATURE "rusEFI 2021.05.23.hellen121vag.3485392418" +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 702550125 +#define TS_SIGNATURE "rusEFI 2021.05.24.hellen121vag.702550125" diff --git a/firmware/controllers/generated/signature_hellen128.h b/firmware/controllers/generated/signature_hellen128.h index 7435ec2cab..89f705e325 100644 --- a/firmware/controllers/generated/signature_hellen128.h +++ b/firmware/controllers/generated/signature_hellen128.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD hellen128 -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 2942390553 -#define TS_SIGNATURE "rusEFI 2021.05.23.hellen128.2942390553" +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 1228906326 +#define TS_SIGNATURE "rusEFI 2021.05.24.hellen128.1228906326" diff --git a/firmware/controllers/generated/signature_hellen72.h b/firmware/controllers/generated/signature_hellen72.h index adf5536609..b327633822 100644 --- a/firmware/controllers/generated/signature_hellen72.h +++ b/firmware/controllers/generated/signature_hellen72.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD hellen72 -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 4134124150 -#define TS_SIGNATURE "rusEFI 2021.05.23.hellen72.4134124150" +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 272069689 +#define TS_SIGNATURE "rusEFI 2021.05.24.hellen72.272069689" diff --git a/firmware/controllers/generated/signature_hellenNA6.h b/firmware/controllers/generated/signature_hellenNA6.h index 32438d6a6a..7336eb1795 100644 --- a/firmware/controllers/generated/signature_hellenNA6.h +++ b/firmware/controllers/generated/signature_hellenNA6.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD hellenNA6 -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 3004893503 -#define TS_SIGNATURE "rusEFI 2021.05.23.hellenNA6.3004893503" +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 1430636400 +#define TS_SIGNATURE "rusEFI 2021.05.24.hellenNA6.1430636400" diff --git a/firmware/controllers/generated/signature_hellen_cypress.h b/firmware/controllers/generated/signature_hellen_cypress.h index d0c0e36261..06497a6459 100644 --- a/firmware/controllers/generated/signature_hellen_cypress.h +++ b/firmware/controllers/generated/signature_hellen_cypress.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD hellen_cypress -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 451124781 -#define TS_SIGNATURE "rusEFI 2021.05.23.hellen_cypress.451124781" +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 4240265314 +#define TS_SIGNATURE "rusEFI 2021.05.24.hellen_cypress.4240265314" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index bf4e19f816..e5057aca0b 100644 --- a/firmware/controllers/generated/signature_kin.h +++ b/firmware/controllers/generated/signature_kin.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD kin -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 3846591185 -#define TS_SIGNATURE "rusEFI 2021.05.23.kin.3846591185" +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 51944606 +#define TS_SIGNATURE "rusEFI 2021.05.24.kin.51944606" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index 7bd155e2c1..ef286bf6fe 100644 --- a/firmware/controllers/generated/signature_mre_f4.h +++ b/firmware/controllers/generated/signature_mre_f4.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD mre_f4 -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 82968756 -#define TS_SIGNATURE "rusEFI 2021.05.23.mre_f4.82968756" +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 3802975995 +#define TS_SIGNATURE "rusEFI 2021.05.24.mre_f4.3802975995" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index f3edac70f3..10d55d911f 100644 --- a/firmware/controllers/generated/signature_mre_f7.h +++ b/firmware/controllers/generated/signature_mre_f7.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD mre_f7 -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 82968756 -#define TS_SIGNATURE "rusEFI 2021.05.23.mre_f7.82968756" +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 3802975995 +#define TS_SIGNATURE "rusEFI 2021.05.24.mre_f7.3802975995" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index 10f64f8ce7..ba7ef1aa57 100644 --- a/firmware/controllers/generated/signature_prometheus_405.h +++ b/firmware/controllers/generated/signature_prometheus_405.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD prometheus_405 -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 1242122187 -#define TS_SIGNATURE "rusEFI 2021.05.23.prometheus_405.1242122187" +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 2891417988 +#define TS_SIGNATURE "rusEFI 2021.05.24.prometheus_405.2891417988" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index 8a5e14f97b..6c1547ad1d 100644 --- a/firmware/controllers/generated/signature_prometheus_469.h +++ b/firmware/controllers/generated/signature_prometheus_469.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD prometheus_469 -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 1242122187 -#define TS_SIGNATURE "rusEFI 2021.05.23.prometheus_469.1242122187" +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 2891417988 +#define TS_SIGNATURE "rusEFI 2021.05.24.prometheus_469.2891417988" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index 95190ea0fe..59052a8a30 100644 --- a/firmware/controllers/generated/signature_proteus_f4.h +++ b/firmware/controllers/generated/signature_proteus_f4.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD proteus_f4 -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 824834278 -#define TS_SIGNATURE "rusEFI 2021.05.23.proteus_f4.824834278" +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 3614914217 +#define TS_SIGNATURE "rusEFI 2021.05.24.proteus_f4.3614914217" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 82a5a69b85..1046d9f019 100644 --- a/firmware/controllers/generated/signature_proteus_f7.h +++ b/firmware/controllers/generated/signature_proteus_f7.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD proteus_f7 -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 824834278 -#define TS_SIGNATURE "rusEFI 2021.05.23.proteus_f7.824834278" +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 3614914217 +#define TS_SIGNATURE "rusEFI 2021.05.24.proteus_f7.3614914217" diff --git a/firmware/controllers/generated/signature_subaru_eg33_f7.h b/firmware/controllers/generated/signature_subaru_eg33_f7.h index 42ec013781..75dc9da4b2 100644 --- a/firmware/controllers/generated/signature_subaru_eg33_f7.h +++ b/firmware/controllers/generated/signature_subaru_eg33_f7.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD subaru_eg33_f7 -#define SIGNATURE_DATE 2021.05.23 -#define SIGNATURE_HASH 3408387843 -#define TS_SIGNATURE "rusEFI 2021.05.23.subaru_eg33_f7.3408387843" +#define SIGNATURE_DATE 2021.05.24 +#define SIGNATURE_HASH 762909004 +#define TS_SIGNATURE "rusEFI 2021.05.24.subaru_eg33_f7.762909004" diff --git a/firmware/tunerstudio/generated/cache.zip b/firmware/tunerstudio/generated/cache.zip index 759346522322ccf334d93e59474ac1df993f4c9f..1260865596142e38a09b8d0bf9a047db50f02111 100644 GIT binary patch delta 493393 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

?A+1EZr}XM6{R0fjlQj)yZ{)jqIz8| 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 z - +