diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index cc20e2318e..79d2d32447 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -1358,6 +1358,7 @@ custom stepper_num_micro_steps_e 1 bits, U08, @OFFSET@, [0:3], @@stepper_num_mic output_pin_e fan2Pin; uint8_t fan2OnTemperature;+Cooling fan turn-on temperature threshold, in Celsius;"deg C", 1, 0, 0, 150, 0 uint8_t fan2OffTemperature;+Cooling fan turn-off temperature threshold, in Celsius;"deg C", 1, 0, 0, 150, 0 +#define SCRIPT_CURVE_COUNT 6 float[FSIO_CURVE_16] fsioCurve1Bins;;"x", 1, 0, -999, 1000, 3 float[FSIO_CURVE_16] fsioCurve1;;"y", 1, 0, -999, 1000, 3 float[FSIO_CURVE_16] fsioCurve2Bins;;"x", 1, 0, -999, 1000, 3 @@ -1398,7 +1399,12 @@ float[CLT_CURVE_SIZE] iacCoasting; CLT-based idle position for coasting (used int8_t[CLT_LIMITER_CURVE_SIZE] cltRevLimitRpmBins;CLT-based target RPM for hard limit depending on CLT like on Lexus LFA;"C", 1, 0, -70, 120, 0 uint16_t[CLT_LIMITER_CURVE_SIZE] cltRevLimitRpm;See idleRpmPid;"", 1, 0, 0, 8000, 0 -uint8_t[524] unused3328;;"units", 1, 0, -20, 100, 0 +gppwm_note_t[SCRIPT_CURVE_COUNT iterate] scriptCurveName; + float[FSIO_CURVE_8] scriptCurve5Bins;;"x", 1, 0, -999, 1000, 3 + float[FSIO_CURVE_8] scriptCurve5;;"y", 1, 0, -999, 1000, 3 + float[FSIO_CURVE_8] scriptCurve6Bins;;"x", 1, 0, -999, 1000, 3 + float[FSIO_CURVE_8] scriptCurve6;;"y", 1, 0, -999, 1000, 3 +uint8_t[300] unused3328;;"units", 1, 0, -20, 100, 0 float tChargeAirCoefMin;;"Min tCharge Coeff.", 1, 0, 0, 1, 4 float tChargeAirCoefMax;;"Max tCharge Coeff.", 1, 0, 0, 1, 4 diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index add4df419a..48919fb40b 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -588,33 +588,53 @@ enable2ndByteCanID = false gauge = afr1Gauge #endif - curve = fsioCurve1, "FSIO Curve #1" + curve = fsioCurve1, "Script Curve #1" columnLabel = "X", "Y" xAxis = 0, 128, 10 yAxis = -155, 150, 10 xBins = fsioCurve1Bins yBins = fsioCurve1 - - curve = fsioCurve2, "FSIO Curve #2" + showTextValues = true + + curve = fsioCurve2, "Script Curve #2" columnLabel = "X", "Y" xAxis = 0, 128, 10 yAxis = -150, 150, 10 xBins = fsioCurve2Bins yBins = fsioCurve2 + showTextValues = true - curve = fsioCurve3, "FSIO Curve #3" + curve = fsioCurve3, "Script Curve #3" columnLabel = "X", "Y" xAxis = 0, 128, 10 yAxis = -5, 5, 10 xBins = fsioCurve3Bins yBins = fsioCurve3 + showTextValues = true - curve = fsioCurve4, "FSIO Curve #4" + curve = fsioCurve4, "Script Curve #4" columnLabel = "X", "Y" xAxis = 0, 128, 10 yAxis = -5, 5, 10 xBins = fsioCurve4Bins yBins = fsioCurve4 + showTextValues = true + + curve = scriptCurve5, "Script Curve #5" + columnLabel = "X", "Y" + xAxis = 0, 128, 10 + yAxis = -5, 5, 10 + xBins = scriptCurve5Bins + yBins = scriptCurve5 + showTextValues = true + + curve = scriptCurve6, "Script Curve #6" + columnLabel = "X", "Y" + xAxis = 0, 128, 10 + yAxis = -5, 5, 10 + xBins = scriptCurve6Bins + yBins = scriptCurve6 + showTextValues = true curve = mapAccelTaper, "Engine Load Acceleration Enrichment Taper" columnLabel = "Distance", "Multiplier" @@ -1560,14 +1580,16 @@ menuDialog = main subMenu = fsioFormulas, "FSIO Formulas" subMenu = std_separator - subMenu = fsioTable1Tbl, "FSIO Table #1" - subMenu = fsioTable2Tbl, "FSIO Table #2" - subMenu = fsioTable3Tbl, "FSIO Table #3" - subMenu = fsioTable4Tbl, "FSIO Table #4" - subMenu = fsioCurve1, "FSIO Curve #1" - subMenu = fsioCurve2, "FSIO Curve #2" - subMenu = fsioCurve3, "FSIO Curve #3" - subMenu = fsioCurve4, "FSIO Curve #4" + subMenu = fsioTable1Tbl, "Script Table #1" + subMenu = fsioTable2Tbl, "Script Table #2" + subMenu = fsioTable3Tbl, "Script Table #3" + subMenu = fsioTable4Tbl, "Script Table #4" + subMenu = scriptCurve1Settings, "Script Curve #1" + subMenu = scriptCurve2Settings, "Script Curve #2" + subMenu = scriptCurve3Settings, "Script Curve #3" + subMenu = scriptCurve4Settings, "Script Curve #4" + subMenu = scriptCurve5Settings, "Script Curve #5" + subMenu = scriptCurve6Settings, "Script Curve #6" subMenu = std_separator subMenu = luaOutputs, "Lua PWM Outputs" @@ -1850,6 +1872,30 @@ cmd_set_engine_type_8888_test = "@@TS_IO_TEST_COMMAND_char@@\x00\x30\x00\x3B" cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00" [UserDefined] + dialog = scriptCurve1Settings, "", yAxis + field = "Name", scriptCurveName4 + panel = fsioCurve1 + + dialog = scriptCurve2Settings, "", yAxis + field = "Name", scriptCurveName4 + panel = fsioCurve2 + + dialog = scriptCurve3Settings, "", yAxis + field = "Name", scriptCurveName4 + panel = fsioCurve3 + + dialog = scriptCurve4Settings, "", yAxis + field = "Name", scriptCurveName4 + panel = fsioCurve4 + + dialog = scriptCurve5Settings, "", yAxis + field = "Name", scriptCurveName5 + panel = scriptCurve5 + + dialog = scriptCurve6Settings, "", yAxis + field = "Name", scriptCurveName6 + panel = scriptCurve6 + dialog = tChargeRpmTpsSettings, "RPM+TPS Mode Settings" field = "We use these coefficients to approximate air/fuel charge temperate" field = "based on CLT and IAT, depending on RPM and TPM"