more curves! also names for curves

This commit is contained in:
rusefillc 2021-11-04 23:19:44 -04:00
parent bcd2d866d7
commit 85984928ca
5 changed files with 34 additions and 33 deletions

View File

@ -541,14 +541,14 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
engineConfiguration->alternatorControl.minValue = 10; engineConfiguration->alternatorControl.minValue = 10;
engineConfiguration->alternatorControl.maxValue = 90; engineConfiguration->alternatorControl.maxValue = 90;
setLinearCurve(engineConfiguration->fsioCurve1Bins, 0, 100, 1); setLinearCurve(engineConfiguration->scriptCurve1Bins, 0, 100, 1);
setLinearCurve(engineConfiguration->fsioCurve1, 0, 100, 1); setLinearCurve(engineConfiguration->scriptCurve1, 0, 100, 1);
setLinearCurve(engineConfiguration->fsioCurve2Bins, 0, 100, 1); setLinearCurve(engineConfiguration->scriptCurve2Bins, 0, 100, 1);
setLinearCurve(engineConfiguration->fsioCurve2, 30, 170, 1); setLinearCurve(engineConfiguration->scriptCurve2, 30, 170, 1);
setLinearCurve(engineConfiguration->fsioCurve3Bins, 0, 100, 1); setLinearCurve(engineConfiguration->scriptCurve3Bins, 0, 100, 1);
setLinearCurve(engineConfiguration->fsioCurve4Bins, 0, 100, 1); setLinearCurve(engineConfiguration->scriptCurve4Bins, 0, 100, 1);
#if EFI_ENGINE_CONTROL #if EFI_ENGINE_CONTROL
setDefaultWarmupIdleCorrection(PASS_CONFIG_PARAMETER_SIGNATURE); setDefaultWarmupIdleCorrection(PASS_CONFIG_PARAMETER_SIGNATURE);

View File

@ -38,5 +38,6 @@ void applyFsioConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE);
void onConfigurationChangeFsioCallback(engine_configuration_s *previousConfiguration DECLARE_ENGINE_PARAMETER_SUFFIX); void onConfigurationChangeFsioCallback(engine_configuration_s *previousConfiguration DECLARE_ENGINE_PARAMETER_SUFFIX);
void runHardcodedFsio(DECLARE_ENGINE_PARAMETER_SIGNATURE); void runHardcodedFsio(DECLARE_ENGINE_PARAMETER_SIGNATURE);
float getCurveValue(int index, float key);
ValueProvider3D *getFSIOTable(int index); ValueProvider3D *getFSIOTable(int index);

View File

