auto-sync

This commit is contained in:
rusEfi 2017-01-22 16:04:09 -05:00
parent b0430b6260
commit 92e2b13300
9 changed files with 131 additions and 21 deletions

View File

@ -558,6 +558,12 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_F) {
setTableValue(engineConfiguration->cltIdleRpmBins, engineConfiguration->cltIdleRpm, CLT_CURVE_SIZE, 100, 1000);
setTableValue(engineConfiguration->cltIdleRpmBins, engineConfiguration->cltIdleRpm, CLT_CURVE_SIZE, 110, 1100);
engineConfiguration->fuelClosedLoopCorrectionEnabled = false;
engineConfiguration->fuelClosedLoopCltThreshold = 70;
engineConfiguration->fuelClosedLoopRpmThreshold = 900;
engineConfiguration->fuelClosedLoopTpsThreshold = 80;
engineConfiguration->cranking.baseFuel = 5;
engineConfiguration->analogInputDividerCoefficient = 2;

View File

@ -1,4 +1,4 @@
// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Jan 22 11:23:24 EST 2017
// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Jan 22 15:18:35 EST 2017
// begin
#ifndef ENGINE_CONFIGURATION_GENERATED_H_
#define ENGINE_CONFIGURATION_GENERATED_H_
@ -1182,7 +1182,7 @@ typedef struct {
bool vvtDisplayInverted : 1;
/**
offset 1488 bit 1 */
bool unusedBit__1 : 1;
bool fuelClosedLoopCorrectionEnabled : 1;
/**
offset 1488 bit 2 */
bool unusedBit__5 : 1;
@ -1791,7 +1791,27 @@ typedef struct {
/**
* offset 2732
*/
int unused[79];
int16_t fuelClosedLoopCltThreshold;
/**
* offset 2734
*/
int16_t fuelClosedLoopTpsThreshold;
/**
* offset 2736
*/
int16_t fuelClosedLoopRpmThreshold;
/**
* offset 2738
*/
int16_t unusedShort;
/**
* offset 2740
*/
pid_s fuelClosedLoopPid;
/**
* offset 2756
*/
int unused[73];
/** total size 3048*/
} engine_configuration_s;
@ -2006,4 +2026,4 @@ typedef struct {
#endif
// end
// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Jan 22 11:23:24 EST 2017
// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Jan 22 15:18:35 EST 2017

View File

@ -653,7 +653,7 @@ typedef enum {
DBG_VVT = 8,
DBG_POST_CRANKING_ENRICH = 9,
DBG_TIMING = 10,
DM_11 = 11,
DBG_FUEL_PID_CORRECTION = 11,
DM_12 = 12,
DM_13 = 13,
DM_14 = 14,

View File

@ -616,7 +616,7 @@
#define fsioDigitalInputs16_offset 1480
#define frequencyReportingMapInputPin_offset 1484
#define vvtDisplayInverted_offset 1488
#define unusedBit__1_offset 1488
#define fuelClosedLoopCorrectionEnabled_offset 1488
#define unusedBit__5_offset 1488
#define unusedBit__6_offset 1488
#define useConstantDwellDuringCranking_offset 1488
@ -917,7 +917,16 @@
#define auxTempSensor2_resistance_3_offset 2720
#define auxTempSensor2_bias_resistor_offset 2724
#define auxTempSensor2_adcChannel_offset 2728
#define unused_offset 2732
#define fuelClosedLoopCltThreshold_offset 2732
#define fuelClosedLoopTpsThreshold_offset 2734
#define fuelClosedLoopRpmThreshold_offset 2736
#define unusedShort_offset 2738
#define fuelClosedLoopPid_offset 2740
#define fuelClosedLoopPid_pFactor_offset 2740
#define fuelClosedLoopPid_iFactor_offset 2744
#define fuelClosedLoopPid_dFactor_offset 2748
#define fuelClosedLoopPid_offset_offset 2752
#define unused_offset 2756
#define le_formulas1_offset 3048
#define le_formulas2_offset 3248
#define le_formulas3_offset 3448

View File

@ -67,6 +67,10 @@ static LocalVersionHolder triggerVersion;
static const char *prevOutputName = NULL;
static Logging *logger;
#if ! EFI_UNIT_TEST
static pid_s *fuelPidS = &persistentState.persistentConfiguration.engineConfiguration.fuelClosedLoopPid;
static Pid fuelPid(fuelPidS, -100, 100);
#endif
// todo: figure out if this even helps?
//#if defined __GNUC__
@ -366,6 +370,20 @@ static void scheduleOutput2(OutputSignalPair *pair, efitimeus_t nowUs, float del
#endif /* EFI_GPIO */
}
static void fuelClosedLoopCorrection(DECLARE_ENGINE_PARAMETER_F) {
if (ENGINE(rpmCalculator.rpmValue) < CONFIG(fuelClosedLoopRpmThreshold)) {
return;
}
if (ENGINE(engineState.clt) < CONFIG(fuelClosedLoopCltThreshold)) {
return;
}
if (getTPS(PASS_ENGINE_PARAMETER_F) > CONFIG(fuelClosedLoopTpsThreshold)) {
return;
}
}
static ALWAYS_INLINE void handleFuel(const bool limitedFuel, uint32_t trgEventIndex, int rpm DECLARE_ENGINE_PARAMETER_S) {
efiAssertVoid(getRemainingStack(chThdSelf()) > 128, "lowstck#3");
efiAssertVoid(trgEventIndex < engine->engineCycleEventCount, "handleFuel/event index");
@ -481,8 +499,6 @@ void mainTriggerCallback(trigger_event_e ckpSignalType, uint32_t trgEventIndex D
int beforeCallback = hal_lld_get_counter_value();
#endif
int revolutionIndex = ENGINE(rpmCalculator).getRevolutionCounter() % 2;
if (trgEventIndex == 0) {
if (triggerVersion.isOld()) {
@ -493,6 +509,13 @@ void mainTriggerCallback(trigger_event_e ckpSignalType, uint32_t trgEventIndex D
// we need this to apply new 'triggerIndexByAngle' values
engine->periodicFastCallback(PASS_ENGINE_PARAMETER_F);
}
if (CONFIG(fuelClosedLoopCorrectionEnabled)) {
fuelClosedLoopCorrection(PASS_ENGINE_PARAMETER_F);
}
}
efiAssertVoid(!CONFIG(useOnlyRisingEdgeForTrigger) || CONFIG(ignMathCalculateAtIndex) % 2 == 0, "invalid ignMathCalculateAtIndex");

View File

@ -109,7 +109,7 @@ float baseFuel;+Fuel squirt duration while cranking\nA number of curves adjust t
int16_t rpm;+Cranking mode threshold. Special cranking logic controls fuel and spark while RPM is below this threshold\nset cranking_rpm X;"RPM", 1, 0, 0, 3000, 0
end_struct
#define debug_mode_e_enum "Alternator_PID", "TPS accel enrich", "Warmup PID", "IDLE", "EL accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "VVT", "post-crank enrich", "mode10", "mode11", "mode12", "mode13", "mode14", "mode15"
#define debug_mode_e_enum "Alternator_PID", "TPS accel enrich", "Warmup PID", "IDLE", "EL accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "VVT", "Post-crank enrich", "Timing", "Closed-loop fuel corr", "mode12", "mode13", "mode14", "mode15"
custom debug_mode_e 4 bits, U32, @OFFSET@, [0:3], @@debug_mode_e_enum@@
#define vvt_mode_e_enum "First half", "Second half", "2GZ", "Miata NB2", "mode4", "mode5", "mode6", "mode7"
@ -574,7 +574,7 @@ custom le_formula_t 200 array, U08, @OFFSET@, [200],"char", 1, 0, 0.0, 3.0, 2
board_configuration_s bc;
bit vvtDisplayInverted
bit unusedBit__1
bit fuelClosedLoopCorrectionEnabled
bit unusedBit__5
bit unusedBit__6
bit useConstantDwellDuringCranking
@ -762,7 +762,12 @@ float[MAP_ACCEL_TAPER] mapAccelTaperMult;;"mult", 1, 0, 0.0, 300,
float postCrankingDurationSec;;"seconds", 1, 0, 0, 100, 2
ThermistorConf auxTempSensor1;
ThermistorConf auxTempSensor2;
int[79] unused;
int16_t fuelClosedLoopCltThreshold;;"C", 1, 0, 0, 100, 0
int16_t fuelClosedLoopTpsThreshold;;"%", 1, 0, 0, 10, 0
int16_t fuelClosedLoopRpmThreshold;;"rpm", 1, 0, 0, 5000, 0
int16_t unusedShort
pid_s fuelClosedLoopPid;
int[73] unused;
end_struct

View File

@ -42,7 +42,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 Sun Jan 22 11:59:04 EST 2017
; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Jan 22 15:35:11 EST 2017
pageSize = 16376
page = 1
@ -422,7 +422,7 @@ page = 1
fsioDigitalInputs16 = bits, U32, 1480, [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"
frequencyReportingMapInputPin = bits, U32, 1484, [0:6], "INVALID", "INVALID", "PA2", "PA3", "INVALID", "PA5", "INVALID", "INVALID", "PA8", "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", "PC6", "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", "PE5", "INVALID", "PE7", "INVALID", "INVALID", "INVALID", "INVALID", "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"
vvtDisplayInverted = bits, U32, 1488, [0:0], "false", "true"
unusedBit__1 = bits, U32, 1488, [1:1], "false", "true"
fuelClosedLoopCorrectionEnabled= bits, U32, 1488, [1:1], "false", "true"
unusedBit__5 = bits, U32, 1488, [2:2], "false", "true"
unusedBit__6 = bits, U32, 1488, [3:3], "false", "true"
useConstantDwellDuringCranking= bits, U32, 1488, [4:4], "false", "true"
@ -554,7 +554,7 @@ page = 1
tpsDecelEnleanmentThreshold = scalar, F32, 2232, "roc", 1, 0, 0, 200, 3
tpsDecelEnleanmentMultiplier = scalar, F32, 2236, "coeff", 1, 0, 0, 200, 3
slowAdcAlpha = scalar, F32, 2240, "coeff", 1, 0, 0, 200, 3
debugMode = bits, U32, 2244, [0:3], "Alternator_PID", "TPS accel enrich", "Warmup PID", "IDLE", "EL accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "VVT", "post-crank enrich", "mode10", "mode11", "mode12", "mode13", "mode14", "mode15"
debugMode = bits, U32, 2244, [0:3], "Alternator_PID", "TPS accel enrich", "Warmup PID", "IDLE", "EL accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "VVT", "Post-crank enrich", "Timing", "Closed-loop fuel corr", "mode12", "mode13", "mode14", "mode15"
warmupAfrPid_pFactor = scalar, F32, 2248, "value", 1, 0, 0, 1000, 5
warmupAfrPid_iFactor = scalar, F32, 2252, "value", 1, 0, 0, 1000, 5
warmupAfrPid_dFactor = scalar, F32, 2256, "value", 1, 0, 0, 1000, 5
@ -644,7 +644,15 @@ page = 1
auxTempSensor2_resistance_3 = scalar, F32, 2720, "Ohm", 1, 0, 0, 200000, 1
auxTempSensor2_bias_resistor = scalar, F32, 2724, "Ohm", 1, 0, 0, 200000, 1
auxTempSensor2_adcChannel = bits, U32, 2728, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
;skipping unused offset 2732
fuelClosedLoopCltThreshold = scalar, S16, 2732, "C", 1, 0, 0, 100, 0
fuelClosedLoopTpsThreshold = scalar, S16, 2734, "%", 1, 0, 0, 10, 0
fuelClosedLoopRpmThreshold = scalar, S16, 2736, "rpm", 1, 0, 0, 5000, 0
;skipping unusedShort offset 2738
fuelClosedLoopPid_pFactor = scalar, F32, 2740, "value", 1, 0, 0, 1000, 5
fuelClosedLoopPid_iFactor = scalar, F32, 2744, "value", 1, 0, 0, 1000, 5
fuelClosedLoopPid_dFactor = scalar, F32, 2748, "value", 1, 0, 0, 1000, 5
fuelClosedLoopPid_offset = scalar, F32, 2752, "value", 1, 0, 0, 1000, 3
;skipping unused offset 2756
le_formulas1 = array, U08, 3048, [200],"char", 1, 0, 0.0, 3.0, 2
le_formulas2 = array, U08, 3248, [200],"char", 1, 0, 0.0, 3.0, 2
le_formulas3 = array, U08, 3448, [200],"char", 1, 0, 0.0, 3.0, 2
@ -1406,6 +1414,7 @@ fileVersion = { 20161225 }
subMenu = injPhaseTableTbl, "Injection Phase"
subMenu = mapAccelTaper, "Engine Load Acceleration Enrichment Taper"
subMenu = std_separator
subMenu = fuelClosedLoopDialog, "Fuel closed-loop correction"
subMenu = AccelEnrich, "Accel/Decel Enrichment/Enleanment"
subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration Multiplier"
subMenu = std_separator
@ -1842,6 +1851,16 @@ cmd_test_idle_valve = "w\x00\x17\x00\x01"
field = "SPI3 MISO", spi3misoPin
field = "SPI3 SCK", spi3sckPin
dialog = fuelClosedLoopDialog, "Fuel closed-loop correction"
field = "Enabled", fuelClosedLoopCorrectionEnabled
field = "CLT - low threshod", fuelClosedLoopCltThreshold, {fuelClosedLoopCorrectionEnabled == 1}
field = "RPM - low threshod", fuelClosedLoopRpmThreshold, {fuelClosedLoopCorrectionEnabled == 1}
field = "TPS - high threshod", fuelClosedLoopTpsThreshold, {fuelClosedLoopCorrectionEnabled == 1}
field = "P factor", fuelClosedLoopPid_pFactor, {fuelClosedLoopCorrectionEnabled == 1}
field = "I factor", fuelClosedLoopPid_iFactor, {fuelClosedLoopCorrectionEnabled == 1}
field = "D factor", fuelClosedLoopPid_dFactor, {fuelClosedLoopCorrectionEnabled == 1}
dialog = auxPidDialog, "Aux PID"
field = "Enabled", activateAuxPid1
field = "FSIO pin #1", auxPidPins1

View File

@ -1351,6 +1351,7 @@ fileVersion = { 20161225 }
subMenu = injPhaseTableTbl, "Injection Phase"
subMenu = mapAccelTaper, "Engine Load Acceleration Enrichment Taper"
subMenu = std_separator
subMenu = fuelClosedLoopDialog, "Fuel closed-loop correction"
subMenu = AccelEnrich, "Accel/Decel Enrichment/Enleanment"
subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration Multiplier"
subMenu = std_separator
@ -1787,6 +1788,16 @@ cmd_test_idle_valve = "w\x00\x17\x00\x01"
field = "SPI3 MISO", spi3misoPin
field = "SPI3 SCK", spi3sckPin
dialog = fuelClosedLoopDialog, "Fuel closed-loop correction"
field = "Enabled", fuelClosedLoopCorrectionEnabled
field = "CLT - low threshod", fuelClosedLoopCltThreshold, {fuelClosedLoopCorrectionEnabled == 1}
field = "RPM - low threshod", fuelClosedLoopRpmThreshold, {fuelClosedLoopCorrectionEnabled == 1}
field = "TPS - high threshod", fuelClosedLoopTpsThreshold, {fuelClosedLoopCorrectionEnabled == 1}
field = "P factor", fuelClosedLoopPid_pFactor, {fuelClosedLoopCorrectionEnabled == 1}
field = "I factor", fuelClosedLoopPid_iFactor, {fuelClosedLoopCorrectionEnabled == 1}
field = "D factor", fuelClosedLoopPid_dFactor, {fuelClosedLoopCorrectionEnabled == 1}
dialog = auxPidDialog, "Aux PID"
field = "Enabled", activateAuxPid1
field = "FSIO pin #1", auxPidPins1

View File

@ -1,6 +1,6 @@
package com.rusefi.config;
// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Jan 22 11:23:24 EST 2017
// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Jan 22 15:18:35 EST 2017
public class Fields {
public static final int LE_COMMAND_LENGTH = 200;
public static final int FSIO_ADC_COUNT = 4;
@ -620,7 +620,7 @@ public class Fields {
public static final int fsioDigitalInputs16_offset = 1480;
public static final int frequencyReportingMapInputPin_offset = 1484;
public static final int vvtDisplayInverted_offset = 1488;
public static final int unusedBit__1_offset = 1488;
public static final int fuelClosedLoopCorrectionEnabled_offset = 1488;
public static final int unusedBit__5_offset = 1488;
public static final int unusedBit__6_offset = 1488;
public static final int useConstantDwellDuringCranking_offset = 1488;
@ -921,7 +921,16 @@ public class Fields {
public static final int auxTempSensor2_resistance_3_offset = 2720;
public static final int auxTempSensor2_bias_resistor_offset = 2724;
public static final int auxTempSensor2_adcChannel_offset = 2728;
public static final int unused_offset = 2732;
public static final int fuelClosedLoopCltThreshold_offset = 2732;
public static final int fuelClosedLoopTpsThreshold_offset = 2734;
public static final int fuelClosedLoopRpmThreshold_offset = 2736;
public static final int unusedShort_offset = 2738;
public static final int fuelClosedLoopPid_offset = 2740;
public static final int fuelClosedLoopPid_pFactor_offset = 2740;
public static final int fuelClosedLoopPid_iFactor_offset = 2744;
public static final int fuelClosedLoopPid_dFactor_offset = 2748;
public static final int fuelClosedLoopPid_offset_offset = 2752;
public static final int unused_offset = 2756;
public static final int le_formulas1_offset = 3048;
public static final int le_formulas2_offset = 3248;
public static final int le_formulas3_offset = 3448;
@ -1373,7 +1382,7 @@ public class Fields {
public static final Field FSIODIGITALINPUTS16 = Field.create("FSIODIGITALINPUTS16", 1480, FieldType.INT, brain_pin_e);
public static final Field FREQUENCYREPORTINGMAPINPUTPIN = Field.create("FREQUENCYREPORTINGMAPINPUTPIN", 1484, FieldType.INT, brain_input_pin_e);
public static final Field VVTDISPLAYINVERTED = Field.create("VVTDISPLAYINVERTED", 1488, FieldType.BIT, 0);
public static final Field UNUSEDBIT__1 = Field.create("UNUSEDBIT__1", 1488, FieldType.BIT, 1);
public static final Field FUELCLOSEDLOOPCORRECTIONENABLED = Field.create("FUELCLOSEDLOOPCORRECTIONENABLED", 1488, FieldType.BIT, 1);
public static final Field UNUSEDBIT__5 = Field.create("UNUSEDBIT__5", 1488, FieldType.BIT, 2);
public static final Field UNUSEDBIT__6 = Field.create("UNUSEDBIT__6", 1488, FieldType.BIT, 3);
public static final Field USECONSTANTDWELLDURINGCRANKING = Field.create("USECONSTANTDWELLDURINGCRANKING", 1488, FieldType.BIT, 4);
@ -1494,7 +1503,7 @@ public class Fields {
public static final Field TPSDECELENLEANMENTTHRESHOLD = Field.create("TPSDECELENLEANMENTTHRESHOLD", 2232, FieldType.FLOAT);
public static final Field TPSDECELENLEANMENTMULTIPLIER = Field.create("TPSDECELENLEANMENTMULTIPLIER", 2236, FieldType.FLOAT);
public static final Field SLOWADCALPHA = Field.create("SLOWADCALPHA", 2240, FieldType.FLOAT);
public static final String[] debug_mode_e = {"Alternator_PID", "TPS accel enrich", "Warmup PID", "IDLE", "EL accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "VVT", "post-crank enrich", "mode10", "mode11", "mode12", "mode13", "mode14", "mode15"};
public static final String[] debug_mode_e = {"Alternator_PID", "TPS accel enrich", "Warmup PID", "IDLE", "EL accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "VVT", "Post-crank enrich", "Timing", "Closed-loop fuel corr", "mode12", "mode13", "mode14", "mode15"};
public static final Field DEBUGMODE = Field.create("DEBUGMODE", 2244, FieldType.INT, debug_mode_e);
public static final Field WARMUPAFRPID_PFACTOR = Field.create("WARMUPAFRPID_PFACTOR", 2248, FieldType.FLOAT);
public static final Field WARMUPAFRPID_IFACTOR = Field.create("WARMUPAFRPID_IFACTOR", 2252, FieldType.FLOAT);
@ -1581,6 +1590,14 @@ public class Fields {
public static final Field AUXTEMPSENSOR2_RESISTANCE_3 = Field.create("AUXTEMPSENSOR2_RESISTANCE_3", 2720, FieldType.FLOAT);
public static final Field AUXTEMPSENSOR2_BIAS_RESISTOR = Field.create("AUXTEMPSENSOR2_BIAS_RESISTOR", 2724, FieldType.FLOAT);
public static final Field AUXTEMPSENSOR2_ADCCHANNEL = Field.create("AUXTEMPSENSOR2_ADCCHANNEL", 2728, FieldType.INT, adc_channel_e);
public static final Field FUELCLOSEDLOOPCLTTHRESHOLD = Field.create("FUELCLOSEDLOOPCLTTHRESHOLD", 2732, FieldType.INT);
public static final Field FUELCLOSEDLOOPTPSTHRESHOLD = Field.create("FUELCLOSEDLOOPTPSTHRESHOLD", 2734, FieldType.INT);
public static final Field FUELCLOSEDLOOPRPMTHRESHOLD = Field.create("FUELCLOSEDLOOPRPMTHRESHOLD", 2736, FieldType.INT);
public static final Field UNUSEDSHORT = Field.create("UNUSEDSHORT", 2738, FieldType.INT);
public static final Field FUELCLOSEDLOOPPID_PFACTOR = Field.create("FUELCLOSEDLOOPPID_PFACTOR", 2740, FieldType.FLOAT);
public static final Field FUELCLOSEDLOOPPID_IFACTOR = Field.create("FUELCLOSEDLOOPPID_IFACTOR", 2744, FieldType.FLOAT);
public static final Field FUELCLOSEDLOOPPID_DFACTOR = Field.create("FUELCLOSEDLOOPPID_DFACTOR", 2748, FieldType.FLOAT);
public static final Field FUELCLOSEDLOOPPID_OFFSET = Field.create("FUELCLOSEDLOOPPID_OFFSET", 2752, FieldType.FLOAT);
public static final Field LE_FORMULAS1 = Field.create("LE_FORMULAS1", 3048, FieldType.INT);
public static final Field LE_FORMULAS2 = Field.create("LE_FORMULAS2", 3248, FieldType.INT);
public static final Field LE_FORMULAS3 = Field.create("LE_FORMULAS3", 3448, FieldType.INT);