From 6b7c42b85e8fee0258aec5552e1a560d5f377ac7 Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Tue, 29 Sep 2020 01:41:06 +0000 Subject: [PATCH] Auto-generated configs and docs --- ...ngine_configuration_generated_structures.h | 16 ++++++---- .../controllers/algo/rusefi_generated.h | 14 ++++++--- ...ngine_configuration_generated_structures.h | 16 ++++++---- .../controllers/algo/rusefi_generated.h | 14 ++++++--- ...ngine_configuration_generated_structures.h | 16 ++++++---- .../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 | 14 ++++++--- .../controllers/generated/signature_all.h | 4 +-- .../generated/signature_frankenso_na6.h | 4 +-- .../generated/signature_hellen_cypress.h | 4 +-- .../controllers/generated/signature_kin.h | 4 +-- .../controllers/generated/signature_mre_f4.h | 4 +-- .../controllers/generated/signature_mre_f7.h | 4 +-- .../generated/signature_prometheus_405.h | 4 +-- .../generated/signature_prometheus_469.h | 4 +-- .../generated/signature_proteus_f4.h | 4 +-- .../generated/signature_proteus_f7.h | 4 +-- firmware/tunerstudio/generated/cache.zip | Bin 946019 -> 946559 bytes firmware/tunerstudio/generated/rusefi.ini | 22 ++++++++++--- .../generated/rusefi_frankenso_na6.ini | 22 ++++++++++--- .../generated/rusefi_hellen_cypress.ini | 22 ++++++++++--- .../tunerstudio/generated/rusefi_kinetis.ini | 22 ++++++++++--- .../tunerstudio/generated/rusefi_mre_f4.ini | 22 ++++++++++--- .../tunerstudio/generated/rusefi_mre_f7.ini | 22 ++++++++++--- .../generated/rusefi_prometheus_405.ini | 22 ++++++++++--- .../generated/rusefi_prometheus_469.ini | 22 ++++++++++--- .../generated/rusefi_proteus_f4.ini | 22 ++++++++++--- .../generated/rusefi_proteus_f7.ini | 22 ++++++++++--- .../com/rusefi/config/generated/Fields.java | 29 +++++++++++++++--- java_console/rusefi.xml | 2 +- 33 files changed, 279 insertions(+), 110 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 cab51f7b5a..e7c5f09a8a 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 Tue Sep 29 01:20:34 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Tue Sep 29 01:40:40 UTC 2020 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -3419,14 +3419,18 @@ struct engine_configuration_s { */ pin_input_mode_e acSwitchMode; /** - * need 4 byte alignment * offset 4517 */ - uint8_t alignmentFill_at_4517[3]; + pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** - * offset 4520 + * need 4 byte alignment + * offset 4523 */ - int mainUnusedEnd[370]; + uint8_t alignmentFill_at_4523; + /** + * offset 4524 + */ + int mainUnusedEnd[369]; /** total size 6000*/ }; @@ -3724,4 +3728,4 @@ struct persistent_config_s { typedef struct persistent_config_s persistent_config_s; // end -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Tue Sep 29 01:20:34 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Tue Sep 29 01:40:40 UTC 2020 diff --git a/firmware/config/boards/hellen/cypress/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/hellen/cypress/config/controllers/algo/rusefi_generated.h index e36182f2d7..62aee33581 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 @@ -50,7 +50,7 @@ #define air_pressure_sensor_type_e_auto_enum "MT_CUSTOM", "MT_DENSO183", "MT_MPX4250", "MT_HONDA3BAR", "MT_DODGE_NEON_2003", "MT_SUBY_DENSO", "MT_GM_3_BAR", "MT_MPX4100", "MT_TOYOTA_89420_02010", "MT_MPX4250A", "MT_BOSCH_2_5", "MT_MAZDA_1_BAR" #define alignEngineSnifferAtTDC_offset 744 #define alignmentFill_at_2227_offset 2227 -#define alignmentFill_at_4517_offset 4517 +#define alignmentFill_at_4523_offset 4523 #define alternator_antiwindupFreq_offset 1764 #define alternator_derivativeFilterLoss_offset 1760 #define alternatorControl_dFactor_offset 1724 @@ -997,7 +997,7 @@ #define mafSensorType_offset 948 #define mainRelayPin_offset 706 #define mainRelayPinMode_offset 752 -#define mainUnusedEnd_offset 4520 +#define mainUnusedEnd_offset 4524 #define malfunctionIndicatorPin_offset 660 #define malfunctionIndicatorPinMode_offset 661 #define manIdlePosition_offset 608 @@ -1171,7 +1171,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD hellen_cypress #define SIGNATURE_DATE 2020.09.29 -#define SIGNATURE_HASH 3472845326 +#define SIGNATURE_HASH 840907232 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define solenoidPadding_offset 1198 @@ -1272,6 +1272,12 @@ #define tcu_solenoid5_offset 1196 #define tcu_solenoid6_offset 1197 #define TCU_SOLENOID_COUNT 6 +#define tcu_solenoid_mode1_offset 4517 +#define tcu_solenoid_mode2_offset 4518 +#define tcu_solenoid_mode3_offset 4519 +#define tcu_solenoid_mode4_offset 4520 +#define tcu_solenoid_mode5_offset 4521 +#define tcu_solenoid_mode6_offset 4522 #define tcuDownshiftButtonPin_offset 1819 #define tcuDownshiftButtonPinMode_offset 4515 #define tcuEnabled_offset 976 @@ -1481,7 +1487,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2020.09.29.hellen_cypress.3472845326" +#define TS_SIGNATURE "rusEFI 2020.09.29.hellen_cypress.840907232" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 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 43aa3e0f71..ff2e2e87ba 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 Tue Sep 29 01:20:32 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Tue Sep 29 01:40:38 UTC 2020 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -3419,14 +3419,18 @@ struct engine_configuration_s { */ pin_input_mode_e acSwitchMode; /** - * need 4 byte alignment * offset 4517 */ - uint8_t alignmentFill_at_4517[3]; + pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** - * offset 4520 + * need 4 byte alignment + * offset 4523 */ - int mainUnusedEnd[370]; + uint8_t alignmentFill_at_4523; + /** + * offset 4524 + */ + int mainUnusedEnd[369]; /** total size 6000*/ }; @@ -3724,4 +3728,4 @@ struct persistent_config_s { typedef struct persistent_config_s persistent_config_s; // end -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Tue Sep 29 01:20:32 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Tue Sep 29 01:40:38 UTC 2020 diff --git a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h index cbfbb3b0d4..7a8b6357e8 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h @@ -50,7 +50,7 @@ #define air_pressure_sensor_type_e_auto_enum "MT_CUSTOM", "MT_DENSO183", "MT_MPX4250", "MT_HONDA3BAR", "MT_DODGE_NEON_2003", "MT_SUBY_DENSO", "MT_GM_3_BAR", "MT_MPX4100", "MT_TOYOTA_89420_02010", "MT_MPX4250A", "MT_BOSCH_2_5", "MT_MAZDA_1_BAR" #define alignEngineSnifferAtTDC_offset 744 #define alignmentFill_at_2227_offset 2227 -#define alignmentFill_at_4517_offset 4517 +#define alignmentFill_at_4523_offset 4523 #define alternator_antiwindupFreq_offset 1764 #define alternator_derivativeFilterLoss_offset 1760 #define alternatorControl_dFactor_offset 1724 @@ -997,7 +997,7 @@ #define mafSensorType_offset 948 #define mainRelayPin_offset 706 #define mainRelayPinMode_offset 752 -#define mainUnusedEnd_offset 4520 +#define mainUnusedEnd_offset 4524 #define malfunctionIndicatorPin_offset 660 #define malfunctionIndicatorPinMode_offset 661 #define manIdlePosition_offset 608 @@ -1171,7 +1171,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD kin #define SIGNATURE_DATE 2020.09.29 -#define SIGNATURE_HASH 2682474740 +#define SIGNATURE_HASH 1661141786 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define solenoidPadding_offset 1198 @@ -1272,6 +1272,12 @@ #define tcu_solenoid5_offset 1196 #define tcu_solenoid6_offset 1197 #define TCU_SOLENOID_COUNT 6 +#define tcu_solenoid_mode1_offset 4517 +#define tcu_solenoid_mode2_offset 4518 +#define tcu_solenoid_mode3_offset 4519 +#define tcu_solenoid_mode4_offset 4520 +#define tcu_solenoid_mode5_offset 4521 +#define tcu_solenoid_mode6_offset 4522 #define tcuDownshiftButtonPin_offset 1819 #define tcuDownshiftButtonPinMode_offset 4515 #define tcuEnabled_offset 976 @@ -1481,7 +1487,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator true #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2020.09.29.kin.2682474740" +#define TS_SIGNATURE "rusEFI 2020.09.29.kin.1661141786" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures.h b/firmware/controllers/generated/engine_configuration_generated_structures.h index 2d5df7e9a6..72483d2b9c 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 Tue Sep 29 01:20:12 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Sep 29 01:40:21 UTC 2020 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -3419,14 +3419,18 @@ struct engine_configuration_s { */ pin_input_mode_e acSwitchMode; /** - * need 4 byte alignment * offset 4517 */ - uint8_t alignmentFill_at_4517[3]; + pin_output_mode_e tcu_solenoid_mode[TCU_SOLENOID_COUNT]; /** - * offset 4520 + * need 4 byte alignment + * offset 4523 */ - int mainUnusedEnd[370]; + uint8_t alignmentFill_at_4523; + /** + * offset 4524 + */ + int mainUnusedEnd[369]; /** total size 6000*/ }; @@ -3724,4 +3728,4 @@ struct persistent_config_s { typedef struct persistent_config_s persistent_config_s; // end -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Sep 29 01:20:12 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Sep 29 01:40:21 UTC 2020 diff --git a/firmware/controllers/generated/fsio_enums_generated.def b/firmware/controllers/generated/fsio_enums_generated.def index 773fa26746..76c1223972 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 Tue Sep 29 01:20:12 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Sep 29 01:40:21 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer FSIO_SETTING_FANONTEMPERATURE = 1000, diff --git a/firmware/controllers/generated/fsio_getters.def b/firmware/controllers/generated/fsio_getters.def index 5dc2f545d8..d4e1b2562b 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 Tue Sep 29 01:20:12 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Sep 29 01:40:21 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: diff --git a/firmware/controllers/generated/fsio_names.def b/firmware/controllers/generated/fsio_names.def index 611d09d3aa..5ebb1da8e7 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 Tue Sep 29 01:20:12 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Sep 29 01:40:21 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer static LENameOrdinalPair lefanOnTemperature(FSIO_SETTING_FANONTEMPERATURE, "cfg_fanOnTemperature"); diff --git a/firmware/controllers/generated/fsio_strings.def b/firmware/controllers/generated/fsio_strings.def index 4d34871bba..7d95009439 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 Tue Sep 29 01:20:12 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Sep 29 01:40:21 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: diff --git a/firmware/controllers/generated/rusefi_generated.h b/firmware/controllers/generated/rusefi_generated.h index 3dc2d4dacc..f4059f315d 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -50,7 +50,7 @@ #define air_pressure_sensor_type_e_auto_enum "MT_CUSTOM", "MT_DENSO183", "MT_MPX4250", "MT_HONDA3BAR", "MT_DODGE_NEON_2003", "MT_SUBY_DENSO", "MT_GM_3_BAR", "MT_MPX4100", "MT_TOYOTA_89420_02010", "MT_MPX4250A", "MT_BOSCH_2_5", "MT_MAZDA_1_BAR" #define alignEngineSnifferAtTDC_offset 744 #define alignmentFill_at_2227_offset 2227 -#define alignmentFill_at_4517_offset 4517 +#define alignmentFill_at_4523_offset 4523 #define alternator_antiwindupFreq_offset 1764 #define alternator_derivativeFilterLoss_offset 1760 #define alternatorControl_dFactor_offset 1724 @@ -997,7 +997,7 @@ #define mafSensorType_offset 948 #define mainRelayPin_offset 706 #define mainRelayPinMode_offset 752 -#define mainUnusedEnd_offset 4520 +#define mainUnusedEnd_offset 4524 #define malfunctionIndicatorPin_offset 660 #define malfunctionIndicatorPinMode_offset 661 #define manIdlePosition_offset 608 @@ -1171,7 +1171,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD all #define SIGNATURE_DATE 2020.09.29 -#define SIGNATURE_HASH 1949854576 +#define SIGNATURE_HASH 2295871646 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define solenoidPadding_offset 1198 @@ -1272,6 +1272,12 @@ #define tcu_solenoid5_offset 1196 #define tcu_solenoid6_offset 1197 #define TCU_SOLENOID_COUNT 6 +#define tcu_solenoid_mode1_offset 4517 +#define tcu_solenoid_mode2_offset 4518 +#define tcu_solenoid_mode3_offset 4519 +#define tcu_solenoid_mode4_offset 4520 +#define tcu_solenoid_mode5_offset 4521 +#define tcu_solenoid_mode6_offset 4522 #define tcuDownshiftButtonPin_offset 1819 #define tcuDownshiftButtonPinMode_offset 4515 #define tcuEnabled_offset 976 @@ -1481,7 +1487,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2020.09.29.all.1949854576" +#define TS_SIGNATURE "rusEFI 2020.09.29.all.2295871646" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 diff --git a/firmware/controllers/generated/signature_all.h b/firmware/controllers/generated/signature_all.h index a753fc2dde..56254f035a 100644 --- a/firmware/controllers/generated/signature_all.h +++ b/firmware/controllers/generated/signature_all.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD all #define SIGNATURE_DATE 2020.09.29 -#define SIGNATURE_HASH 1949854576 -#define TS_SIGNATURE "rusEFI 2020.09.29.all.1949854576" +#define SIGNATURE_HASH 2295871646 +#define TS_SIGNATURE "rusEFI 2020.09.29.all.2295871646" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index 44bc4122d7..0787153197 100644 --- a/firmware/controllers/generated/signature_frankenso_na6.h +++ b/firmware/controllers/generated/signature_frankenso_na6.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD frankenso_na6 #define SIGNATURE_DATE 2020.09.29 -#define SIGNATURE_HASH 3550678347 -#define TS_SIGNATURE "rusEFI 2020.09.29.frankenso_na6.3550678347" +#define SIGNATURE_HASH 792944293 +#define TS_SIGNATURE "rusEFI 2020.09.29.frankenso_na6.792944293" diff --git a/firmware/controllers/generated/signature_hellen_cypress.h b/firmware/controllers/generated/signature_hellen_cypress.h index 303bf7d78c..2fdf954323 100644 --- a/firmware/controllers/generated/signature_hellen_cypress.h +++ b/firmware/controllers/generated/signature_hellen_cypress.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD hellen_cypress #define SIGNATURE_DATE 2020.09.29 -#define SIGNATURE_HASH 3472845326 -#define TS_SIGNATURE "rusEFI 2020.09.29.hellen_cypress.3472845326" +#define SIGNATURE_HASH 840907232 +#define TS_SIGNATURE "rusEFI 2020.09.29.hellen_cypress.840907232" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index 4e0fdf03b5..52bcd6a5ba 100644 --- a/firmware/controllers/generated/signature_kin.h +++ b/firmware/controllers/generated/signature_kin.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD kin #define SIGNATURE_DATE 2020.09.29 -#define SIGNATURE_HASH 2682474740 -#define TS_SIGNATURE "rusEFI 2020.09.29.kin.2682474740" +#define SIGNATURE_HASH 1661141786 +#define TS_SIGNATURE "rusEFI 2020.09.29.kin.1661141786" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index dffa00e0ad..cf27cba3e8 100644 --- a/firmware/controllers/generated/signature_mre_f4.h +++ b/firmware/controllers/generated/signature_mre_f4.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD mre_f4 #define SIGNATURE_DATE 2020.09.29 -#define SIGNATURE_HASH 2204341479 -#define TS_SIGNATURE "rusEFI 2020.09.29.mre_f4.2204341479" +#define SIGNATURE_HASH 2139342601 +#define TS_SIGNATURE "rusEFI 2020.09.29.mre_f4.2139342601" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index 3505877e48..d431c37fe7 100644 --- a/firmware/controllers/generated/signature_mre_f7.h +++ b/firmware/controllers/generated/signature_mre_f7.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD mre_f7 #define SIGNATURE_DATE 2020.09.29 -#define SIGNATURE_HASH 2204341479 -#define TS_SIGNATURE "rusEFI 2020.09.29.mre_f7.2204341479" +#define SIGNATURE_HASH 2139342601 +#define TS_SIGNATURE "rusEFI 2020.09.29.mre_f7.2139342601" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index d564395d87..4fee894c08 100644 --- a/firmware/controllers/generated/signature_prometheus_405.h +++ b/firmware/controllers/generated/signature_prometheus_405.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD prometheus_405 #define SIGNATURE_DATE 2020.09.29 -#define SIGNATURE_HASH 3239543299 -#define TS_SIGNATURE "rusEFI 2020.09.29.prometheus_405.3239543299" +#define SIGNATURE_HASH 1039651309 +#define TS_SIGNATURE "rusEFI 2020.09.29.prometheus_405.1039651309" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index 76f7bf9fc3..4771cb0da6 100644 --- a/firmware/controllers/generated/signature_prometheus_469.h +++ b/firmware/controllers/generated/signature_prometheus_469.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD prometheus_469 #define SIGNATURE_DATE 2020.09.29 -#define SIGNATURE_HASH 3239543299 -#define TS_SIGNATURE "rusEFI 2020.09.29.prometheus_469.3239543299" +#define SIGNATURE_HASH 1039651309 +#define TS_SIGNATURE "rusEFI 2020.09.29.prometheus_469.1039651309" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index 05906e134f..2b1c18abe1 100644 --- a/firmware/controllers/generated/signature_proteus_f4.h +++ b/firmware/controllers/generated/signature_proteus_f4.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD proteus_f4 #define SIGNATURE_DATE 2020.09.29 -#define SIGNATURE_HASH 3764405621 -#define TS_SIGNATURE "rusEFI 2020.09.29.proteus_f4.3764405621" +#define SIGNATURE_HASH 478156443 +#define TS_SIGNATURE "rusEFI 2020.09.29.proteus_f4.478156443" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 627cc1ff2f..cb55b362cd 100644 --- a/firmware/controllers/generated/signature_proteus_f7.h +++ b/firmware/controllers/generated/signature_proteus_f7.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD proteus_f7 #define SIGNATURE_DATE 2020.09.29 -#define SIGNATURE_HASH 3764405621 -#define TS_SIGNATURE "rusEFI 2020.09.29.proteus_f7.3764405621" +#define SIGNATURE_HASH 478156443 +#define TS_SIGNATURE "rusEFI 2020.09.29.proteus_f7.478156443" diff --git a/firmware/tunerstudio/generated/cache.zip b/firmware/tunerstudio/generated/cache.zip index f24db59d931609ce10e41f0ed5b0b12871153902..e14eead14dd77c9a19def635894d1fef0a92acc8 100644 GIT binary patch delta 75346 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 - +