@ -5,7 +5,7 @@
* Here we have two auxilary digital on/off outputs which would open once per each 360 degrees of engine crank revolution. * Here we have two auxilary digital on/off outputs which would open once per each 360 degrees of engine crank revolution.
* The second valve is 180 degrees after the first one. * The second valve is 180 degrees after the first one.
* *
* Valve open and close angles are taken from fsioCurve1 and fsioCurve2 tables respectively, the position depend on TPS input. * Valve open and close angles are taken from scriptCurve1 and scriptCurve2 tables respectively, the position depend on TPS input.
* *
* https://github.com/rusefi/rusefi/issues/490 * https://github.com/rusefi/rusefi/issues/490
* *
@ -102,12 +102,12 @@ void recalculateAuxValveTiming(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
} }
engine->engineState.auxValveStart = interpolate2d(tps, engine->engineState.auxValveStart = interpolate2d(tps,
engineConfiguration->fsioCurve1Bins, engineConfiguration->scriptCurve1Bins,
engineConfiguration->fsioCurve1); engineConfiguration->scriptCurve1);
engine->engineState.auxValveEnd = interpolate2d(tps, engine->engineState.auxValveEnd = interpolate2d(tps,
engineConfiguration->fsioCurve2Bins, engineConfiguration->scriptCurve2Bins,
engineConfiguration->fsioCurve2); engineConfiguration->scriptCurve2);
if (engine->engineState.auxValveStart >= engine->engineState.auxValveEnd) { if (engine->engineState.auxValveStart >= engine->engineState.auxValveEnd) {
// this is a fatal error to make this really visible // this is a fatal error to make this really visible

View File

@ -1003,12 +1003,12 @@ static void getValue(const char *paramStr) {
} }
} }
static void setFsioCurve1Value(float value) { static void setScriptCurve1Value(float value) {
setLinearCurve(engineConfiguration->fsioCurve1, value, value, 1); setLinearCurve(engineConfiguration->scriptCurve1, value, value, 1);
} }
static void setFsioCurve2Value(float value) { static void setScriptCurve2Value(float value) {
setLinearCurve(engineConfiguration->fsioCurve2, value, value, 1); setLinearCurve(engineConfiguration->scriptCurve2, value, value, 1);
} }
struct command_i_s { struct command_i_s {
@ -1040,8 +1040,8 @@ const command_f_s commandsF[] = {
{"cranking_priming_pulse", setCrankingPrimingPulse}, {"cranking_priming_pulse", setCrankingPrimingPulse},
{"flat_injector_lag", setFlatInjectorLag}, {"flat_injector_lag", setFlatInjectorLag},
#endif // EFI_ENGINE_CONTROL #endif // EFI_ENGINE_CONTROL
{"fsio_curve_1_value", setFsioCurve1Value}, {"script_curve_1_value", setScriptCurve1Value},
{"fsio_curve_2_value", setFsioCurve2Value}, {"script_curve_2_value", setScriptCurve2Value},
#if EFI_PROD_CODE #if EFI_PROD_CODE
#if EFI_IDLE_CONTROL #if EFI_IDLE_CONTROL
{"idle_offset", setIdleOffset}, {"idle_offset", setIdleOffset},

View File

@ -588,36 +588,36 @@ enable2ndByteCanID = false
gauge = afr1Gauge gauge = afr1Gauge
#endif #endif
curve = fsioCurve1, "Script Curve #1" curve = scriptCurve1, "Script Curve #1"
columnLabel = "X", "Y" columnLabel = "X", "Y"
xAxis = 0, 128, 10 xAxis = 0, 128, 10
yAxis = -155, 150, 10 yAxis = -155, 150, 10
xBins = fsioCurve1Bins xBins = scriptCurve1Bins
yBins = fsioCurve1 yBins = scriptCurve1
showTextValues = true showTextValues = true
curve = fsioCurve2, "Script Curve #2" curve = scriptCurve2, "Script Curve #2"
columnLabel = "X", "Y" columnLabel = "X", "Y"
xAxis = 0, 128, 10 xAxis = 0, 128, 10
yAxis = -150, 150, 10 yAxis = -150, 150, 10
xBins = fsioCurve2Bins xBins = scriptCurve2Bins
yBins = fsioCurve2 yBins = scriptCurve2
showTextValues = true showTextValues = true
curve = fsioCurve3, "Script Curve #3" curve = scriptCurve3, "Script Curve #3"
columnLabel = "X", "Y" columnLabel = "X", "Y"
xAxis = 0, 128, 10 xAxis = 0, 128, 10
yAxis = -5, 5, 10 yAxis = -5, 5, 10
xBins = fsioCurve3Bins xBins = scriptCurve3Bins
yBins = fsioCurve3 yBins = scriptCurve3
showTextValues = true showTextValues = true
curve = fsioCurve4, "Script Curve #4" curve = scriptCurve4, "Script Curve #4"
columnLabel = "X", "Y" columnLabel = "X", "Y"
xAxis = 0, 128, 10 xAxis = 0, 128, 10
yAxis = -5, 5, 10 yAxis = -5, 5, 10
xBins = fsioCurve4Bins xBins = scriptCurve4Bins
yBins = fsioCurve4 yBins = scriptCurve4
showTextValues = true showTextValues = true
curve = scriptCurve5, "Script Curve #5" curve = scriptCurve5, "Script Curve #5"
@ -1874,19 +1874,19 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00"
[UserDefined] [UserDefined]
dialog = scriptCurve1Settings, "", yAxis dialog = scriptCurve1Settings, "", yAxis
field = "Name", scriptCurveName4 field = "Name", scriptCurveName4
panel = fsioCurve1 panel = scriptCurve1
dialog = scriptCurve2Settings, "", yAxis dialog = scriptCurve2Settings, "", yAxis
field = "Name", scriptCurveName4 field = "Name", scriptCurveName4
panel = fsioCurve2 panel = scriptCurve2
dialog = scriptCurve3Settings, "", yAxis dialog = scriptCurve3Settings, "", yAxis
field = "Name", scriptCurveName4 field = "Name", scriptCurveName4
panel = fsioCurve3 panel = scriptCurve3
dialog = scriptCurve4Settings, "", yAxis dialog = scriptCurve4Settings, "", yAxis
field = "Name", scriptCurveName4 field = "Name", scriptCurveName4
panel = fsioCurve4 panel = scriptCurve4
dialog = scriptCurve5Settings, "", yAxis dialog = scriptCurve5Settings, "", yAxis
field = "Name", scriptCurveName5 field = "Name", scriptCurveName5