diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index 33e2857e10..9081dfe50a 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -149,7 +149,6 @@ struct_no_prefix engine_configuration_s #define TRIGGER_INPUT_PIN_COUNT 3 #define LOGIC_ANALYZER_CHANNEL_COUNT 4 #define FSIO_COMMAND_COUNT 16 -#define AUX_PID_COUNT 4 #define VEHICLE_INFO_SIZE 32 @@ -1284,7 +1283,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 - output_pin_e[AUX_PID_COUNT iterate] auxPidPins; + output_pin_e[CAM_INPUTS_COUNT iterate] auxPidPins; spi_device_e cj125SpiDevice; pin_output_mode_e cj125CsPinMode; @@ -1296,7 +1295,8 @@ float[MAP_ACCEL_TAPER] mapAccelTaperMult;;"mult", 1, 0, 0.0, 300, float tChargeMaxRpmMinTps;;"mult", 1, 0, 0, 3, 4 float tChargeMaxRpmMaxTps;;"mult", 1, 0, 0, 3, 4 - fsio_pwm_freq_t[AUX_PID_COUNT iterate] auxPidFrequency; + fsio_pwm_freq_t[CAMS_PER_BANK iterate] auxPidFrequency; + uint8_t unused1301;;"units", 1, 0, -20, 100, 0 int alternatorPwmFrequency;;"Hz", 1, 0, 0, 3000.0, 0 int unused2260;;"units", 1, 0, -20, 100, 0 @@ -1360,7 +1360,8 @@ tle8888_mode_e tle8888mode; pin_input_mode_e brakePedalPinMode; - pid_s[AUX_PID_COUNT iterate] auxPid; + pid_s[CAMS_PER_BANK iterate] auxPid; + uint8_t[40] unused1366;;"units", 1, 0, -20, 100, 0 linear_sensor_s oilPressure; diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index fac2e37d50..62b992e9e8 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -488,8 +488,6 @@ enable2ndByteCanID = false requiresPowerCycle = alternatorPwmFrequency requiresPowerCycle = auxPidFrequency1 requiresPowerCycle = auxPidFrequency2 - requiresPowerCycle = auxPidFrequency3 - requiresPowerCycle = auxPidFrequency4 requiresPowerCycle = fsioOutputPins1 requiresPowerCycle = fsioOutputPins2 @@ -2301,10 +2299,10 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00" field = "servo#3", servoOutputPins3 field = "servo#4", servoOutputPins4 field = "servo#5", servoOutputPins5 - field = "Aux Pin #1", auxPidPins1 - field = "Aux Pin #2", auxPidPins2 - field = "Aux Pin #3", auxPidPins3 - field = "Aux Pin #4", auxPidPins4 + field = "VVT Pin #1", auxPidPins1 + field = "VVT Pin #2", auxPidPins2 + field = "VVT Pin #3", auxPidPins3 + field = "VVT Pin #4", auxPidPins4 field = "Aux Valve #1", auxValves1 field = "Aux Valve #2", auxValves2 field = "TLE8888 Chip Select", tle8888_cs @@if_ts_show_spi @@ -2780,23 +2778,36 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00" panel = stftPartitionSettingsPower, {fuelClosedLoopCorrectionEnabled == 1} panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1} - dialog = vvtPidDialog, "VVT PID" + dialog = vvtPidDialog0, "VVT PID0" field = "Enabled", activateAuxPid1 - field = "FSIO pin #1", auxPidPins1 + field = "First Shaft Bank#1", auxPidPins1 + field = "Second Shaft Bank#1", auxPidPins2 + field = "First Shaft Bank#2", auxPidPins3 + field = "Second Shaft Bank#2", auxPidPins4 field = "PWM Frequency", auxPidFrequency1 field = "Detailed status in console", isVerboseAuxPid1 - field = "#target based on FSIO map#1" - field = "control period", auxPid1_periodMs, {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", 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 + field = "control period", auxPid1_periodMs + + dialog = vvtPidDialog1, "First Shaft PID" + field = "offset", auxPid1_offset, {auxPidPins1 != 0} + field = "P factor", auxPid1_pFactor, {auxPidPins1 != 0} + field = "I factor", auxPid1_iFactor, {auxPidPins1 != 0} + field = "D factor", auxPid1_dFactor, {auxPidPins1 != 0} + field = "Min", auxPid1_minValue, {auxPidPins1 != 0} + field = "Max", auxPid1_maxValue, {auxPidPins1 != 0} + + dialog = vvtPidDialog2, "Second Shaft PID" + field = "offset", auxPid2_offset, {auxPidPins2 != 0} + field = "P factor", auxPid2_pFactor, {auxPidPins2 != 0} + field = "I factor", auxPid2_iFactor, {auxPidPins2 != 0} + field = "D factor", auxPid2_dFactor, {auxPidPins2 != 0} + field = "Min", auxPid2_minValue, {auxPidPins2 != 0} + field = "Max", auxPid2_maxValue, {auxPidPins2 != 0} + + dialog = vvtPidDialog, "VVT PID", border + panel = vvtPidDialog0, West + panel = vvtPidDialog1, Center + panel = vvtPidDialog2, East ; Engine->Battery & Alternator dialog = batteryDialog, "Battery Settings", yAxis