PID storage refactoring - minor incompatible storage change

This commit is contained in:
rusefi 2017-05-28 22:32:32 -04:00
parent 28f6077c5f
commit d267c75b83
16 changed files with 482 additions and 444 deletions

View File

@ -488,7 +488,7 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
engineConfiguration->alternatorControl.pFactor = 20;
engineConfiguration->alternatorControl.iFactor = 0.2;
engineConfiguration->alternatorControl.dFactor = 0.1;
engineConfiguration->alternatorDT = 10;
engineConfiguration->alternatorControl.period = 10;
// enableFrankensoCan();
engineConfiguration->canWriteEnabled = true;

View File

@ -251,14 +251,14 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
engineConfiguration->alternatorControl.pFactor = 14;
engineConfiguration->alternatorControl.iFactor = 0.1;
engineConfiguration->alternatorControl.dFactor = 0;
engineConfiguration->alternatorDT = 10;
engineConfiguration->alternatorControl.period = 10;
engineConfiguration->auxPid[0].pFactor = 2;
engineConfiguration->auxPid[0].iFactor = 0.005;
engineConfiguration->auxPid[0].dFactor = 0;
engineConfiguration->auxPid[0].offset = 33;
engineConfiguration->aux1PidMin = 24;
engineConfiguration->aux1PidMax = 44;
engineConfiguration->auxPid[0].minValue = 24;
engineConfiguration->auxPid[0].maxValue = 44;
// set idle_position 35
boardConfiguration->manIdlePosition = 35;

View File

