From 7311f25467a56867f2c9683e82a71a07b1e66c30 Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Fri, 28 Jan 2022 06:04:57 +0000 Subject: [PATCH] Auto-generated configs and docs --- ...ngine_configuration_generated_structures.h | 37 +++++++--- .../controllers/algo/rusefi_generated.h | 16 +++-- ...ngine_configuration_generated_structures.h | 37 +++++++--- .../controllers/algo/rusefi_generated.h | 16 +++-- ...ngine_configuration_generated_structures.h | 37 +++++++--- .../controllers/algo/rusefi_generated.h | 16 +++-- ...ngine_configuration_generated_structures.h | 37 +++++++--- .../controllers/generated/rusefi_generated.h | 16 +++-- .../controllers/generated/signature_all.h | 4 +- .../generated/signature_alphax-2chan.h | 4 +- .../generated/signature_alphax-4chan.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_hellen81.h | 4 +- .../generated/signature_hellen88bmw.h | 4 +- .../generated/signature_hellenNA6.h | 4 +- .../generated/signature_hellenNA8_96.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_proteus_h7.h | 4 +- .../generated/signature_subaru_eg33_f7.h | 4 +- .../lua/generated/value_lookup_generated.cpp | 7 ++ firmware/tunerstudio/generated/rusefi.ini | 69 ++++++++++++++++--- .../generated/rusefi_alphax-2chan.ini | 69 ++++++++++++++++--- .../generated/rusefi_alphax-4chan.ini | 69 ++++++++++++++++--- .../tunerstudio/generated/rusefi_atlas.ini | 69 ++++++++++++++++--- .../generated/rusefi_f429-discovery.ini | 69 ++++++++++++++++--- .../generated/rusefi_frankenso_na6.ini | 69 ++++++++++++++++--- .../generated/rusefi_hellen-nb1.ini | 69 ++++++++++++++++--- .../generated/rusefi_hellen121nissan.ini | 69 ++++++++++++++++--- .../generated/rusefi_hellen121vag.ini | 69 ++++++++++++++++--- .../generated/rusefi_hellen128mercedes.ini | 69 ++++++++++++++++--- .../generated/rusefi_hellen154hyundai.ini | 69 ++++++++++++++++--- .../tunerstudio/generated/rusefi_hellen72.ini | 69 ++++++++++++++++--- .../tunerstudio/generated/rusefi_hellen81.ini | 69 ++++++++++++++++--- .../generated/rusefi_hellen88bmw.ini | 69 ++++++++++++++++--- .../generated/rusefi_hellenNA6.ini | 69 ++++++++++++++++--- .../generated/rusefi_hellenNA8_96.ini | 69 ++++++++++++++++--- .../generated/rusefi_hellen_cypress.ini | 69 ++++++++++++++++--- .../tunerstudio/generated/rusefi_kinetis.ini | 69 ++++++++++++++++--- .../tunerstudio/generated/rusefi_mre_f4.ini | 69 ++++++++++++++++--- .../tunerstudio/generated/rusefi_mre_f7.ini | 69 ++++++++++++++++--- .../generated/rusefi_prometheus_405.ini | 69 ++++++++++++++++--- .../generated/rusefi_prometheus_469.ini | 69 ++++++++++++++++--- .../generated/rusefi_proteus_f4.ini | 69 ++++++++++++++++--- .../generated/rusefi_proteus_f7.ini | 69 ++++++++++++++++--- .../generated/rusefi_proteus_h7.ini | 69 ++++++++++++++++--- .../generated/rusefi_subaru_eg33_f7.ini | 69 ++++++++++++++++--- .../com/rusefi/config/generated/Fields.java | 38 +++++++--- 62 files changed, 1806 insertions(+), 349 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 f0db75d100..864feff2f9 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 (unknown script) integration/rusefi_config.txt Thu Jan 27 19:25:52 UTC 2022 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:59 UTC 2022 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -2448,8 +2448,9 @@ struct engine_configuration_s { offset 1272 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** + * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? offset 1272 bit 3 */ - bool unused1476b3 : 1 {}; + bool complexWallModel : 1 {}; /** offset 1272 bit 4 */ bool alwaysInstantRpm : 1 {}; @@ -4062,16 +4063,36 @@ struct engine_configuration_s { */ uint16_t unusedShort; /** - * need 4 byte alignment - units + deg C * offset 4642 */ - uint8_t alignmentFill_at_4642[2]; + int8_t wwCltBins[WWAE_TABLE_SIZE]; + /** + * offset 4650 + */ + scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; + /** + * offset 4658 + */ + scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; + /** + kPa + * offset 4666 + */ + int8_t wwMapBins[WWAE_TABLE_SIZE]; + /** + * offset 4674 + */ + scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; + /** + * offset 4682 + */ + scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** units - * offset 4644 + * offset 4690 */ - int mainUnusedEnd[94]; + uint8_t mainUnusedEnd[330]; /** total size 5020*/ }; @@ -4490,4 +4511,4 @@ struct persistent_config_s { }; // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Thu Jan 27 19:25:52 UTC 2022 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:59 UTC 2022 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 c9b602870b..471546f740 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 @@ -79,7 +79,6 @@ #define alignmentFill_at_1847_offset 1847 #define alignmentFill_at_1873_offset 1873 #define alignmentFill_at_4007_offset 4007 -#define alignmentFill_at_4642_offset 4642 #define alignmentFill_at_62_offset 62 #define alternatorControl_dFactor_offset 1492 #define alternatorControl_iFactor_offset 1488 @@ -585,6 +584,7 @@ #define coastingFuelCutVssHigh_offset 1690 #define coastingFuelCutVssLow_offset 1689 #define communicationLedPin_offset 1572 +#define complexWallModel_offset 1272 #define COMPOSITE_DATA_LENGTH 2500 #define COMPOSITE_DATA_LENGTH_HALF 1250 #define COMPOSITE_PACKET_COUNT 500 @@ -1612,7 +1612,7 @@ #define MAIN_HELP_URL "http://www.rusefi.com/" #define mainRelayPin_offset 714 #define mainRelayPinMode_offset 756 -#define mainUnusedEnd_offset 4644 +#define mainUnusedEnd_offset 4690 #define malfunctionIndicatorPin_offset 668 #define malfunctionIndicatorPinMode_offset 669 #define manIdlePosition_offset 616 @@ -1894,7 +1894,7 @@ #define show_test_presets true #define showHumanReadableWarning_offset 896 #define showSdCardWarning_offset 164 -#define SIGNATURE_HASH 1844843211 +#define SIGNATURE_HASH 40759209 #define silentTriggerError_offset 1260 #define slowAdcAlpha_offset 1712 #define sparkDwellRpmBins_offset 54 @@ -2419,7 +2419,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2022.01.28.hellen_cypress.1844843211" +#define TS_SIGNATURE "rusEFI 2022.01.28.hellen_cypress.40759209" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' @@ -2458,7 +2458,6 @@ #define unused1130_offset 1740 #define unused1476b19_offset 1272 #define unused1476b20_offset 1272 -#define unused1476b3_offset 1272 #define unused1476b8_offset 1272 #define unused1689_offset 1691 #define unused1740b0_offset 1740 @@ -2626,5 +2625,12 @@ #define wastegatePositionSensor_offset 1751 #define wboHeaterPin_offset 681 #define wheelDiameter_offset 722 +#define WWAE_TABLE_SIZE 8 #define wwaeBeta_offset 1568 #define wwaeTau_offset 1480 +#define wwBetaCltValues_offset 4658 +#define wwBetaMapValues_offset 4682 +#define wwCltBins_offset 4642 +#define wwMapBins_offset 4666 +#define wwTauCltValues_offset 4650 +#define wwTauMapValues_offset 4674 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 1e3e611f1f..73882bac6c 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 (unknown script) integration/rusefi_config.txt Thu Jan 27 19:25:50 UTC 2022 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:58 UTC 2022 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -2448,8 +2448,9 @@ struct engine_configuration_s { offset 1272 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** + * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? offset 1272 bit 3 */ - bool unused1476b3 : 1 {}; + bool complexWallModel : 1 {}; /** offset 1272 bit 4 */ bool alwaysInstantRpm : 1 {}; @@ -4056,16 +4057,36 @@ struct engine_configuration_s { */ uint16_t unusedShort; /** - * need 4 byte alignment - units + deg C * offset 4614 */ - uint8_t alignmentFill_at_4614[2]; + int8_t wwCltBins[WWAE_TABLE_SIZE]; + /** + * offset 4622 + */ + scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; + /** + * offset 4630 + */ + scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; + /** + kPa + * offset 4638 + */ + int8_t wwMapBins[WWAE_TABLE_SIZE]; + /** + * offset 4646 + */ + scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; + /** + * offset 4654 + */ + scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** units - * offset 4616 + * offset 4662 */ - int mainUnusedEnd[94]; + uint8_t mainUnusedEnd[330]; /** total size 4992*/ }; @@ -4484,4 +4505,4 @@ struct persistent_config_s { }; // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Thu Jan 27 19:25:50 UTC 2022 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:58 UTC 2022 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 46f6e9a238..182f4833a4 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h @@ -78,7 +78,6 @@ #define alignEngineSnifferAtTDC_offset 748 #define alignmentFill_at_1867_offset 1867 #define alignmentFill_at_3979_offset 3979 -#define alignmentFill_at_4614_offset 4614 #define alignmentFill_at_62_offset 62 #define alternatorControl_dFactor_offset 1492 #define alternatorControl_iFactor_offset 1488 @@ -570,6 +569,7 @@ #define coastingFuelCutVssHigh_offset 1690 #define coastingFuelCutVssLow_offset 1689 #define communicationLedPin_offset 1572 +#define complexWallModel_offset 1272 #define COMPOSITE_DATA_LENGTH 2500 #define COMPOSITE_DATA_LENGTH_HALF 1250 #define COMPOSITE_PACKET_COUNT 500 @@ -1597,7 +1597,7 @@ #define MAIN_HELP_URL "http://www.rusefi.com/" #define mainRelayPin_offset 714 #define mainRelayPinMode_offset 756 -#define mainUnusedEnd_offset 4616 +#define mainUnusedEnd_offset 4662 #define malfunctionIndicatorPin_offset 668 #define malfunctionIndicatorPinMode_offset 669 #define manIdlePosition_offset 616 @@ -1879,7 +1879,7 @@ #define show_test_presets true #define showHumanReadableWarning_offset 896 #define showSdCardWarning_offset 164 -#define SIGNATURE_HASH 2454969911 +#define SIGNATURE_HASH 4257751893 #define silentTriggerError_offset 1260 #define slowAdcAlpha_offset 1712 #define sparkDwellRpmBins_offset 54 @@ -2404,7 +2404,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator true #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2022.01.28.kin.2454969911" +#define TS_SIGNATURE "rusEFI 2022.01.28.kin.4257751893" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' @@ -2443,7 +2443,6 @@ #define unused1130_offset 1740 #define unused1476b19_offset 1272 #define unused1476b20_offset 1272 -#define unused1476b3_offset 1272 #define unused1476b8_offset 1272 #define unused1689_offset 1691 #define unused1740b0_offset 1740 @@ -2603,5 +2602,12 @@ #define wastegatePositionSensor_offset 1751 #define wboHeaterPin_offset 681 #define wheelDiameter_offset 722 +#define WWAE_TABLE_SIZE 8 #define wwaeBeta_offset 1568 #define wwaeTau_offset 1480 +#define wwBetaCltValues_offset 4630 +#define wwBetaMapValues_offset 4654 +#define wwCltBins_offset 4614 +#define wwMapBins_offset 4638 +#define wwTauCltValues_offset 4622 +#define wwTauMapValues_offset 4646 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 f1ac3eb919..1395628861 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 (unknown script) integration/rusefi_config.txt Thu Jan 27 19:25:53 UTC 2022 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:03:01 UTC 2022 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -2448,8 +2448,9 @@ struct engine_configuration_s { offset 1272 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** + * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? offset 1272 bit 3 */ - bool unused1476b3 : 1 {}; + bool complexWallModel : 1 {}; /** offset 1272 bit 4 */ bool alwaysInstantRpm : 1 {}; @@ -4062,16 +4063,36 @@ struct engine_configuration_s { */ uint16_t unusedShort; /** - * need 4 byte alignment - units + deg C * offset 4642 */ - uint8_t alignmentFill_at_4642[2]; + int8_t wwCltBins[WWAE_TABLE_SIZE]; + /** + * offset 4650 + */ + scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; + /** + * offset 4658 + */ + scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; + /** + kPa + * offset 4666 + */ + int8_t wwMapBins[WWAE_TABLE_SIZE]; + /** + * offset 4674 + */ + scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; + /** + * offset 4682 + */ + scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** units - * offset 4644 + * offset 4690 */ - int mainUnusedEnd[94]; + uint8_t mainUnusedEnd[330]; /** total size 5020*/ }; @@ -4490,4 +4511,4 @@ struct persistent_config_s { }; // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Thu Jan 27 19:25:53 UTC 2022 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:03:01 UTC 2022 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 6d8285cb4d..fdec48d973 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 @@ -87,7 +87,6 @@ #define alignmentFill_at_1847_offset 1847 #define alignmentFill_at_1873_offset 1873 #define alignmentFill_at_4007_offset 4007 -#define alignmentFill_at_4642_offset 4642 #define alignmentFill_at_62_offset 62 #define alternatorControl_dFactor_offset 1492 #define alternatorControl_iFactor_offset 1488 @@ -597,6 +596,7 @@ #define coastingFuelCutVssHigh_offset 1690 #define coastingFuelCutVssLow_offset 1689 #define communicationLedPin_offset 1572 +#define complexWallModel_offset 1272 #define COMPOSITE_DATA_LENGTH 2500 #define COMPOSITE_DATA_LENGTH_HALF 1250 #define COMPOSITE_PACKET_COUNT 500 @@ -1624,7 +1624,7 @@ #define MAIN_HELP_URL "http://www.rusefi.com/" #define mainRelayPin_offset 714 #define mainRelayPinMode_offset 756 -#define mainUnusedEnd_offset 4644 +#define mainUnusedEnd_offset 4690 #define malfunctionIndicatorPin_offset 668 #define malfunctionIndicatorPinMode_offset 669 #define manIdlePosition_offset 616 @@ -1907,7 +1907,7 @@ #define show_test_presets false #define showHumanReadableWarning_offset 896 #define showSdCardWarning_offset 164 -#define SIGNATURE_HASH 2495210279 +#define SIGNATURE_HASH 4213317189 #define silentTriggerError_offset 1260 #define slowAdcAlpha_offset 1712 #define sparkDwellRpmBins_offset 54 @@ -2432,7 +2432,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port false -#define TS_SIGNATURE "rusEFI 2022.01.28.subaru_eg33_f7.2495210279" +#define TS_SIGNATURE "rusEFI 2022.01.28.subaru_eg33_f7.4213317189" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' @@ -2471,7 +2471,6 @@ #define unused1130_offset 1740 #define unused1476b19_offset 1272 #define unused1476b20_offset 1272 -#define unused1476b3_offset 1272 #define unused1476b8_offset 1272 #define unused1689_offset 1691 #define unused1740b0_offset 1740 @@ -2639,5 +2638,12 @@ #define wastegatePositionSensor_offset 1751 #define wboHeaterPin_offset 681 #define wheelDiameter_offset 722 +#define WWAE_TABLE_SIZE 8 #define wwaeBeta_offset 1568 #define wwaeTau_offset 1480 +#define wwBetaCltValues_offset 4658 +#define wwBetaMapValues_offset 4682 +#define wwCltBins_offset 4642 +#define wwMapBins_offset 4666 +#define wwTauCltValues_offset 4650 +#define wwTauMapValues_offset 4674 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures.h b/firmware/controllers/generated/engine_configuration_generated_structures.h index 3af9231368..3d35742d3d 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 (unknown script) integration/rusefi_config.txt Thu Jan 27 19:25:56 UTC 2022 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:03:04 UTC 2022 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -2448,8 +2448,9 @@ struct engine_configuration_s { offset 1272 bit 2 */ bool isCylinderCleanupEnabled : 1 {}; /** + * Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values? offset 1272 bit 3 */ - bool unused1476b3 : 1 {}; + bool complexWallModel : 1 {}; /** offset 1272 bit 4 */ bool alwaysInstantRpm : 1 {}; @@ -4062,16 +4063,36 @@ struct engine_configuration_s { */ uint16_t unusedShort; /** - * need 4 byte alignment - units + deg C * offset 4642 */ - uint8_t alignmentFill_at_4642[2]; + int8_t wwCltBins[WWAE_TABLE_SIZE]; + /** + * offset 4650 + */ + scaled_channel wwTauCltValues[WWAE_TABLE_SIZE]; + /** + * offset 4658 + */ + scaled_channel wwBetaCltValues[WWAE_TABLE_SIZE]; + /** + kPa + * offset 4666 + */ + int8_t wwMapBins[WWAE_TABLE_SIZE]; + /** + * offset 4674 + */ + scaled_channel wwTauMapValues[WWAE_TABLE_SIZE]; + /** + * offset 4682 + */ + scaled_channel wwBetaMapValues[WWAE_TABLE_SIZE]; /** units - * offset 4644 + * offset 4690 */ - int mainUnusedEnd[94]; + uint8_t mainUnusedEnd[330]; /** total size 5020*/ }; @@ -4490,4 +4511,4 @@ struct persistent_config_s { }; // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Thu Jan 27 19:25:56 UTC 2022 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:03:04 UTC 2022 diff --git a/firmware/controllers/generated/rusefi_generated.h b/firmware/controllers/generated/rusefi_generated.h index a733d568e8..2db891a20d 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -79,7 +79,6 @@ #define alignmentFill_at_1847_offset 1847 #define alignmentFill_at_1873_offset 1873 #define alignmentFill_at_4007_offset 4007 -#define alignmentFill_at_4642_offset 4642 #define alignmentFill_at_62_offset 62 #define alternatorControl_dFactor_offset 1492 #define alternatorControl_iFactor_offset 1488 @@ -585,6 +584,7 @@ #define coastingFuelCutVssHigh_offset 1690 #define coastingFuelCutVssLow_offset 1689 #define communicationLedPin_offset 1572 +#define complexWallModel_offset 1272 #define COMPOSITE_DATA_LENGTH 2500 #define COMPOSITE_DATA_LENGTH_HALF 1250 #define COMPOSITE_PACKET_COUNT 500 @@ -1612,7 +1612,7 @@ #define MAIN_HELP_URL "http://www.rusefi.com/" #define mainRelayPin_offset 714 #define mainRelayPinMode_offset 756 -#define mainUnusedEnd_offset 4644 +#define mainUnusedEnd_offset 4690 #define malfunctionIndicatorPin_offset 668 #define malfunctionIndicatorPinMode_offset 669 #define manIdlePosition_offset 616 @@ -1894,7 +1894,7 @@ #define show_test_presets true #define showHumanReadableWarning_offset 896 #define showSdCardWarning_offset 164 -#define SIGNATURE_HASH 1459877239 +#define SIGNATURE_HASH 949487637 #define silentTriggerError_offset 1260 #define slowAdcAlpha_offset 1712 #define sparkDwellRpmBins_offset 54 @@ -2419,7 +2419,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2022.01.28.all.1459877239" +#define TS_SIGNATURE "rusEFI 2022.01.28.all.949487637" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' @@ -2458,7 +2458,6 @@ #define unused1130_offset 1740 #define unused1476b19_offset 1272 #define unused1476b20_offset 1272 -#define unused1476b3_offset 1272 #define unused1476b8_offset 1272 #define unused1689_offset 1691 #define unused1740b0_offset 1740 @@ -2626,5 +2625,12 @@ #define wastegatePositionSensor_offset 1751 #define wboHeaterPin_offset 681 #define wheelDiameter_offset 722 +#define WWAE_TABLE_SIZE 8 #define wwaeBeta_offset 1568 #define wwaeTau_offset 1480 +#define wwBetaCltValues_offset 4658 +#define wwBetaMapValues_offset 4682 +#define wwCltBins_offset 4642 +#define wwMapBins_offset 4666 +#define wwTauCltValues_offset 4650 +#define wwTauMapValues_offset 4674 diff --git a/firmware/controllers/generated/signature_all.h b/firmware/controllers/generated/signature_all.h index 0512ef6497..8cabda768d 100644 --- a/firmware/controllers/generated/signature_all.h +++ b/firmware/controllers/generated/signature_all.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 1459877239 -#define TS_SIGNATURE "rusEFI 2022.01.28.all.1459877239" +#define SIGNATURE_HASH 949487637 +#define TS_SIGNATURE "rusEFI 2022.01.28.all.949487637" diff --git a/firmware/controllers/generated/signature_alphax-2chan.h b/firmware/controllers/generated/signature_alphax-2chan.h index 98339d9f48..ec098508cb 100644 --- a/firmware/controllers/generated/signature_alphax-2chan.h +++ b/firmware/controllers/generated/signature_alphax-2chan.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 1449434808 -#define TS_SIGNATURE "rusEFI 2022.01.28.alphax-2chan.1449434808" +#define SIGNATURE_HASH 973038554 +#define TS_SIGNATURE "rusEFI 2022.01.28.alphax-2chan.973038554" diff --git a/firmware/controllers/generated/signature_alphax-4chan.h b/firmware/controllers/generated/signature_alphax-4chan.h index f42191f19d..feb0760d20 100644 --- a/firmware/controllers/generated/signature_alphax-4chan.h +++ b/firmware/controllers/generated/signature_alphax-4chan.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 4191780204 -#define TS_SIGNATURE "rusEFI 2022.01.28.alphax-4chan.4191780204" +#define SIGNATURE_HASH 2520940558 +#define TS_SIGNATURE "rusEFI 2022.01.28.alphax-4chan.2520940558" diff --git a/firmware/controllers/generated/signature_atlas.h b/firmware/controllers/generated/signature_atlas.h index 367e429561..872af79b27 100644 --- a/firmware/controllers/generated/signature_atlas.h +++ b/firmware/controllers/generated/signature_atlas.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 1271464016 -#define TS_SIGNATURE "rusEFI 2022.01.28.atlas.1271464016" +#define SIGNATURE_HASH 609418546 +#define TS_SIGNATURE "rusEFI 2022.01.28.atlas.609418546" diff --git a/firmware/controllers/generated/signature_f429-discovery.h b/firmware/controllers/generated/signature_f429-discovery.h index 92bacb69c2..f5bf3cee3b 100644 --- a/firmware/controllers/generated/signature_f429-discovery.h +++ b/firmware/controllers/generated/signature_f429-discovery.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 1459877239 -#define TS_SIGNATURE "rusEFI 2022.01.28.f429-discovery.1459877239" +#define SIGNATURE_HASH 949487637 +#define TS_SIGNATURE "rusEFI 2022.01.28.f429-discovery.949487637" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index d326111666..ee332751e2 100644 --- a/firmware/controllers/generated/signature_frankenso_na6.h +++ b/firmware/controllers/generated/signature_frankenso_na6.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 758227102 -#define TS_SIGNATURE "rusEFI 2022.01.28.frankenso_na6.758227102" +#define SIGNATURE_HASH 1118461436 +#define TS_SIGNATURE "rusEFI 2022.01.28.frankenso_na6.1118461436" diff --git a/firmware/controllers/generated/signature_hellen-nb1.h b/firmware/controllers/generated/signature_hellen-nb1.h index be01f8257d..8a3d28794c 100644 --- a/firmware/controllers/generated/signature_hellen-nb1.h +++ b/firmware/controllers/generated/signature_hellen-nb1.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 2882145198 -#define TS_SIGNATURE "rusEFI 2022.01.28.hellen-nb1.2882145198" +#define SIGNATURE_HASH 3293705932 +#define TS_SIGNATURE "rusEFI 2022.01.28.hellen-nb1.3293705932" diff --git a/firmware/controllers/generated/signature_hellen121nissan.h b/firmware/controllers/generated/signature_hellen121nissan.h index 9b9168edec..851c89a230 100644 --- a/firmware/controllers/generated/signature_hellen121nissan.h +++ b/firmware/controllers/generated/signature_hellen121nissan.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 4088571396 -#define TS_SIGNATURE "rusEFI 2022.01.28.hellen121nissan.4088571396" +#define SIGNATURE_HASH 2619956070 +#define TS_SIGNATURE "rusEFI 2022.01.28.hellen121nissan.2619956070" diff --git a/firmware/controllers/generated/signature_hellen121vag.h b/firmware/controllers/generated/signature_hellen121vag.h index 9dd3118260..d8b4faf8fd 100644 --- a/firmware/controllers/generated/signature_hellen121vag.h +++ b/firmware/controllers/generated/signature_hellen121vag.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 144757117 -#define TS_SIGNATURE "rusEFI 2022.01.28.hellen121vag.144757117" +#define SIGNATURE_HASH 1731931167 +#define TS_SIGNATURE "rusEFI 2022.01.28.hellen121vag.1731931167" diff --git a/firmware/controllers/generated/signature_hellen128.h b/firmware/controllers/generated/signature_hellen128.h index 649539a601..db2d9a1a6e 100644 --- a/firmware/controllers/generated/signature_hellen128.h +++ b/firmware/controllers/generated/signature_hellen128.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 321706322 -#define TS_SIGNATURE "rusEFI 2022.01.28.hellen128.321706322" +#define SIGNATURE_HASH 2092377136 +#define TS_SIGNATURE "rusEFI 2022.01.28.hellen128.2092377136" diff --git a/firmware/controllers/generated/signature_hellen154hyundai.h b/firmware/controllers/generated/signature_hellen154hyundai.h index 1e3efbb62c..448485fb8c 100644 --- a/firmware/controllers/generated/signature_hellen154hyundai.h +++ b/firmware/controllers/generated/signature_hellen154hyundai.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 2602559963 -#define TS_SIGNATURE "rusEFI 2022.01.28.hellen154hyundai.2602559963" +#define SIGNATURE_HASH 4102296761 +#define TS_SIGNATURE "rusEFI 2022.01.28.hellen154hyundai.4102296761" diff --git a/firmware/controllers/generated/signature_hellen72.h b/firmware/controllers/generated/signature_hellen72.h index 06889fddf8..2590765620 100644 --- a/firmware/controllers/generated/signature_hellen72.h +++ b/firmware/controllers/generated/signature_hellen72.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 2747167431 -#define TS_SIGNATURE "rusEFI 2022.01.28.hellen72.2747167431" +#define SIGNATURE_HASH 3425013669 +#define TS_SIGNATURE "rusEFI 2022.01.28.hellen72.3425013669" diff --git a/firmware/controllers/generated/signature_hellen81.h b/firmware/controllers/generated/signature_hellen81.h index 3e3b8589d8..98d97486f5 100644 --- a/firmware/controllers/generated/signature_hellen81.h +++ b/firmware/controllers/generated/signature_hellen81.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 397668148 -#define TS_SIGNATURE "rusEFI 2022.01.28.hellen81.397668148" +#define SIGNATURE_HASH 2015892054 +#define TS_SIGNATURE "rusEFI 2022.01.28.hellen81.2015892054" diff --git a/firmware/controllers/generated/signature_hellen88bmw.h b/firmware/controllers/generated/signature_hellen88bmw.h index caacb90f0d..71bfc3cc0c 100644 --- a/firmware/controllers/generated/signature_hellen88bmw.h +++ b/firmware/controllers/generated/signature_hellen88bmw.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 4140000296 -#define TS_SIGNATURE "rusEFI 2022.01.28.hellen88bmw.4140000296" +#define SIGNATURE_HASH 2572720458 +#define TS_SIGNATURE "rusEFI 2022.01.28.hellen88bmw.2572720458" diff --git a/firmware/controllers/generated/signature_hellenNA6.h b/firmware/controllers/generated/signature_hellenNA6.h index 109e8e5761..b2d970cee0 100644 --- a/firmware/controllers/generated/signature_hellenNA6.h +++ b/firmware/controllers/generated/signature_hellenNA6.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 557757407 -#define TS_SIGNATURE "rusEFI 2022.01.28.hellenNA6.557757407" +#define SIGNATURE_HASH 1319456445 +#define TS_SIGNATURE "rusEFI 2022.01.28.hellenNA6.1319456445" diff --git a/firmware/controllers/generated/signature_hellenNA8_96.h b/firmware/controllers/generated/signature_hellenNA8_96.h index 1f19a810cb..e030e58220 100644 --- a/firmware/controllers/generated/signature_hellenNA8_96.h +++ b/firmware/controllers/generated/signature_hellenNA8_96.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 2093974700 -#define TS_SIGNATURE "rusEFI 2022.01.28.hellenNA8_96.2093974700" +#define SIGNATURE_HASH 324303310 +#define TS_SIGNATURE "rusEFI 2022.01.28.hellenNA8_96.324303310" diff --git a/firmware/controllers/generated/signature_hellen_cypress.h b/firmware/controllers/generated/signature_hellen_cypress.h index 29b0953988..4b95704a2f 100644 --- a/firmware/controllers/generated/signature_hellen_cypress.h +++ b/firmware/controllers/generated/signature_hellen_cypress.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat null // -#define SIGNATURE_HASH 1844843211 -#define TS_SIGNATURE "rusEFI 2022.01.28.hellen_cypress.1844843211" +#define SIGNATURE_HASH 40759209 +#define TS_SIGNATURE "rusEFI 2022.01.28.hellen_cypress.40759209" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index 155fc01e46..43024b4f5a 100644 --- a/firmware/controllers/generated/signature_kin.h +++ b/firmware/controllers/generated/signature_kin.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat null // -#define SIGNATURE_HASH 2454969911 -#define TS_SIGNATURE "rusEFI 2022.01.28.kin.2454969911" +#define SIGNATURE_HASH 4257751893 +#define TS_SIGNATURE "rusEFI 2022.01.28.kin.4257751893" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index 8b2f0e3d04..9d7828c978 100644 --- a/firmware/controllers/generated/signature_mre_f4.h +++ b/firmware/controllers/generated/signature_mre_f4.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 983823538 -#define TS_SIGNATURE "rusEFI 2022.01.28.mre_f4.983823538" +#define SIGNATURE_HASH 1429735888 +#define TS_SIGNATURE "rusEFI 2022.01.28.mre_f4.1429735888" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index 4adb5db133..28c2f01bb8 100644 --- a/firmware/controllers/generated/signature_mre_f7.h +++ b/firmware/controllers/generated/signature_mre_f7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 983823538 -#define TS_SIGNATURE "rusEFI 2022.01.28.mre_f7.983823538" +#define SIGNATURE_HASH 1429735888 +#define TS_SIGNATURE "rusEFI 2022.01.28.mre_f7.1429735888" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index b5a9cefa44..ea86f56648 100644 --- a/firmware/controllers/generated/signature_prometheus_405.h +++ b/firmware/controllers/generated/signature_prometheus_405.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 132721809 -#define TS_SIGNATURE "rusEFI 2022.01.28.prometheus_405.132721809" +#define SIGNATURE_HASH 1752355315 +#define TS_SIGNATURE "rusEFI 2022.01.28.prometheus_405.1752355315" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index 2dd6057b0f..56b863fb1e 100644 --- a/firmware/controllers/generated/signature_prometheus_469.h +++ b/firmware/controllers/generated/signature_prometheus_469.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 132721809 -#define TS_SIGNATURE "rusEFI 2022.01.28.prometheus_469.132721809" +#define SIGNATURE_HASH 1752355315 +#define TS_SIGNATURE "rusEFI 2022.01.28.prometheus_469.1752355315" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index 1b75c3c6b0..ffdcd5a831 100644 --- a/firmware/controllers/generated/signature_proteus_f4.h +++ b/firmware/controllers/generated/signature_proteus_f4.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 2202089604 -#define TS_SIGNATURE "rusEFI 2022.01.28.proteus_f4.2202089604" +#define SIGNATURE_HASH 3973760486 +#define TS_SIGNATURE "rusEFI 2022.01.28.proteus_f4.3973760486" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 6dad88b663..f082efd925 100644 --- a/firmware/controllers/generated/signature_proteus_f7.h +++ b/firmware/controllers/generated/signature_proteus_f7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 2202089604 -#define TS_SIGNATURE "rusEFI 2022.01.28.proteus_f7.2202089604" +#define SIGNATURE_HASH 3973760486 +#define TS_SIGNATURE "rusEFI 2022.01.28.proteus_f7.3973760486" diff --git a/firmware/controllers/generated/signature_proteus_h7.h b/firmware/controllers/generated/signature_proteus_h7.h index f84b3a9b67..468a5e9464 100644 --- a/firmware/controllers/generated/signature_proteus_h7.h +++ b/firmware/controllers/generated/signature_proteus_h7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh null // -#define SIGNATURE_HASH 2202089604 -#define TS_SIGNATURE "rusEFI 2022.01.28.proteus_h7.2202089604" +#define SIGNATURE_HASH 3973760486 +#define TS_SIGNATURE "rusEFI 2022.01.28.proteus_h7.3973760486" diff --git a/firmware/controllers/generated/signature_subaru_eg33_f7.h b/firmware/controllers/generated/signature_subaru_eg33_f7.h index adcad193c7..c628b77bee 100644 --- a/firmware/controllers/generated/signature_subaru_eg33_f7.h +++ b/firmware/controllers/generated/signature_subaru_eg33_f7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_config.sh null // -#define SIGNATURE_HASH 2495210279 -#define TS_SIGNATURE "rusEFI 2022.01.28.subaru_eg33_f7.2495210279" +#define SIGNATURE_HASH 4213317189 +#define TS_SIGNATURE "rusEFI 2022.01.28.subaru_eg33_f7.4213317189" diff --git a/firmware/controllers/lua/generated/value_lookup_generated.cpp b/firmware/controllers/lua/generated/value_lookup_generated.cpp index 6b067f2877..e6eba513b5 100644 --- a/firmware/controllers/lua/generated/value_lookup_generated.cpp +++ b/firmware/controllers/lua/generated/value_lookup_generated.cpp @@ -514,6 +514,8 @@ float getConfigValueByName(const char *name) { return engineConfiguration->isIgnitionEnabled; if (strEqualCaseInsensitive(name, "isCylinderCleanupEnabled")) return engineConfiguration->isCylinderCleanupEnabled; + if (strEqualCaseInsensitive(name, "complexWallModel")) + return engineConfiguration->complexWallModel; if (strEqualCaseInsensitive(name, "alwaysInstantRpm")) return engineConfiguration->alwaysInstantRpm; if (strEqualCaseInsensitive(name, "isMapAveragingEnabled")) @@ -2204,6 +2206,11 @@ void setConfigValueByName(const char *name, float value) { engineConfiguration->isCylinderCleanupEnabled = (int)value; return; } + if (strEqualCaseInsensitive(name, "complexWallModel")) + { + engineConfiguration->complexWallModel = (int)value; + return; + } if (strEqualCaseInsensitive(name, "alwaysInstantRpm")) { engineConfiguration->alwaysInstantRpm = (int)value; diff --git a/firmware/tunerstudio/generated/rusefi.ini b/firmware/tunerstudio/generated/rusefi.ini index 3c6182a6da..4b3a0dae7b 100644 --- a/firmware/tunerstudio/generated/rusefi.ini +++ b/firmware/tunerstudio/generated/rusefi.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.all.1459877239" + signature = "rusEFI 2022.01.28.all.949487637" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.all.1459877239" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.all.949487637" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:59 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:56 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5667,8 +5707,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5678,6 +5719,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini b/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini index 470971b369..75dd488bca 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.alphax-2chan.1449434808" + signature = "rusEFI 2022.01.28.alphax-2chan.973038554" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.alphax-2chan.1449434808" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.alphax-2chan.973038554" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:19 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:19 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5644,8 +5684,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5655,6 +5696,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini b/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini index 95052210cd..fd975cc8ac 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.alphax-4chan.4191780204" + signature = "rusEFI 2022.01.28.alphax-4chan.2520940558" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.alphax-4chan.4191780204" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.alphax-4chan.2520940558" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:20 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:21 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5644,8 +5684,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5655,6 +5696,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_atlas.ini b/firmware/tunerstudio/generated/rusefi_atlas.ini index 6b97c8bec1..a8e159abcd 100644 --- a/firmware/tunerstudio/generated/rusefi_atlas.ini +++ b/firmware/tunerstudio/generated/rusefi_atlas.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.atlas.1271464016" + signature = "rusEFI 2022.01.28.atlas.609418546" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.atlas.1271464016" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.atlas.609418546" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:57 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:55 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5659,8 +5699,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5670,6 +5711,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_f429-discovery.ini b/firmware/tunerstudio/generated/rusefi_f429-discovery.ini index 9af6fee7d4..a6dff4afe2 100644 --- a/firmware/tunerstudio/generated/rusefi_f429-discovery.ini +++ b/firmware/tunerstudio/generated/rusefi_f429-discovery.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.f429-discovery.1459877239" + signature = "rusEFI 2022.01.28.f429-discovery.949487637" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.f429-discovery.1459877239" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.f429-discovery.949487637" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:17 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:17 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5667,8 +5707,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5678,6 +5719,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini index f43ac9a1d9..93f7edcac6 100644 --- a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini +++ b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.frankenso_na6.758227102" + signature = "rusEFI 2022.01.28.frankenso_na6.1118461436" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.frankenso_na6.758227102" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.frankenso_na6.1118461436" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:46 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:44 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5667,8 +5707,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5678,6 +5719,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini b/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini index 9e74bda0b2..bb9d8c7a10 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.hellen-nb1.2882145198" + signature = "rusEFI 2022.01.28.hellen-nb1.3293705932" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.hellen-nb1.2882145198" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.hellen-nb1.3293705932" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:36 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:35 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5644,8 +5684,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5655,6 +5696,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini b/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini index e40e73450e..1234d49331 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.hellen121nissan.4088571396" + signature = "rusEFI 2022.01.28.hellen121nissan.2619956070" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.hellen121nissan.4088571396" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.hellen121nissan.2619956070" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:26 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:26 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5643,8 +5683,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5654,6 +5695,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_hellen121vag.ini b/firmware/tunerstudio/generated/rusefi_hellen121vag.ini index 596738305a..23a4f58c75 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen121vag.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen121vag.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.hellen121vag.144757117" + signature = "rusEFI 2022.01.28.hellen121vag.1731931167" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.hellen121vag.144757117" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.hellen121vag.1731931167" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:24 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:24 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5643,8 +5683,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5654,6 +5695,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini b/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini index 5920009641..e9a94d6888 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.hellen128.321706322" + signature = "rusEFI 2022.01.28.hellen128.2092377136" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.hellen128.321706322" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.hellen128.2092377136" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:22 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:22 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5643,8 +5683,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5654,6 +5695,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini b/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini index ef5eaf67f0..3c72bfdb62 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.hellen154hyundai.2602559963" + signature = "rusEFI 2022.01.28.hellen154hyundai.4102296761" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.hellen154hyundai.2602559963" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.hellen154hyundai.4102296761" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:28 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:27 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5643,8 +5683,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5654,6 +5695,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_hellen72.ini b/firmware/tunerstudio/generated/rusefi_hellen72.ini index 51b77be1be..3a4494a43b 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen72.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen72.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.hellen72.2747167431" + signature = "rusEFI 2022.01.28.hellen72.3425013669" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.hellen72.2747167431" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.hellen72.3425013669" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:32 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:31 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5644,8 +5684,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5655,6 +5696,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_hellen81.ini b/firmware/tunerstudio/generated/rusefi_hellen81.ini index b2f77bb0a9..873213665b 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen81.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen81.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.hellen81.397668148" + signature = "rusEFI 2022.01.28.hellen81.2015892054" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.hellen81.397668148" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.hellen81.2015892054" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:34 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:33 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5642,8 +5682,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5653,6 +5694,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini b/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini index b337f70b55..392896975d 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.hellen88bmw.4140000296" + signature = "rusEFI 2022.01.28.hellen88bmw.2572720458" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.hellen88bmw.4140000296" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.hellen88bmw.2572720458" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:30 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:29 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5643,8 +5683,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5654,6 +5695,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_hellenNA6.ini b/firmware/tunerstudio/generated/rusefi_hellenNA6.ini index 9f420d2414..918565dbac 100644 --- a/firmware/tunerstudio/generated/rusefi_hellenNA6.ini +++ b/firmware/tunerstudio/generated/rusefi_hellenNA6.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.hellenNA6.557757407" + signature = "rusEFI 2022.01.28.hellenNA6.1319456445" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.hellenNA6.557757407" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.hellenNA6.1319456445" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:38 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:37 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5644,8 +5684,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5655,6 +5696,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini b/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini index 89f6d43906..eb10cbb582 100644 --- a/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini +++ b/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.hellenNA8_96.2093974700" + signature = "rusEFI 2022.01.28.hellenNA8_96.324303310" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.hellenNA8_96.2093974700" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.hellenNA8_96.324303310" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:40 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:38 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5644,8 +5684,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5655,6 +5696,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini b/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini index 4af9bb194c..4e59a7c0d1 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.hellen_cypress.1844843211" + signature = "rusEFI 2022.01.28.hellen_cypress.40759209" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.hellen_cypress.1844843211" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.hellen_cypress.40759209" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:15:02 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:59 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5667,8 +5707,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5678,6 +5719,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_kinetis.ini b/firmware/tunerstudio/generated/rusefi_kinetis.ini index 109227e277..39639e6d32 100644 --- a/firmware/tunerstudio/generated/rusefi_kinetis.ini +++ b/firmware/tunerstudio/generated/rusefi_kinetis.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.kin.2454969911" + signature = "rusEFI 2022.01.28.kin.4257751893" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.kin.2454969911" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.kin.4257751893" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:15:01 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:58 UTC 2022 pageSize = 20968 page = 1 @@ -665,7 +665,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1244,8 +1244,13 @@ gearRatio7 = scalar, U16, 4606, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4608, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4610, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4612, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4614 = array, U08, 4614, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4616, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4614, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4622, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4630, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4638, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4646, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4654, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4662, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 4992, 120 afterstartCoolantBins = array, F32, 5112, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5144, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1570,6 +1575,7 @@ fuelTrims12_table = array, S08, 20952, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1788,7 +1794,6 @@ fuelTrims12_table = array, S08, 20952, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4614 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2726,6 +2731,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3740,6 +3777,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5634,8 +5674,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5645,6 +5686,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_mre_f4.ini b/firmware/tunerstudio/generated/rusefi_mre_f4.ini index 48147d6074..a9a444490e 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f4.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.mre_f4.983823538" + signature = "rusEFI 2022.01.28.mre_f4.1429735888" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.mre_f4.983823538" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.mre_f4.1429735888" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:44 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:42 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5643,8 +5683,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5654,6 +5695,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_mre_f7.ini b/firmware/tunerstudio/generated/rusefi_mre_f7.ini index 594e2a7748..409374775a 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f7.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.mre_f7.983823538" + signature = "rusEFI 2022.01.28.mre_f7.1429735888" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.mre_f7.983823538" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.mre_f7.1429735888" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:42 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:41 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5643,8 +5683,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5654,6 +5695,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini index 312cfef951..b0c15a7eae 100644 --- a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini +++ b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.prometheus_405.132721809" + signature = "rusEFI 2022.01.28.prometheus_405.1752355315" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.prometheus_405.132721809" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.prometheus_405.1752355315" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:49 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:47 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5662,8 +5702,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5673,6 +5714,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini index 091b84df26..a49a4f6103 100644 --- a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini +++ b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.prometheus_469.132721809" + signature = "rusEFI 2022.01.28.prometheus_469.1752355315" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.prometheus_469.132721809" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.prometheus_469.1752355315" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:48 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:46 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5662,8 +5702,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5673,6 +5714,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini index ea3216a589..2640c6283d 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.proteus_f4.2202089604" + signature = "rusEFI 2022.01.28.proteus_f4.3973760486" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.proteus_f4.2202089604" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.proteus_f4.3973760486" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:53 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:51 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5635,8 +5675,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5646,6 +5687,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini index eb5a460a50..6d58e2e611 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.proteus_f7.2202089604" + signature = "rusEFI 2022.01.28.proteus_f7.3973760486" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.proteus_f7.2202089604" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.proteus_f7.3973760486" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:51 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:49 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5635,8 +5675,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5646,6 +5687,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_proteus_h7.ini b/firmware/tunerstudio/generated/rusefi_proteus_h7.ini index d27fadbcd4..5655b14c92 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_h7.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_h7.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.proteus_h7.2202089604" + signature = "rusEFI 2022.01.28.proteus_h7.3973760486" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.proteus_h7.2202089604" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.proteus_h7.3973760486" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:14:55 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:02:53 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5635,8 +5675,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5646,6 +5687,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini b/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini index deff13db41..670da43f70 100644 --- a/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2022.01.28.subaru_eg33_f7.2495210279" + signature = "rusEFI 2022.01.28.subaru_eg33_f7.4213317189" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2022.01.28.subaru_eg33_f7.2495210279" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2022.01.28.subaru_eg33_f7.4213317189" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -84,7 +84,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:15:04 UTC 2022 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:03:01 UTC 2022 pageSize = 20996 page = 1 @@ -671,7 +671,7 @@ idleMode = bits, U32, 1268, [0:0], "Open Loop + Closed Loop", "Open Loop" isInjectionEnabled = bits, U32, 1272, [0:0], "false", "true" isIgnitionEnabled = bits, U32, 1272, [1:1], "false", "true" isCylinderCleanupEnabled = bits, U32, 1272, [2:2], "false", "true" -unused1476b3 = bits, U32, 1272, [3:3], "false", "true" +complexWallModel = bits, U32, 1272, [3:3], "Basic (constants)", "Advanced (tables)" alwaysInstantRpm = bits, U32, 1272, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1272, [5:5], "false", "true" overrideCrankingIacSetting = bits, U32, 1272, [6:6], "false", "true" @@ -1266,8 +1266,13 @@ gearRatio7 = scalar, U16, 4634, "ratio", 0.01, 0, 0, 650, 0 gearRatio8 = scalar, U16, 4636, "ratio", 0.01, 0, 0, 650, 0 vvtActivationDelayMs = scalar, U16, 4638, "ms", 1, 0, 0, 65000, 0 unusedShort = scalar, U16, 4640, "RPM", 1, 0, 0, 65000, 0 -alignmentFill_at_4642 = array, U08, 4642, [2], "units", 1, 0, -20, 100, 0 -mainUnusedEnd = array, S32, 4644, [94], "units", 1, 0, 0, 1, 0 +wwCltBins = array, S08, 4642, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 4650, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 4658, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 4666, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 4674, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 4682, [8], "", 0.01, 0, 0, 2.5, 2 +mainUnusedEnd = array, U08, 4690, [330], "units", 1, 0, 0, 1, 0 warning_message = string, ASCII, 5020, 120 afterstartCoolantBins = array, F32, 5140, [8], "C", 1, 0, -100, 250, 0 afterstartHoldTime = array, F32, 5172, [8], "Seconds", 1, 0, 0, 100, 1 @@ -1598,6 +1603,7 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 isInjectionEnabled = "Enable fuel injection - This is default off for new projects as a safety feature, set to "true" to enable fuel injection and further injector settings." isIgnitionEnabled = "Enable ignition - This is default off for new projects as a safety feature, set to "true" to enable ignition and further ignition settings." isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." @@ -1822,7 +1828,6 @@ fuelTrims12_table = array, S08, 20980, [4x4], "", 0.2, 0, -25, 25, 1 hpfpActivationAngle = "How long to keep the valve activated (in order to allow the pump to build pressure and keep the valve open on its own)" hpfpTargetDecay = "The fastest rate the target pressure can be reduced by. This is because HPFP have no way to bleed off pressure other than injecting fuel." vvtActivationDelayMs = "We need to give engine time to build oil pressure without diverting it to VVT" - alignmentFill_at_4642 = "need 4 byte alignment" cltCrankingCorrBins = "CLT-based cranking position multiplier for simple manual idle controller" cltCrankingCorr = "CLT-based cranking position multiplier for simple manual idle controller" idleAdvanceBins = "Optional timing advance table for Idle (see useSeparateAdvanceForIdle)" @@ -2760,6 +2765,38 @@ etbStatus_resetCounter = scalar, S32, 636, "", 1, 0 xBins = hpfpDeadtimeVoltsBins yBins = hpfpDeadtimeMS + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + [TableEditor] ; table_id, map3d_id, "title", page @@ -3774,6 +3811,9 @@ menuDialog = main subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1} + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } menu = "Ignition" subMenu = ignitionSettings, "Ignition settings" @@ -5658,8 +5698,9 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "Fraction Divisor", tpsAccelFractionDivisor dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" - field = "evaporation time constant / tau", wwaeTau - field = "added to wall coef / beta", wwaeBeta + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } ; Tuning->AccelEnrichment @@ -5669,6 +5710,16 @@ cmd_set_engine_type_default = "Z\x00\x31\x00\x00" field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + dialog = auxValvesIO, "Outputs" field = "aux valve #1", auxValves1 field = "aux valve #2", auxValves2 diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java b/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java index 5d51c31e60..4166bc8a14 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java @@ -1,6 +1,6 @@ package com.rusefi.config.generated; -// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 01:15:07 UTC 2022 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) integration/rusefi_config.txt Fri Jan 28 06:03:04 UTC 2022 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; @@ -77,7 +77,6 @@ public class Fields { public static final int alignmentFill_at_1847_offset = 1847; public static final int alignmentFill_at_1873_offset = 1873; public static final int alignmentFill_at_4007_offset = 4007; - public static final int alignmentFill_at_4642_offset = 4642; public static final int alignmentFill_at_62_offset = 62; public static final int alternatorControl_dFactor_offset = 1492; public static final int alternatorControl_iFactor_offset = 1488; @@ -568,6 +567,7 @@ public class Fields { public static final int coastingFuelCutVssHigh_offset = 1690; public static final int coastingFuelCutVssLow_offset = 1689; public static final int communicationLedPin_offset = 1572; + public static final int complexWallModel_offset = 1272; public static final int COMPOSITE_DATA_LENGTH = 2500; public static final int COMPOSITE_DATA_LENGTH_HALF = 1250; public static final int COMPOSITE_PACKET_COUNT = 500; @@ -1556,7 +1556,7 @@ public class Fields { public static final String MAIN_HELP_URL = "http://www.rusefi.com/"; public static final int mainRelayPin_offset = 714; public static final int mainRelayPinMode_offset = 756; - public static final int mainUnusedEnd_offset = 4644; + public static final int mainUnusedEnd_offset = 4690; public static final int malfunctionIndicatorPin_offset = 668; public static final int malfunctionIndicatorPinMode_offset = 669; public static final int manIdlePosition_offset = 616; @@ -1822,7 +1822,7 @@ public class Fields { public static final int servoOutputPins8_offset = 2739; public static final int showHumanReadableWarning_offset = 896; public static final int showSdCardWarning_offset = 164; - public static final int SIGNATURE_HASH = 1459877239; + public static final int SIGNATURE_HASH = 949487637; public static final int silentTriggerError_offset = 1260; public static final int slowAdcAlpha_offset = 1712; public static final int sparkDwellRpmBins_offset = 54; @@ -2292,7 +2292,7 @@ public class Fields { public static final int TS_RESPONSE_UNDERRUN = 0x80; public static final int TS_RESPONSE_UNRECOGNIZED_COMMAND = 0x83; public static final char TS_SET_LOGGER_SWITCH = 'l'; - public static final String TS_SIGNATURE = "rusEFI 2022.01.28.all.1459877239"; + public static final String TS_SIGNATURE = "rusEFI 2022.01.28.all.949487637"; public static final char TS_SINGLE_WRITE_COMMAND = 'W'; public static final char TS_TEST_COMMAND = 't'; public static final int TsCalMode_EtbKd = 5; @@ -2328,7 +2328,6 @@ public class Fields { public static final int unused1130_offset = 1740; public static final int unused1476b19_offset = 1272; public static final int unused1476b20_offset = 1272; - public static final int unused1476b3_offset = 1272; public static final int unused1476b8_offset = 1272; public static final int unused1689_offset = 1691; public static final int unused1740b0_offset = 1740; @@ -2491,8 +2490,15 @@ public class Fields { public static final int wastegatePositionSensor_offset = 1751; public static final int wboHeaterPin_offset = 681; public static final int wheelDiameter_offset = 722; + public static final int WWAE_TABLE_SIZE = 8; public static final int wwaeBeta_offset = 1568; public static final int wwaeTau_offset = 1480; + public static final int wwBetaCltValues_offset = 4658; + public static final int wwBetaMapValues_offset = 4682; + public static final int wwCltBins_offset = 4642; + public static final int wwMapBins_offset = 4666; + public static final int wwTauCltValues_offset = 4650; + public static final int wwTauMapValues_offset = 4674; public static final Field ENGINETYPE = Field.create("ENGINETYPE", 0, FieldType.INT); public static final Field SENSORSNIFFERRPMTHRESHOLD = Field.create("SENSORSNIFFERRPMTHRESHOLD", 4, FieldType.INT8); public static final Field RPMHARDLIMIT = Field.create("RPMHARDLIMIT", 5, FieldType.INT8); @@ -3090,7 +3096,7 @@ public class Fields { public static final Field ISINJECTIONENABLED = Field.create("ISINJECTIONENABLED", 1272, FieldType.BIT, 0); public static final Field ISIGNITIONENABLED = Field.create("ISIGNITIONENABLED", 1272, FieldType.BIT, 1); public static final Field ISCYLINDERCLEANUPENABLED = Field.create("ISCYLINDERCLEANUPENABLED", 1272, FieldType.BIT, 2); - public static final Field UNUSED1476B3 = Field.create("UNUSED1476B3", 1272, FieldType.BIT, 3); + public static final Field COMPLEXWALLMODEL = Field.create("COMPLEXWALLMODEL", 1272, FieldType.BIT, 3); public static final Field ALWAYSINSTANTRPM = Field.create("ALWAYSINSTANTRPM", 1272, FieldType.BIT, 4); public static final Field ISMAPAVERAGINGENABLED = Field.create("ISMAPAVERAGINGENABLED", 1272, FieldType.BIT, 5); public static final Field OVERRIDECRANKINGIACSETTING = Field.create("OVERRIDECRANKINGIACSETTING", 1272, FieldType.BIT, 6); @@ -3695,8 +3701,13 @@ public class Fields { public static final Field GEARRATIO8 = Field.create("GEARRATIO8", 4636, FieldType.INT16); public static final Field VVTACTIVATIONDELAYMS = Field.create("VVTACTIVATIONDELAYMS", 4638, FieldType.INT16); public static final Field UNUSEDSHORT = Field.create("UNUSEDSHORT", 4640, FieldType.INT16); - public static final Field ALIGNMENTFILL_AT_4642 = Field.create("ALIGNMENTFILL_AT_4642", 4642, FieldType.INT8); - public static final Field MAINUNUSEDEND = Field.create("MAINUNUSEDEND", 4644, FieldType.INT); + public static final Field WWCLTBINS = Field.create("WWCLTBINS", 4642, FieldType.INT8); + public static final Field WWTAUCLTVALUES = Field.create("WWTAUCLTVALUES", 4650, FieldType.INT8); + public static final Field WWBETACLTVALUES = Field.create("WWBETACLTVALUES", 4658, FieldType.INT8); + public static final Field WWMAPBINS = Field.create("WWMAPBINS", 4666, FieldType.INT8); + public static final Field WWTAUMAPVALUES = Field.create("WWTAUMAPVALUES", 4674, FieldType.INT8); + public static final Field WWBETAMAPVALUES = Field.create("WWBETAMAPVALUES", 4682, FieldType.INT8); + public static final Field MAINUNUSEDEND = Field.create("MAINUNUSEDEND", 4690, FieldType.INT8); public static final Field WARNING_MESSAGE = Field.create("WARNING_MESSAGE", 5020, 120, FieldType.STRING); public static final Field AFTERSTARTCOOLANTBINS = Field.create("AFTERSTARTCOOLANTBINS", 5140, FieldType.FLOAT); public static final Field AFTERSTARTHOLDTIME = Field.create("AFTERSTARTHOLDTIME", 5172, FieldType.FLOAT); @@ -4382,7 +4393,7 @@ public class Fields { ISINJECTIONENABLED, ISIGNITIONENABLED, ISCYLINDERCLEANUPENABLED, - UNUSED1476B3, + COMPLEXWALLMODEL, ALWAYSINSTANTRPM, ISMAPAVERAGINGENABLED, OVERRIDECRANKINGIACSETTING, @@ -4977,7 +4988,12 @@ public class Fields { GEARRATIO8, VVTACTIVATIONDELAYMS, UNUSEDSHORT, - ALIGNMENTFILL_AT_4642, + WWCLTBINS, + WWTAUCLTVALUES, + WWBETACLTVALUES, + WWMAPBINS, + WWTAUMAPVALUES, + WWBETAMAPVALUES, MAINUNUSEDEND, WARNING_MESSAGE, AFTERSTARTCOOLANTBINS,