diff --git a/firmware/config/engines/dodge_neon.cpp b/firmware/config/engines/dodge_neon.cpp index 6c384bb34f..0f56f0df0f 100644 --- a/firmware/config/engines/dodge_neon.cpp +++ b/firmware/config/engines/dodge_neon.cpp @@ -442,11 +442,11 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_ENGINE_PARAMETER_F) { engineConfiguration->auxPidPins[0] = GPIOD_5; // playing with AUX PID for alternator engineConfiguration->auxPidFrequency[0] = 300; - engineConfiguration->isVerboseAuxPid = true; - engineConfiguration->auxPid1.offset = 10; - engineConfiguration->auxPid1.pFactor = 5; - engineConfiguration->auxPid1.iFactor = 0.1; - engineConfiguration->auxPid1.dFactor = 0.1; + engineConfiguration->isVerboseAuxPid1 = true; + engineConfiguration->auxPid[0].offset = 10; + engineConfiguration->auxPid[0].pFactor = 5; + engineConfiguration->auxPid[0].iFactor = 0.1; + engineConfiguration->auxPid[0].dFactor = 0.1; #if EFI_FSIO || defined(__DOXYGEN__) diff --git a/firmware/controllers/algo/aux_pid.cpp b/firmware/controllers/algo/aux_pid.cpp index 104a95beed..5ad8f60852 100644 --- a/firmware/controllers/algo/aux_pid.cpp +++ b/firmware/controllers/algo/aux_pid.cpp @@ -30,12 +30,27 @@ extern TunerStudioOutputChannels tsOutputChannels; static THD_WORKING_AREA(auxPidThreadStack, UTILITY_THREAD_STACK_SIZE); static LocalVersionHolder parametersVersion; -static SimplePwm auxPid1; -static OutputPin auxPid1Pin; -static pid_s *auxPidS = &persistentState.persistentConfiguration.engineConfiguration.auxPid1; +static SimplePwm auxPidPwm[AUX_PID_COUNT]; +static OutputPin auxPidPin[AUX_PID_COUNT]; + +static pid_s *auxPidS = &persistentState.persistentConfiguration.engineConfiguration.auxPid[0]; static Pid auxPid(auxPidS, 1, 90); static Logging *logger; +static bool isEnabled(int index) { + // todo: implement bit arrays for configuration + switch(index) { + case 0: + return engineConfiguration->activateAuxPid1; + case 1: + return engineConfiguration->activateAuxPid2; + case 2: + return engineConfiguration->activateAuxPid3; + default: + return engineConfiguration->activateAuxPid4; + } +} + static msg_t auxPidThread(int param) { UNUSED(param); chRegSetThreadName("AuxPidController"); @@ -62,7 +77,7 @@ static msg_t auxPidThread(int param) { float targetValue = fsioTable1.getValue(rpm, getEngineLoadT(PASS_ENGINE_PARAMETER_F)); float pwm = auxPid.getValue(targetValue, value, 1); - if (engineConfiguration->isVerboseAuxPid) { + if (engineConfiguration->isVerboseAuxPid1) { scheduleMsg(logger, "aux duty: %f/value=%f/p=%f/i=%f/d=%f int=%f", pwm, value, auxPid.getP(), auxPid.getI(), auxPid.getD(), auxPid.getIntegration()); } @@ -74,7 +89,7 @@ static msg_t auxPidThread(int param) { tsOutputChannels.debugIntField3 = 10 * targetValue; } - auxPid1.setSimplePwmDutyCycle(pwm / 100); + auxPidPwm[0].setSimplePwmDutyCycle(pwm / 100); } @@ -83,23 +98,29 @@ static msg_t auxPidThread(int param) { #endif } +static void turnAuxPidOn(int index) { + if (!isEnabled(index)) { + return; + } + + if (engineConfiguration->auxPidPins[index] == GPIO_UNASSIGNED) { + return; + } + + startSimplePwmExt(&auxPidPwm[index], "Aux PID", engineConfiguration->auxPidPins[index], + &auxPidPin[0], + engineConfiguration->auxPidFrequency[index], 0.1, applyPinState); +} + void initAuxPid(Logging *sharedLogger) { chThdCreateStatic(auxPidThreadStack, sizeof(auxPidThreadStack), LOWPRIO, (tfunc_t) auxPidThread, NULL); logger = sharedLogger; - if (!engineConfiguration->activateAuxPid1) { - return; + for (int i = 0;i< AUX_PID_COUNT;i++) { + turnAuxPidOn(i); } - - if (engineConfiguration->auxPidPins[0] == GPIO_UNASSIGNED) { - return; - } - - startSimplePwmExt(&auxPid1, "Aux PID", engineConfiguration->auxPidPins[0], - &auxPid1Pin, - engineConfiguration->auxPidFrequency[0], 0.1, applyPinState); } #endif diff --git a/firmware/controllers/algo/engine_configuration_generated_structures.h b/firmware/controllers/algo/engine_configuration_generated_structures.h index fdbc8f76e3..45c411287f 100644 --- a/firmware/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/controllers/algo/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Jul 21 22:52:35 EDT 2016 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Jul 21 23:14:17 EDT 2016 // begin #ifndef ENGINE_CONFIGURATION_GENERATED_H_ #define ENGINE_CONFIGURATION_GENERATED_H_ @@ -788,25 +788,25 @@ typedef struct { bool activateAuxPid1 : 1; /** offset 80 bit 2 */ - bool isVerboseAuxPid : 1; + bool isVerboseAuxPid1 : 1; /** offset 80 bit 3 */ - bool issue_294_3 : 1; + bool activateAuxPid2 : 1; /** offset 80 bit 4 */ - bool issue_294_4 : 1; + bool isVerboseAuxPid2 : 1; /** offset 80 bit 5 */ - bool issue_294_5 : 1; + bool activateAuxPid3 : 1; /** offset 80 bit 6 */ - bool issue_294_6 : 1; + bool isVerboseAuxPid3 : 1; /** offset 80 bit 7 */ - bool issue_294_7 : 1; + bool activateAuxPid4 : 1; /** offset 80 bit 8 */ - bool issue_294_8 : 1; + bool isVerboseAuxPid4 : 1; /** offset 80 bit 9 */ bool issue_294_9 : 1; @@ -1637,7 +1637,7 @@ typedef struct { /** * offset 2412 */ - pid_s auxPid1; + pid_dt auxPidDT[AUX_PID_COUNT]; /** * Extra idle while cranking * offset 2428 @@ -1686,11 +1686,11 @@ typedef struct { /** * offset 2488 */ - pid_dt auxPidDT[AUX_PID_COUNT]; + pid_s auxPid[AUX_PID_COUNT]; /** - * offset 2504 + * offset 2552 */ - int unused[136]; + int unused[124]; /** total size 3048*/ } engine_configuration_s; @@ -1905,4 +1905,4 @@ typedef struct { #endif // end -// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Jul 21 22:52:35 EDT 2016 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Jul 21 23:14:17 EDT 2016 diff --git a/firmware/controllers/algo/rusefi_generated.h b/firmware/controllers/algo/rusefi_generated.h index 107cab8e12..f2de1538b6 100644 --- a/firmware/controllers/algo/rusefi_generated.h +++ b/firmware/controllers/algo/rusefi_generated.h @@ -48,20 +48,20 @@ #define directSelfStimulation_offset_hex 50 #define activateAuxPid1_offset 80 #define activateAuxPid1_offset_hex 50 -#define isVerboseAuxPid_offset 80 -#define isVerboseAuxPid_offset_hex 50 -#define issue_294_3_offset 80 -#define issue_294_3_offset_hex 50 -#define issue_294_4_offset 80 -#define issue_294_4_offset_hex 50 -#define issue_294_5_offset 80 -#define issue_294_5_offset_hex 50 -#define issue_294_6_offset 80 -#define issue_294_6_offset_hex 50 -#define issue_294_7_offset 80 -#define issue_294_7_offset_hex 50 -#define issue_294_8_offset 80 -#define issue_294_8_offset_hex 50 +#define isVerboseAuxPid1_offset 80 +#define isVerboseAuxPid1_offset_hex 50 +#define activateAuxPid2_offset 80 +#define activateAuxPid2_offset_hex 50 +#define isVerboseAuxPid2_offset 80 +#define isVerboseAuxPid2_offset_hex 50 +#define activateAuxPid3_offset 80 +#define activateAuxPid3_offset_hex 50 +#define isVerboseAuxPid3_offset 80 +#define isVerboseAuxPid3_offset_hex 50 +#define activateAuxPid4_offset 80 +#define activateAuxPid4_offset_hex 50 +#define isVerboseAuxPid4_offset 80 +#define isVerboseAuxPid4_offset_hex 50 #define issue_294_9_offset 80 #define issue_294_9_offset_hex 50 #define issue_294_10_offset 80 @@ -830,14 +830,13 @@ #define egoValueShift_offset_hex 964 #define unusedauxPid1DT_offset 2408 #define unusedauxPid1DT_offset_hex 968 -#define auxPid1_offset 2412 -#define auxPid1_pFactor_offset 2412 -#define auxPid1_iFactor_offset 2416 -#define auxPid1_iFactor_offset_hex 970 -#define auxPid1_dFactor_offset 2420 -#define auxPid1_dFactor_offset_hex 974 -#define auxPid1_offset_offset 2424 -#define auxPid1_offset_offset_hex 978 +#define auxPidDT1_offset 2412 +#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 crankingIdleAdjustment_offset 2428 #define tChargeMinRpmMinTps_offset 2432 #define tChargeMinRpmMinTps_offset_hex 980 @@ -861,11 +860,27 @@ #define storageMode_offset 2476 #define cj125SpiDevice_offset 2480 #define cj125CsPinMode_offset 2484 -#define auxPidDT1_offset 2488 -#define auxPidDT2_offset 2492 -#define auxPidDT3_offset 2496 -#define auxPidDT4_offset 2500 -#define unused_offset 2504 +#define auxPid1_offset 2488 +#define auxPid1_pFactor_offset 2488 +#define auxPid1_iFactor_offset 2492 +#define auxPid1_dFactor_offset 2496 +#define auxPid1_offset_offset 2500 +#define auxPid2_offset 2504 +#define auxPid2_pFactor_offset 2504 +#define auxPid2_iFactor_offset 2508 +#define auxPid2_dFactor_offset 2512 +#define auxPid2_offset_offset 2516 +#define auxPid3_offset 2520 +#define auxPid3_pFactor_offset 2520 +#define auxPid3_iFactor_offset 2524 +#define auxPid3_dFactor_offset 2528 +#define auxPid3_offset_offset 2532 +#define auxPid4_offset 2536 +#define auxPid4_pFactor_offset 2536 +#define auxPid4_iFactor_offset 2540 +#define auxPid4_dFactor_offset 2544 +#define auxPid4_offset_offset 2548 +#define unused_offset 2552 #define le_formulas1_offset 3048 #define le_formulas2_offset 3248 #define le_formulas3_offset 3448 diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index 3c9a4e0230..88a01418f4 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -852,8 +852,14 @@ static void enableOrDisable(const char *param, bool isEnabled) { engineConfiguration->isJoystickEnabled = isEnabled; } else if (strEqualCaseInsensitive(param, "HIP9011")) { boardConfiguration->isHip9011Enabled = isEnabled; - } else if (strEqualCaseInsensitive(param, "auxdebug")) { - engineConfiguration->isVerboseAuxPid = isEnabled; + } else if (strEqualCaseInsensitive(param, "auxdebug1")) { + engineConfiguration->isVerboseAuxPid1 = isEnabled; + } else if (strEqualCaseInsensitive(param, "auxdebug2")) { + engineConfiguration->isVerboseAuxPid2 = isEnabled; + } else if (strEqualCaseInsensitive(param, "auxdebug3")) { + engineConfiguration->isVerboseAuxPid3 = isEnabled; + } else if (strEqualCaseInsensitive(param, "auxdebug4")) { + engineConfiguration->isVerboseAuxPid4 = isEnabled; } else if (strEqualCaseInsensitive(param, "altdebug")) { boardConfiguration->isVerboseAlternator = isEnabled; } else if (strEqualCaseInsensitive(param, "tpic_advanced_mode")) { diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index c44ee07eea..55b23ca5ee 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -184,13 +184,13 @@ injector_s injector bit directSelfStimulation;+Should trigger emulator push data right into trigger handling logic, eliminating the need for physical jumper wires?\nPS: Funny name, right? :) bit activateAuxPid1; -bit isVerboseAuxPid; -bit issue_294_3; -bit issue_294_4; -bit issue_294_5; -bit issue_294_6; -bit issue_294_7; -bit issue_294_8; +bit isVerboseAuxPid1; +bit activateAuxPid2; +bit isVerboseAuxPid2; +bit activateAuxPid3; +bit isVerboseAuxPid3; +bit activateAuxPid4; +bit isVerboseAuxPid4; bit issue_294_9; bit issue_294_10; bit issue_294_11; @@ -506,7 +506,7 @@ bit is_enabled_spi_2 brain_pin_e acRelayPin; pin_output_mode_e acRelayPinMode; -custom pid_dt 4 U32 "ms", 1, 0, 0, 3000, 0 +custom pid_dt 4 scalar, U32, @OFFSET@, "ms", 1, 0, 0, 3000, 0 custom fsio_pwm_freq_t 2 scalar, U16, @OFFSET@, "Hz", 1, 0, 0, 3000, 0 fsio_pwm_freq_t[LE_COMMAND_COUNT iterate] fsioFrequency; @@ -717,7 +717,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 int unusedauxPid1DT - pid_s auxPid1; + pid_dt[AUX_PID_COUNT iterate] auxPidDT; float crankingIdleAdjustment;Extra idle while cranking;"percent", 1, 0, -100.0, 100, float tChargeMinRpmMinTps; float tChargeMinRpmMaxTps; @@ -729,8 +729,8 @@ 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_dt[AUX_PID_COUNT iterate] auxPidDT; - int[136] unused; + pid_s[AUX_PID_COUNT iterate] auxPid; + int[124] unused; end_struct diff --git a/firmware/rusefi.cpp b/firmware/rusefi.cpp index 7ed893bb42..631bf1d9ca 100644 --- a/firmware/rusefi.cpp +++ b/firmware/rusefi.cpp @@ -289,7 +289,7 @@ void firmwareError(const char *errorMsg, ...) { } } -static char UNUSED_RAM_SIZE[2100]; +static char UNUSED_RAM_SIZE[1900]; static char UNUSED_CCM_SIZE[8500] CCM_OPTIONAL; diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index 48a68bfb51..e136f17bd3 100644 --- a/firmware/tunerstudio/rusefi.ini +++ b/firmware/tunerstudio/rusefi.ini @@ -42,7 +42,7 @@ enable2ndByteCanID = false ; see PAGE_0_SIZE in C source code ; CONFIG_DEFINITION_START -; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Jul 21 22:52:35 EDT 2016 +; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Jul 21 23:14:17 EDT 2016 pageSize = 16376 page = 1 @@ -54,13 +54,13 @@ page = 1 injector_battLagCorr = array, F32, 48, [8], "ms/V", 1, 0, 0.0, 50.0, 2 directSelfStimulation = bits, U32, 80, [0:0], "false", "true" activateAuxPid1 = bits, U32, 80, [1:1], "false", "true" - isVerboseAuxPid = bits, U32, 80, [2:2], "false", "true" - issue_294_3 = bits, U32, 80, [3:3], "false", "true" - issue_294_4 = bits, U32, 80, [4:4], "false", "true" - issue_294_5 = bits, U32, 80, [5:5], "false", "true" - issue_294_6 = bits, U32, 80, [6:6], "false", "true" - issue_294_7 = bits, U32, 80, [7:7], "false", "true" - issue_294_8 = bits, U32, 80, [8:8], "false", "true" + isVerboseAuxPid1 = bits, U32, 80, [2:2], "false", "true" + activateAuxPid2 = bits, U32, 80, [3:3], "false", "true" + isVerboseAuxPid2 = bits, U32, 80, [4:4], "false", "true" + activateAuxPid3 = bits, U32, 80, [5:5], "false", "true" + isVerboseAuxPid3 = bits, U32, 80, [6:6], "false", "true" + activateAuxPid4 = bits, U32, 80, [7:7], "false", "true" + isVerboseAuxPid4 = bits, U32, 80, [8:8], "false", "true" issue_294_9 = bits, U32, 80, [9:9], "false", "true" issue_294_10 = bits, U32, 80, [10:10], "false", "true" issue_294_11 = bits, U32, 80, [11:11], "false", "true" @@ -575,10 +575,10 @@ page = 1 mapHighValueVoltage = scalar, F32, 2400, "v", 1, 0, 0.0, 10, 2 egoValueShift = scalar, F32, 2404, "value", 1, 0, -10.0, 10, 2 ;skipping unusedauxPid1DT offset 2408 - auxPid1_pFactor = scalar, F32, 2412, "value", 1, 0, 0, 1000, 5 - auxPid1_iFactor = scalar, F32, 2416, "value", 1, 0, 0, 1000, 5 - auxPid1_dFactor = scalar, F32, 2420, "value", 1, 0, 0, 1000, 5 - auxPid1_offset = scalar, F32, 2424, "value", 1, 0, 0, 1000, 3 + 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 crankingIdleAdjustment = scalar, F32, 2428, "percent", 1, 0, -100.0, 100, ;skipping tChargeMinRpmMinTps offset 2432 ;skipping tChargeMinRpmMaxTps offset 2436 @@ -596,11 +596,23 @@ 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" - auxPidDT1 = U32 "ms", 1, 0, 0, 3000, 0 - auxPidDT2 = U32 "ms", 1, 0, 0, 3000, 0 - auxPidDT3 = U32 "ms", 1, 0, 0, 3000, 0 - auxPidDT4 = U32 "ms", 1, 0, 0, 3000, 0 -;skipping unused offset 2504 + auxPid1_pFactor = scalar, F32, 2488, "value", 1, 0, 0, 1000, 5 + auxPid1_iFactor = scalar, F32, 2492, "value", 1, 0, 0, 1000, 5 + auxPid1_dFactor = scalar, F32, 2496, "value", 1, 0, 0, 1000, 5 + auxPid1_offset = scalar, F32, 2500, "value", 1, 0, 0, 1000, 3 + auxPid2_pFactor = scalar, F32, 2504, "value", 1, 0, 0, 1000, 5 + auxPid2_iFactor = scalar, F32, 2508, "value", 1, 0, 0, 1000, 5 + auxPid2_dFactor = scalar, F32, 2512, "value", 1, 0, 0, 1000, 5 + auxPid2_offset = scalar, F32, 2516, "value", 1, 0, 0, 1000, 3 + auxPid3_pFactor = scalar, F32, 2520, "value", 1, 0, 0, 1000, 5 + auxPid3_iFactor = scalar, F32, 2524, "value", 1, 0, 0, 1000, 5 + auxPid3_dFactor = scalar, F32, 2528, "value", 1, 0, 0, 1000, 5 + auxPid3_offset = scalar, F32, 2532, "value", 1, 0, 0, 1000, 3 + auxPid4_pFactor = scalar, F32, 2536, "value", 1, 0, 0, 1000, 5 + auxPid4_iFactor = scalar, F32, 2540, "value", 1, 0, 0, 1000, 5 + auxPid4_dFactor = scalar, F32, 2544, "value", 1, 0, 0, 1000, 5 + auxPid4_offset = scalar, F32, 2548, "value", 1, 0, 0, 1000, 3 +;skipping unused offset 2552 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 @@ -1687,7 +1699,7 @@ cmd_test_idle_valve = "w\x00\x17\x00\x01" field = "Enabled", activateAuxPid1 field = "FSIO pin #1", auxPidPins1 field = "PWM Frequency", auxPidFrequency1 - field = "verbose", isVerboseAuxPid + field = "verbose", isVerboseAuxPid1 field = "#target based on FSIO map#1" field = "control period", auxPidDT1, {activateAuxPid1 == 1} field = "#PID control" diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index 54e8015f78..4a4cb7415f 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -1683,7 +1683,7 @@ cmd_test_idle_valve = "w\x00\x17\x00\x01" field = "Enabled", activateAuxPid1 field = "FSIO pin #1", auxPidPins1 field = "PWM Frequency", auxPidFrequency1 - field = "verbose", isVerboseAuxPid + field = "verbose", isVerboseAuxPid1 field = "#target based on FSIO map#1" field = "control period", auxPidDT1, {activateAuxPid1 == 1} field = "#PID control" diff --git a/java_console/models/src/com/rusefi/config/Fields.java b/java_console/models/src/com/rusefi/config/Fields.java index ae57f1a583..d0c82093b7 100644 --- a/java_console/models/src/com/rusefi/config/Fields.java +++ b/java_console/models/src/com/rusefi/config/Fields.java @@ -1,6 +1,6 @@ package com.rusefi.config; -// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Jul 21 22:52:35 EDT 2016 +// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Jul 21 23:14:17 EDT 2016 public class Fields { public static final int LE_COMMAND_LENGTH = 200; public static final int FSIO_ADC_COUNT = 4; @@ -52,20 +52,20 @@ public class Fields { public static final int directSelfStimulation_offset_hex = 50; public static final int activateAuxPid1_offset = 80; public static final int activateAuxPid1_offset_hex = 50; - public static final int isVerboseAuxPid_offset = 80; - public static final int isVerboseAuxPid_offset_hex = 50; - public static final int issue_294_3_offset = 80; - public static final int issue_294_3_offset_hex = 50; - public static final int issue_294_4_offset = 80; - public static final int issue_294_4_offset_hex = 50; - public static final int issue_294_5_offset = 80; - public static final int issue_294_5_offset_hex = 50; - public static final int issue_294_6_offset = 80; - public static final int issue_294_6_offset_hex = 50; - public static final int issue_294_7_offset = 80; - public static final int issue_294_7_offset_hex = 50; - public static final int issue_294_8_offset = 80; - public static final int issue_294_8_offset_hex = 50; + public static final int isVerboseAuxPid1_offset = 80; + public static final int isVerboseAuxPid1_offset_hex = 50; + public static final int activateAuxPid2_offset = 80; + public static final int activateAuxPid2_offset_hex = 50; + public static final int isVerboseAuxPid2_offset = 80; + public static final int isVerboseAuxPid2_offset_hex = 50; + public static final int activateAuxPid3_offset = 80; + public static final int activateAuxPid3_offset_hex = 50; + public static final int isVerboseAuxPid3_offset = 80; + public static final int isVerboseAuxPid3_offset_hex = 50; + public static final int activateAuxPid4_offset = 80; + public static final int activateAuxPid4_offset_hex = 50; + public static final int isVerboseAuxPid4_offset = 80; + public static final int isVerboseAuxPid4_offset_hex = 50; public static final int issue_294_9_offset = 80; public static final int issue_294_9_offset_hex = 50; public static final int issue_294_10_offset = 80; @@ -834,14 +834,13 @@ public class Fields { public static final int egoValueShift_offset_hex = 964; public static final int unusedauxPid1DT_offset = 2408; public static final int unusedauxPid1DT_offset_hex = 968; - public static final int auxPid1_offset = 2412; - public static final int auxPid1_pFactor_offset = 2412; - public static final int auxPid1_iFactor_offset = 2416; - public static final int auxPid1_iFactor_offset_hex = 970; - public static final int auxPid1_dFactor_offset = 2420; - public static final int auxPid1_dFactor_offset_hex = 974; - public static final int auxPid1_offset_offset = 2424; - public static final int auxPid1_offset_offset_hex = 978; + 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 crankingIdleAdjustment_offset = 2428; public static final int tChargeMinRpmMinTps_offset = 2432; public static final int tChargeMinRpmMinTps_offset_hex = 980; @@ -865,11 +864,27 @@ 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 auxPidDT1_offset = 2488; - public static final int auxPidDT2_offset = 2492; - public static final int auxPidDT3_offset = 2496; - public static final int auxPidDT4_offset = 2500; - public static final int unused_offset = 2504; + 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 unused_offset = 2552; public static final int le_formulas1_offset = 3048; public static final int le_formulas2_offset = 3248; public static final int le_formulas3_offset = 3448; @@ -953,13 +968,13 @@ public class Fields { public static final Field INJECTOR_LAG = Field.create("INJECTOR_LAG", 12, FieldType.FLOAT); public static final Field DIRECTSELFSTIMULATION = Field.create("DIRECTSELFSTIMULATION", 80, FieldType.BIT, 0); public static final Field ACTIVATEAUXPID1 = Field.create("ACTIVATEAUXPID1", 80, FieldType.BIT, 1); - public static final Field ISVERBOSEAUXPID = Field.create("ISVERBOSEAUXPID", 80, FieldType.BIT, 2); - public static final Field ISSUE_294_3 = Field.create("ISSUE_294_3", 80, FieldType.BIT, 3); - public static final Field ISSUE_294_4 = Field.create("ISSUE_294_4", 80, FieldType.BIT, 4); - public static final Field ISSUE_294_5 = Field.create("ISSUE_294_5", 80, FieldType.BIT, 5); - public static final Field ISSUE_294_6 = Field.create("ISSUE_294_6", 80, FieldType.BIT, 6); - public static final Field ISSUE_294_7 = Field.create("ISSUE_294_7", 80, FieldType.BIT, 7); - public static final Field ISSUE_294_8 = Field.create("ISSUE_294_8", 80, FieldType.BIT, 8); + public static final Field ISVERBOSEAUXPID1 = Field.create("ISVERBOSEAUXPID1", 80, FieldType.BIT, 2); + public static final Field ACTIVATEAUXPID2 = Field.create("ACTIVATEAUXPID2", 80, FieldType.BIT, 3); + public static final Field ISVERBOSEAUXPID2 = Field.create("ISVERBOSEAUXPID2", 80, FieldType.BIT, 4); + public static final Field ACTIVATEAUXPID3 = Field.create("ACTIVATEAUXPID3", 80, FieldType.BIT, 5); + public static final Field ISVERBOSEAUXPID3 = Field.create("ISVERBOSEAUXPID3", 80, FieldType.BIT, 6); + public static final Field ACTIVATEAUXPID4 = Field.create("ACTIVATEAUXPID4", 80, FieldType.BIT, 7); + public static final Field ISVERBOSEAUXPID4 = Field.create("ISVERBOSEAUXPID4", 80, FieldType.BIT, 8); public static final Field ISSUE_294_9 = Field.create("ISSUE_294_9", 80, FieldType.BIT, 9); public static final Field ISSUE_294_10 = Field.create("ISSUE_294_10", 80, FieldType.BIT, 10); public static final Field ISSUE_294_11 = Field.create("ISSUE_294_11", 80, FieldType.BIT, 11); @@ -1460,10 +1475,10 @@ 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 UNUSEDAUXPID1DT = Field.create("UNUSEDAUXPID1DT", 2408, FieldType.INT); - public static final Field AUXPID1_PFACTOR = Field.create("AUXPID1_PFACTOR", 2412, FieldType.FLOAT); - public static final Field AUXPID1_IFACTOR = Field.create("AUXPID1_IFACTOR", 2416, FieldType.FLOAT); - public static final Field AUXPID1_DFACTOR = Field.create("AUXPID1_DFACTOR", 2420, FieldType.FLOAT); - public static final Field AUXPID1_OFFSET = Field.create("AUXPID1_OFFSET", 2424, FieldType.FLOAT); + 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 CRANKINGIDLEADJUSTMENT = Field.create("CRANKINGIDLEADJUSTMENT", 2428, FieldType.FLOAT); public static final Field TCHARGEMINRPMMINTPS = Field.create("TCHARGEMINRPMMINTPS", 2432, FieldType.FLOAT); public static final Field TCHARGEMINRPMMAXTPS = Field.create("TCHARGEMINRPMMAXTPS", 2436, FieldType.FLOAT); @@ -1482,10 +1497,22 @@ 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 AUXPIDDT1 = Field.create("AUXPIDDT1", 2488, FieldType.INT); - public static final Field AUXPIDDT2 = Field.create("AUXPIDDT2", 2492, FieldType.INT); - public static final Field AUXPIDDT3 = Field.create("AUXPIDDT3", 2496, FieldType.INT); - public static final Field AUXPIDDT4 = Field.create("AUXPIDDT4", 2500, FieldType.INT); + 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 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);