From 9424d39ab3efc3ae6851d3c7a2416880ada4006e Mon Sep 17 00:00:00 2001 From: andreika-git Date: Fri, 2 Feb 2018 15:18:00 +0200 Subject: [PATCH] Impl. useSeparateAdvanceForCranking & useAdvanceCorrectionsForCranking (#565) --- firmware/controllers/algo/advance_map.cpp | 29 ++++++++++++++----- .../controllers/algo/engine_configuration.cpp | 9 ++++++ ...ngine_configuration_generated_structures.h | 20 +++++++++---- firmware/controllers/algo/rusefi_generated.h | 17 +++++++---- firmware/integration/rusefi_config.txt | 11 +++++-- firmware/tunerstudio/rusefi.ini | 21 +++++++++++--- firmware/tunerstudio/rusefi.input | 11 +++++++ .../models/src/com/rusefi/config/Fields.java | 15 ++++++---- java_console/rusefi.xml | 2 +- 9 files changed, 103 insertions(+), 32 deletions(-) diff --git a/firmware/controllers/algo/advance_map.cpp b/firmware/controllers/algo/advance_map.cpp index e46dc74fb8..402ce10a89 100644 --- a/firmware/controllers/algo/advance_map.cpp +++ b/firmware/controllers/algo/advance_map.cpp @@ -119,22 +119,37 @@ static angle_t getAdvanceCorrections(int rpm DECLARE_ENGINE_PARAMETER_SUFFIX) { ; } +/** + * @return ignition timing angle advance before TDC for Cranking + */ +static angle_t getCrankingAdvance(int rpm, float engineLoad DECLARE_ENGINE_PARAMETER_SUFFIX) { + // get advance from the separate table for Cranking + if (CONFIG(useSeparateAdvanceForCranking)) { + return interpolate2d("crankingAdvance", rpm, CONFIG(crankingAdvanceBins), CONFIG(crankingAdvance), CRANKING_ADVANCE_CURVE_SIZE); + } + + // Interpolate the cranking timing angle to the earlier running angle for faster engine start + angle_t crankingToRunningTransitionAngle = getRunningAdvance(CONFIG(cranking.rpm), engineLoad PASS_ENGINE_PARAMETER_SUFFIX); + // interpolate not from zero, but starting from min. possible rpm detected + if (rpm < minCrankingRpm || minCrankingRpm == 0) + minCrankingRpm = rpm; + return interpolateClamped(minCrankingRpm, CONFIG(crankingTimingAngle), CONFIG(cranking.rpm), crankingToRunningTransitionAngle, rpm); +} + + angle_t getAdvance(int rpm, float engineLoad DECLARE_ENGINE_PARAMETER_SUFFIX) { if (cisnan(engineLoad)) { return 0; // any error should already be reported } angle_t angle; if (ENGINE(rpmCalculator).isCranking(PASS_ENGINE_PARAMETER_SIGNATURE)) { - // Interpolate the cranking timing angle to the earlier running angle for faster engine start - angle_t crankingToRunningTransitionAngle = getRunningAdvance(CONFIG(cranking.rpm), engineLoad PASS_ENGINE_PARAMETER_SUFFIX); - // interpolate not from zero, but starting from min. possible rpm detected - if (rpm < minCrankingRpm || minCrankingRpm == 0) - minCrankingRpm = rpm; - angle = interpolateClamped(minCrankingRpm, engineConfiguration->crankingTimingAngle, CONFIG(cranking.rpm), crankingToRunningTransitionAngle, rpm); + angle = getCrankingAdvance(rpm, engineLoad PASS_ENGINE_PARAMETER_SUFFIX); + if (CONFIG(useAdvanceCorrectionsForCranking)) + angle += getAdvanceCorrections(rpm PASS_ENGINE_PARAMETER_SUFFIX); } else { angle = getRunningAdvance(rpm, engineLoad PASS_ENGINE_PARAMETER_SUFFIX); + angle += getAdvanceCorrections(rpm PASS_ENGINE_PARAMETER_SUFFIX); } - angle += getAdvanceCorrections(rpm PASS_ENGINE_PARAMETER_SUFFIX); angle -= engineConfiguration->ignitionOffset; fixAngle(angle, "getAdvance"); return angle; diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 9d5d04c8ed..0145c29a95 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -517,6 +517,15 @@ static void setDefaultCrankingSettings(DECLARE_ENGINE_PARAMETER_SIGNATURE) { config->crankingCycleCoef[7] = 0.5; config->crankingCycleBins[7] = 77; + engineConfiguration->crankingAdvance[0] = 0; + engineConfiguration->crankingAdvanceBins[0] = 0; + engineConfiguration->crankingAdvance[1] = 0; + engineConfiguration->crankingAdvanceBins[0] = 200; + engineConfiguration->crankingAdvance[2] = 0; + engineConfiguration->crankingAdvanceBins[0] = 400; + engineConfiguration->crankingAdvance[3] = 0; + engineConfiguration->crankingAdvanceBins[0] = 1000; + } /** diff --git a/firmware/controllers/algo/engine_configuration_generated_structures.h b/firmware/controllers/algo/engine_configuration_generated_structures.h index fe2c151f14..1ed8b3a492 100644 --- a/firmware/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/controllers/algo/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Jan 28 22:17:49 EET 2018 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Feb 01 08:34:19 EET 2018 // begin #ifndef ENGINE_CONFIGURATION_GENERATED_H_ #define ENGINE_CONFIGURATION_GENERATED_H_ @@ -1415,10 +1415,10 @@ typedef struct { bool useFixedBaroCorrFromMap : 1; /** offset 1484 bit 17 */ - bool unused_1484_bit_17 : 1; + bool useSeparateAdvanceForCranking : 1; /** offset 1484 bit 18 */ - bool unused_1484_bit_18 : 1; + bool useAdvanceCorrectionsForCranking : 1; /** offset 1484 bit 19 */ bool unused_1484_bit_19 : 1; @@ -2082,9 +2082,19 @@ typedef struct { */ brain_pin_e test557pin; /** + * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) * offset 3312 */ - int unusedEnd[792]; + float crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; + /** + * Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) + * offset 3328 + */ + float crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; + /** + * offset 3344 + */ + int unusedEnd[784]; /** total size 6480*/ } engine_configuration_s; @@ -2330,4 +2340,4 @@ typedef struct { #endif // end -// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Jan 28 22:17:49 EET 2018 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Feb 01 08:34:19 EET 2018 diff --git a/firmware/controllers/algo/rusefi_generated.h b/firmware/controllers/algo/rusefi_generated.h index 0b2c021fee..810e37fc8a 100644 --- a/firmware/controllers/algo/rusefi_generated.h +++ b/firmware/controllers/algo/rusefi_generated.h @@ -26,6 +26,7 @@ #define CRANKING_CLT_IDLE_CURVE_SIZE 8 #define CLT_CRANKING_CURVE_SIZE 8 #define IDLE_ADVANCE_CURVE_SIZE 8 +#define CRANKING_ADVANCE_CURVE_SIZE 4 #define ENGINE_NOISE_CURVE_SIZE 8 #define CLT_TIMING_CURVE_SIZE 8 #define IDLE_VE_CURVE_SIZE 8 @@ -958,10 +959,10 @@ #define twoWireBatchIgnition_offset_hex 5cc #define useFixedBaroCorrFromMap_offset 1484 #define useFixedBaroCorrFromMap_offset_hex 5cc -#define unused_1484_bit_17_offset 1484 -#define unused_1484_bit_17_offset_hex 5cc -#define unused_1484_bit_18_offset 1484 -#define unused_1484_bit_18_offset_hex 5cc +#define useSeparateAdvanceForCranking_offset 1484 +#define useSeparateAdvanceForCranking_offset_hex 5cc +#define useAdvanceCorrectionsForCranking_offset 1484 +#define useAdvanceCorrectionsForCranking_offset_hex 5cc #define unused_1484_bit_19_offset 1484 #define unused_1484_bit_19_offset_hex 5cc #define unused_1484_bit_20_offset 1484 @@ -1530,8 +1531,12 @@ #define flexFuelSensor_offset_hex ce8 #define test557pin_offset 3308 #define test557pin_offset_hex cec -#define unusedEnd_offset 3312 -#define unusedEnd_offset_hex cf0 +#define crankingAdvanceBins_offset 3312 +#define crankingAdvanceBins_offset_hex cf0 +#define crankingAdvance_offset 3328 +#define crankingAdvance_offset_hex d00 +#define unusedEnd_offset 3344 +#define unusedEnd_offset_hex d10 #define cltCrankingCorrBins_offset 6480 #define cltCrankingCorrBins_offset_hex 1950 #define cltCrankingCorr_offset 6512 diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index f5e05f21b2..4b6ef49adc 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -70,6 +70,7 @@ struct_no_prefix engine_configuration_s #define CRANKING_CLT_IDLE_CURVE_SIZE 8 #define CLT_CRANKING_CURVE_SIZE 8 #define IDLE_ADVANCE_CURVE_SIZE 8 +#define CRANKING_ADVANCE_CURVE_SIZE 4 #define ENGINE_NOISE_CURVE_SIZE 8 #define CLT_TIMING_CURVE_SIZE 8 @@ -683,8 +684,8 @@ custom idle_mode_e 4 bits, U32, @OFFSET@, [0:0], "Automatic", "Manual" bit useOnlyRisingEdgeForTrigger;+VR sensors are only precise on rising front\nenable trigger_only_front bit twoWireBatchIgnition;+This is needed if batched igniton (waster spark) and individual coil wiring bit useFixedBaroCorrFromMap -bit unused_1484_bit_17 -bit unused_1484_bit_18 +bit useSeparateAdvanceForCranking +bit useAdvanceCorrectionsForCranking bit unused_1484_bit_19 bit unused_1484_bit_20 bit unused_1484_bit_21 @@ -888,7 +889,11 @@ spi_device_e accelerometerSpiDevice; float[FSIO_CURVE_8] fsioCurve4;;"y", 1, 0, -999, 1000.0, 3 brain_input_pin_e flexFuelSensor; brain_pin_e test557pin - int[792] unusedEnd; + +float[CRANKING_ADVANCE_CURVE_SIZE] crankingAdvanceBins;Optional timing advance table for Cranking (see useSeparateAdvanceForCranking);"RPM", 1, 0, 0.0, 18000, 2 +float[CRANKING_ADVANCE_CURVE_SIZE] crankingAdvance ;Optional timing advance table for Cranking (see useSeparateAdvanceForCranking);"deg", 1, 0, -20, 90, 2 + + int[784] unusedEnd; end_struct diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index 4996e250fd..2c89ee4206 100644 --- a/firmware/tunerstudio/rusefi.ini +++ b/firmware/tunerstudio/rusefi.ini @@ -63,7 +63,7 @@ enable2ndByteCanID = false ; see PAGE_0_SIZE in C source code ; CONFIG_DEFINITION_START -; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Jan 29 19:16:26 EST 2018 +; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Feb 01 08:34:19 EET 2018 pageSize = 20000 page = 1 @@ -498,8 +498,8 @@ page = 1 useOnlyRisingEdgeForTrigger= bits, U32, 1484, [14:14], "false", "true" twoWireBatchIgnition = bits, U32, 1484, [15:15], "false", "true" useFixedBaroCorrFromMap = bits, U32, 1484, [16:16], "false", "true" - unused_1484_bit_17 = bits, U32, 1484, [17:17], "false", "true" - unused_1484_bit_18 = bits, U32, 1484, [18:18], "false", "true" + useSeparateAdvanceForCranking= bits, U32, 1484, [17:17], "false", "true" + useAdvanceCorrectionsForCranking= bits, U32, 1484, [18:18], "false", "true" unused_1484_bit_19 = bits, U32, 1484, [19:19], "false", "true" unused_1484_bit_20 = bits, U32, 1484, [20:20], "false", "true" unused_1484_bit_21 = bits, U32, 1484, [21:21], "false", "true" @@ -769,7 +769,9 @@ page = 1 fsioCurve4 = array, F32, 3272, [8], "y", 1, 0, -999, 1000.0, 3 flexFuelSensor = bits, U32, 3304, [0:6], "INVALID", "PA1", "PA2", "PA3", "INVALID", "PA5", "PA6", "PA7", "PA8", "PA9", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PA15", "INVALID", "INVALID", "INVALID", "PB3", "PB4", "PB5", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "PC7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "PE6", "INVALID", "INVALID", "PE9", "INVALID", "PE11", "INVALID", "INVALID", "INVALID", "INVALID", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" test557pin = bits, U32, 3308, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" -;skipping unusedEnd offset 3312 + crankingAdvanceBins = array, F32, 3312, [4], "RPM", 1, 0, 0.0, 18000, 2 + crankingAdvance = array, F32, 3328, [4], "deg", 1, 0, -20, 90, 2 +;skipping unusedEnd offset 3344 cltCrankingCorrBins = array, F32, 6480, [8], "C", 1, 0, -100.0, 250.0, 2 cltCrankingCorr = array, F32, 6512, [8], "%", 1, 0, 0.0, 500.0, 2 idleAdvanceBins = array, F32, 6544, [8], "RPM", 1, 0, 0.0, 18000, 2 @@ -1285,6 +1287,14 @@ fileVersion = { 20171101 } xBins = idleVeBins, RPMValue yBins = idleVe gauge = afr1Gauge + + curve = crankingAdvanceCurve, "Cranking Advance Angle" + columnLabel = "RPM", "degrees" + xAxis = 0, 8000, 10 + yAxis = -100, 100, 10 + xBins = crankingAdvanceBins, RPMValue + yBins = crankingAdvance + gauge = RPMGauge curve = warmupTargetAfrCurve, "CLT-based target AFR" columnLabel = "Coolant", "Correction" @@ -1787,6 +1797,7 @@ gaugeCategory = Fuel Data subMenu = std_separator subMenu = ignitionTableTbl, "Ignition Advance Table" subMenu = idleAdvanceCurve, "Idle Ignition Advance Table", 0, {useSeparateAdvanceForIdle == 1} + subMenu = crankingAdvanceCurve, "Cranking Ignition Advance Table", 0, {useSeparateAdvanceForCranking == 1} subMenu = ignitionIatCorrTableTbl, "Ignition Intake Air Temp correction" subMenu = baroCorrTbl, "Baro Correction", 0, {fuelAlgorithm == LM_SPEED_DENSITY} subMenu = std_separator @@ -2637,6 +2648,8 @@ cmd_stop_engine = "w\x00\x99\x00\x00" dialog = crankingIgnition, "Ignition" field = "Advance", crankingTimingAngle + field = "Use separate Advance Table for cranking", useSeparateAdvanceForCranking + field = "Use Advance Corrections for cranking", useAdvanceCorrectionsForCranking field = "Use fixed Dwell?", useConstantDwellDuringCranking field = "Fixed Dwell", ignitionDwellForCrankingMs, {useConstantDwellDuringCranking == 1} field = "Charge Angle", crankingChargeAngle, {useConstantDwellDuringCranking == 0} diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index 50c8fe621d..43d887ed98 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -466,6 +466,14 @@ fileVersion = { 20171101 } xBins = idleVeBins, RPMValue yBins = idleVe gauge = afr1Gauge + + curve = crankingAdvanceCurve, "Cranking Advance Angle" + columnLabel = "RPM", "degrees" + xAxis = 0, 8000, 10 + yAxis = -100, 100, 10 + xBins = crankingAdvanceBins, RPMValue + yBins = crankingAdvance + gauge = RPMGauge curve = warmupTargetAfrCurve, "CLT-based target AFR" columnLabel = "Coolant", "Correction" @@ -968,6 +976,7 @@ gaugeCategory = Fuel Data subMenu = std_separator subMenu = ignitionTableTbl, "Ignition Advance Table" subMenu = idleAdvanceCurve, "Idle Ignition Advance Table", 0, {useSeparateAdvanceForIdle == 1} + subMenu = crankingAdvanceCurve, "Cranking Ignition Advance Table", 0, {useSeparateAdvanceForCranking == 1} subMenu = ignitionIatCorrTableTbl, "Ignition Intake Air Temp correction" subMenu = baroCorrTbl, "Baro Correction", 0, {fuelAlgorithm == LM_SPEED_DENSITY} subMenu = std_separator @@ -1818,6 +1827,8 @@ cmd_stop_engine = "w\x00\x99\x00\x00" dialog = crankingIgnition, "Ignition" field = "Advance", crankingTimingAngle + field = "Use separate Advance Table for cranking", useSeparateAdvanceForCranking + field = "Use Advance Corrections for cranking", useAdvanceCorrectionsForCranking field = "Use fixed Dwell?", useConstantDwellDuringCranking field = "Fixed Dwell", ignitionDwellForCrankingMs, {useConstantDwellDuringCranking == 1} field = "Charge Angle", crankingChargeAngle, {useConstantDwellDuringCranking == 0} diff --git a/java_console/models/src/com/rusefi/config/Fields.java b/java_console/models/src/com/rusefi/config/Fields.java index cf4fe92ab5..2cf97cff0c 100644 --- a/java_console/models/src/com/rusefi/config/Fields.java +++ b/java_console/models/src/com/rusefi/config/Fields.java @@ -1,6 +1,6 @@ package com.rusefi.config; -// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Jan 29 19:16:26 EST 2018 +// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Feb 01 08:34:19 EET 2018 public class Fields { public static final int LE_COMMAND_LENGTH = 200; public static final int BLOCKING_FACTOR = 400; @@ -15,6 +15,7 @@ public class Fields { public static final int CRANKING_CLT_IDLE_CURVE_SIZE = 8; public static final int CLT_CRANKING_CURVE_SIZE = 8; public static final int IDLE_ADVANCE_CURVE_SIZE = 8; + public static final int CRANKING_ADVANCE_CURVE_SIZE = 4; public static final int ENGINE_NOISE_CURVE_SIZE = 8; public static final int CLT_TIMING_CURVE_SIZE = 8; public static final int IDLE_VE_CURVE_SIZE = 8; @@ -648,8 +649,8 @@ public class Fields { public static final int useOnlyRisingEdgeForTrigger_offset = 1484; public static final int twoWireBatchIgnition_offset = 1484; public static final int useFixedBaroCorrFromMap_offset = 1484; - public static final int unused_1484_bit_17_offset = 1484; - public static final int unused_1484_bit_18_offset = 1484; + public static final int useSeparateAdvanceForCranking_offset = 1484; + public static final int useAdvanceCorrectionsForCranking_offset = 1484; public static final int unused_1484_bit_19_offset = 1484; public static final int unused_1484_bit_20_offset = 1484; public static final int unused_1484_bit_21_offset = 1484; @@ -1016,7 +1017,9 @@ public class Fields { public static final int fsioCurve4_offset = 3272; public static final int flexFuelSensor_offset = 3304; public static final int test557pin_offset = 3308; - public static final int unusedEnd_offset = 3312; + public static final int crankingAdvanceBins_offset = 3312; + public static final int crankingAdvance_offset = 3328; + public static final int unusedEnd_offset = 3344; public static final int cltCrankingCorrBins_offset = 6480; public static final int cltCrankingCorrBins_offset_hex = 1950; public static final int cltCrankingCorr_offset = 6512; @@ -1582,8 +1585,8 @@ public class Fields { public static final Field USEONLYRISINGEDGEFORTRIGGER = Field.create("USEONLYRISINGEDGEFORTRIGGER", 1484, FieldType.BIT, 14); public static final Field TWOWIREBATCHIGNITION = Field.create("TWOWIREBATCHIGNITION", 1484, FieldType.BIT, 15); public static final Field USEFIXEDBAROCORRFROMMAP = Field.create("USEFIXEDBAROCORRFROMMAP", 1484, FieldType.BIT, 16); - public static final Field UNUSED_1484_BIT_17 = Field.create("UNUSED_1484_BIT_17", 1484, FieldType.BIT, 17); - public static final Field UNUSED_1484_BIT_18 = Field.create("UNUSED_1484_BIT_18", 1484, FieldType.BIT, 18); + public static final Field USESEPARATEADVANCEFORCRANKING = Field.create("USESEPARATEADVANCEFORCRANKING", 1484, FieldType.BIT, 17); + public static final Field USEADVANCECORRECTIONSFORCRANKING = Field.create("USEADVANCECORRECTIONSFORCRANKING", 1484, FieldType.BIT, 18); public static final Field UNUSED_1484_BIT_19 = Field.create("UNUSED_1484_BIT_19", 1484, FieldType.BIT, 19); public static final Field UNUSED_1484_BIT_20 = Field.create("UNUSED_1484_BIT_20", 1484, FieldType.BIT, 20); public static final Field UNUSED_1484_BIT_21 = Field.create("UNUSED_1484_BIT_21", 1484, FieldType.BIT, 21); diff --git a/java_console/rusefi.xml b/java_console/rusefi.xml index ba1ac8204e..912e8166da 100644 --- a/java_console/rusefi.xml +++ b/java_console/rusefi.xml @@ -1,6 +1,6 @@ - +