diff --git a/firmware/controllers/algo/accel_enrichment.cpp b/firmware/controllers/algo/accel_enrichment.cpp index f450e62c7a..d2a7d8a6e4 100644 --- a/firmware/controllers/algo/accel_enrichment.cpp +++ b/firmware/controllers/algo/accel_enrichment.cpp @@ -116,9 +116,9 @@ AccelEnrichmemnt::AccelEnrichmemnt() { #if ! EFI_UNIT_TEST || defined(__DOXYGEN__) static void accelInfo() { -// scheduleMsg(logger, "MAP accel length=%d", mapInstance.cb.getSize()); - scheduleMsg(logger, "MAP accel th=%f/mult=%f", engineConfiguration->engineLoadAccelEnrichmentThreshold, engineConfiguration->engineLoadAccelEnrichmentMultiplier); - scheduleMsg(logger, "MAP decel th=%f/mult=%f", engineConfiguration->decelEnleanmentThreshold, engineConfiguration->decelEnleanmentMultiplier); +// scheduleMsg(logger, "EL accel length=%d", mapInstance.cb.getSize()); + scheduleMsg(logger, "EL accel th=%f/mult=%f", engineConfiguration->engineLoadAccelEnrichmentThreshold, engineConfiguration->engineLoadAccelEnrichmentMultiplier); + scheduleMsg(logger, "EL decel th=%f/mult=%f", engineConfiguration->engineLoadDecelEnleanmentThreshold, engineConfiguration->engineLoadDecelEnleanmentMultiplier); // scheduleMsg(logger, "TPS accel length=%d", tpsInstance.cb.getSize()); scheduleMsg(logger, "TPS accel th=%f/mult=%f", engineConfiguration->tpsAccelEnrichmentThreshold, engineConfiguration->tpsAccelEnrichmentMultiplier); @@ -126,12 +126,12 @@ static void accelInfo() { scheduleMsg(logger, "added to wall=%f/sucked=%f", engineConfiguration->addedToWallCoef, engineConfiguration->suckedOffCoef); } -static void setengineLoadAccelThr(float value) { +void setEngineLoadAccelThr(float value) { engineConfiguration->engineLoadAccelEnrichmentThreshold = value; accelInfo(); } -static void setengineLoadAccelMult(float value) { +void setEngineLoadAccelMult(float value) { engineConfiguration->engineLoadAccelEnrichmentMultiplier = value; accelInfo(); } @@ -146,13 +146,23 @@ static void setTpsAccelMult(float value) { accelInfo(); } +static void setTpsDecelThr(float value) { + engineConfiguration->tpsDecelEnleanmentThreshold = value; + accelInfo(); +} + +static void setTpsDecelMult(float value) { + engineConfiguration->tpsDecelEnleanmentMultiplier = value; + accelInfo(); +} + static void setDecelThr(float value) { - engineConfiguration->decelEnleanmentThreshold = value; + engineConfiguration->engineLoadDecelEnleanmentThreshold = value; accelInfo(); } static void setDecelMult(float value) { - engineConfiguration->decelEnleanmentMultiplier = value; + engineConfiguration->engineLoadDecelEnleanmentMultiplier = value; accelInfo(); } @@ -165,7 +175,7 @@ static void setTpsAccelLen(int len) { accelInfo(); } -static void setengineLoadAccelLen(int len) { +void setEngineLoadAccelLen(int len) { if (len < 1) { scheduleMsg(logger, "Length should be positive"); return; @@ -179,15 +189,20 @@ void initAccelEnrichment(Logging *sharedLogger) { addConsoleActionI("set_tps_accel_len", setTpsAccelLen); addConsoleActionF("set_tps_accel_threshold", setTpsAccelThr); addConsoleActionF("set_tps_accel_multiplier", setTpsAccelMult); + addConsoleActionF("set_tps_decel_threshold", setTpsDecelThr); + addConsoleActionF("set_tps_decel_multiplier", setTpsDecelMult); - addConsoleActionI("set_map_accel_len", setengineLoadAccelLen); - addConsoleActionF("set_map_accel_threshold", setengineLoadAccelThr); - addConsoleActionF("set_map_accel_multiplier", setengineLoadAccelMult); - addConsoleActionF("set_decel_threshold", setDecelThr); - addConsoleActionF("set_decel_multiplier", setDecelMult); + addConsoleActionI("set_engine_load_accel_len", setEngineLoadAccelLen); + addConsoleActionF("set_engine_load_accel_threshold", setEngineLoadAccelThr); + addConsoleActionF("set_engine_load_accel_multiplier", setEngineLoadAccelMult); + addConsoleActionF("set_engine_decel_threshold", setDecelThr); + addConsoleActionF("set_engine_decel_multiplier", setDecelMult); addConsoleAction("accelinfo", accelInfo); - setengineLoadAccelLen(engineConfiguration->engineLoadAccelLength); + /** + * This would initialize data structures + */ + setEngineLoadAccelLen(engineConfiguration->engineLoadAccelLength); setTpsAccelLen(engineConfiguration->tpsAccelLength); } #endif /* ! EFI_UNIT_TEST */ diff --git a/firmware/controllers/algo/accel_enrichment.h b/firmware/controllers/algo/accel_enrichment.h index 3dd19a56ed..80c18a5759 100644 --- a/firmware/controllers/algo/accel_enrichment.h +++ b/firmware/controllers/algo/accel_enrichment.h @@ -54,7 +54,10 @@ private: }; void initAccelEnrichment(Logging *sharedLogger); -float getAccelEnrichment(void); + +void setEngineLoadAccelLen(int len); +void setEngineLoadAccelThr(float value); +void setEngineLoadAccelMult(float value); #endif /* ACC_ENRICHMENT_H_ */ diff --git a/firmware/controllers/algo/engine_configuration_generated_structures.h b/firmware/controllers/algo/engine_configuration_generated_structures.h index 85507aa8ad..8772197892 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 Thu Dec 31 12:46:57 EST 2015 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Dec 31 17:15:37 EST 2015 // begin #include "rusefi_types.h" typedef struct { @@ -1289,6 +1289,7 @@ typedef struct { */ float suckedOffCoef; /** + * TODO make suckedOffCoef an array by RPM * offset 1836 */ float unused71[7]; @@ -1297,6 +1298,7 @@ typedef struct { */ float addedToWallCoef; /** + * TODO make addedToWallCoef an array by RPM * offset 1868 */ float unused72[7]; @@ -1414,11 +1416,11 @@ typedef struct { /** * offset 2200 */ - float decelEnleanmentThreshold; + float engineLoadDecelEnleanmentThreshold; /** * offset 2204 */ - float decelEnleanmentMultiplier; + float engineLoadDecelEnleanmentMultiplier; /** * offset 2208 */ @@ -1446,7 +1448,15 @@ typedef struct { /** * offset 2232 */ - int unused[196]; + float tpsDecelEnleanmentThreshold; + /** + * offset 2236 + */ + float tpsDecelEnleanmentMultiplier; + /** + * offset 2240 + */ + int unused[194]; /** total size 3016*/ } engine_configuration_s; @@ -1595,4 +1605,4 @@ typedef struct { } persistent_config_s; // end -// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Dec 31 12:46:57 EST 2015 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Dec 31 17:15:37 EST 2015 diff --git a/firmware/controllers/algo/rusefi_generated.h b/firmware/controllers/algo/rusefi_generated.h index 72fe1b374d..64d08ca1d5 100644 --- a/firmware/controllers/algo/rusefi_generated.h +++ b/firmware/controllers/algo/rusefi_generated.h @@ -717,16 +717,18 @@ #define tpsAccelEnrichmentMultiplier_offset_hex 890 #define engineLoadAccelLength_offset 2196 #define engineLoadAccelLength_offset_hex 894 -#define decelEnleanmentThreshold_offset 2200 -#define decelEnleanmentThreshold_offset_hex 898 -#define decelEnleanmentMultiplier_offset 2204 +#define engineLoadDecelEnleanmentThreshold_offset 2200 +#define engineLoadDecelEnleanmentThreshold_offset_hex 898 +#define engineLoadDecelEnleanmentMultiplier_offset 2204 #define engineLoadAccelEnrichmentThreshold_offset 2208 #define engineLoadAccelEnrichmentMultiplier_offset 2212 #define fatalErrorPin_offset 2216 #define warninigPin_offset 2220 #define configResetPin_offset 2224 #define uartConsoleSerialSpeed_offset 2228 -#define unused_offset 2232 +#define tpsDecelEnleanmentThreshold_offset 2232 +#define tpsDecelEnleanmentMultiplier_offset 2236 +#define unused_offset 2240 #define le_formulas1_offset 3016 #define le_formulas2_offset 3216 #define le_formulas3_offset 3416 diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index 540da9a7e9..674bfdfb4a 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -582,9 +582,9 @@ baro_corr_table_t baroCorrTable; int tachPulseTriggerIndex;trigger cycle index at which we start tach pulse (performance consideration);"index", 1, 0, 0.0, 360.0, 0 float suckedOffCoef;;"%", 1, 0, 0.0, 300.0, 2 - float[7] unused71; + float[7] unused71;TODO make suckedOffCoef an array by RPM; float addedToWallCoef;;"%", 1, 0, 0.0, 300.0, 2 - float[7] unused72; + float[7] unused72;TODO make addedToWallCoef an array by RPM; float mapErrorLowValue;kPa value which is too low to be true;"kPa", 1, 0, -100.0, 100.0, 2 float mapErrorHighValue;kPa value which is too high to be true;"kPa", 1, 0, -100.0, 800.0, 2 int step1RpmWindow;RPMs prior to step1rpm point where ignition advance is retarded;"rpm", 1, 0, 0, 3000.0, 2 @@ -616,8 +616,8 @@ baro_corr_table_t baroCorrTable; int engineLoadAccelLength;;"len", 1, 0, 1, 200, 3 - float decelEnleanmentThreshold;;"roc", 1, 0, 0, 200, 3 - float decelEnleanmentMultiplier;;"coeff", 1, 0, 0, 200, 3 + float engineLoadDecelEnleanmentThreshold;;"roc", 1, 0, 0, 200, 3 + float engineLoadDecelEnleanmentMultiplier;;"coeff", 1, 0, 0, 200, 3 float engineLoadAccelEnrichmentThreshold;;"roc", 1, 0, 0, 200, 3 float engineLoadAccelEnrichmentMultiplier;;"coeff", 1, 0, 0, 200, 3 @@ -626,7 +626,9 @@ baro_corr_table_t baroCorrTable; brain_pin_e warninigPin; brain_pin_e configResetPin; uint32_t uartConsoleSerialSpeed;;"BPs", 1, 0, 0,1000000, 0 - int[196] unused; + float tpsDecelEnleanmentThreshold;;"roc", 1, 0, 0, 200, 3 + float tpsDecelEnleanmentMultiplier;;"coeff", 1, 0, 0, 200, 3 + int[194] unused; end_struct diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index 52583e2154..59c92de0b3 100644 --- a/firmware/tunerstudio/rusefi.ini +++ b/firmware/tunerstudio/rusefi.ini @@ -3,15 +3,9 @@ ; this should stop TS from looking for the CAN ID in the 2nd byte location and allow the page reads to work correctly. enable2ndByteCanID = false -;This enables the "full" CAN/serial commands so this INI can be used anywhere on the CAN network. -#unset CAN_COMMANDS [TunerStudio] -#if CAN_COMMANDS - queryCommand = "r\x00\x0f\x00\x00\x00\x14" ; Verify against signature. -#else queryCommand = "S" -#endif signature = "MShift v0.01" ; signature is expected to be 7 or more characters. [Constants] @@ -47,7 +41,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 Thu Dec 31 12:46:57 EST 2015 +; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Dec 31 17:15:37 EST 2015 pageSize = 16088 page = 1 @@ -478,9 +472,9 @@ page = 1 tachPulseDuractionMs = scalar, F32, 1824, "ms", 1, 0, 0.0, 100.0, 2 tachPulseTriggerIndex = scalar, S32, 1828, "index", 1, 0, 0.0, 360.0, 0 suckedOffCoef = scalar, F32, 1832, "%", 1, 0, 0.0, 300.0, 2 -;skipping unused71 offset 1836 + unused71 = array, F32, 1836, [7], addedToWallCoef = scalar, F32, 1864, "%", 1, 0, 0.0, 300.0, 2 -;skipping unused72 offset 1868 + unused72 = array, F32, 1868, [7], mapErrorLowValue = scalar, F32, 1896, "kPa", 1, 0, -100.0, 100.0, 2 mapErrorHighValue = scalar, F32, 1900, "kPa", 1, 0, -100.0, 800.0, 2 step1RpmWindow = scalar, S32, 1904, "rpm", 1, 0, 0, 3000.0, 2 @@ -513,15 +507,17 @@ page = 1 tpsAccelEnrichmentThreshold = scalar, F32, 2188, "roc", 1, 0, 0, 200, 3 tpsAccelEnrichmentMultiplier = scalar, F32, 2192, "coeff", 1, 0, 0, 200, 3 engineLoadAccelLength = scalar, S32, 2196, "len", 1, 0, 1, 200, 3 - decelEnleanmentThreshold = scalar, F32, 2200, "roc", 1, 0, 0, 200, 3 - decelEnleanmentMultiplier = scalar, F32, 2204, "coeff", 1, 0, 0, 200, 3 + engineLoadDecelEnleanmentThreshold = scalar, F32, 2200, "roc", 1, 0, 0, 200, 3 + engineLoadDecelEnleanmentMultiplier = scalar, F32, 2204, "coeff", 1, 0, 0, 200, 3 engineLoadAccelEnrichmentThreshold = scalar, F32, 2208, "roc", 1, 0, 0, 200, 3 engineLoadAccelEnrichmentMultiplier = scalar, F32, 2212, "coeff", 1, 0, 0, 200, 3 fatalErrorPin = bits, U32, 2216, [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" warninigPin = bits, U32, 2220, [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" configResetPin = bits, U32, 2224, [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" uartConsoleSerialSpeed = scalar, U32, 2228, "BPs", 1, 0, 0,1000000, 0 -;skipping unused offset 2232 + tpsDecelEnleanmentThreshold = scalar, F32, 2232, "roc", 1, 0, 0, 200, 3 + tpsDecelEnleanmentMultiplier = scalar, F32, 2236, "coeff", 1, 0, 0, 200, 3 +;skipping unused offset 2240 le_formulas1 = array, U08, 3016, [200],"char", 1, 0, 0.0, 3.0, 2 le_formulas2 = array, U08, 3216, [200],"char", 1, 0, 0.0, 3.0, 2 le_formulas3 = array, U08, 3416, [200],"char", 1, 0, 0.0, 3.0, 2 @@ -618,12 +614,7 @@ page = 1 ; see TS_FILE_VERSION in firmware code fileVersion = { 20151201 } -#if CAN_COMMANDS -;full version that works anywhere - be sure to change the no. bytes requested - ochGetCommand = "r\x00\x07\x00\x00\x01\x98" -#else ochGetCommand = "O" -#endif ; see OUTPUT_CHANNELS_SIZE in console source code ochBlockSize = 196 @@ -1055,7 +1046,7 @@ fileVersion = { 20151201 } subMenu = fuelTableTbl, "Fuel Table", 0, {algorithm != 3} subMenu = veTableTbl, "VE Table", 0, {algorithm == 3} subMenu = afrTableTbl, "Targe AFR Table", 0, {algorithm == 3} - subMenu = AccelEnrich, "AccelEnrichment" + subMenu = AccelEnrich, "Accel/Decel Enrichment/Enleanment" subMenu = iatFuelCorrCurve, "Intake air temp fuel correction" subMenu = cltFuelCorrCurve, "Coolant temp fuel correction" subMenu = injPhaseTableTbl, "Injection Phase" @@ -1443,14 +1434,28 @@ fileVersion = { 20151201 } field = "" field = "CylinderCleanup", isCylinderCleanupEnabled + + dialog = EngineLoadAccel, "Engine Load" + field = "Length", engineLoadAccelLength + field = "Accel Threshold", engineLoadAccelEnrichmentThreshold + field = "Accel Multiplier", engineLoadAccelEnrichmentMultiplier + field = "Decel Threshold", engineLoadDecelEnleanmentThreshold + field = "Decel Multiplier", engineLoadDecelEnleanmentMultiplier + + dialog = TpsAccel, "TPS" + field = "Length", tpsAccelLength + field = "Accel Threshold", tpsAccelEnrichmentThreshold + field = "Accel Multiplier", tpsAccelEnrichmentMultiplier + field = "Decel Threshold", tpsDecelEnleanmentThreshold + field = "Decel Multiplier", tpsDecelEnleanmentMultiplier + ; Tuning->AccelEnrichment - dialog = AccelEnrich, "AccelEnrichment" - field = "Engine Load accel length", engineLoadAccelLength - field = "Engine Load Accel threshold", engineLoadAccelEnrichmentThreshold - field = "Engine Accel Mult", engineLoadAccelEnrichmentMultiplier - field = "TPS accel length", tpsAccelLength - field = "TPS Accel threshold", tpsAccelEnrichmentThreshold - field = "TPS Accel Mult", tpsAccelEnrichmentMultiplier + dialog = AccelEnrich, "Accel/Decel Enrichment" + panel = EngineLoadAccel + panel = TpsAccel + field = "sucked off wall coefficient", suckedOffCoef + field = "added to wall coef", addedToWallCoef + ; Flex Logic dialog = fsioIO, "Outputs" diff --git a/java_console/models/src/com/rusefi/config/Fields.java b/java_console/models/src/com/rusefi/config/Fields.java index 32ed072f36..bf2398418f 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 Thu Dec 31 12:46:57 EST 2015 +// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Dec 31 16:50:15 EST 2015 public class Fields { public static final Field ENGINETYPE = new Field("ENGINETYPE", 0, FieldType.INT); public static final Field UNUSEDOFFSET4 = new Field("UNUSEDOFFSET4", 4, FieldType.INT); @@ -450,14 +450,16 @@ public class Fields { public static final Field TPSACCELENRICHMENTTHRESHOLD = new Field("TPSACCELENRICHMENTTHRESHOLD", 2188, FieldType.FLOAT); public static final Field TPSACCELENRICHMENTMULTIPLIER = new Field("TPSACCELENRICHMENTMULTIPLIER", 2192, FieldType.FLOAT); public static final Field ENGINELOADACCELLENGTH = new Field("ENGINELOADACCELLENGTH", 2196, FieldType.INT); - public static final Field DECELENLEANMENTTHRESHOLD = new Field("DECELENLEANMENTTHRESHOLD", 2200, FieldType.FLOAT); - public static final Field DECELENLEANMENTMULTIPLIER = new Field("DECELENLEANMENTMULTIPLIER", 2204, FieldType.FLOAT); + public static final Field ENGINELOADDECELENLEANMENTTHRESHOLD = new Field("ENGINELOADDECELENLEANMENTTHRESHOLD", 2200, FieldType.FLOAT); + public static final Field ENGINELOADDECELENLEANMENTMULTIPLIER = new Field("ENGINELOADDECELENLEANMENTMULTIPLIER", 2204, FieldType.FLOAT); public static final Field ENGINELOADACCELENRICHMENTTHRESHOLD = new Field("ENGINELOADACCELENRICHMENTTHRESHOLD", 2208, FieldType.FLOAT); public static final Field ENGINELOADACCELENRICHMENTMULTIPLIER = new Field("ENGINELOADACCELENRICHMENTMULTIPLIER", 2212, FieldType.FLOAT); public static final Field FATALERRORPIN = new Field("FATALERRORPIN", 2216, FieldType.INT, brain_pin_e); public static final Field WARNINIGPIN = new Field("WARNINIGPIN", 2220, FieldType.INT, brain_pin_e); public static final Field CONFIGRESETPIN = new Field("CONFIGRESETPIN", 2224, FieldType.INT, brain_pin_e); public static final Field UARTCONSOLESERIALSPEED = new Field("UARTCONSOLESERIALSPEED", 2228, FieldType.INT); + public static final Field TPSDECELENRICHMENTTHRESHOLD = new Field("TPSDECELENRICHMENTTHRESHOLD", 2232, FieldType.FLOAT); + public static final Field TPSDECELENRICHMENTMULTIPLIER = new Field("TPSDECELENRICHMENTMULTIPLIER", 2236, FieldType.FLOAT); public static final Field LE_FORMULAS1 = new Field("LE_FORMULAS1", 3016, FieldType.INT); public static final Field LE_FORMULAS2 = new Field("LE_FORMULAS2", 3216, FieldType.INT); public static final Field LE_FORMULAS3 = new Field("LE_FORMULAS3", 3416, FieldType.INT);