@ -54,16 +54,13 @@ static bool isEnabled(int index) {
static void pidReset(void) {
auxPid.reset();
auxPid.minResult = engineConfiguration->aux1PidMin;
auxPid.maxResult = engineConfiguration->aux1PidMax;
}
static msg_t auxPidThread(int param) {
UNUSED(param);
chRegSetThreadName("AuxPidController");
while (true) {
int dt = maxI(10, engineConfiguration->auxPidDT[0]);
chThdSleepMilliseconds(dt);
auxPid.sleep();
if (parametersVersion.isOld()) {
pidReset();

View File

@ -542,14 +542,14 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
engineConfiguration->tachPulseDuractionMs = 4;
engineConfiguration->tachPulseTriggerIndex = 4;
engineConfiguration->aux1PidMin = 10;
engineConfiguration->aux1PidMax = 90;
engineConfiguration->auxPid[0].minValue = 10;
engineConfiguration->auxPid[0].maxValue = 90;
engineConfiguration->etbPidMin = 0;
engineConfiguration->etbPidMax = 99;
engineConfiguration->etb.minValue = 0;
engineConfiguration->etb.maxValue = 99;
boardConfiguration->alternatorPidMin = 10;
boardConfiguration->alternatorPidMax = 90;
engineConfiguration->alternatorControl.minValue = 10;
engineConfiguration->alternatorControl.maxValue = 90;
setTableBin2(engineConfiguration->cltTimingBins, CLT_TIMING_CURVE_SIZE, -40, 120, 1);
setTableBin2(engineConfiguration->cltTimingExtra, CLT_TIMING_CURVE_SIZE, 0, 0, 1);
@ -658,14 +658,14 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
engineConfiguration->fuelClosedLoopCltThreshold = 70;
engineConfiguration->fuelClosedLoopRpmThreshold = 900;
engineConfiguration->fuelClosedLoopTpsThreshold = 80;
engineConfiguration->fuelClosedLoopAfrLowThreshold = 10.3;
boardConfiguration->fuelClosedLoopAfrLowThreshold = 10.3;
engineConfiguration->fuelClosedLoopAfrHighThreshold = 19.8;
engineConfiguration->fuelClosedLoopPid.pFactor = -0.1;
engineConfiguration->cranking.baseFuel = 5;
engineConfiguration->idleValvePidMin = 5;
engineConfiguration->idleValvePidMax = 95;
engineConfiguration->idleRpmPid.minValue = 5;
engineConfiguration->idleRpmPid.maxValue = 95;
boardConfiguration->idlePidDeactivationTpsThreshold = 2;
engineConfiguration->analogInputDividerCoefficient = 2;

View File

@ -1,4 +1,4 @@
// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun May 28 13:44:34 EDT 2017
// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun May 28 22:30:58 EDT 2017
// begin
#ifndef ENGINE_CONFIGURATION_GENERATED_H_
#define ENGINE_CONFIGURATION_GENERATED_H_
@ -20,8 +20,21 @@ typedef struct {
* Linear addition to PID logic
* offset 12
*/
float offset;
/** total size 16*/
int16_t offset;
/**
* PID dTime
* offset 14
*/
int16_t period;
/**
* offset 16
*/
int16_t minValue;
/**
* offset 18
*/
int16_t maxValue;
/** total size 20*/
} pid_s;
typedef struct {
@ -471,7 +484,7 @@ typedef struct {
/**
* offset 272
*/
int etbDT;
float fuelClosedLoopAfrLowThreshold;
/**
* offset 276
*/
@ -644,11 +657,7 @@ typedef struct {
/**
* offset 576
*/
int16_t alternatorPidMin;
/**
* offset 578
*/
int16_t alternatorPidMax;
int unused1;
/**
* offset 580
*/
@ -1455,19 +1464,17 @@ typedef struct {
*/
float suckedOffCoef;
/**
* TODO make suckedOffCoef an array by RPM
* offset 1828
*/
float unused71[7];
pid_s alternatorControl;
/**
* offset 1856
* offset 1848
*/
float addedToWallCoef;
pid_s etb;
/**
* TODO make addedToWallCoef an array by RPM
* offset 1860
* offset 1868
*/
float unused72[7];
pid_s warmupAfrPid;
/**
* kPa value which is too low to be true
* offset 1888
@ -1487,14 +1494,10 @@ typedef struct {
* offset 1900
*/
pid_s idleRpmPid;
/**
* offset 1916
*/
int idleDT;
/**
* offset 1920
*/
int unusedIdleControl;
float addedToWallCoef;
/**
* blue LED on discovery by default
* offset 1924
@ -1535,7 +1538,7 @@ typedef struct {
/**
* offset 2012
*/
pid_s etb;
float unusedetb[4];
/**
* CLT-based target RPM for automatic idle controller
* offset 2028
@ -1555,14 +1558,9 @@ typedef struct {
*/
float alternatorOffAboveTps;
/**
* PID dTime
* offset 2164
*/
int alternatorDT;
/**
* offset 2168
*/
pid_s alternatorControl;
float unusedalternatorControl[5];
/**
* offset 2184
*/
@ -1634,7 +1632,7 @@ typedef struct {
/**
* offset 2248
*/
pid_s warmupAfrPid;
float unusedwarmupAfrPid[4];
/**
* CLT-based target AFR for PID-based control
* offset 2264
@ -1701,7 +1699,7 @@ typedef struct {
/**
* offset 2412
*/
pid_dt auxPidDT[AUX_PID_COUNT];
int unused4[4];
/**
* IAC cranking position
* offset 2428
@ -1750,7 +1748,7 @@ typedef struct {
/**
* offset 2488
*/
pid_s auxPid[AUX_PID_COUNT];
float unusedauxPid[16];
/**
* set vvt_mode X
* offset 2552
@ -1825,10 +1823,6 @@ typedef struct {
* offset 2740
*/
pid_s fuelClosedLoopPid;
/**
* offset 2756
*/
float fuelClosedLoopAfrLowThreshold;
/**
* offset 2760
*/
@ -1854,19 +1848,11 @@ typedef struct {
/**
* offset 2824
*/
int16_t aux1PidMin;
/**
* offset 2826
*/
int16_t aux1PidMax;
pin_input_mode_e brakePedalPinMode;
/**
* offset 2828
*/
int16_t etbPidMin;
/**
* offset 2830
*/
int16_t etbPidMax;
float idlePidActivationTime;
/**
* offset 2832
*/
@ -1902,23 +1888,11 @@ typedef struct {
/**
* offset 2864
*/
pin_input_mode_e brakePedalPinMode;
pid_s auxPid[AUX_PID_COUNT];
/**
* offset 2868
* offset 2944
*/
int16_t idleValvePidMin;
/**
* offset 2870
*/
int16_t idleValvePidMax;
/**
* offset 2872
*/
float idlePidActivationTime;
/**
* offset 2876
*/
int unused[43];
int unusedEnd[26];
/** total size 3048*/
} engine_configuration_s;
@ -2133,4 +2107,4 @@ typedef struct {
#endif
// end
// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun May 28 13:44:34 EDT 2017
// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun May 28 22:30:58 EDT 2017

View File

@ -491,8 +491,8 @@
#define fuelLevelFullTankVoltage_offset_hex 378
#define afr_type_offset 892
#define afr_type_offset_hex 37c
#define etbDT_offset 896
#define etbDT_offset_hex 380
#define fuelClosedLoopAfrLowThreshold_offset 896
#define fuelClosedLoopAfrLowThreshold_offset_hex 380
#define hip9011CsPinMode_offset 900
#define hip9011CsPinMode_offset_hex 384
#define tachOutputPin_offset 904
@ -677,10 +677,8 @@
#define gpioPinModes16_offset_hex 4a8
#define consoleUartDevice_offset 1196
#define consoleUartDevice_offset_hex 4ac
#define alternatorPidMin_offset 1200
#define alternatorPidMin_offset_hex 4b0
#define alternatorPidMax_offset 1202
#define alternatorPidMax_offset_hex 4b2
#define unused1_offset 1200
#define unused1_offset_hex 4b0
#define idlePidDeactivationTpsThreshold_offset 1204
#define idlePidDeactivationTpsThreshold_offset_hex 4b4
#define unusedHere_offset 1206
@ -1011,12 +1009,54 @@
#define tachPulseTriggerIndex_offset_hex 71c
#define suckedOffCoef_offset 1824
#define suckedOffCoef_offset_hex 720
#define unused71_offset 1828
#define unused71_offset_hex 724
#define addedToWallCoef_offset 1856
#define addedToWallCoef_offset_hex 740
#define unused72_offset 1860
#define unused72_offset_hex 744
#define alternatorControl_offset 1828
#define alternatorControl_offset_hex 724
#define alternatorControl_pFactor_offset 1828
#define alternatorControl_pFactor_offset_hex 724
#define alternatorControl_iFactor_offset 1832
#define alternatorControl_iFactor_offset_hex 728
#define alternatorControl_dFactor_offset 1836
#define alternatorControl_dFactor_offset_hex 72c
#define alternatorControl_offset_offset 1840
#define alternatorControl_offset_offset_hex 730
#define alternatorControl_period_offset 1842
#define alternatorControl_period_offset_hex 732
#define alternatorControl_minValue_offset 1844
#define alternatorControl_minValue_offset_hex 734
#define alternatorControl_maxValue_offset 1846
#define alternatorControl_maxValue_offset_hex 736
#define etb_offset 1848
#define etb_offset_hex 738
#define etb_pFactor_offset 1848
#define etb_pFactor_offset_hex 738
#define etb_iFactor_offset 1852
#define etb_iFactor_offset_hex 73c
#define etb_dFactor_offset 1856
#define etb_dFactor_offset_hex 740
#define etb_offset_offset 1860
#define etb_offset_offset_hex 744
#define etb_period_offset 1862
#define etb_period_offset_hex 746
#define etb_minValue_offset 1864
#define etb_minValue_offset_hex 748
#define etb_maxValue_offset 1866
#define etb_maxValue_offset_hex 74a
#define warmupAfrPid_offset 1868
#define warmupAfrPid_offset_hex 74c
#define warmupAfrPid_pFactor_offset 1868
#define warmupAfrPid_pFactor_offset_hex 74c
#define warmupAfrPid_iFactor_offset 1872
#define warmupAfrPid_iFactor_offset_hex 750
#define warmupAfrPid_dFactor_offset 1876
#define warmupAfrPid_dFactor_offset_hex 754
#define warmupAfrPid_offset_offset 1880
#define warmupAfrPid_offset_offset_hex 758
#define warmupAfrPid_period_offset 1882
#define warmupAfrPid_period_offset_hex 75a
#define warmupAfrPid_minValue_offset 1884
#define warmupAfrPid_minValue_offset_hex 75c
#define warmupAfrPid_maxValue_offset 1886
#define warmupAfrPid_maxValue_offset_hex 75e
#define mapErrorDetectionTooLow_offset 1888
#define mapErrorDetectionTooLow_offset_hex 760
#define mapErrorDetectionTooHigh_offset 1892
@ -1033,10 +1073,14 @@
#define idleRpmPid_dFactor_offset_hex 774
#define idleRpmPid_offset_offset 1912
#define idleRpmPid_offset_offset_hex 778
#define idleDT_offset 1916
#define idleDT_offset_hex 77c
#define unusedIdleControl_offset 1920
#define unusedIdleControl_offset_hex 780
#define idleRpmPid_period_offset 1914
#define idleRpmPid_period_offset_hex 77a
#define idleRpmPid_minValue_offset 1916
#define idleRpmPid_minValue_offset_hex 77c
#define idleRpmPid_maxValue_offset 1918
#define idleRpmPid_maxValue_offset_hex 77e
#define addedToWallCoef_offset 1920
#define addedToWallCoef_offset_hex 780
#define communicationPin_offset 1924
#define communicationPin_offset_hex 784
#define runningPin_offset 1928
@ -1053,16 +1097,8 @@
#define knockNoise_offset_hex 79c
#define knockNoiseRpmBins_offset 1980
#define knockNoiseRpmBins_offset_hex 7bc
#define etb_offset 2012
#define etb_offset_hex 7dc
#define etb_pFactor_offset 2012
#define etb_pFactor_offset_hex 7dc
#define etb_iFactor_offset 2016
#define etb_iFactor_offset_hex 7e0
#define etb_dFactor_offset 2020
#define etb_dFactor_offset_hex 7e4
#define etb_offset_offset 2024
#define etb_offset_offset_hex 7e8
#define unusedetb_offset 2012
#define unusedetb_offset_hex 7dc
#define cltIdleRpmBins_offset 2028
#define cltIdleRpmBins_offset_hex 7ec
#define cltIdleRpm_offset 2092
@ -1071,18 +1107,8 @@
#define targetVBatt_offset_hex 86c
#define alternatorOffAboveTps_offset 2160
#define alternatorOffAboveTps_offset_hex 870
#define alternatorDT_offset 2164
#define alternatorDT_offset_hex 874
#define alternatorControl_offset 2168
#define alternatorControl_offset_hex 878
#define alternatorControl_pFactor_offset 2168
#define alternatorControl_pFactor_offset_hex 878
#define alternatorControl_iFactor_offset 2172
#define alternatorControl_iFactor_offset_hex 87c
#define alternatorControl_dFactor_offset 2176
#define alternatorControl_dFactor_offset_hex 880
#define alternatorControl_offset_offset 2180
#define alternatorControl_offset_offset_hex 884
#define unusedalternatorControl_offset 2164
#define unusedalternatorControl_offset_hex 874
#define tpsAccelLength_offset 2184
#define tpsAccelLength_offset_hex 888
#define tpsAccelEnrichmentThreshold_offset 2188
@ -1115,16 +1141,8 @@
#define slowAdcAlpha_offset_hex 8c0
#define debugMode_offset 2244
#define debugMode_offset_hex 8c4
#define warmupAfrPid_offset 2248
#define warmupAfrPid_offset_hex 8c8
#define warmupAfrPid_pFactor_offset 2248
#define warmupAfrPid_pFactor_offset_hex 8c8
#define warmupAfrPid_iFactor_offset 2252
#define warmupAfrPid_iFactor_offset_hex 8cc
#define warmupAfrPid_dFactor_offset 2256
#define warmupAfrPid_dFactor_offset_hex 8d0
#define warmupAfrPid_offset_offset 2260
#define warmupAfrPid_offset_offset_hex 8d4
#define unusedwarmupAfrPid_offset 2248
#define unusedwarmupAfrPid_offset_hex 8c8
#define warmupTargetAfrBins_offset 2264
#define warmupTargetAfrBins_offset_hex 8d8
#define warmupTargetAfr_offset 2280
@ -1159,14 +1177,8 @@
#define egoValueShift_offset_hex 964
#define camInput_offset 2408
#define camInput_offset_hex 968
#define auxPidDT1_offset 2412
#define auxPidDT1_offset_hex 96c
#define auxPidDT2_offset 2416
#define auxPidDT2_offset_hex 970
#define auxPidDT3_offset 2420
#define auxPidDT3_offset_hex 974
#define auxPidDT4_offset 2424
#define auxPidDT4_offset_hex 978
#define unused4_offset 2412
#define unused4_offset_hex 96c
#define crankingIACposition_offset 2428
#define crankingIACposition_offset_hex 97c
#define tChargeMinRpmMinTps_offset 2432
@ -1201,46 +1213,8 @@
#define cj125SpiDevice_offset_hex 9b0
#define cj125CsPinMode_offset 2484
#define cj125CsPinMode_offset_hex 9b4
#define auxPid1_offset 2488
#define auxPid1_offset_hex 9b8
#define auxPid1_pFactor_offset 2488
#define auxPid1_pFactor_offset_hex 9b8
#define auxPid1_iFactor_offset 2492
#define auxPid1_iFactor_offset_hex 9bc
#define auxPid1_dFactor_offset 2496
#define auxPid1_dFactor_offset_hex 9c0
#define auxPid1_offset_offset 2500
#define auxPid1_offset_offset_hex 9c4
#define auxPid2_offset 2504
#define auxPid2_offset_hex 9c8
#define auxPid2_pFactor_offset 2504
#define auxPid2_pFactor_offset_hex 9c8
#define auxPid2_iFactor_offset 2508
#define auxPid2_iFactor_offset_hex 9cc
#define auxPid2_dFactor_offset 2512
#define auxPid2_dFactor_offset_hex 9d0
#define auxPid2_offset_offset 2516
#define auxPid2_offset_offset_hex 9d4
#define auxPid3_offset 2520
#define auxPid3_offset_hex 9d8
#define auxPid3_pFactor_offset 2520
#define auxPid3_pFactor_offset_hex 9d8
#define auxPid3_iFactor_offset 2524
#define auxPid3_iFactor_offset_hex 9dc
#define auxPid3_dFactor_offset 2528
#define auxPid3_dFactor_offset_hex 9e0
#define auxPid3_offset_offset 2532
#define auxPid3_offset_offset_hex 9e4
#define auxPid4_offset 2536
#define auxPid4_offset_hex 9e8
#define auxPid4_pFactor_offset 2536
#define auxPid4_pFactor_offset_hex 9e8
#define auxPid4_iFactor_offset 2540
#define auxPid4_iFactor_offset_hex 9ec
#define auxPid4_dFactor_offset 2544
#define auxPid4_dFactor_offset_hex 9f0
#define auxPid4_offset_offset 2548
#define auxPid4_offset_offset_hex 9f4
#define unusedauxPid_offset 2488
#define unusedauxPid_offset_hex 9b8
#define vvtMode_offset 2552
#define vvtMode_offset_hex 9f8
#define biQuad_offset 2556
@ -1331,8 +1305,12 @@
#define fuelClosedLoopPid_dFactor_offset_hex abc
#define fuelClosedLoopPid_offset_offset 2752
#define fuelClosedLoopPid_offset_offset_hex ac0
#define fuelClosedLoopAfrLowThreshold_offset 2756
#define fuelClosedLoopAfrLowThreshold_offset_hex ac4
#define fuelClosedLoopPid_period_offset 2754
#define fuelClosedLoopPid_period_offset_hex ac2
#define fuelClosedLoopPid_minValue_offset 2756
#define fuelClosedLoopPid_minValue_offset_hex ac4
#define fuelClosedLoopPid_maxValue_offset 2758
#define fuelClosedLoopPid_maxValue_offset_hex ac6
#define fuelClosedLoopAfrHighThreshold_offset 2760
#define fuelClosedLoopAfrHighThreshold_offset_hex ac8
#define stepperEnablePinMode_offset 2764
@ -1365,14 +1343,10 @@
#define timing_offset_cylinder11_offset_hex b00
#define timing_offset_cylinder12_offset 2820
#define timing_offset_cylinder12_offset_hex b04
#define aux1PidMin_offset 2824
#define aux1PidMin_offset_hex b08
#define aux1PidMax_offset 2826
#define aux1PidMax_offset_hex b0a
#define etbPidMin_offset 2828
#define etbPidMin_offset_hex b0c
#define etbPidMax_offset 2830
#define etbPidMax_offset_hex b0e
#define brakePedalPinMode_offset 2824
#define brakePedalPinMode_offset_hex b08
#define idlePidActivationTime_offset 2828
#define idlePidActivationTime_offset_hex b0c
#define sdCardSpiDevice_offset 2832
#define sdCardSpiDevice_offset_hex b10
#define spi3SckMode_offset 2836
@ -1389,16 +1363,72 @@
#define spi1MisoMode_offset_hex b28
#define brakePedalPin_offset 2860
#define brakePedalPin_offset_hex b2c
#define brakePedalPinMode_offset 2864
#define brakePedalPinMode_offset_hex b30
#define idleValvePidMin_offset 2868
#define idleValvePidMin_offset_hex b34
#define idleValvePidMax_offset 2870
#define idleValvePidMax_offset_hex b36
#define idlePidActivationTime_offset 2872
#define idlePidActivationTime_offset_hex b38
#define unused_offset 2876
#define unused_offset_hex b3c
#define auxPid1_offset 2864
#define auxPid1_offset_hex b30
#define auxPid1_pFactor_offset 2864
#define auxPid1_pFactor_offset_hex b30
#define auxPid1_iFactor_offset 2868
#define auxPid1_iFactor_offset_hex b34
#define auxPid1_dFactor_offset 2872
#define auxPid1_dFactor_offset_hex b38
#define auxPid1_offset_offset 2876
#define auxPid1_offset_offset_hex b3c
#define auxPid1_period_offset 2878
#define auxPid1_period_offset_hex b3e
#define auxPid1_minValue_offset 2880
#define auxPid1_minValue_offset_hex b40
#define auxPid1_maxValue_offset 2882
#define auxPid1_maxValue_offset_hex b42
#define auxPid2_offset 2884
#define auxPid2_offset_hex b44
#define auxPid2_pFactor_offset 2884
#define auxPid2_pFactor_offset_hex b44
#define auxPid2_iFactor_offset 2888
#define auxPid2_iFactor_offset_hex b48
#define auxPid2_dFactor_offset 2892
#define auxPid2_dFactor_offset_hex b4c
#define auxPid2_offset_offset 2896
#define auxPid2_offset_offset_hex b50
#define auxPid2_period_offset 2898
#define auxPid2_period_offset_hex b52
#define auxPid2_minValue_offset 2900
#define auxPid2_minValue_offset_hex b54
#define auxPid2_maxValue_offset 2902
#define auxPid2_maxValue_offset_hex b56
#define auxPid3_offset 2904
#define auxPid3_offset_hex b58
#define auxPid3_pFactor_offset 2904
#define auxPid3_pFactor_offset_hex b58
#define auxPid3_iFactor_offset 2908
#define auxPid3_iFactor_offset_hex b5c
#define auxPid3_dFactor_offset 2912
#define auxPid3_dFactor_offset_hex b60
#define auxPid3_offset_offset 2916
#define auxPid3_offset_offset_hex b64
#define auxPid3_period_offset 2918
#define auxPid3_period_offset_hex b66
#define auxPid3_minValue_offset 2920
#define auxPid3_minValue_offset_hex b68
#define auxPid3_maxValue_offset 2922
#define auxPid3_maxValue_offset_hex b6a
#define auxPid4_offset 2924
#define auxPid4_offset_hex b6c
#define auxPid4_pFactor_offset 2924
#define auxPid4_pFactor_offset_hex b6c
#define auxPid4_iFactor_offset 2928
#define auxPid4_iFactor_offset_hex b70
#define auxPid4_dFactor_offset 2932
#define auxPid4_dFactor_offset_hex b74
#define auxPid4_offset_offset 2936
#define auxPid4_offset_offset_hex b78
#define auxPid4_period_offset 2938
#define auxPid4_period_offset_hex b7a
#define auxPid4_minValue_offset 2940
#define auxPid4_minValue_offset_hex b7c
#define auxPid4_maxValue_offset 2942
#define auxPid4_maxValue_offset_hex b7e
#define unusedEnd_offset 2944
#define unusedEnd_offset_hex b80
#define le_formulas1_offset 3048
#define le_formulas1_offset_hex be8
#define le_formulas2_offset 3248

View File

@ -44,8 +44,6 @@ static bool shouldResetPid = false;
static void pidReset(void) {
altPid.reset();
altPid.minResult = engineConfiguration->bc.alternatorPidMin;
altPid.maxResult = engineConfiguration->bc.alternatorPidMax;
}
static msg_t AltCtrlThread(int param) {
@ -60,8 +58,7 @@ static msg_t AltCtrlThread(int param) {
}
#endif
int dt = maxI(10, engineConfiguration->alternatorDT);
chThdSleepMilliseconds(dt);
altPid.sleep();
#if ! EFI_UNIT_TEST || defined(__DOXYGEN__)
if (engineConfiguration->debugMode == DBG_ALTERNATOR_PID) {
@ -120,7 +117,7 @@ static msg_t AltCtrlThread(int param) {
void showAltInfo(void) {
scheduleMsg(logger, "alt=%s @%s t=%dms", boolToString(engineConfiguration->isAlternatorControlEnabled),
hwPortname(boardConfiguration->alternatorControlPin),
engineConfiguration->alternatorDT);
engineConfiguration->alternatorControl.period);
scheduleMsg(logger, "p=%f/i=%f/d=%f offset=%f", engineConfiguration->alternatorControl.pFactor,
0, 0, engineConfiguration->alternatorControl.offset); // todo: i & d
scheduleMsg(logger, "vbatt=%f/duty=%f/target=%f", getVBatt(PASS_ENGINE_PARAMETER_SIGNATURE), currentAltDuty,
@ -155,13 +152,11 @@ void setDefaultAlternatorParameters(void) {
engineConfiguration->alternatorControl.offset = 0;
engineConfiguration->alternatorControl.pFactor = 30;
engineConfiguration->alternatorDT = 100;
engineConfiguration->alternatorControl.period = 100;
}
void onConfigurationChangeAlternatorCallback(engine_configuration_s *previousConfiguration) {
shouldResetPid = !altPid.isSame(&previousConfiguration->alternatorControl) ||
engineConfiguration->bc.alternatorPidMin != previousConfiguration->bc.alternatorPidMin ||
engineConfiguration->bc.alternatorPidMax != previousConfiguration->bc.alternatorPidMax;
shouldResetPid = !altPid.isSame(&previousConfiguration->alternatorControl);
}
void initAlternatorCtrl(Logging *sharedLogger) {

View File

@ -111,7 +111,7 @@ static msg_t etbThread(void *arg) {
pid.postState(&tsOutputChannels);
}
if (engineConfiguration->isVerboseETB) {
pid.showPidStatus(&logger, "ETB", boardConfiguration->etbDT);
pid.showPidStatus(&logger, "ETB", engineConfiguration->etb.period);
}
@ -121,7 +121,7 @@ static msg_t etbThread(void *arg) {
// }
// this thread is activated 10 times per second
chThdSleepMilliseconds(boardConfiguration->etbDT);
pid.sleep();
}
#if defined __GNUC__
return -1;
@ -150,7 +150,7 @@ static void showEthInfo(void) {
scheduleMsg(&logger, "etb P=%f I=%f D=%f dT=%d", engineConfiguration->etb.pFactor,
engineConfiguration->etb.iFactor,
0.0,
boardConfiguration->etbDT);
engineConfiguration->etb.period);
}
static void apply(void) {
@ -173,7 +173,7 @@ void setDefaultEtbParameters(void) {
engineConfiguration->pedalPositionMax = 6;
engineConfiguration->etb.pFactor = 1;
engineConfiguration->etb.iFactor = 0.5;
boardConfiguration->etbDT = 100;
engineConfiguration->etb.period = 100;
}
void stopETBPins(void) {
@ -185,8 +185,6 @@ void stopETBPins(void) {
void onConfigurationChangeElectronicThrottleCallback(engine_configuration_s *previousConfiguration) {
shouldResetPid = !pid.isSame(&previousConfiguration->etb);
pid.minResult = engineConfiguration->etbPidMin;
pid.maxResult = engineConfiguration->etbPidMax;
}
void startETBPins(void) {

View File

@ -83,7 +83,7 @@ static void showIdleInfo(void) {
if (engineConfiguration->idleMode == IM_AUTO) {
idlePid.showPidStatus(logger, "idle", engineConfiguration->idleDT);
idlePid.showPidStatus(logger, "idle", engineConfiguration->idleRpmPid.period);
}
}
@ -166,7 +166,7 @@ static float autoIdle(float cltCorrection) {
adjustedTargetRpm = engineConfiguration->targetIdleRpm * cltCorrection;
percent_t newValue = idlePid.getValue(adjustedTargetRpm, getRpmE(engine), engineConfiguration->idleDT);
percent_t newValue = idlePid.getValue(adjustedTargetRpm, getRpmE(engine), engineConfiguration->idleRpmPid.period);
return newValue;
}
@ -182,8 +182,7 @@ static msg_t ivThread(int param) {
*/
while (true) {
// todo: in auto mode, speel should be taken from idleDTe
chThdSleepMilliseconds(boardConfiguration->idleThreadPeriod);
idlePid.sleep(); // in both manual and auto mode same period is used
if (shouldResetPid) {
idlePid.reset();
@ -239,7 +238,7 @@ static msg_t ivThread(int param) {
}
if (engineConfiguration->isVerboseIAC && engineConfiguration->idleMode == IM_AUTO) {
idlePid.showPidStatus(logger, "idle", engineConfiguration->idleDT);
idlePid.showPidStatus(logger, "idle", engineConfiguration->idleRpmPid.period);
}
@ -286,15 +285,13 @@ void setIdleDFactor(float value) {
}
void setIdleDT(int value) {
engineConfiguration->idleDT = value;
engineConfiguration->idleRpmPid.period = value;
apply();
showIdleInfo();
}
void onConfigurationChangeIdleCallback(engine_configuration_s *previousConfiguration) {
shouldResetPid = !idlePid.isSame(&previousConfiguration->idleRpmPid);
idlePid.minResult = engineConfiguration->idleValvePidMin;
idlePid.maxResult = engineConfiguration->idleValvePidMax;
}
void startIdleBench(void) {
@ -307,7 +304,7 @@ void setDefaultIdleParameters(void) {
engineConfiguration->idleRpmPid.pFactor = 0.1f;
engineConfiguration->idleRpmPid.iFactor = 0.05f;
engineConfiguration->idleRpmPid.dFactor = 0.0f;
engineConfiguration->idleDT = 10;
engineConfiguration->idleRpmPid.period = 10;
}
static void applyIdleSolenoidPinState(PwmConfig *state, int stateIndex) {

View File

@ -29,7 +29,7 @@ void Pid::init(pid_s *pid, float minResult, float maxResult) {
}
bool Pid::isSame(pid_s *pid) {
return this->pid->dFactor == pid->dFactor && this->pid->iFactor == pid->iFactor &&
return this->pid->dFactor == pid->dFactor && this->pid->iFactor == pid->iFactor &&
this->pid->offset == pid->offset && this->pid->pFactor == pid->pFactor;
}
@ -119,8 +119,10 @@ void Pid::postState(TunerStudioOutputChannels *tsOutputChannels) {
#endif
void Pid::sleep() {
int period = maxI(10, 10);
#if !EFI_UNIT_TEST || defined(__DOXYGEN__)
int period = maxI(10, pid->period);
chThdSleepMilliseconds(period);
#endif /* EFI_UNIT_TEST */
}
void Pid::showPidStatus(Logging *logging, const char*msg, int dTime) {

View File

@ -981,8 +981,8 @@ typedef struct {
#if ! EFI_UNIT_TEST || defined(__DOXYGEN__)
plain_get_short_s getS_plain[] = {
{"idle_pid_min", (uint16_t *)&engineConfiguration->idleValvePidMin},
{"idle_pid_max", (uint16_t *)&engineConfiguration->idleValvePidMax},
{"idle_pid_min", (uint16_t *)&engineConfiguration->idleRpmPid.minValue},
{"idle_pid_max", (uint16_t *)&engineConfiguration->idleRpmPid.maxValue},
};
plain_get_integer_s getI_plain[] = {
@ -1210,7 +1210,7 @@ static void setValue(const char *paramStr, const char *valueStr) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
} else if (strEqualCaseInsensitive(paramStr, "alt_t")) {
if (valueI > 10) {
engineConfiguration->alternatorDT = valueI;
engineConfiguration->alternatorControl.period = valueI;
}
showAltInfo();
} else if (strEqualCaseInsensitive(paramStr, "alt_offset")) {

View File

@ -331,7 +331,7 @@ static void fuelClosedLoopCorrection(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
if (ENGINE(rpmCalculator.rpmValue) < CONFIG(fuelClosedLoopRpmThreshold) ||
ENGINE(sensors.clt) < CONFIG(fuelClosedLoopCltThreshold) ||
getTPS(PASS_ENGINE_PARAMETER_SIGNATURE) > CONFIG(fuelClosedLoopTpsThreshold) ||
ENGINE(sensors.currentAfr) < engineConfiguration->fuelClosedLoopAfrLowThreshold ||
ENGINE(sensors.currentAfr) < boardConfiguration->fuelClosedLoopAfrLowThreshold ||
ENGINE(sensors.currentAfr) > engineConfiguration->fuelClosedLoopAfrHighThreshold) {
engine->engineState.fuelPidCorrection = 0;
fuelPid.reset();

View File

@ -105,7 +105,10 @@ struct pid_s
float pFactor;;"value", 1, 0, -1000, 1000, 5
float iFactor;;"value", 1, 0, -1000, 1000, 5
float dFactor;;"value", 1, 0, -1000, 1000, 5
float offset;Linear addition to PID logic;"value", 1, 0, 0, 1000, 3
int16_t offset;Linear addition to PID logic;"value", 1, 0, 0, 1000, 0
int16_t period;PID dTime;"ms", 1, 0, 0, 3000, 0
int16_t minValue;;"v", 1, 0, 0, 3000.0, 3
int16_t maxValue;;"v", 1, 0, 0, 3000.0, 3
end_struct
struct cranking_parameters_s
@ -460,7 +463,7 @@ custom adc_channel_mode_e 4 bits, U32, @OFFSET@, [0:1], "Off", "Slow", "Fas
float fuelLevelEmptyTankVoltage;;"V", 1, 0, 0,10, 2
float fuelLevelFullTankVoltage;;"V", 1, 0, 0,10, 2
ego_sensor_e afr_type;AFR, WBO, EGO - whatever you like to call it;
int etbDT;
float fuelClosedLoopAfrLowThreshold;;"ratio", 1, 0, 0, 100, 1
pin_output_mode_e hip9011CsPinMode;
brain_pin_e tachOutputPin;+This implementation produces one pulse per engine cycle. See also dizzySparkOutputPin.
pin_output_mode_e tachOutputPinMode;
@ -524,8 +527,7 @@ bit is_enabled_spi_2
custom uart_device_e 4 bits,U32, @OFFSET@, [0:1], "Off", "UART1", "UART2", "UART3"
uart_device_e consoleUartDevice;
int16_t alternatorPidMin;;"v", 1, 0, 0, 3000.0, 3
int16_t alternatorPidMax;;"v", 1, 0, 0, 3000.0, 3
int unused1;
int16_t idlePidDeactivationTpsThreshold;;"%", 1, 0, 0, 100.0, 0
int16_t unusedHere;
float nb2ratioFrom;;"value", 1, 0, 0, 1000, 5
@ -685,17 +687,16 @@ custom pin_mode_e 4 bits, U32, @OFFSET@, [0:5], @@pin_mode_e_enum@@
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;TODO make suckedOffCoef an array by RPM;
float addedToWallCoef;;"%", 1, 0, 0.0, 300.0, 2
float[7] unused72;TODO make addedToWallCoef an array by RPM;
pid_s alternatorControl;
pid_s etb;
pid_s warmupAfrPid;
! todo: mapErrorDetectionIdleTooLow? 30kPa is usually lowest on idle
float mapErrorDetectionTooLow;kPa value which is too low to be true;"kPa", 1, 0, -100.0, 100.0, 2
float mapErrorDetectionTooHigh;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
pid_s idleRpmPid;
int idleDT;
int unusedIdleControl;
float addedToWallCoef;;"%", 1, 0, 0.0, 300.0, 2
brain_pin_e communicationPin;blue LED on discovery by default
brain_pin_e runningPin;green LED on discovery by default
brain_pin_e binarySerialTxPin;
@ -704,15 +705,14 @@ custom pin_mode_e 4 bits, U32, @OFFSET@, [0:5], @@pin_mode_e_enum@@
brain_pin_e consoleSerialRxPin;todo: finish pin migration from hard-coded to configurable?
float[ENGINE_NOISE_CURVE_SIZE] knockNoise;Knock sensor output knock detection threshold depending on current RPM;"v", 1, 0, 0.0, 10, 2
float[ENGINE_NOISE_CURVE_SIZE] knockNoiseRpmBins;;"RPM", 1, 0, 0.0, 18000, 2
pid_s etb;
float[4] unusedetb;
float[CLT_CURVE_SIZE] cltIdleRpmBins;CLT-based target RPM for automatic idle controller;"C", 1, 0, -100.0, 250.0, 2
float[CLT_CURVE_SIZE] cltIdleRpm;;"RPM", 1, 0, 0.0, 400.0, 0
float targetVBatt;;"Volts", 1, 0, 0,30, 1
float alternatorOffAboveTps;Turn off alternator output above specified TPS;"%", 1, 0, 0, 200, 2
int alternatorDT;PID dTime;"ms", 1, 0, 0, 3000, 0
pid_s alternatorControl;
float[5] unusedalternatorControl;
int tpsAccelLength;;"cycles", 1, 0, 1, 200, 0
float tpsAccelEnrichmentThreshold;;"roc", 1, 0, 0, 200, 3
@ -734,7 +734,7 @@ custom pin_mode_e 4 bits, U32, @OFFSET@, [0:5], @@pin_mode_e_enum@@
float tpsDecelEnleanmentMultiplier;;"coeff", 1, 0, 0, 200, 3
float slowAdcAlpha;+ExpAverage alpha coefficient;"coeff", 1, 0, 0, 200, 3
debug_mode_e debugMode;
pid_s warmupAfrPid;
float[4] unusedwarmupAfrPid;
float[WARMUP_TARGET_AFR_SIZE] warmupTargetAfrBins;CLT-based target AFR for PID-based control;"C", 1, 0, -100.0, 250.0, 2
float[WARMUP_TARGET_AFR_SIZE] warmupTargetAfr;;"AFR", 1, 0, 0.0, 20.0, 2
@ -753,7 +753,7 @@ float[MAP_ACCEL_TAPER] mapAccelTaperMult;;"mult", 1, 0, 0.0, 300,
float mapHighValueVoltage;MAP voltage for low point;"v", 1, 0, 0.0, 10, 2
float egoValueShift;EGO value correction;"value", 1, 0, -10.0, 10, 2
brain_input_pin_e camInput;
pid_dt[AUX_PID_COUNT iterate] auxPidDT;
int[4] unused4;
int crankingIACposition;IAC cranking position;"percent", 1, 0, -100.0, 100,
float tChargeMinRpmMinTps;;"mult", 1, 0, 0, 3, 4
float tChargeMinRpmMaxTps;;"mult", 1, 0, 0, 3, 4
@ -765,7 +765,7 @@ float[MAP_ACCEL_TAPER] mapAccelTaperMult;;"mult", 1, 0, 0.0, 300,
mass_storage_e storageMode;
spi_device_e cj125SpiDevice;
pin_output_mode_e cj125CsPinMode;
pid_s[AUX_PID_COUNT iterate] auxPid;
float[16] unusedauxPid;
vvt_mode_e vvtMode;set vvt_mode X
bi_quard_s biQuad;
float[CLT_TIMING_CURVE_SIZE] cltTimingBins;CLT-based timing correction;"C", 1, 0, -100.0, 250.0, 1
@ -784,7 +784,6 @@ float[MAP_ACCEL_TAPER] mapAccelTaperMult;;"mult", 1, 0, 0.0, 300,
int16_t fuelClosedLoopRpmThreshold;;"rpm", 1, 0, 0, 5000, 0
int16_t etbFreq;;"Hz", 1, 0, 0, 500, 10
pid_s fuelClosedLoopPid;
float fuelClosedLoopAfrLowThreshold;;"ratio", 1, 0, 0, 100, 1
float fuelClosedLoopAfrHighThreshold;;"ratio", 1, 0, 0, 100, 1
pin_mode_e stepperEnablePinMode;
adc_channel_e cj125ua;lampda input
@ -792,11 +791,10 @@ int16_t etbFreq;;"Hz", 1, 0, 0, 500, 10
custom cfg_float_t_1f 4 scalar, F32, @OFFSET@, "Val", 1, 0, -20000000, 20000000, 1
cfg_float_t_1f[IGNITION_PIN_COUNT iterate] timing_offset_cylinder;
int16_t aux1PidMin;;"v", 1, 0, 0, 100.0, 0
int16_t aux1PidMax;;"v", 1, 0, 0, 100.0, 0
int16_t etbPidMin;;"v", 1, 0, 0, 3000.0, 3
int16_t etbPidMax;;"v", 1, 0, 0, 3000.0, 3
pin_input_mode_e brakePedalPinMode;
float idlePidActivationTime;;"seconds", 1, 0, 0, 60, 1
spi_device_e sdCardSpiDevice;
pin_mode_e spi3SckMode;
@ -806,11 +804,8 @@ spi_device_e sdCardSpiDevice;
pin_mode_e spi1MosiMode;
pin_mode_e spi1MisoMode;
brain_pin_e brakePedalPin
pin_input_mode_e brakePedalPinMode;
int16_t idleValvePidMin;;"%", 1, 0, 0, 100.0, 0
int16_t idleValvePidMax;;"%", 1, 0, 0, 100.0, 0
float idlePidActivationTime;;"seconds", 1, 0, 0, 60, 1
int[43] unused;
pid_s[AUX_PID_COUNT iterate] auxPid;
int[26] unusedEnd;
end_struct

View File

@ -45,7 +45,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 May 28 14:28:26 EDT 2017
; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun May 28 22:30:58 EDT 2017
pageSize = 16376
page = 1
@ -251,7 +251,7 @@ page = 1
fuelLevelEmptyTankVoltage = scalar, F32, 884, "V", 1, 0, 0,10, 2
fuelLevelFullTankVoltage = scalar, F32, 888, "V", 1, 0, 0,10, 2
afr_type = bits, S32, 892, [0:2], "BPSX", "Innovate", "14Point7", "Narrow", "PLX"
;skipping etbDT offset 896
fuelClosedLoopAfrLowThreshold = scalar, F32, 896, "ratio", 1, 0, 0, 100, 1
hip9011CsPinMode = bits, U32, 900, [0:1], "default", "default inverted", "open collector", "open collector inverted"
tachOutputPin = bits, U32, 904, [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"
tachOutputPinMode = bits, U32, 908, [0:1], "default", "default inverted", "open collector", "open collector inverted"
@ -344,8 +344,7 @@ page = 1
gpioPinModes15 = bits, U32, 1188, [0:1], "default", "default inverted", "open collector", "open collector inverted"
gpioPinModes16 = bits, U32, 1192, [0:1], "default", "default inverted", "open collector", "open collector inverted"
consoleUartDevice = bits,U32, 1196, [0:1], "Off", "UART1", "UART2", "UART3"
alternatorPidMin = scalar, S16, 1200, "v", 1, 0, 0, 3000.0, 3
alternatorPidMax = scalar, S16, 1202, "v", 1, 0, 0, 3000.0, 3
;skipping unused1 offset 1200
idlePidDeactivationTpsThreshold = scalar, S16, 1204, "%", 1, 0, 0, 100.0, 0
;skipping unusedHere offset 1206
nb2ratioFrom = scalar, F32, 1208, "value", 1, 0, 0, 1000, 5
@ -511,18 +510,38 @@ page = 1
tachPulseDuractionMs = scalar, F32, 1816, "ms", 1, 0, 0.0, 100.0, 2
tachPulseTriggerIndex = scalar, S32, 1820, "index", 1, 0, 0.0, 360.0, 0
suckedOffCoef = scalar, F32, 1824, "%", 1, 0, 0.0, 300.0, 2
unused71 = array, F32, 1828, [7],
addedToWallCoef = scalar, F32, 1856, "%", 1, 0, 0.0, 300.0, 2
unused72 = array, F32, 1860, [7],
alternatorControl_pFactor = scalar, F32, 1828, "value", 1, 0, -1000, 1000, 5
alternatorControl_iFactor = scalar, F32, 1832, "value", 1, 0, -1000, 1000, 5
alternatorControl_dFactor = scalar, F32, 1836, "value", 1, 0, -1000, 1000, 5
alternatorControl_offset = scalar, S16, 1840, "value", 1, 0, 0, 1000, 0
alternatorControl_period = scalar, S16, 1842, "ms", 1, 0, 0, 3000, 0
alternatorControl_minValue = scalar, S16, 1844, "v", 1, 0, 0, 3000.0, 3
alternatorControl_maxValue = scalar, S16, 1846, "v", 1, 0, 0, 3000.0, 3
etb_pFactor = scalar, F32, 1848, "value", 1, 0, -1000, 1000, 5
etb_iFactor = scalar, F32, 1852, "value", 1, 0, -1000, 1000, 5
etb_dFactor = scalar, F32, 1856, "value", 1, 0, -1000, 1000, 5
etb_offset = scalar, S16, 1860, "value", 1, 0, 0, 1000, 0
etb_period = scalar, S16, 1862, "ms", 1, 0, 0, 3000, 0
etb_minValue = scalar, S16, 1864, "v", 1, 0, 0, 3000.0, 3
etb_maxValue = scalar, S16, 1866, "v", 1, 0, 0, 3000.0, 3
warmupAfrPid_pFactor = scalar, F32, 1868, "value", 1, 0, -1000, 1000, 5
warmupAfrPid_iFactor = scalar, F32, 1872, "value", 1, 0, -1000, 1000, 5
warmupAfrPid_dFactor = scalar, F32, 1876, "value", 1, 0, -1000, 1000, 5
warmupAfrPid_offset = scalar, S16, 1880, "value", 1, 0, 0, 1000, 0
warmupAfrPid_period = scalar, S16, 1882, "ms", 1, 0, 0, 3000, 0
warmupAfrPid_minValue = scalar, S16, 1884, "v", 1, 0, 0, 3000.0, 3
warmupAfrPid_maxValue = scalar, S16, 1886, "v", 1, 0, 0, 3000.0, 3
mapErrorDetectionTooLow = scalar, F32, 1888, "kPa", 1, 0, -100.0, 100.0, 2
mapErrorDetectionTooHigh = scalar, F32, 1892, "kPa", 1, 0, -100.0, 800.0, 2
step1RpmWindow = scalar, S32, 1896, "rpm", 1, 0, 0, 3000.0, 2
idleRpmPid_pFactor = scalar, F32, 1900, "value", 1, 0, -1000, 1000, 5
idleRpmPid_iFactor = scalar, F32, 1904, "value", 1, 0, -1000, 1000, 5
idleRpmPid_dFactor = scalar, F32, 1908, "value", 1, 0, -1000, 1000, 5
idleRpmPid_offset = scalar, F32, 1912, "value", 1, 0, 0, 1000, 3
;skipping idleDT offset 1916
;skipping unusedIdleControl offset 1920
idleRpmPid_offset = scalar, S16, 1912, "value", 1, 0, 0, 1000, 0
idleRpmPid_period = scalar, S16, 1914, "ms", 1, 0, 0, 3000, 0
idleRpmPid_minValue = scalar, S16, 1916, "v", 1, 0, 0, 3000.0, 3
idleRpmPid_maxValue = scalar, S16, 1918, "v", 1, 0, 0, 3000.0, 3
addedToWallCoef = scalar, F32, 1920, "%", 1, 0, 0.0, 300.0, 2
communicationPin = bits, U32, 1924, [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"
runningPin = bits, U32, 1928, [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"
binarySerialTxPin = bits, U32, 1932, [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"
@ -531,19 +550,12 @@ page = 1
consoleSerialRxPin = bits, U32, 1944, [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"
knockNoise = array, F32, 1948, [8], "v", 1, 0, 0.0, 10, 2
knockNoiseRpmBins = array, F32, 1980, [8], "RPM", 1, 0, 0.0, 18000, 2
etb_pFactor = scalar, F32, 2012, "value", 1, 0, -1000, 1000, 5
etb_iFactor = scalar, F32, 2016, "value", 1, 0, -1000, 1000, 5
etb_dFactor = scalar, F32, 2020, "value", 1, 0, -1000, 1000, 5
etb_offset = scalar, F32, 2024, "value", 1, 0, 0, 1000, 3
;skipping unusedetb offset 2012
cltIdleRpmBins = array, F32, 2028, [16], "C", 1, 0, -100.0, 250.0, 2
cltIdleRpm = array, F32, 2092, [16], "RPM", 1, 0, 0.0, 400.0, 0
targetVBatt = scalar, F32, 2156, "Volts", 1, 0, 0,30, 1
alternatorOffAboveTps = scalar, F32, 2160, "%", 1, 0, 0, 200, 2
alternatorDT = scalar, S32, 2164, "ms", 1, 0, 0, 3000, 0
alternatorControl_pFactor = scalar, F32, 2168, "value", 1, 0, -1000, 1000, 5
alternatorControl_iFactor = scalar, F32, 2172, "value", 1, 0, -1000, 1000, 5
alternatorControl_dFactor = scalar, F32, 2176, "value", 1, 0, -1000, 1000, 5
alternatorControl_offset = scalar, F32, 2180, "value", 1, 0, 0, 1000, 3
;skipping unusedalternatorControl offset 2164
tpsAccelLength = scalar, S32, 2184, "cycles", 1, 0, 1, 200, 0
tpsAccelEnrichmentThreshold = scalar, F32, 2188, "roc", 1, 0, 0, 200, 3
vvtOffset = scalar, F32, 2192, "value", 1, 0, -720, 1000, 5
@ -560,10 +572,7 @@ page = 1
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:4], "Alternator_PID", "TPS accel enrich", "Warmup PID", "IDLE", "EL accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "VVT PID", "Cranking", "Timing", "Closed-loop fuel corr", "VSS", "SD card", "sr5", "Knock", "Trigger Sync", "Electronic Throttle", "mode18", "mode19", "mode20", "mode21", "mode22"
warmupAfrPid_pFactor = scalar, F32, 2248, "value", 1, 0, -1000, 1000, 5
warmupAfrPid_iFactor = scalar, F32, 2252, "value", 1, 0, -1000, 1000, 5
warmupAfrPid_dFactor = scalar, F32, 2256, "value", 1, 0, -1000, 1000, 5
warmupAfrPid_offset = scalar, F32, 2260, "value", 1, 0, 0, 1000, 3
;skipping unusedwarmupAfrPid offset 2248
warmupTargetAfrBins = array, F32, 2264, [4], "C", 1, 0, -100.0, 250.0, 2
warmupTargetAfr = array, F32, 2280, [4], "AFR", 1, 0, 0.0, 20.0, 2
warmupAfrThreshold = scalar, F32, 2296, "tempterature", 1, 0, 0, 200, 3
@ -581,10 +590,7 @@ page = 1
mapHighValueVoltage = scalar, F32, 2400, "v", 1, 0, 0.0, 10, 2
egoValueShift = scalar, F32, 2404, "value", 1, 0, -10.0, 10, 2
camInput = bits, U32, 2408, [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"
auxPidDT1 = scalar, U32, 2412, "ms", 1, 0, 0, 3000, 0
auxPidDT2 = scalar, U32, 2416, "ms", 1, 0, 0, 3000, 0
auxPidDT3 = scalar, U32, 2420, "ms", 1, 0, 0, 3000, 0
auxPidDT4 = scalar, U32, 2424, "ms", 1, 0, 0, 3000, 0
;skipping unused4 offset 2412
crankingIACposition = scalar, S32, 2428, "percent", 1, 0, -100.0, 100,
tChargeMinRpmMinTps = scalar, F32, 2432, "mult", 1, 0, 0, 3, 4
tChargeMinRpmMaxTps = scalar, F32, 2436, "mult", 1, 0, 0, 3, 4
@ -602,22 +608,7 @@ page = 1
storageMode = bits, U32, 2476, [0:1], "Auto", "Always", "Never"
cj125SpiDevice = bits,U32, 2480, [0:1], "Off", "SPI1", "SPI2", "SPI3"
cj125CsPinMode = bits, U32, 2484, [0:1], "default", "default inverted", "open collector", "open collector inverted"
auxPid1_pFactor = scalar, F32, 2488, "value", 1, 0, -1000, 1000, 5
auxPid1_iFactor = scalar, F32, 2492, "value", 1, 0, -1000, 1000, 5
auxPid1_dFactor = scalar, F32, 2496, "value", 1, 0, -1000, 1000, 5
auxPid1_offset = scalar, F32, 2500, "value", 1, 0, 0, 1000, 3
auxPid2_pFactor = scalar, F32, 2504, "value", 1, 0, -1000, 1000, 5
auxPid2_iFactor = scalar, F32, 2508, "value", 1, 0, -1000, 1000, 5
auxPid2_dFactor = scalar, F32, 2512, "value", 1, 0, -1000, 1000, 5
auxPid2_offset = scalar, F32, 2516, "value", 1, 0, 0, 1000, 3
auxPid3_pFactor = scalar, F32, 2520, "value", 1, 0, -1000, 1000, 5
auxPid3_iFactor = scalar, F32, 2524, "value", 1, 0, -1000, 1000, 5
auxPid3_dFactor = scalar, F32, 2528, "value", 1, 0, -1000, 1000, 5
auxPid3_offset = scalar, F32, 2532, "value", 1, 0, 0, 1000, 3
auxPid4_pFactor = scalar, F32, 2536, "value", 1, 0, -1000, 1000, 5
auxPid4_iFactor = scalar, F32, 2540, "value", 1, 0, -1000, 1000, 5
auxPid4_dFactor = scalar, F32, 2544, "value", 1, 0, -1000, 1000, 5
auxPid4_offset = scalar, F32, 2548, "value", 1, 0, 0, 1000, 3
;skipping unusedauxPid offset 2488
vvtMode = bits, U32, 2552, [0:2], "First half", "Second half", "2GZ", "Miata NB2", "mode4", "mode5", "mode6", "mode7"
biQuad_a0 = scalar, F32, 2556, "v", 1, 0, -1000, 1000, 9
biQuad_a1 = scalar, F32, 2560, "v", 1, 0, -1000, 1000, 9
@ -656,8 +647,10 @@ page = 1
fuelClosedLoopPid_pFactor = scalar, F32, 2740, "value", 1, 0, -1000, 1000, 5
fuelClosedLoopPid_iFactor = scalar, F32, 2744, "value", 1, 0, -1000, 1000, 5
fuelClosedLoopPid_dFactor = scalar, F32, 2748, "value", 1, 0, -1000, 1000, 5
fuelClosedLoopPid_offset = scalar, F32, 2752, "value", 1, 0, 0, 1000, 3
fuelClosedLoopAfrLowThreshold = scalar, F32, 2756, "ratio", 1, 0, 0, 100, 1
fuelClosedLoopPid_offset = scalar, S16, 2752, "value", 1, 0, 0, 1000, 0
fuelClosedLoopPid_period = scalar, S16, 2754, "ms", 1, 0, 0, 3000, 0
fuelClosedLoopPid_minValue = scalar, S16, 2756, "v", 1, 0, 0, 3000.0, 3
fuelClosedLoopPid_maxValue = scalar, S16, 2758, "v", 1, 0, 0, 3000.0, 3
fuelClosedLoopAfrHighThreshold = scalar, F32, 2760, "ratio", 1, 0, 0, 100, 1
stepperEnablePinMode = bits, U32, 2764, [0:5], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "mode12", "mode13", "mode14", "mode15", "mode16", "mode17", "mode18", "mode19", "mode20", "mode21", "mode22", "mode23", "mode24", "mode25", "mode26", "mode27", "mode28", "mode29", "mode30", "mode31", "PULLUP", "mode33", "mode34", "mode35"
cj125ua = bits, U32, 2768, [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"
@ -674,10 +667,8 @@ page = 1
timing_offset_cylinder10 = scalar, F32, 2812, "Val", 1, 0, -20000000, 20000000, 1
timing_offset_cylinder11 = scalar, F32, 2816, "Val", 1, 0, -20000000, 20000000, 1
timing_offset_cylinder12 = scalar, F32, 2820, "Val", 1, 0, -20000000, 20000000, 1
aux1PidMin = scalar, S16, 2824, "v", 1, 0, 0, 100.0, 0
aux1PidMax = scalar, S16, 2826, "v", 1, 0, 0, 100.0, 0
etbPidMin = scalar, S16, 2828, "v", 1, 0, 0, 3000.0, 3
etbPidMax = scalar, S16, 2830, "v", 1, 0, 0, 3000.0, 3
brakePedalPinMode = scalar, F32, 2824, "ms", 1, 0, 0, 200, 1
idlePidActivationTime = scalar, F32, 2828, "seconds", 1, 0, 0, 60, 1
sdCardSpiDevice = bits,U32, 2832, [0:1], "Off", "SPI1", "SPI2", "SPI3"
spi3SckMode = bits, U32, 2836, [0:5], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "mode12", "mode13", "mode14", "mode15", "mode16", "mode17", "mode18", "mode19", "mode20", "mode21", "mode22", "mode23", "mode24", "mode25", "mode26", "mode27", "mode28", "mode29", "mode30", "mode31", "PULLUP", "mode33", "mode34", "mode35"
spi3MosiMode = bits, U32, 2840, [0:5], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "mode12", "mode13", "mode14", "mode15", "mode16", "mode17", "mode18", "mode19", "mode20", "mode21", "mode22", "mode23", "mode24", "mode25", "mode26", "mode27", "mode28", "mode29", "mode30", "mode31", "PULLUP", "mode33", "mode34", "mode35"
@ -686,11 +677,35 @@ page = 1
spi1MosiMode = bits, U32, 2852, [0:5], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "mode12", "mode13", "mode14", "mode15", "mode16", "mode17", "mode18", "mode19", "mode20", "mode21", "mode22", "mode23", "mode24", "mode25", "mode26", "mode27", "mode28", "mode29", "mode30", "mode31", "PULLUP", "mode33", "mode34", "mode35"
spi1MisoMode = bits, U32, 2856, [0:5], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "mode12", "mode13", "mode14", "mode15", "mode16", "mode17", "mode18", "mode19", "mode20", "mode21", "mode22", "mode23", "mode24", "mode25", "mode26", "mode27", "mode28", "mode29", "mode30", "mode31", "PULLUP", "mode33", "mode34", "mode35"
brakePedalPin = bits, U32, 2860, [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"
brakePedalPinMode = scalar, F32, 2864, "ms", 1, 0, 0, 200, 1
idleValvePidMin = scalar, S16, 2868, "%", 1, 0, 0, 100.0, 0
idleValvePidMax = scalar, S16, 2870, "%", 1, 0, 0, 100.0, 0
idlePidActivationTime = scalar, F32, 2872, "seconds", 1, 0, 0, 60, 1
;skipping unused offset 2876
auxPid1_pFactor = scalar, F32, 2864, "value", 1, 0, -1000, 1000, 5
auxPid1_iFactor = scalar, F32, 2868, "value", 1, 0, -1000, 1000, 5
auxPid1_dFactor = scalar, F32, 2872, "value", 1, 0, -1000, 1000, 5
auxPid1_offset = scalar, S16, 2876, "value", 1, 0, 0, 1000, 0
auxPid1_period = scalar, S16, 2878, "ms", 1, 0, 0, 3000, 0
auxPid1_minValue = scalar, S16, 2880, "v", 1, 0, 0, 3000.0, 3
auxPid1_maxValue = scalar, S16, 2882, "v", 1, 0, 0, 3000.0, 3
auxPid2_pFactor = scalar, F32, 2884, "value", 1, 0, -1000, 1000, 5
auxPid2_iFactor = scalar, F32, 2888, "value", 1, 0, -1000, 1000, 5
auxPid2_dFactor = scalar, F32, 2892, "value", 1, 0, -1000, 1000, 5
auxPid2_offset = scalar, S16, 2896, "value", 1, 0, 0, 1000, 0
auxPid2_period = scalar, S16, 2898, "ms", 1, 0, 0, 3000, 0
auxPid2_minValue = scalar, S16, 2900, "v", 1, 0, 0, 3000.0, 3
auxPid2_maxValue = scalar, S16, 2902, "v", 1, 0, 0, 3000.0, 3
auxPid3_pFactor = scalar, F32, 2904, "value", 1, 0, -1000, 1000, 5
auxPid3_iFactor = scalar, F32, 2908, "value", 1, 0, -1000, 1000, 5
auxPid3_dFactor = scalar, F32, 2912, "value", 1, 0, -1000, 1000, 5
auxPid3_offset = scalar, S16, 2916, "value", 1, 0, 0, 1000, 0
auxPid3_period = scalar, S16, 2918, "ms", 1, 0, 0, 3000, 0
auxPid3_minValue = scalar, S16, 2920, "v", 1, 0, 0, 3000.0, 3
auxPid3_maxValue = scalar, S16, 2922, "v", 1, 0, 0, 3000.0, 3
auxPid4_pFactor = scalar, F32, 2924, "value", 1, 0, -1000, 1000, 5
auxPid4_iFactor = scalar, F32, 2928, "value", 1, 0, -1000, 1000, 5
auxPid4_dFactor = scalar, F32, 2932, "value", 1, 0, -1000, 1000, 5
auxPid4_offset = scalar, S16, 2936, "value", 1, 0, 0, 1000, 0
auxPid4_period = scalar, S16, 2938, "ms", 1, 0, 0, 3000, 0
auxPid4_minValue = scalar, S16, 2940, "v", 1, 0, 0, 3000.0, 3
auxPid4_maxValue = scalar, S16, 2942, "v", 1, 0, 0, 3000.0, 3
;skipping unusedEnd offset 2944
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
@ -1968,8 +1983,8 @@ cmd_call_from_pit = "w\x00\x20\x34\x56"
field = "idle I", idleRpmPid_iFactor, { idleMode == 0}
field = "idle D", idleRpmPid_dFactor, { idleMode == 0}
field = "idle offset", idleRpmPid_offset, { idleMode == 0}
field = "pid min", idleValvePidMin, { idleMode == 0}
field = "pid max", idleValvePidMax, { idleMode == 0}
field = "pid min", idleRpmPid_minValue, { idleMode == 0}
field = "pid max", idleRpmPid_maxValue, { idleMode == 0}
field = "pid TPS deactivation", idlePidDeactivationTpsThreshold, { idleMode == 0}
field = "verbose", isVerboseIAC
slider = "Manual Idle Position", manIdlePosition, horizontal
@ -2075,14 +2090,14 @@ cmd_call_from_pit = "w\x00\x20\x34\x56"
field = "PWM Frequency", auxPidFrequency1
field = "verbose", isVerboseAuxPid1
field = "#target based on FSIO map#1"
field = "control period", auxPidDT1, {activateAuxPid1 == 1}
field = "control period", auxPid1_period, {activateAuxPid1 == 1}
field = "#PID control"
field = "offset", auxPid1_offset, {activateAuxPid1 == 1}
field = "P factor", auxPid1_pFactor, {activateAuxPid1 == 1}
field = "I factor", auxPid1_iFactor, {activateAuxPid1 == 1}
field = "D factor", auxPid1_dFactor, {activateAuxPid1 == 1}
field = "Min", aux1PidMin
field = "Max", aux1PidMax
field = "Min", auxPid1_minValue, {activateAuxPid1 == 1}
field = "Max", auxPid1_maxValue, {activateAuxPid1 == 1}
field = "FSIO pin #2", auxPidPins2
field = "FSIO pin #3", auxPidPins3
field = "FSIO pin #4", auxPidPins4
@ -2100,14 +2115,14 @@ cmd_call_from_pit = "w\x00\x20\x34\x56"
field = "PWM frequency", alternatorPwmFrequency, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "Off Above TPS", alternatorOffAboveTps, {isAlternatorControlEnabled == 1}
field = "Verbose", isVerboseAlternator, {isAlternatorControlEnabled == 1}
field = "control period", alternatorDT, {isAlternatorControlEnabled == 1}
field = "control period", alternatorControl_period, {isAlternatorControlEnabled == 1}
field = "#PID control"
field = "offset", alternatorControl_offset, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "P factor", alternatorControl_pFactor, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "I factor", alternatorControl_iFactor, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "D factor", alternatorControl_dFactor, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "Min", alternatorPidMin
field = "Max", alternatorPidMax
field = "Min", alternatorControl_minValue, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "Max", alternatorControl_maxValue, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "#% duty = Pterm + Iterm + Dterm + offset%"
@ -2384,8 +2399,8 @@ cmd_call_from_pit = "w\x00\x20\x34\x56"
field = "iFactor", etb_iFactor
field = "dFactor", etb_dFactor
field = "offset", etb_offset
field = "pid min", etbPidMin
field = "pid max", etbPidMax
field = "pid min", etb_minValue
field = "pid max", etb_maxValue
dialog = testSpark, "Spark"
commandButton = "Spark #1", cmd_test_spk1

View File

@ -1221,8 +1221,8 @@ cmd_call_from_pit = "w\x00\x20\x34\x56"
field = "idle I", idleRpmPid_iFactor, { idleMode == 0}
field = "idle D", idleRpmPid_dFactor, { idleMode == 0}
field = "idle offset", idleRpmPid_offset, { idleMode == 0}
field = "pid min", idleValvePidMin, { idleMode == 0}
field = "pid max", idleValvePidMax, { idleMode == 0}
field = "pid min", idleRpmPid_minValue, { idleMode == 0}
field = "pid max", idleRpmPid_maxValue, { idleMode == 0}
field = "pid TPS deactivation", idlePidDeactivationTpsThreshold, { idleMode == 0}
field = "verbose", isVerboseIAC
slider = "Manual Idle Position", manIdlePosition, horizontal
@ -1328,14 +1328,14 @@ cmd_call_from_pit = "w\x00\x20\x34\x56"
field = "PWM Frequency", auxPidFrequency1
field = "verbose", isVerboseAuxPid1
field = "#target based on FSIO map#1"
field = "control period", auxPidDT1, {activateAuxPid1 == 1}
field = "control period", auxPid1_period, {activateAuxPid1 == 1}
field = "#PID control"
field = "offset", auxPid1_offset, {activateAuxPid1 == 1}
field = "P factor", auxPid1_pFactor, {activateAuxPid1 == 1}
field = "I factor", auxPid1_iFactor, {activateAuxPid1 == 1}
field = "D factor", auxPid1_dFactor, {activateAuxPid1 == 1}
field = "Min", aux1PidMin
field = "Max", aux1PidMax
field = "Min", auxPid1_minValue, {activateAuxPid1 == 1}
field = "Max", auxPid1_maxValue, {activateAuxPid1 == 1}
field = "FSIO pin #2", auxPidPins2
field = "FSIO pin #3", auxPidPins3
field = "FSIO pin #4", auxPidPins4
@ -1353,14 +1353,14 @@ cmd_call_from_pit = "w\x00\x20\x34\x56"
field = "PWM frequency", alternatorPwmFrequency, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "Off Above TPS", alternatorOffAboveTps, {isAlternatorControlEnabled == 1}
field = "Verbose", isVerboseAlternator, {isAlternatorControlEnabled == 1}
field = "control period", alternatorDT, {isAlternatorControlEnabled == 1}
field = "control period", alternatorControl_period, {isAlternatorControlEnabled == 1}
field = "#PID control"
field = "offset", alternatorControl_offset, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "P factor", alternatorControl_pFactor, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "I factor", alternatorControl_iFactor, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "D factor", alternatorControl_dFactor, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "Min", alternatorPidMin
field = "Max", alternatorPidMax
field = "Min", alternatorControl_minValue, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "Max", alternatorControl_maxValue, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "#% duty = Pterm + Iterm + Dterm + offset%"
@ -1637,8 +1637,8 @@ cmd_call_from_pit = "w\x00\x20\x34\x56"
field = "iFactor", etb_iFactor
field = "dFactor", etb_dFactor
field = "offset", etb_offset
field = "pid min", etbPidMin
field = "pid max", etbPidMax
field = "pid min", etb_minValue
field = "pid max", etb_maxValue
dialog = testSpark, "Spark"
commandButton = "Spark #1", cmd_test_spk1

View File

@ -1,6 +1,6 @@
package com.rusefi.config;
// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sat May 27 23:31:01 EDT 2017
// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun May 28 22:30:58 EDT 2017
public class Fields {
public static final int LE_COMMAND_LENGTH = 200;
public static final int FSIO_ADC_COUNT = 4;
@ -381,8 +381,8 @@ public class Fields {
public static final int fuelLevelFullTankVoltage_offset = 888;
public static final int fuelLevelFullTankVoltage_offset_hex = 378;
public static final int afr_type_offset = 892;
public static final int etbDT_offset = 896;
public static final int etbDT_offset_hex = 380;
public static final int fuelClosedLoopAfrLowThreshold_offset = 896;
public static final int fuelClosedLoopAfrLowThreshold_offset_hex = 380;
public static final int hip9011CsPinMode_offset = 900;
public static final int hip9011CsPinMode_offset_hex = 384;
public static final int tachOutputPin_offset = 904;
@ -510,8 +510,7 @@ public class Fields {
public static final int gpioPinModes15_offset = 1188;
public static final int gpioPinModes16_offset = 1192;
public static final int consoleUartDevice_offset = 1196;
public static final int alternatorPidMin_offset = 1200;
public static final int alternatorPidMax_offset = 1202;
public static final int unused1_offset = 1200;
public static final int idlePidDeactivationTpsThreshold_offset = 1204;
public static final int unusedHere_offset = 1206;
public static final int nb2ratioFrom_offset = 1208;
@ -728,12 +727,46 @@ public class Fields {
public static final int tachPulseTriggerIndex_offset = 1820;
public static final int suckedOffCoef_offset = 1824;
public static final int suckedOffCoef_offset_hex = 720;
public static final int unused71_offset = 1828;
public static final int unused71_offset_hex = 724;
public static final int addedToWallCoef_offset = 1856;
public static final int addedToWallCoef_offset_hex = 740;
public static final int unused72_offset = 1860;
public static final int unused72_offset_hex = 744;
public static final int alternatorControl_offset = 1828;
public static final int alternatorControl_offset_hex = 724;
public static final int alternatorControl_pFactor_offset = 1828;
public static final int alternatorControl_pFactor_offset_hex = 724;
public static final int alternatorControl_iFactor_offset = 1832;
public static final int alternatorControl_iFactor_offset_hex = 728;
public static final int alternatorControl_dFactor_offset = 1836;
public static final int alternatorControl_offset_offset = 1840;
public static final int alternatorControl_offset_offset_hex = 730;
public static final int alternatorControl_period_offset = 1842;
public static final int alternatorControl_period_offset_hex = 732;
public static final int alternatorControl_minValue_offset = 1844;
public static final int alternatorControl_minValue_offset_hex = 734;
public static final int alternatorControl_maxValue_offset = 1846;
public static final int alternatorControl_maxValue_offset_hex = 736;
public static final int etb_offset = 1848;
public static final int etb_offset_hex = 738;
public static final int etb_pFactor_offset = 1848;
public static final int etb_pFactor_offset_hex = 738;
public static final int etb_iFactor_offset = 1852;
public static final int etb_dFactor_offset = 1856;
public static final int etb_dFactor_offset_hex = 740;
public static final int etb_offset_offset = 1860;
public static final int etb_offset_offset_hex = 744;
public static final int etb_period_offset = 1862;
public static final int etb_period_offset_hex = 746;
public static final int etb_minValue_offset = 1864;
public static final int etb_minValue_offset_hex = 748;
public static final int etb_maxValue_offset = 1866;
public static final int warmupAfrPid_offset = 1868;
public static final int warmupAfrPid_pFactor_offset = 1868;
public static final int warmupAfrPid_iFactor_offset = 1872;
public static final int warmupAfrPid_iFactor_offset_hex = 750;
public static final int warmupAfrPid_dFactor_offset = 1876;
public static final int warmupAfrPid_dFactor_offset_hex = 754;
public static final int warmupAfrPid_offset_offset = 1880;
public static final int warmupAfrPid_offset_offset_hex = 758;
public static final int warmupAfrPid_period_offset = 1882;
public static final int warmupAfrPid_minValue_offset = 1884;
public static final int warmupAfrPid_maxValue_offset = 1886;
public static final int mapErrorDetectionTooLow_offset = 1888;
public static final int mapErrorDetectionTooLow_offset_hex = 760;
public static final int mapErrorDetectionTooHigh_offset = 1892;
@ -748,9 +781,11 @@ public class Fields {
public static final int idleRpmPid_dFactor_offset_hex = 774;
public static final int idleRpmPid_offset_offset = 1912;
public static final int idleRpmPid_offset_offset_hex = 778;
public static final int idleDT_offset = 1916;
public static final int unusedIdleControl_offset = 1920;
public static final int unusedIdleControl_offset_hex = 780;
public static final int idleRpmPid_period_offset = 1914;
public static final int idleRpmPid_minValue_offset = 1916;
public static final int idleRpmPid_maxValue_offset = 1918;
public static final int addedToWallCoef_offset = 1920;
public static final int addedToWallCoef_offset_hex = 780;
public static final int communicationPin_offset = 1924;
public static final int communicationPin_offset_hex = 784;
public static final int runningPin_offset = 1928;
@ -764,27 +799,14 @@ public class Fields {
public static final int consoleSerialRxPin_offset_hex = 798;
public static final int knockNoise_offset = 1948;
public static final int knockNoiseRpmBins_offset = 1980;
public static final int etb_offset = 2012;
public static final int etb_pFactor_offset = 2012;
public static final int etb_iFactor_offset = 2016;
public static final int etb_dFactor_offset = 2020;
public static final int etb_offset_offset = 2024;
public static final int unusedetb_offset = 2012;
public static final int cltIdleRpmBins_offset = 2028;
public static final int cltIdleRpm_offset = 2092;
public static final int targetVBatt_offset = 2156;
public static final int alternatorOffAboveTps_offset = 2160;
public static final int alternatorOffAboveTps_offset_hex = 870;
public static final int alternatorDT_offset = 2164;
public static final int alternatorDT_offset_hex = 874;
public static final int alternatorControl_offset = 2168;
public static final int alternatorControl_offset_hex = 878;
public static final int alternatorControl_pFactor_offset = 2168;
public static final int alternatorControl_pFactor_offset_hex = 878;
public static final int alternatorControl_iFactor_offset = 2172;
public static final int alternatorControl_dFactor_offset = 2176;
public static final int alternatorControl_dFactor_offset_hex = 880;
public static final int alternatorControl_offset_offset = 2180;
public static final int alternatorControl_offset_offset_hex = 884;
public static final int unusedalternatorControl_offset = 2164;
public static final int unusedalternatorControl_offset_hex = 874;
public static final int tpsAccelLength_offset = 2184;
public static final int tpsAccelLength_offset_hex = 888;
public static final int tpsAccelEnrichmentThreshold_offset = 2188;
@ -805,11 +827,7 @@ public class Fields {
public static final int tpsDecelEnleanmentMultiplier_offset = 2236;
public static final int slowAdcAlpha_offset = 2240;
public static final int debugMode_offset = 2244;
public static final int warmupAfrPid_offset = 2248;
public static final int warmupAfrPid_pFactor_offset = 2248;
public static final int warmupAfrPid_iFactor_offset = 2252;
public static final int warmupAfrPid_dFactor_offset = 2256;
public static final int warmupAfrPid_offset_offset = 2260;
public static final int unusedwarmupAfrPid_offset = 2248;
public static final int warmupTargetAfrBins_offset = 2264;
public static final int warmupTargetAfr_offset = 2280;
public static final int warmupAfrThreshold_offset = 2296;
@ -838,13 +856,7 @@ public class Fields {
public static final int egoValueShift_offset_hex = 964;
public static final int camInput_offset = 2408;
public static final int camInput_offset_hex = 968;
public static final int auxPidDT1_offset = 2412;
public static final int auxPidDT2_offset = 2416;
public static final int auxPidDT2_offset_hex = 970;
public static final int auxPidDT3_offset = 2420;
public static final int auxPidDT3_offset_hex = 974;
public static final int auxPidDT4_offset = 2424;
public static final int auxPidDT4_offset_hex = 978;
public static final int unused4_offset = 2412;
public static final int crankingIACposition_offset = 2428;
public static final int tChargeMinRpmMinTps_offset = 2432;
public static final int tChargeMinRpmMinTps_offset_hex = 980;
@ -868,26 +880,7 @@ public class Fields {
public static final int storageMode_offset = 2476;
public static final int cj125SpiDevice_offset = 2480;
public static final int cj125CsPinMode_offset = 2484;
public static final int auxPid1_offset = 2488;
public static final int auxPid1_pFactor_offset = 2488;
public static final int auxPid1_iFactor_offset = 2492;
public static final int auxPid1_dFactor_offset = 2496;
public static final int auxPid1_offset_offset = 2500;
public static final int auxPid2_offset = 2504;
public static final int auxPid2_pFactor_offset = 2504;
public static final int auxPid2_iFactor_offset = 2508;
public static final int auxPid2_dFactor_offset = 2512;
public static final int auxPid2_offset_offset = 2516;
public static final int auxPid3_offset = 2520;
public static final int auxPid3_pFactor_offset = 2520;
public static final int auxPid3_iFactor_offset = 2524;
public static final int auxPid3_dFactor_offset = 2528;
public static final int auxPid3_offset_offset = 2532;
public static final int auxPid4_offset = 2536;
public static final int auxPid4_pFactor_offset = 2536;
public static final int auxPid4_iFactor_offset = 2540;
public static final int auxPid4_dFactor_offset = 2544;
public static final int auxPid4_offset_offset = 2548;
public static final int unusedauxPid_offset = 2488;
public static final int vvtMode_offset = 2552;
public static final int biQuad_offset = 2556;
public static final int biQuad_a0_offset = 2556;
@ -933,7 +926,9 @@ public class Fields {
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 fuelClosedLoopAfrLowThreshold_offset = 2756;
public static final int fuelClosedLoopPid_period_offset = 2754;
public static final int fuelClosedLoopPid_minValue_offset = 2756;
public static final int fuelClosedLoopPid_maxValue_offset = 2758;
public static final int fuelClosedLoopAfrHighThreshold_offset = 2760;
public static final int stepperEnablePinMode_offset = 2764;
public static final int cj125ua_offset = 2768;
@ -950,9 +945,8 @@ public class Fields {
public static final int timing_offset_cylinder10_offset = 2812;
public static final int timing_offset_cylinder11_offset = 2816;
public static final int timing_offset_cylinder12_offset = 2820;
public static final int aux1PidMin_offset = 2824;
public static final int aux1PidMax_offset = 2826;
public static final int unusedThere_offset = 2828;
public static final int brakePedalPinMode_offset = 2824;
public static final int idlePidActivationTime_offset = 2828;
public static final int sdCardSpiDevice_offset = 2832;
public static final int spi3SckMode_offset = 2836;
public static final int spi3MosiMode_offset = 2840;
@ -961,11 +955,39 @@ public class Fields {
public static final int spi1MosiMode_offset = 2852;
public static final int spi1MisoMode_offset = 2856;
public static final int brakePedalPin_offset = 2860;
public static final int brakePedalPinMode_offset = 2864;
public static final int idleValvePidMin_offset = 2868;
public static final int idleValvePidMax_offset = 2870;
public static final int idlePidActivationTime_offset = 2872;
public static final int unused_offset = 2876;
public static final int auxPid1_offset = 2864;
public static final int auxPid1_pFactor_offset = 2864;
public static final int auxPid1_iFactor_offset = 2868;
public static final int auxPid1_dFactor_offset = 2872;
public static final int auxPid1_offset_offset = 2876;
public static final int auxPid1_period_offset = 2878;
public static final int auxPid1_minValue_offset = 2880;
public static final int auxPid1_maxValue_offset = 2882;
public static final int auxPid2_offset = 2884;
public static final int auxPid2_pFactor_offset = 2884;
public static final int auxPid2_iFactor_offset = 2888;
public static final int auxPid2_dFactor_offset = 2892;
public static final int auxPid2_offset_offset = 2896;
public static final int auxPid2_period_offset = 2898;
public static final int auxPid2_minValue_offset = 2900;
public static final int auxPid2_maxValue_offset = 2902;
public static final int auxPid3_offset = 2904;
public static final int auxPid3_pFactor_offset = 2904;
public static final int auxPid3_iFactor_offset = 2908;
public static final int auxPid3_dFactor_offset = 2912;
public static final int auxPid3_offset_offset = 2916;
public static final int auxPid3_period_offset = 2918;
public static final int auxPid3_minValue_offset = 2920;
public static final int auxPid3_maxValue_offset = 2922;
public static final int auxPid4_offset = 2924;
public static final int auxPid4_pFactor_offset = 2924;
public static final int auxPid4_iFactor_offset = 2928;
public static final int auxPid4_dFactor_offset = 2932;
public static final int auxPid4_offset_offset = 2936;
public static final int auxPid4_period_offset = 2938;
public static final int auxPid4_minValue_offset = 2940;
public static final int auxPid4_maxValue_offset = 2942;
public static final int unusedEnd_offset = 2944;
public static final int le_formulas1_offset = 3048;
public static final int le_formulas2_offset = 3248;
public static final int le_formulas3_offset = 3448;
@ -1270,7 +1292,7 @@ public class Fields {
public static final Field FUELLEVELFULLTANKVOLTAGE = Field.create("FUELLEVELFULLTANKVOLTAGE", 888, FieldType.FLOAT);
public static final String[] ego_sensor_e = {"BPSX", "Innovate", "14Point7", "Narrow", "PLX"};
public static final Field AFR_TYPE = Field.create("AFR_TYPE", 892, FieldType.INT, ego_sensor_e);
public static final Field ETBDT = Field.create("ETBDT", 896, FieldType.INT);
public static final Field FUELCLOSEDLOOPAFRLOWTHRESHOLD = Field.create("FUELCLOSEDLOOPAFRLOWTHRESHOLD", 896, FieldType.FLOAT);
public static final Field HIP9011CSPINMODE = Field.create("HIP9011CSPINMODE", 900, FieldType.INT, pin_output_mode_e);
public static final Field TACHOUTPUTPIN = Field.create("TACHOUTPUTPIN", 904, FieldType.INT, brain_pin_e);
public static final Field TACHOUTPUTPINMODE = Field.create("TACHOUTPUTPINMODE", 908, FieldType.INT, pin_output_mode_e);
@ -1363,8 +1385,7 @@ public class Fields {
public static final Field GPIOPINMODES15 = Field.create("GPIOPINMODES15", 1188, FieldType.INT, pin_output_mode_e);
public static final Field GPIOPINMODES16 = Field.create("GPIOPINMODES16", 1192, FieldType.INT, pin_output_mode_e);
public static final Field CONSOLEUARTDEVICE = Field.create("CONSOLEUARTDEVICE", 1196, FieldType.INT);
public static final Field ALTERNATORPIDMIN = Field.create("ALTERNATORPIDMIN", 1200, FieldType.INT);
public static final Field ALTERNATORPIDMAX = Field.create("ALTERNATORPIDMAX", 1202, FieldType.INT);
public static final Field UNUSED1 = Field.create("UNUSED1", 1200, FieldType.INT);
public static final Field IDLEPIDDEACTIVATIONTPSTHRESHOLD = Field.create("IDLEPIDDEACTIVATIONTPSTHRESHOLD", 1204, FieldType.INT);
public static final Field UNUSEDHERE = Field.create("UNUSEDHERE", 1206, FieldType.INT);
public static final Field NB2RATIOFROM = Field.create("NB2RATIOFROM", 1208, FieldType.FLOAT);
@ -1527,33 +1548,46 @@ public class Fields {
public static final Field TACHPULSEDURACTIONMS = Field.create("TACHPULSEDURACTIONMS", 1816, FieldType.FLOAT);
public static final Field TACHPULSETRIGGERINDEX = Field.create("TACHPULSETRIGGERINDEX", 1820, FieldType.INT);
public static final Field SUCKEDOFFCOEF = Field.create("SUCKEDOFFCOEF", 1824, FieldType.FLOAT);
public static final Field ADDEDTOWALLCOEF = Field.create("ADDEDTOWALLCOEF", 1856, FieldType.FLOAT);
public static final Field ALTERNATORCONTROL_PFACTOR = Field.create("ALTERNATORCONTROL_PFACTOR", 1828, FieldType.FLOAT);
public static final Field ALTERNATORCONTROL_IFACTOR = Field.create("ALTERNATORCONTROL_IFACTOR", 1832, FieldType.FLOAT);
public static final Field ALTERNATORCONTROL_DFACTOR = Field.create("ALTERNATORCONTROL_DFACTOR", 1836, FieldType.FLOAT);
public static final Field ALTERNATORCONTROL_OFFSET = Field.create("ALTERNATORCONTROL_OFFSET", 1840, FieldType.INT);
public static final Field ALTERNATORCONTROL_PERIOD = Field.create("ALTERNATORCONTROL_PERIOD", 1842, FieldType.INT);
public static final Field ALTERNATORCONTROL_MINVALUE = Field.create("ALTERNATORCONTROL_MINVALUE", 1844, FieldType.INT);
public static final Field ALTERNATORCONTROL_MAXVALUE = Field.create("ALTERNATORCONTROL_MAXVALUE", 1846, FieldType.INT);
public static final Field ETB_PFACTOR = Field.create("ETB_PFACTOR", 1848, FieldType.FLOAT);
public static final Field ETB_IFACTOR = Field.create("ETB_IFACTOR", 1852, FieldType.FLOAT);
public static final Field ETB_DFACTOR = Field.create("ETB_DFACTOR", 1856, FieldType.FLOAT);
public static final Field ETB_OFFSET = Field.create("ETB_OFFSET", 1860, FieldType.INT);
public static final Field ETB_PERIOD = Field.create("ETB_PERIOD", 1862, FieldType.INT);
public static final Field ETB_MINVALUE = Field.create("ETB_MINVALUE", 1864, FieldType.INT);
public static final Field ETB_MAXVALUE = Field.create("ETB_MAXVALUE", 1866, FieldType.INT);
public static final Field WARMUPAFRPID_PFACTOR = Field.create("WARMUPAFRPID_PFACTOR", 1868, FieldType.FLOAT);
public static final Field WARMUPAFRPID_IFACTOR = Field.create("WARMUPAFRPID_IFACTOR", 1872, FieldType.FLOAT);
public static final Field WARMUPAFRPID_DFACTOR = Field.create("WARMUPAFRPID_DFACTOR", 1876, FieldType.FLOAT);
public static final Field WARMUPAFRPID_OFFSET = Field.create("WARMUPAFRPID_OFFSET", 1880, FieldType.INT);
public static final Field WARMUPAFRPID_PERIOD = Field.create("WARMUPAFRPID_PERIOD", 1882, FieldType.INT);
public static final Field WARMUPAFRPID_MINVALUE = Field.create("WARMUPAFRPID_MINVALUE", 1884, FieldType.INT);
public static final Field WARMUPAFRPID_MAXVALUE = Field.create("WARMUPAFRPID_MAXVALUE", 1886, FieldType.INT);
public static final Field MAPERRORDETECTIONTOOLOW = Field.create("MAPERRORDETECTIONTOOLOW", 1888, FieldType.FLOAT);
public static final Field MAPERRORDETECTIONTOOHIGH = Field.create("MAPERRORDETECTIONTOOHIGH", 1892, FieldType.FLOAT);
public static final Field STEP1RPMWINDOW = Field.create("STEP1RPMWINDOW", 1896, FieldType.INT);
public static final Field IDLERPMPID_PFACTOR = Field.create("IDLERPMPID_PFACTOR", 1900, FieldType.FLOAT);
public static final Field IDLERPMPID_IFACTOR = Field.create("IDLERPMPID_IFACTOR", 1904, FieldType.FLOAT);
public static final Field IDLERPMPID_DFACTOR = Field.create("IDLERPMPID_DFACTOR", 1908, FieldType.FLOAT);
public static final Field IDLERPMPID_OFFSET = Field.create("IDLERPMPID_OFFSET", 1912, FieldType.FLOAT);
public static final Field IDLEDT = Field.create("IDLEDT", 1916, FieldType.INT);
public static final Field UNUSEDIDLECONTROL = Field.create("UNUSEDIDLECONTROL", 1920, FieldType.INT);
public static final Field IDLERPMPID_OFFSET = Field.create("IDLERPMPID_OFFSET", 1912, FieldType.INT);
public static final Field IDLERPMPID_PERIOD = Field.create("IDLERPMPID_PERIOD", 1914, FieldType.INT);
public static final Field IDLERPMPID_MINVALUE = Field.create("IDLERPMPID_MINVALUE", 1916, FieldType.INT);
public static final Field IDLERPMPID_MAXVALUE = Field.create("IDLERPMPID_MAXVALUE", 1918, FieldType.INT);
public static final Field ADDEDTOWALLCOEF = Field.create("ADDEDTOWALLCOEF", 1920, FieldType.FLOAT);
public static final Field COMMUNICATIONPIN = Field.create("COMMUNICATIONPIN", 1924, FieldType.INT, brain_pin_e);
public static final Field RUNNINGPIN = Field.create("RUNNINGPIN", 1928, FieldType.INT, brain_pin_e);
public static final Field BINARYSERIALTXPIN = Field.create("BINARYSERIALTXPIN", 1932, FieldType.INT, brain_pin_e);
public static final Field BINARYSERIALRXPIN = Field.create("BINARYSERIALRXPIN", 1936, FieldType.INT, brain_pin_e);
public static final Field CONSOLESERIALTXPIN = Field.create("CONSOLESERIALTXPIN", 1940, FieldType.INT, brain_pin_e);
public static final Field CONSOLESERIALRXPIN = Field.create("CONSOLESERIALRXPIN", 1944, FieldType.INT, brain_pin_e);
public static final Field ETB_PFACTOR = Field.create("ETB_PFACTOR", 2012, FieldType.FLOAT);
public static final Field ETB_IFACTOR = Field.create("ETB_IFACTOR", 2016, FieldType.FLOAT);
public static final Field ETB_DFACTOR = Field.create("ETB_DFACTOR", 2020, FieldType.FLOAT);
public static final Field ETB_OFFSET = Field.create("ETB_OFFSET", 2024, FieldType.FLOAT);
public static final Field TARGETVBATT = Field.create("TARGETVBATT", 2156, FieldType.FLOAT);
public static final Field ALTERNATOROFFABOVETPS = Field.create("ALTERNATOROFFABOVETPS", 2160, FieldType.FLOAT);
public static final Field ALTERNATORDT = Field.create("ALTERNATORDT", 2164, FieldType.INT);
public static final Field ALTERNATORCONTROL_PFACTOR = Field.create("ALTERNATORCONTROL_PFACTOR", 2168, FieldType.FLOAT);
public static final Field ALTERNATORCONTROL_IFACTOR = Field.create("ALTERNATORCONTROL_IFACTOR", 2172, FieldType.FLOAT);
public static final Field ALTERNATORCONTROL_DFACTOR = Field.create("ALTERNATORCONTROL_DFACTOR", 2176, FieldType.FLOAT);
public static final Field ALTERNATORCONTROL_OFFSET = Field.create("ALTERNATORCONTROL_OFFSET", 2180, FieldType.FLOAT);
public static final Field TPSACCELLENGTH = Field.create("TPSACCELLENGTH", 2184, FieldType.INT);
public static final Field TPSACCELENRICHMENTTHRESHOLD = Field.create("TPSACCELENRICHMENTTHRESHOLD", 2188, FieldType.FLOAT);
public static final Field VVTOFFSET = Field.create("VVTOFFSET", 2192, FieldType.FLOAT);
@ -1571,10 +1605,6 @@ public class Fields {
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 PID", "Cranking", "Timing", "Closed-loop fuel corr", "VSS", "SD card", "sr5", "Knock", "Trigger Sync", "Electronic Throttle", "mode18", "mode19", "mode20", "mode21", "mode22"};
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);
public static final Field WARMUPAFRPID_DFACTOR = Field.create("WARMUPAFRPID_DFACTOR", 2256, FieldType.FLOAT);
public static final Field WARMUPAFRPID_OFFSET = Field.create("WARMUPAFRPID_OFFSET", 2260, FieldType.FLOAT);
public static final Field WARMUPAFRTHRESHOLD = Field.create("WARMUPAFRTHRESHOLD", 2296, FieldType.FLOAT);
public static final Field BOOSTCUTPRESSURE = Field.create("BOOSTCUTPRESSURE", 2300, FieldType.FLOAT);
public static final Field DIZZYSPARKOUTPUTPIN = Field.create("DIZZYSPARKOUTPUTPIN", 2368, FieldType.INT, brain_pin_e);
@ -1588,10 +1618,6 @@ public class Fields {
public static final Field MAPHIGHVALUEVOLTAGE = Field.create("MAPHIGHVALUEVOLTAGE", 2400, FieldType.FLOAT);
public static final Field EGOVALUESHIFT = Field.create("EGOVALUESHIFT", 2404, FieldType.FLOAT);
public static final Field CAMINPUT = Field.create("CAMINPUT", 2408, FieldType.INT, brain_input_pin_e);
public static final Field AUXPIDDT1 = Field.create("AUXPIDDT1", 2412, FieldType.INT);
public static final Field AUXPIDDT2 = Field.create("AUXPIDDT2", 2416, FieldType.INT);
public static final Field AUXPIDDT3 = Field.create("AUXPIDDT3", 2420, FieldType.INT);
public static final Field AUXPIDDT4 = Field.create("AUXPIDDT4", 2424, FieldType.INT);
public static final Field CRANKINGIACPOSITION = Field.create("CRANKINGIACPOSITION", 2428, FieldType.INT);
public static final Field TCHARGEMINRPMMINTPS = Field.create("TCHARGEMINRPMMINTPS", 2432, FieldType.FLOAT);
public static final Field TCHARGEMINRPMMAXTPS = Field.create("TCHARGEMINRPMMAXTPS", 2436, FieldType.FLOAT);
@ -1610,22 +1636,6 @@ public class Fields {
public static final Field STORAGEMODE = Field.create("STORAGEMODE", 2476, FieldType.INT, mass_storage_e);
public static final Field CJ125SPIDEVICE = Field.create("CJ125SPIDEVICE", 2480, FieldType.INT);
public static final Field CJ125CSPINMODE = Field.create("CJ125CSPINMODE", 2484, FieldType.INT, pin_output_mode_e);
public static final Field AUXPID1_PFACTOR = Field.create("AUXPID1_PFACTOR", 2488, FieldType.FLOAT);
public static final Field AUXPID1_IFACTOR = Field.create("AUXPID1_IFACTOR", 2492, FieldType.FLOAT);
public static final Field AUXPID1_DFACTOR = Field.create("AUXPID1_DFACTOR", 2496, FieldType.FLOAT);
public static final Field AUXPID1_OFFSET = Field.create("AUXPID1_OFFSET", 2500, FieldType.FLOAT);
public static final Field AUXPID2_PFACTOR = Field.create("AUXPID2_PFACTOR", 2504, FieldType.FLOAT);
public static final Field AUXPID2_IFACTOR = Field.create("AUXPID2_IFACTOR", 2508, FieldType.FLOAT);
public static final Field AUXPID2_DFACTOR = Field.create("AUXPID2_DFACTOR", 2512, FieldType.FLOAT);
public static final Field AUXPID2_OFFSET = Field.create("AUXPID2_OFFSET", 2516, FieldType.FLOAT);
public static final Field AUXPID3_PFACTOR = Field.create("AUXPID3_PFACTOR", 2520, FieldType.FLOAT);
public static final Field AUXPID3_IFACTOR = Field.create("AUXPID3_IFACTOR", 2524, FieldType.FLOAT);
public static final Field AUXPID3_DFACTOR = Field.create("AUXPID3_DFACTOR", 2528, FieldType.FLOAT);
public static final Field AUXPID3_OFFSET = Field.create("AUXPID3_OFFSET", 2532, FieldType.FLOAT);
public static final Field AUXPID4_PFACTOR = Field.create("AUXPID4_PFACTOR", 2536, FieldType.FLOAT);
public static final Field AUXPID4_IFACTOR = Field.create("AUXPID4_IFACTOR", 2540, FieldType.FLOAT);
public static final Field AUXPID4_DFACTOR = Field.create("AUXPID4_DFACTOR", 2544, FieldType.FLOAT);
public static final Field AUXPID4_OFFSET = Field.create("AUXPID4_OFFSET", 2548, FieldType.FLOAT);
public static final String[] vvt_mode_e = {"First half", "Second half", "2GZ", "Miata NB2", "mode4", "mode5", "mode6", "mode7"};
public static final Field VVTMODE = Field.create("VVTMODE", 2552, FieldType.INT, vvt_mode_e);
public static final Field BIQUAD_A0 = Field.create("BIQUAD_A0", 2556, FieldType.FLOAT);
@ -1663,8 +1673,10 @@ public class Fields {
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 FUELCLOSEDLOOPAFRLOWTHRESHOLD = Field.create("FUELCLOSEDLOOPAFRLOWTHRESHOLD", 2756, FieldType.FLOAT);
public static final Field FUELCLOSEDLOOPPID_OFFSET = Field.create("FUELCLOSEDLOOPPID_OFFSET", 2752, FieldType.INT);
public static final Field FUELCLOSEDLOOPPID_PERIOD = Field.create("FUELCLOSEDLOOPPID_PERIOD", 2754, FieldType.INT);
public static final Field FUELCLOSEDLOOPPID_MINVALUE = Field.create("FUELCLOSEDLOOPPID_MINVALUE", 2756, FieldType.INT);
public static final Field FUELCLOSEDLOOPPID_MAXVALUE = Field.create("FUELCLOSEDLOOPPID_MAXVALUE", 2758, FieldType.INT);
public static final Field FUELCLOSEDLOOPAFRHIGHTHRESHOLD = Field.create("FUELCLOSEDLOOPAFRHIGHTHRESHOLD", 2760, FieldType.FLOAT);
public static final Field STEPPERENABLEPINMODE = Field.create("STEPPERENABLEPINMODE", 2764, FieldType.INT, pin_mode_e);
public static final Field CJ125UA = Field.create("CJ125UA", 2768, FieldType.INT, adc_channel_e);
@ -1681,9 +1693,8 @@ public class Fields {
public static final Field TIMING_OFFSET_CYLINDER10 = Field.create("TIMING_OFFSET_CYLINDER10", 2812, FieldType.INT);
public static final Field TIMING_OFFSET_CYLINDER11 = Field.create("TIMING_OFFSET_CYLINDER11", 2816, FieldType.INT);
public static final Field TIMING_OFFSET_CYLINDER12 = Field.create("TIMING_OFFSET_CYLINDER12", 2820, FieldType.INT);
public static final Field AUX1PIDMIN = Field.create("AUX1PIDMIN", 2824, FieldType.INT);
public static final Field AUX1PIDMAX = Field.create("AUX1PIDMAX", 2826, FieldType.INT);
public static final Field UNUSEDTHERE = Field.create("UNUSEDTHERE", 2828, FieldType.INT);
public static final Field BRAKEPEDALPINMODE = Field.create("BRAKEPEDALPINMODE", 2824, FieldType.INT);
public static final Field IDLEPIDACTIVATIONTIME = Field.create("IDLEPIDACTIVATIONTIME", 2828, FieldType.FLOAT);
public static final Field SDCARDSPIDEVICE = Field.create("SDCARDSPIDEVICE", 2832, FieldType.INT);
public static final Field SPI3SCKMODE = Field.create("SPI3SCKMODE", 2836, FieldType.INT, pin_mode_e);
public static final Field SPI3MOSIMODE = Field.create("SPI3MOSIMODE", 2840, FieldType.INT, pin_mode_e);
@ -1692,10 +1703,34 @@ public class Fields {
public static final Field SPI1MOSIMODE = Field.create("SPI1MOSIMODE", 2852, FieldType.INT, pin_mode_e);
public static final Field SPI1MISOMODE = Field.create("SPI1MISOMODE", 2856, FieldType.INT, pin_mode_e);
public static final Field BRAKEPEDALPIN = Field.create("BRAKEPEDALPIN", 2860, FieldType.INT, brain_pin_e);
public static final Field BRAKEPEDALPINMODE = Field.create("BRAKEPEDALPINMODE", 2864, FieldType.INT);
public static final Field IDLEVALVEPIDMIN = Field.create("IDLEVALVEPIDMIN", 2868, FieldType.INT);
public static final Field IDLEVALVEPIDMAX = Field.create("IDLEVALVEPIDMAX", 2870, FieldType.INT);
public static final Field IDLEPIDACTIVATIONTIME = Field.create("IDLEPIDACTIVATIONTIME", 2872, FieldType.FLOAT);
public static final Field AUXPID1_PFACTOR = Field.create("AUXPID1_PFACTOR", 2864, FieldType.FLOAT);
public static final Field AUXPID1_IFACTOR = Field.create("AUXPID1_IFACTOR", 2868, FieldType.FLOAT);
public static final Field AUXPID1_DFACTOR = Field.create("AUXPID1_DFACTOR", 2872, FieldType.FLOAT);
public static final Field AUXPID1_OFFSET = Field.create("AUXPID1_OFFSET", 2876, FieldType.INT);
public static final Field AUXPID1_PERIOD = Field.create("AUXPID1_PERIOD", 2878, FieldType.INT);
public static final Field AUXPID1_MINVALUE = Field.create("AUXPID1_MINVALUE", 2880, FieldType.INT);
public static final Field AUXPID1_MAXVALUE = Field.create("AUXPID1_MAXVALUE", 2882, FieldType.INT);
public static final Field AUXPID2_PFACTOR = Field.create("AUXPID2_PFACTOR", 2884, FieldType.FLOAT);
public static final Field AUXPID2_IFACTOR = Field.create("AUXPID2_IFACTOR", 2888, FieldType.FLOAT);
public static final Field AUXPID2_DFACTOR = Field.create("AUXPID2_DFACTOR", 2892, FieldType.FLOAT);
public static final Field AUXPID2_OFFSET = Field.create("AUXPID2_OFFSET", 2896, FieldType.INT);
public static final Field AUXPID2_PERIOD = Field.create("AUXPID2_PERIOD", 2898, FieldType.INT);
public static final Field AUXPID2_MINVALUE = Field.create("AUXPID2_MINVALUE", 2900, FieldType.INT);
public static final Field AUXPID2_MAXVALUE = Field.create("AUXPID2_MAXVALUE", 2902, FieldType.INT);
public static final Field AUXPID3_PFACTOR = Field.create("AUXPID3_PFACTOR", 2904, FieldType.FLOAT);
public static final Field AUXPID3_IFACTOR = Field.create("AUXPID3_IFACTOR", 2908, FieldType.FLOAT);
public static final Field AUXPID3_DFACTOR = Field.create("AUXPID3_DFACTOR", 2912, FieldType.FLOAT);
public static final Field AUXPID3_OFFSET = Field.create("AUXPID3_OFFSET", 2916, FieldType.INT);
public static final Field AUXPID3_PERIOD = Field.create("AUXPID3_PERIOD", 2918, FieldType.INT);
public static final Field AUXPID3_MINVALUE = Field.create("AUXPID3_MINVALUE", 2920, FieldType.INT);
public static final Field AUXPID3_MAXVALUE = Field.create("AUXPID3_MAXVALUE", 2922, FieldType.INT);
public static final Field AUXPID4_PFACTOR = Field.create("AUXPID4_PFACTOR", 2924, FieldType.FLOAT);
public static final Field AUXPID4_IFACTOR = Field.create("AUXPID4_IFACTOR", 2928, FieldType.FLOAT);
public static final Field AUXPID4_DFACTOR = Field.create("AUXPID4_DFACTOR", 2932, FieldType.FLOAT);
public static final Field AUXPID4_OFFSET = Field.create("AUXPID4_OFFSET", 2936, FieldType.INT);
public static final Field AUXPID4_PERIOD = Field.create("AUXPID4_PERIOD", 2938, FieldType.INT);
public static final Field AUXPID4_MINVALUE = Field.create("AUXPID4_MINVALUE", 2940, FieldType.INT);
public static final Field AUXPID4_MAXVALUE = Field.create("AUXPID4_MAXVALUE", 2942, FieldType.INT);
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);