move ign & cranking defaults (#2791)
* ignition defaults * cranking * s
This commit is contained in:
parent
70c0db189d
commit
135bc9f3ad
|
@ -39,11 +39,6 @@ static ign_Map3D_t iatAdvanceCorrectionMap;
|
||||||
// todo: reset this between cranking attempts?! #2735
|
// todo: reset this between cranking attempts?! #2735
|
||||||
int minCrankingRpm = 0;
|
int minCrankingRpm = 0;
|
||||||
|
|
||||||
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
|
|
||||||
static const float iatTimingRpmBins[IGN_LOAD_COUNT] = {880, 1260, 1640, 2020, 2400, 2780, 3000, 3380, 3760, 4140, 4520, 5000, 5700, 6500, 7200, 8000};
|
|
||||||
|
|
||||||
#endif /* IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT */
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return ignition timing angle advance before TDC
|
* @return ignition timing angle advance before TDC
|
||||||
*/
|
*/
|
||||||
|
@ -218,39 +213,6 @@ size_t getMultiSparkCount(int rpm DECLARE_ENGINE_PARAMETER_SUFFIX) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void setDefaultIatTimingCorrection(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|
||||||
setLinearCurve(config->ignitionIatCorrLoadBins, /*from*/CLT_CURVE_RANGE_FROM, 110, 1);
|
|
||||||
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
|
|
||||||
copyArray(config->ignitionIatCorrRpmBins, iatTimingRpmBins);
|
|
||||||
|
|
||||||
static constexpr int8_t defaultIatCorr[16] = {
|
|
||||||
4, // -40 deg
|
|
||||||
4,
|
|
||||||
3,
|
|
||||||
2,
|
|
||||||
0, // 0 deg
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
-1, // 50 deg
|
|
||||||
-2,
|
|
||||||
-4,
|
|
||||||
-4,
|
|
||||||
-4,
|
|
||||||
-4,
|
|
||||||
-4, // 110 deg
|
|
||||||
};
|
|
||||||
|
|
||||||
// Set each row of the table to the same value (no rpm dependence by default)
|
|
||||||
for (size_t i = 0; i < efi::size(defaultIatCorr); i++) {
|
|
||||||
setArrayValues(config->ignitionIatCorrTable[i], (float)defaultIatCorr[i]);
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
setLinearCurve(config->ignitionIatCorrLoadBins, /*from*/0, 6000, 1);
|
|
||||||
#endif /* IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT */
|
|
||||||
}
|
|
||||||
|
|
||||||
void initTimingMap(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
void initTimingMap(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||||
// We init both tables in RAM because here we're at a very early stage, with no config settings loaded.
|
// We init both tables in RAM because here we're at a very early stage, with no config settings loaded.
|
||||||
advanceMap.init(config->ignitionTable, config->ignitionLoadBins,
|
advanceMap.init(config->ignitionTable, config->ignitionLoadBins,
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
#include "engine.h"
|
#include "engine.h"
|
||||||
|
|
||||||
angle_t getAdvance(int rpm, float engineLoad DECLARE_ENGINE_PARAMETER_SUFFIX);
|
angle_t getAdvance(int rpm, float engineLoad DECLARE_ENGINE_PARAMETER_SUFFIX);
|
||||||
void setDefaultIatTimingCorrection(DECLARE_ENGINE_PARAMETER_SIGNATURE);
|
|
||||||
void initTimingMap(DECLARE_ENGINE_PARAMETER_SIGNATURE);
|
void initTimingMap(DECLARE_ENGINE_PARAMETER_SIGNATURE);
|
||||||
float getTopAdvanceForBore(chamber_style_e style, int octane, double compression, double bore);
|
float getTopAdvanceForBore(chamber_style_e style, int octane, double compression, double bore);
|
||||||
float getInitialAdvance(int rpm, float map, float advanceMax);
|
float getInitialAdvance(int rpm, float map, float advanceMax);
|
||||||
|
|
|
@ -22,4 +22,6 @@ CONTROLLERS_ALGO_SRC_CPP = $(PROJECT_DIR)/controllers/algo/advance_map.cpp \
|
||||||
$(PROJECT_DIR)/controllers/algo/fuel/injector_model.cpp \
|
$(PROJECT_DIR)/controllers/algo/fuel/injector_model.cpp \
|
||||||
$(PROJECT_DIR)/controllers/algo/nmea.cpp \
|
$(PROJECT_DIR)/controllers/algo/nmea.cpp \
|
||||||
$(PROJECT_DIR)/controllers/algo/defaults/default_base_engine.cpp \
|
$(PROJECT_DIR)/controllers/algo/defaults/default_base_engine.cpp \
|
||||||
|
$(PROJECT_DIR)/controllers/algo/defaults/default_cranking.cpp \
|
||||||
$(PROJECT_DIR)/controllers/algo/defaults/default_fuel.cpp \
|
$(PROJECT_DIR)/controllers/algo/defaults/default_fuel.cpp \
|
||||||
|
$(PROJECT_DIR)/controllers/algo/defaults/default_ignition.cpp \
|
||||||
|
|
|
@ -21,6 +21,8 @@ void setDefaultBaseEngine(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
|
|
||||||
CONFIG(compressionRatio) = 9;
|
CONFIG(compressionRatio) = 9;
|
||||||
|
|
||||||
|
engineConfiguration->fuelAlgorithm = LM_SPEED_DENSITY;
|
||||||
|
|
||||||
// Limits and Fallbacks
|
// Limits and Fallbacks
|
||||||
engineConfiguration->rpmHardLimit = 7000;
|
engineConfiguration->rpmHardLimit = 7000;
|
||||||
engineConfiguration->cutFuelOnHardLimit = true;
|
engineConfiguration->cutFuelOnHardLimit = true;
|
||||||
|
|
|
@ -0,0 +1,84 @@
|
||||||
|
#include "defaults.h"
|
||||||
|
#include "engine_configuration.h"
|
||||||
|
#include "table_helper.h"
|
||||||
|
|
||||||
|
EXTERN_CONFIG;
|
||||||
|
|
||||||
|
void setDefaultCranking(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
|
engineConfiguration->cranking.rpm = 550;
|
||||||
|
|
||||||
|
// Fuel
|
||||||
|
CONFIG(crankingInjectionMode) = IM_SIMULTANEOUS;
|
||||||
|
engineConfiguration->cranking.baseFuel = 27;
|
||||||
|
|
||||||
|
// Ignition
|
||||||
|
engineConfiguration->useConstantDwellDuringCranking = true;
|
||||||
|
engineConfiguration->ignitionDwellForCrankingMs = 6;
|
||||||
|
CONFIG(crankingTimingAngle) = 6;
|
||||||
|
engineConfiguration->crankingChargeAngle = 70;
|
||||||
|
|
||||||
|
// IAC
|
||||||
|
engineConfiguration->crankingIACposition = 50;
|
||||||
|
engineConfiguration->afterCrankingIACtaperDuration = 35;
|
||||||
|
|
||||||
|
// After start enrichment
|
||||||
|
#if !EFI_UNIT_TEST
|
||||||
|
// don't set this for unit tests, as it makes things more complicated to test
|
||||||
|
engineConfiguration->postCrankingFactor = 1.2;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
engineConfiguration->postCrankingDurationSec = 10;
|
||||||
|
|
||||||
|
setLinearCurve(engineConfiguration->crankingTpsCoef, /*from*/1, /*to*/1, 1);
|
||||||
|
setLinearCurve(engineConfiguration->crankingTpsBins, 0, 100, 1);
|
||||||
|
|
||||||
|
setLinearCurve(config->cltCrankingCorrBins, CLT_CURVE_RANGE_FROM, 100, 1);
|
||||||
|
setLinearCurve(config->cltCrankingCorr, 1.0, 1.0, 1);
|
||||||
|
|
||||||
|
// Cranking temperature compensation
|
||||||
|
static const float crankingCoef[] = {
|
||||||
|
2.8,
|
||||||
|
2.2,
|
||||||
|
1.8,
|
||||||
|
1.55,
|
||||||
|
1.3,
|
||||||
|
1.1,
|
||||||
|
1.0,
|
||||||
|
1.0
|
||||||
|
};
|
||||||
|
copyArray(config->crankingFuelCoef, crankingCoef);
|
||||||
|
|
||||||
|
// Deg C
|
||||||
|
static const float crankingBins[] = {
|
||||||
|
-20,
|
||||||
|
-10,
|
||||||
|
5,
|
||||||
|
20,
|
||||||
|
35,
|
||||||
|
50,
|
||||||
|
65,
|
||||||
|
90
|
||||||
|
};
|
||||||
|
copyArray(config->crankingFuelBins, crankingBins);
|
||||||
|
|
||||||
|
// Cranking cycle compensation
|
||||||
|
|
||||||
|
// Whole table is 1.0, except first two values are steeper
|
||||||
|
setArrayValues(config->crankingCycleCoef, 1.0f);
|
||||||
|
config->crankingCycleCoef[0] = 2.0f;
|
||||||
|
config->crankingCycleCoef[1] = 1.3f;
|
||||||
|
|
||||||
|
// X values are simply counting up cycle number starting at 1
|
||||||
|
for (size_t i = 0; i < efi::size(config->crankingCycleBins); i++) {
|
||||||
|
config->crankingCycleBins[i] = i + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cranking ignition timing
|
||||||
|
static const float advanceValues[] = { 0, 0, 0, 0 };
|
||||||
|
copyArray(engineConfiguration->crankingAdvance, advanceValues);
|
||||||
|
|
||||||
|
static const float advanceBins[] = { 0, 200, 400, 1000 };
|
||||||
|
copyArray(engineConfiguration->crankingAdvanceBins, advanceBins);
|
||||||
|
|
||||||
|
CONFIG(useTLE8888_cranking_hack) = true;
|
||||||
|
}
|
|
@ -0,0 +1,78 @@
|
||||||
|
#include "defaults.h"
|
||||||
|
#include "engine_configuration.h"
|
||||||
|
#include "engine_math.h"
|
||||||
|
#include "table_helper.h"
|
||||||
|
|
||||||
|
EXTERN_CONFIG;
|
||||||
|
|
||||||
|
static void setDefaultMultisparkParameters(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
|
// 1ms spark + 2ms dwell
|
||||||
|
engineConfiguration->multisparkSparkDuration = 1000;
|
||||||
|
engineConfiguration->multisparkDwell = 2000;
|
||||||
|
|
||||||
|
// Conservative defaults - probably won't blow up coils
|
||||||
|
engineConfiguration->multisparkMaxRpm = 1500;
|
||||||
|
engineConfiguration->multisparkMaxExtraSparkCount = 2;
|
||||||
|
engineConfiguration->multisparkMaxSparkingAngle = 30;
|
||||||
|
}
|
||||||
|
|
||||||
|
static constexpr float iatTimingRpmBins[] = { 880, 1260, 1640, 2020, 2400, 2780, 3000, 3380, 3760, 4140, 4520, 5000, 5700, 6500, 7200, 8000 };
|
||||||
|
|
||||||
|
static void setDefaultIatTimingCorrection(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
|
setLinearCurve(config->ignitionIatCorrLoadBins, /*from*/CLT_CURVE_RANGE_FROM, 110, 1);
|
||||||
|
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
|
||||||
|
copyArray(config->ignitionIatCorrRpmBins, iatTimingRpmBins);
|
||||||
|
|
||||||
|
static constexpr int8_t defaultIatCorr[16] = {
|
||||||
|
4, // -40 deg
|
||||||
|
4,
|
||||||
|
3,
|
||||||
|
2,
|
||||||
|
0, // 0 deg
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
-1, // 50 deg
|
||||||
|
-2,
|
||||||
|
-4,
|
||||||
|
-4,
|
||||||
|
-4,
|
||||||
|
-4,
|
||||||
|
-4, // 110 deg
|
||||||
|
};
|
||||||
|
|
||||||
|
// Set each row of the table to the same value (no rpm dependence by default)
|
||||||
|
for (size_t i = 0; i < efi::size(defaultIatCorr); i++) {
|
||||||
|
setArrayValues(config->ignitionIatCorrTable[i], (float)defaultIatCorr[i]);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
setLinearCurve(config->ignitionIatCorrLoadBins, /*from*/0, 6000, 1);
|
||||||
|
#endif /* IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT */
|
||||||
|
}
|
||||||
|
|
||||||
|
void setDefaultIgnition(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
|
// Ignition base settings
|
||||||
|
CONFIG(isIgnitionEnabled) = true;
|
||||||
|
|
||||||
|
engineConfiguration->timingMode = TM_DYNAMIC;
|
||||||
|
engineConfiguration->fixedModeTiming = 50;
|
||||||
|
|
||||||
|
// Dwell table
|
||||||
|
setConstantDwell(4 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
|
|
||||||
|
// Multispark
|
||||||
|
setDefaultMultisparkParameters(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||||
|
|
||||||
|
// Ignition advance table
|
||||||
|
// TODO: populate some values that aren't all 0?
|
||||||
|
setTimingLoadBin(1.2, 4.4 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
|
setTimingRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
|
|
||||||
|
// CLT correction
|
||||||
|
setLinearCurve(engineConfiguration->cltTimingBins, CLT_CURVE_RANGE_FROM, 120, 1);
|
||||||
|
setArrayValues(engineConfiguration->cltTimingExtra, 0.0f);
|
||||||
|
|
||||||
|
// IAT correction
|
||||||
|
setDefaultIatTimingCorrection(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||||
|
}
|
|
@ -2,3 +2,5 @@
|
||||||
|
|
||||||
void setDefaultBaseEngine(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
void setDefaultBaseEngine(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||||
void setDefaultFuel(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
void setDefaultFuel(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||||
|
void setDefaultIgnition(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||||
|
void setDefaultCranking(DECLARE_CONFIG_PARAMETER_SIGNATURE);
|
||||||
|
|
|
@ -216,7 +216,7 @@ void setConstantDwell(floatms_t dwellMs DECLARE_CONFIG_PARAMETER_SUFFIX) {
|
||||||
for (int i = 0; i < DWELL_CURVE_SIZE; i++) {
|
for (int i = 0; i < DWELL_CURVE_SIZE; i++) {
|
||||||
engineConfiguration->sparkDwellRpmBins[i] = 1000 * i;
|
engineConfiguration->sparkDwellRpmBins[i] = 1000 * i;
|
||||||
}
|
}
|
||||||
setLinearCurve(engineConfiguration->sparkDwellValues, dwellMs, dwellMs, 0.01);
|
setArrayValues(engineConfiguration->sparkDwellValues, dwellMs);
|
||||||
}
|
}
|
||||||
|
|
||||||
void setWholeIgnitionIatCorr(float value DECLARE_CONFIG_PARAMETER_SUFFIX) {
|
void setWholeIgnitionIatCorr(float value DECLARE_CONFIG_PARAMETER_SUFFIX) {
|
||||||
|
@ -328,70 +328,6 @@ static void setDefaultWarmupIdleCorrection(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
setCurveValue(CLT_MANUAL_IDLE_CORRECTION, 70, 33.0 / baseIdle);
|
setCurveValue(CLT_MANUAL_IDLE_CORRECTION, 70, 33.0 / baseIdle);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void setDefaultCrankingSettings(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|
||||||
CONFIG(useTLE8888_cranking_hack) = true;
|
|
||||||
|
|
||||||
setLinearCurve(engineConfiguration->crankingTpsCoef, /*from*/1, /*to*/1, 1);
|
|
||||||
setLinearCurve(engineConfiguration->crankingTpsBins, 0, 100, 1);
|
|
||||||
|
|
||||||
setLinearCurve(config->cltCrankingCorrBins, CLT_CURVE_RANGE_FROM, 100, 1);
|
|
||||||
setLinearCurve(config->cltCrankingCorr, 1.0, 1.0, 1);
|
|
||||||
|
|
||||||
// Cranking temperature compensation
|
|
||||||
static const float crankingCoef[] = {
|
|
||||||
2.8,
|
|
||||||
2.2,
|
|
||||||
1.8,
|
|
||||||
1.55,
|
|
||||||
1.3,
|
|
||||||
1.1,
|
|
||||||
1.0,
|
|
||||||
1.0
|
|
||||||
};
|
|
||||||
copyArray(config->crankingFuelCoef, crankingCoef);
|
|
||||||
|
|
||||||
// Deg C
|
|
||||||
static const float crankingBins[] = {
|
|
||||||
-20,
|
|
||||||
-10,
|
|
||||||
5,
|
|
||||||
20,
|
|
||||||
35,
|
|
||||||
50,
|
|
||||||
65,
|
|
||||||
90
|
|
||||||
};
|
|
||||||
copyArray(config->crankingFuelBins, crankingBins);
|
|
||||||
|
|
||||||
// Cranking cycle compensation
|
|
||||||
|
|
||||||
// Whole table is 1.0, except first two values are steeper
|
|
||||||
setArrayValues(config->crankingCycleCoef, 1.0f);
|
|
||||||
config->crankingCycleCoef[0] = 2.0f;
|
|
||||||
config->crankingCycleCoef[1] = 1.3f;
|
|
||||||
|
|
||||||
// X values are simply counting up cycle number starting at 1
|
|
||||||
for (size_t i = 0; i < efi::size(config->crankingCycleBins); i++) {
|
|
||||||
config->crankingCycleBins[i] = i + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Cranking ignition timing
|
|
||||||
static const float advanceValues[] = { 0, 0, 0, 0 };
|
|
||||||
copyArray(engineConfiguration->crankingAdvance, advanceValues);
|
|
||||||
|
|
||||||
static const float advanceBins[] = { 0, 200, 400, 1000 };
|
|
||||||
copyArray(engineConfiguration->crankingAdvanceBins, advanceBins);
|
|
||||||
|
|
||||||
#if !EFI_UNIT_TEST
|
|
||||||
// don't set this for unit tests, as it makes things more complicated to test
|
|
||||||
engineConfiguration->postCrankingFactor = 1.2;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
engineConfiguration->postCrankingDurationSec = 10;
|
|
||||||
|
|
||||||
CONFIG(crankingTimingAngle) = 6;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* see also setTargetRpmCurve()
|
* see also setTargetRpmCurve()
|
||||||
*/
|
*/
|
||||||
|
@ -436,17 +372,6 @@ void setTargetRpmCurve(int rpm DECLARE_CONFIG_PARAMETER_SUFFIX) {
|
||||||
setLinearCurve(engineConfiguration->cltIdleRpm, rpm, rpm, 10);
|
setLinearCurve(engineConfiguration->cltIdleRpm, rpm, rpm, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void setDefaultMultisparkParameters(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
|
||||||
// 1ms spark + 2ms dwell
|
|
||||||
engineConfiguration->multisparkSparkDuration = 1000;
|
|
||||||
engineConfiguration->multisparkDwell = 2000;
|
|
||||||
|
|
||||||
// Conservative defaults - probably won't blow up coils
|
|
||||||
engineConfiguration->multisparkMaxRpm = 1500;
|
|
||||||
engineConfiguration->multisparkMaxExtraSparkCount = 2;
|
|
||||||
engineConfiguration->multisparkMaxSparkingAngle = 30;
|
|
||||||
}
|
|
||||||
|
|
||||||
void setDefaultGppwmParameters(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
void setDefaultGppwmParameters(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||||
// Same config for all channels
|
// Same config for all channels
|
||||||
for (size_t i = 0; i < efi::size(CONFIG(gppwm)); i++) {
|
for (size_t i = 0; i < efi::size(CONFIG(gppwm)); i++) {
|
||||||
|
@ -548,6 +473,8 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||||
|
|
||||||
setDefaultBaseEngine(PASS_CONFIG_PARAMETER_SIGNATURE);
|
setDefaultBaseEngine(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||||
setDefaultFuel(PASS_CONFIG_PARAMETER_SIGNATURE);
|
setDefaultFuel(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||||
|
setDefaultIgnition(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||||
|
setDefaultCranking(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||||
|
|
||||||
#if EFI_IDLE_CONTROL
|
#if EFI_IDLE_CONTROL
|
||||||
setDefaultIdleParameters(PASS_CONFIG_PARAMETER_SIGNATURE);
|
setDefaultIdleParameters(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||||
|
@ -561,8 +488,6 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||||
setDefaultBoostParameters(PASS_CONFIG_PARAMETER_SIGNATURE);
|
setDefaultBoostParameters(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
engineConfiguration->afterCrankingIACtaperDuration = 35;
|
|
||||||
|
|
||||||
// OBD-II default rate is 500kbps
|
// OBD-II default rate is 500kbps
|
||||||
CONFIG(canBaudRate) = B500KBPS;
|
CONFIG(canBaudRate) = B500KBPS;
|
||||||
|
|
||||||
|
@ -601,9 +526,6 @@ 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->cltTimingBins, CLT_CURVE_RANGE_FROM, 120, 1);
|
|
||||||
setLinearCurve(engineConfiguration->cltTimingExtra, 0, 0, 1);
|
|
||||||
|
|
||||||
setLinearCurve(engineConfiguration->fsioCurve1Bins, 0, 100, 1);
|
setLinearCurve(engineConfiguration->fsioCurve1Bins, 0, 100, 1);
|
||||||
setLinearCurve(engineConfiguration->fsioCurve1, 0, 100, 1);
|
setLinearCurve(engineConfiguration->fsioCurve1, 0, 100, 1);
|
||||||
|
|
||||||
|
@ -616,28 +538,11 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||||
#if EFI_ENGINE_CONTROL
|
#if EFI_ENGINE_CONTROL
|
||||||
setDefaultWarmupIdleCorrection(PASS_CONFIG_PARAMETER_SIGNATURE);
|
setDefaultWarmupIdleCorrection(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||||
|
|
||||||
/**
|
|
||||||
* 4ms is global default dwell for the whole RPM range
|
|
||||||
* if you only have one coil and many cylinders or high RPM you would need lower value at higher RPM
|
|
||||||
*/
|
|
||||||
setConstantDwell(4 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
/**
|
|
||||||
* Use angle-based duration during cranking
|
|
||||||
* this is equivalent to 'disable cranking_constant_dwell' console command
|
|
||||||
*/
|
|
||||||
engineConfiguration->useConstantDwellDuringCranking = true;
|
|
||||||
engineConfiguration->ignitionDwellForCrankingMs = 6;
|
|
||||||
|
|
||||||
setTimingLoadBin(1.2, 4.4 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
setTimingRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
|
|
||||||
setLinearCurve(engineConfiguration->map.samplingAngleBins, 800, 7000, 1);
|
setLinearCurve(engineConfiguration->map.samplingAngleBins, 800, 7000, 1);
|
||||||
setLinearCurve(engineConfiguration->map.samplingAngle, 100, 130, 1);
|
setLinearCurve(engineConfiguration->map.samplingAngle, 100, 130, 1);
|
||||||
setLinearCurve(engineConfiguration->map.samplingWindowBins, 800, 7000, 1);
|
setLinearCurve(engineConfiguration->map.samplingWindowBins, 800, 7000, 1);
|
||||||
setLinearCurve(engineConfiguration->map.samplingWindow, 50, 50, 1);
|
setLinearCurve(engineConfiguration->map.samplingWindow, 50, 50, 1);
|
||||||
|
|
||||||
setDefaultIatTimingCorrection(PASS_ENGINE_PARAMETER_SIGNATURE);
|
|
||||||
|
|
||||||
setLinearCurve(config->vvtTable1LoadBins, 20, 120, 10);
|
setLinearCurve(config->vvtTable1LoadBins, 20, 120, 10);
|
||||||
setRpmTableBin(config->vvtTable1RpmBins, FSIO_TABLE_8);
|
setRpmTableBin(config->vvtTable1RpmBins, FSIO_TABLE_8);
|
||||||
setLinearCurve(config->vvtTable2LoadBins, 20, 120, 10);
|
setLinearCurve(config->vvtTable2LoadBins, 20, 120, 10);
|
||||||
|
@ -668,12 +573,9 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||||
engineConfiguration->slowAdcAlpha = 0.33333;
|
engineConfiguration->slowAdcAlpha = 0.33333;
|
||||||
engineConfiguration->engineSnifferRpmThreshold = 2500;
|
engineConfiguration->engineSnifferRpmThreshold = 2500;
|
||||||
engineConfiguration->sensorSnifferRpmThreshold = 2500;
|
engineConfiguration->sensorSnifferRpmThreshold = 2500;
|
||||||
engineConfiguration->cranking.rpm = 550;
|
|
||||||
|
|
||||||
engineConfiguration->noAccelAfterHardLimitPeriodSecs = 3;
|
engineConfiguration->noAccelAfterHardLimitPeriodSecs = 3;
|
||||||
|
|
||||||
setDefaultCrankingSettings(PASS_ENGINE_PARAMETER_SIGNATURE);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Idle control defaults
|
* Idle control defaults
|
||||||
*/
|
*/
|
||||||
|
@ -690,7 +592,6 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||||
engineConfiguration->idle.solenoidFrequency = 200;
|
engineConfiguration->idle.solenoidFrequency = 200;
|
||||||
// set idle_position 50
|
// set idle_position 50
|
||||||
engineConfiguration->manIdlePosition = 50;
|
engineConfiguration->manIdlePosition = 50;
|
||||||
engineConfiguration->crankingIACposition = 50;
|
|
||||||
// engineConfiguration->idleMode = IM_AUTO;
|
// engineConfiguration->idleMode = IM_AUTO;
|
||||||
engineConfiguration->idleMode = IM_MANUAL;
|
engineConfiguration->idleMode = IM_MANUAL;
|
||||||
|
|
||||||
|
@ -698,18 +599,6 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||||
|
|
||||||
setDefaultStepperIdleParameters(PASS_ENGINE_PARAMETER_SIGNATURE);
|
setDefaultStepperIdleParameters(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||||
|
|
||||||
/**
|
|
||||||
* Cranking defaults
|
|
||||||
*/
|
|
||||||
engineConfiguration->cranking.baseFuel = 27;
|
|
||||||
engineConfiguration->crankingChargeAngle = 70;
|
|
||||||
|
|
||||||
|
|
||||||
engineConfiguration->timingMode = TM_DYNAMIC;
|
|
||||||
engineConfiguration->fixedModeTiming = 50;
|
|
||||||
|
|
||||||
setDefaultMultisparkParameters(PASS_ENGINE_PARAMETER_SIGNATURE);
|
|
||||||
|
|
||||||
setDefaultGppwmParameters(PASS_ENGINE_PARAMETER_SIGNATURE);
|
setDefaultGppwmParameters(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||||
|
|
||||||
#if !EFI_UNIT_TEST
|
#if !EFI_UNIT_TEST
|
||||||
|
@ -722,8 +611,6 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||||
|
|
||||||
engineConfiguration->extraInjectionOffset = 0;
|
engineConfiguration->extraInjectionOffset = 0;
|
||||||
|
|
||||||
engineConfiguration->fuelAlgorithm = LM_SPEED_DENSITY;
|
|
||||||
|
|
||||||
engineConfiguration->tpsMin = convertVoltageTo10bitADC(0);
|
engineConfiguration->tpsMin = convertVoltageTo10bitADC(0);
|
||||||
engineConfiguration->tpsMax = convertVoltageTo10bitADC(5);
|
engineConfiguration->tpsMax = convertVoltageTo10bitADC(5);
|
||||||
engineConfiguration->tps1SecondaryMin = convertVoltageTo10bitADC(0);
|
engineConfiguration->tps1SecondaryMin = convertVoltageTo10bitADC(0);
|
||||||
|
@ -777,8 +664,6 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||||
|
|
||||||
engineConfiguration->primingSquirtDurationMs = 5;
|
engineConfiguration->primingSquirtDurationMs = 5;
|
||||||
|
|
||||||
engineConfiguration->isIgnitionEnabled = true;
|
|
||||||
|
|
||||||
engineConfiguration->isMapAveragingEnabled = true;
|
engineConfiguration->isMapAveragingEnabled = true;
|
||||||
engineConfiguration->isWaveAnalyzerEnabled = true;
|
engineConfiguration->isWaveAnalyzerEnabled = true;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue