mirror of https://github.com/FOME-Tech/fome-fw.git
commit
68e747157d
|
@ -21,9 +21,6 @@
|
||||||
EXTERN_CONFIG;
|
EXTERN_CONFIG;
|
||||||
|
|
||||||
static void setDefault139qmbMaps(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
static void setDefault139qmbMaps(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
|
|
||||||
setFuelLoadBin(1.2, 4.4 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
setFuelRpmBin(1000, 11000 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
setTimingLoadBin(1.2, 4.4 PASS_CONFIG_PARAMETER_SUFFIX);
|
setTimingLoadBin(1.2, 4.4 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
setTimingRpmBin(1000, 11000 PASS_CONFIG_PARAMETER_SUFFIX);
|
setTimingRpmBin(1000, 11000 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,8 +75,6 @@ void setCitroenBerlingoTU3JPConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
* Algorithm Alpha-N setting
|
* Algorithm Alpha-N setting
|
||||||
*/
|
*/
|
||||||
setAlgorithm(LM_ALPHA_N_2 PASS_CONFIG_PARAMETER_SUFFIX);
|
setAlgorithm(LM_ALPHA_N_2 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
setFuelLoadBin(0, 100 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
setFuelRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
setTimingRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
setTimingRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -134,8 +134,6 @@ void setDodgeNeon1995EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
* that's 1995 config
|
* that's 1995 config
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// set_whole_fuel_map 9
|
|
||||||
setWholeFuelMap(9 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
setWholeTimingTable_d(12 PASS_CONFIG_PARAMETER_SUFFIX);
|
setWholeTimingTable_d(12 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
|
|
||||||
// set cranking_injection_mode 0
|
// set cranking_injection_mode 0
|
||||||
|
@ -234,9 +232,7 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
* 88C
|
* 88C
|
||||||
* fuel 2.8
|
* fuel 2.8
|
||||||
*
|
*
|
||||||
* set_whole_fuel_map 12
|
|
||||||
*/
|
*/
|
||||||
//setWholeFuelMap(12 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
//setWholeTimingTable_d(12 PASS_CONFIG_PARAMETER_SUFFIX);
|
//setWholeTimingTable_d(12 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
|
#if IGN_LOAD_COUNT == DEFAULT_IGN_LOAD_COUNT
|
||||||
MEMCPY(config->ignitionTable, fromODB);
|
MEMCPY(config->ignitionTable, fromODB);
|
||||||
|
@ -259,7 +255,6 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
*/
|
*/
|
||||||
engineConfiguration->injector.flow = 199;
|
engineConfiguration->injector.flow = 199;
|
||||||
|
|
||||||
setFuelLoadBin(0, 100 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
setLinearCurve(config->ignitionLoadBins, 20, 120, 1);
|
setLinearCurve(config->ignitionLoadBins, 20, 120, 1);
|
||||||
|
|
||||||
setAlgorithm(LM_SPEED_DENSITY PASS_CONFIG_PARAMETER_SUFFIX);
|
setAlgorithm(LM_SPEED_DENSITY PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
|
|
|
@ -27,9 +27,6 @@ void setDodgeRam1996(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
// set cranking_charge_angle 30
|
// set cranking_charge_angle 30
|
||||||
engineConfiguration->crankingChargeAngle = 30;
|
engineConfiguration->crankingChargeAngle = 30;
|
||||||
|
|
||||||
// set_whole_fuel_map 6
|
|
||||||
setWholeFuelMap(6 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
|
|
||||||
//Base engine setting
|
//Base engine setting
|
||||||
engineConfiguration->specs.cylindersCount = 8;
|
engineConfiguration->specs.cylindersCount = 8;
|
||||||
engineConfiguration->specs.firingOrder = FO_1_8_4_3_6_5_7_2;
|
engineConfiguration->specs.firingOrder = FO_1_8_4_3_6_5_7_2;
|
||||||
|
|
|
@ -43,9 +43,6 @@ static const ignition_table_t default_aspire_timing_table = {
|
||||||
EXTERN_CONFIG;
|
EXTERN_CONFIG;
|
||||||
|
|
||||||
static void setDefaultAspireMaps(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
static void setDefaultAspireMaps(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
|
|
||||||
setFuelLoadBin(1.2, 4.4 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
setFuelRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
setTimingLoadBin(1.2, 4.4 PASS_CONFIG_PARAMETER_SUFFIX);
|
setTimingLoadBin(1.2, 4.4 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
setTimingRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
setTimingRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
|
|
||||||
|
|
|
@ -82,9 +82,6 @@ void setFordEscortGt(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
engineConfiguration->specs.displacement = 1.839;
|
engineConfiguration->specs.displacement = 1.839;
|
||||||
setAlgorithm(LM_SPEED_DENSITY PASS_CONFIG_PARAMETER_SUFFIX);
|
setAlgorithm(LM_SPEED_DENSITY PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
|
|
||||||
setFuelLoadBin(1.2, 4.4 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
setFuelRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
|
|
||||||
static const float veRpmBins[] =
|
static const float veRpmBins[] =
|
||||||
{
|
{
|
||||||
800,
|
800,
|
||||||
|
@ -155,8 +152,6 @@ void setFordEscortGt(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
|
|
||||||
setLinearCurve(config->ignitionLoadBins, 20, 105, 5);
|
setLinearCurve(config->ignitionLoadBins, 20, 105, 5);
|
||||||
setWholeTimingTable_d(10 PASS_CONFIG_PARAMETER_SUFFIX);
|
setWholeTimingTable_d(10 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
// set_whole_fuel_map 5
|
|
||||||
setWholeFuelMap(5 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
setAfrMap(config->afrTable, 13.5);
|
setAfrMap(config->afrTable, 13.5);
|
||||||
|
|
||||||
setSingleCoilDwell(PASS_CONFIG_PARAMETER_SIGNATURE);
|
setSingleCoilDwell(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||||
|
|
|
@ -37,9 +37,6 @@ static const ignition_table_t default_custom_timing_table = {
|
||||||
EXTERN_CONFIG;
|
EXTERN_CONFIG;
|
||||||
|
|
||||||
static void setDefaultCustomMaps(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
static void setDefaultCustomMaps(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
|
|
||||||
setFuelLoadBin(0,100 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
setFuelRpmBin(0, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
setTimingLoadBin(0,100 PASS_CONFIG_PARAMETER_SUFFIX);
|
setTimingLoadBin(0,100 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
setTimingRpmBin(0,7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
setTimingRpmBin(0,7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,6 @@ static void setHondaAccordConfigurationCommon(DECLARE_CONFIG_PARAMETER_SIGNATURE
|
||||||
engineConfiguration->injector.flow = 248;
|
engineConfiguration->injector.flow = 248;
|
||||||
|
|
||||||
setAlgorithm(LM_SPEED_DENSITY PASS_CONFIG_PARAMETER_SUFFIX);
|
setAlgorithm(LM_SPEED_DENSITY PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
setFuelLoadBin(0, 100 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
|
|
||||||
buildTimingMap(35 PASS_CONFIG_PARAMETER_SUFFIX);
|
buildTimingMap(35 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
|
|
||||||
|
|
|
@ -62,10 +62,6 @@ void setMazda626EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
engineConfiguration->tpsMax = 764;
|
engineConfiguration->tpsMax = 764;
|
||||||
|
|
||||||
setAlgorithm(LM_SPEED_DENSITY PASS_CONFIG_PARAMETER_SUFFIX);
|
setAlgorithm(LM_SPEED_DENSITY PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
setFuelLoadBin(0, 100 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
|
|
||||||
// set_whole_fuel_map 9
|
|
||||||
setWholeFuelMap(9 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
|
|
||||||
// set_whole_timing_map 10
|
// set_whole_timing_map 10
|
||||||
setWholeTimingTable_d(10 PASS_CONFIG_PARAMETER_SUFFIX);
|
setWholeTimingTable_d(10 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
|
|
|
@ -92,8 +92,6 @@ static void commonMiataNa(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
engineConfiguration->triggerInputPins[1] = GPIOA_5; // 2E White CKP
|
engineConfiguration->triggerInputPins[1] = GPIOA_5; // 2E White CKP
|
||||||
|
|
||||||
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
|
engineConfiguration->ignitionMode = IM_WASTED_SPARK;
|
||||||
setFuelLoadBin(1.2, 4.4 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
setFuelRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
|
|
||||||
engineConfiguration->idle.solenoidFrequency = 160;
|
engineConfiguration->idle.solenoidFrequency = 160;
|
||||||
|
|
||||||
|
|
|
@ -136,8 +136,6 @@ static void setMiataNA6_settings(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
|
|
||||||
setVeTable(PASS_CONFIG_PARAMETER_SIGNATURE);
|
setVeTable(PASS_CONFIG_PARAMETER_SIGNATURE);
|
||||||
|
|
||||||
setWholeFuelMap(6 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
|
|
||||||
engineConfiguration->idleMode = IM_AUTO;
|
engineConfiguration->idleMode = IM_AUTO;
|
||||||
// below 20% this valve seems to be opening for fail-safe idle air
|
// below 20% this valve seems to be opening for fail-safe idle air
|
||||||
engineConfiguration->idleRpmPid.minValue = 20;
|
engineConfiguration->idleRpmPid.minValue = 20;
|
||||||
|
|
|
@ -73,10 +73,6 @@ void setMazdaMiataNb1EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
|
|
||||||
engineConfiguration->clutchDownPin = GPIO_UNASSIGNED;
|
engineConfiguration->clutchDownPin = GPIO_UNASSIGNED;
|
||||||
|
|
||||||
// set_whole_fuel_map 3
|
|
||||||
setWholeFuelMap(3 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
|
|
||||||
|
|
||||||
// 10 deg before TDC is default timing
|
// 10 deg before TDC is default timing
|
||||||
|
|
||||||
// VICS solenoid
|
// VICS solenoid
|
||||||
|
|
|
@ -40,9 +40,6 @@ void setMitsubishiConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
// set cranking_timing_angle 715
|
// set cranking_timing_angle 715
|
||||||
engineConfiguration->crankingTimingAngle = -715;
|
engineConfiguration->crankingTimingAngle = -715;
|
||||||
|
|
||||||
// set_whole_fuel_map 3
|
|
||||||
setWholeFuelMap(3 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
|
|
||||||
// /**
|
// /**
|
||||||
// * 29150 Ohm @ 40C
|
// * 29150 Ohm @ 40C
|
||||||
// * 10160 Ohm @ 70C
|
// * 10160 Ohm @ 70C
|
||||||
|
|
|
@ -48,9 +48,6 @@ void setRoverv8(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
// set_cranking_rpm 350
|
// set_cranking_rpm 350
|
||||||
engineConfiguration->cranking.rpm = 350;
|
engineConfiguration->cranking.rpm = 350;
|
||||||
|
|
||||||
// set_whole_fuel_map 3
|
|
||||||
setWholeFuelMap(3 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
|
|
||||||
// set cranking_injection_mode 0
|
// set cranking_injection_mode 0
|
||||||
engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS;
|
engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS;
|
||||||
// set injection_mode 1
|
// set injection_mode 1
|
||||||
|
|
|
@ -83,7 +83,6 @@ void setSachs(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
engineConfiguration->fuelPumpPin = GPIOE_6;
|
engineConfiguration->fuelPumpPin = GPIOE_6;
|
||||||
|
|
||||||
// todo: extract a method? figure out something smarter
|
// todo: extract a method? figure out something smarter
|
||||||
setFuelRpmBin(800, 15000 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
setTimingRpmBin(800, 15000 PASS_CONFIG_PARAMETER_SUFFIX);
|
setTimingRpmBin(800, 15000 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
setLinearCurve(config->veRpmBins, 15000, 7000, 1);
|
setLinearCurve(config->veRpmBins, 15000, 7000, 1);
|
||||||
setLinearCurve(config->afrRpmBins, 15000, 7000, 1);
|
setLinearCurve(config->afrRpmBins, 15000, 7000, 1);
|
||||||
|
|
|
@ -25,9 +25,6 @@ void setVwAba(DECLARE_CONFIG_PARAMETER_SIGNATURE) {
|
||||||
|
|
||||||
engineConfiguration->isCylinderCleanupEnabled = true;
|
engineConfiguration->isCylinderCleanupEnabled = true;
|
||||||
|
|
||||||
// set_whole_fuel_map 12
|
|
||||||
setWholeFuelMap(12 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
|
|
||||||
// set global_trigger_offset_angle 93
|
// set global_trigger_offset_angle 93
|
||||||
engineConfiguration->globalTriggerAngleOffset = 93;
|
engineConfiguration->globalTriggerAngleOffset = 93;
|
||||||
|
|
||||||
|
|
|
@ -145,21 +145,6 @@ void printTsStats(void) {
|
||||||
#endif /* EFI_PROD_CODE */
|
#endif /* EFI_PROD_CODE */
|
||||||
|
|
||||||
printErrorCounters();
|
printErrorCounters();
|
||||||
|
|
||||||
// scheduleMsg(logger, "analogChartFrequency %d",
|
|
||||||
// (int) (&engineConfiguration->analogChartFrequency) - (int) engineConfiguration);
|
|
||||||
//
|
|
||||||
// int fuelMapOffset = (int) (&engineConfiguration->fuelTable) - (int) engineConfiguration;
|
|
||||||
// scheduleMsg(logger, "fuelTable %d", fuelMapOffset);
|
|
||||||
//
|
|
||||||
// int offset = (int) (&CONFIG(hip9011Gain)) - (int) engineConfiguration;
|
|
||||||
// scheduleMsg(&tsLogger, "hip9011Gain %d", offset);
|
|
||||||
//
|
|
||||||
// offset = (int) (&engineConfiguration->crankingCycleBins) - (int) engineConfiguration;
|
|
||||||
// scheduleMsg(&tsLogger, "crankingCycleBins %d", offset);
|
|
||||||
//
|
|
||||||
// offset = (int) (&engineConfiguration->engineCycle) - (int) engineConfiguration;
|
|
||||||
// scheduleMsg(&tsLogger, "engineCycle %d", offset);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void setTsSpeed(int value) {
|
static void setTsSpeed(int value) {
|
||||||
|
|
|
@ -267,16 +267,6 @@ void setMap(fuel_table_t table, float value) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
static void setWholeVEMap(float value DECLARE_CONFIG_PARAMETER_SUFFIX) {
|
|
||||||
setMap(config->veTable, value);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void setWholeFuelMap(float value DECLARE_CONFIG_PARAMETER_SUFFIX) {
|
|
||||||
setMap(config->fuelTable, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
void setWholeIgnitionIatCorr(float value DECLARE_CONFIG_PARAMETER_SUFFIX) {
|
void setWholeIgnitionIatCorr(float value DECLARE_CONFIG_PARAMETER_SUFFIX) {
|
||||||
#if (IGN_LOAD_COUNT == FUEL_LOAD_COUNT) && (IGN_RPM_COUNT == FUEL_RPM_COUNT)
|
#if (IGN_LOAD_COUNT == FUEL_LOAD_COUNT) && (IGN_RPM_COUNT == FUEL_RPM_COUNT)
|
||||||
// todo: make setMap a template
|
// todo: make setMap a template
|
||||||
|
@ -836,8 +826,6 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||||
engineConfiguration->useConstantDwellDuringCranking = true;
|
engineConfiguration->useConstantDwellDuringCranking = true;
|
||||||
engineConfiguration->ignitionDwellForCrankingMs = 6;
|
engineConfiguration->ignitionDwellForCrankingMs = 6;
|
||||||
|
|
||||||
setFuelLoadBin(1.2, 4.4 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
setFuelRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
setTimingLoadBin(1.2, 4.4 PASS_CONFIG_PARAMETER_SUFFIX);
|
setTimingLoadBin(1.2, 4.4 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
setTimingRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
setTimingRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX);
|
||||||
|
|
||||||
|
@ -846,8 +834,6 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||||
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);
|
||||||
|
|
||||||
// set_whole_timing_map 3
|
|
||||||
setWholeFuelMap(3 PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
setAfrMap(config->afrTable, 14.7);
|
setAfrMap(config->afrTable, 14.7);
|
||||||
|
|
||||||
setDefaultVETable(PASS_ENGINE_PARAMETER_SIGNATURE);
|
setDefaultVETable(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||||
|
|
|
@ -32,7 +32,6 @@ void setAfrMap(afr_table_t table, float value);
|
||||||
* See also setLinearCurve()
|
* See also setLinearCurve()
|
||||||
*/
|
*/
|
||||||
void setMap(fuel_table_t table, float value);
|
void setMap(fuel_table_t table, float value);
|
||||||
void setWholeFuelMap(float value DECLARE_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
void setWholeIgnitionIatCorr(float value DECLARE_CONFIG_PARAMETER_SUFFIX);
|
void setWholeIgnitionIatCorr(float value DECLARE_CONFIG_PARAMETER_SUFFIX);
|
||||||
void setFuelTablesLoadBin(float minValue, float maxValue DECLARE_CONFIG_PARAMETER_SUFFIX);
|
void setFuelTablesLoadBin(float minValue, float maxValue DECLARE_CONFIG_PARAMETER_SUFFIX);
|
||||||
void setWholeIatCorrTimingTable(float value DECLARE_CONFIG_PARAMETER_SUFFIX);
|
void setWholeIatCorrTimingTable(float value DECLARE_CONFIG_PARAMETER_SUFFIX);
|
||||||
|
|
|
@ -39,7 +39,6 @@
|
||||||
|
|
||||||
EXTERN_ENGINE;
|
EXTERN_ENGINE;
|
||||||
|
|
||||||
fuel_Map3D_t fuelMap("fuel");
|
|
||||||
fuel_Map3D_t fuelPhaseMap("fl ph");
|
fuel_Map3D_t fuelPhaseMap("fl ph");
|
||||||
extern fuel_Map3D_t veMap;
|
extern fuel_Map3D_t veMap;
|
||||||
extern afr_Map3D_t afrMap;
|
extern afr_Map3D_t afrMap;
|
||||||
|
@ -347,7 +346,6 @@ void initFuelMap(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||||
INJECT_ENGINE_REFERENCE(&sdAirmass);
|
INJECT_ENGINE_REFERENCE(&sdAirmass);
|
||||||
INJECT_ENGINE_REFERENCE(&mafAirmass);
|
INJECT_ENGINE_REFERENCE(&mafAirmass);
|
||||||
|
|
||||||
fuelMap.init(config->fuelTable, config->fuelLoadBins, config->fuelRpmBins);
|
|
||||||
#if (IGN_LOAD_COUNT == FUEL_LOAD_COUNT) && (IGN_RPM_COUNT == FUEL_RPM_COUNT)
|
#if (IGN_LOAD_COUNT == FUEL_LOAD_COUNT) && (IGN_RPM_COUNT == FUEL_RPM_COUNT)
|
||||||
fuelPhaseMap.init(config->injectionPhase, config->injPhaseLoadBins, config->injPhaseRpmBins);
|
fuelPhaseMap.init(config->injectionPhase, config->injPhaseLoadBins, config->injPhaseRpmBins);
|
||||||
#endif /* (IGN_LOAD_COUNT == FUEL_LOAD_COUNT) && (IGN_RPM_COUNT == FUEL_RPM_COUNT) */
|
#endif /* (IGN_LOAD_COUNT == FUEL_LOAD_COUNT) && (IGN_RPM_COUNT == FUEL_RPM_COUNT) */
|
||||||
|
|
|
@ -417,14 +417,6 @@ void prepareOutputSignals(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
|
||||||
TRIGGER_WAVEFORM(prepareShape());
|
TRIGGER_WAVEFORM(prepareShape());
|
||||||
}
|
}
|
||||||
|
|
||||||
void setFuelRpmBin(float from, float to DECLARE_CONFIG_PARAMETER_SUFFIX) {
|
|
||||||
setLinearCurve(config->fuelRpmBins, from, to);
|
|
||||||
}
|
|
||||||
|
|
||||||
void setFuelLoadBin(float from, float to DECLARE_CONFIG_PARAMETER_SUFFIX) {
|
|
||||||
setLinearCurve(config->fuelLoadBins, from, to);
|
|
||||||
}
|
|
||||||
|
|
||||||
void setTimingRpmBin(float from, float to DECLARE_CONFIG_PARAMETER_SUFFIX) {
|
void setTimingRpmBin(float from, float to DECLARE_CONFIG_PARAMETER_SUFFIX) {
|
||||||
setRpmBin(config->ignitionRpmBins, IGN_RPM_COUNT, from, to);
|
setRpmBin(config->ignitionRpmBins, IGN_RPM_COUNT, from, to);
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,8 +59,6 @@ void prepareIgnitionPinIndices(ignition_mode_e ignitionMode DECLARE_ENGINE_PARAM
|
||||||
|
|
||||||
int getCylinderId(int index DECLARE_ENGINE_PARAMETER_SUFFIX);
|
int getCylinderId(int index DECLARE_ENGINE_PARAMETER_SUFFIX);
|
||||||
|
|
||||||
void setFuelRpmBin(float from, float to DECLARE_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
void setFuelLoadBin(float from, float to DECLARE_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
void setTimingRpmBin(float from, float to DECLARE_CONFIG_PARAMETER_SUFFIX);
|
void setTimingRpmBin(float from, float to DECLARE_CONFIG_PARAMETER_SUFFIX);
|
||||||
void setTimingLoadBin(float from, float to DECLARE_CONFIG_PARAMETER_SUFFIX);
|
void setTimingLoadBin(float from, float to DECLARE_CONFIG_PARAMETER_SUFFIX);
|
||||||
|
|
||||||
|
|
|
@ -184,14 +184,6 @@ void printConfiguration(const engine_configuration_s *engineConfiguration) {
|
||||||
|
|
||||||
scheduleMsg(&logger, "configurationVersion=%d", engine->getGlobalConfigurationVersion());
|
scheduleMsg(&logger, "configurationVersion=%d", engine->getGlobalConfigurationVersion());
|
||||||
|
|
||||||
for (int k = 0; k < FUEL_LOAD_COUNT; k++) {
|
|
||||||
// print("line %d (%.2f): ", k, engineConfiguration->fuelKeyBins[k]);
|
|
||||||
// for (int r = 0; r < FUEL_RPM_COUNT; r++) {
|
|
||||||
// print("%.2f ", engineConfiguration->fuelTable[k][r]);
|
|
||||||
// }
|
|
||||||
// print("\r\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
scheduleMsg(&logger, "rpmHardLimit: %d/operationMode=%d", engineConfiguration->rpmHardLimit,
|
scheduleMsg(&logger, "rpmHardLimit: %d/operationMode=%d", engineConfiguration->rpmHardLimit,
|
||||||
engine->getOperationMode(PASS_ENGINE_PARAMETER_SIGNATURE));
|
engine->getOperationMode(PASS_ENGINE_PARAMETER_SIGNATURE));
|
||||||
|
|
||||||
|
@ -549,15 +541,6 @@ static void setWholeVeCmd(float value) {
|
||||||
engine->resetEngineSnifferIfInTestMode();
|
engine->resetEngineSnifferIfInTestMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void setWholeFuelMapCmd(float value) {
|
|
||||||
scheduleMsg(&logger, "Setting whole fuel map to %.2f", value);
|
|
||||||
if (engineConfiguration->fuelAlgorithm == LM_SPEED_DENSITY) {
|
|
||||||
scheduleMsg(&logger, "WARNING: setting fuel map in SD mode is pointless");
|
|
||||||
}
|
|
||||||
setWholeFuelMap(value PASS_CONFIG_PARAMETER_SUFFIX);
|
|
||||||
engine->resetEngineSnifferIfInTestMode();
|
|
||||||
}
|
|
||||||
|
|
||||||
#if EFI_PROD_CODE
|
#if EFI_PROD_CODE
|
||||||
|
|
||||||
static void setEgtSpi(int spi) {
|
static void setEgtSpi(int spi) {
|
||||||
|
@ -808,21 +791,6 @@ static void setTimingMap(const char * rpmStr, const char *loadStr, const char *v
|
||||||
scheduleMsg(&logger, "Setting timing map entry %d:%d to %.2f", rpmIndex, loadIndex, value);
|
scheduleMsg(&logger, "Setting timing map entry %d:%d to %.2f", rpmIndex, loadIndex, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void setFuelMap(const char * rpmStr, const char *loadStr, const char *valueStr) {
|
|
||||||
float rpm = atoff(rpmStr);
|
|
||||||
float engineLoad = atoff(loadStr);
|
|
||||||
float value = atoff(valueStr);
|
|
||||||
|
|
||||||
int rpmIndex = findIndexMsg("setFM", config->fuelRpmBins, FUEL_RPM_COUNT, rpm);
|
|
||||||
rpmIndex = rpmIndex < 0 ? 0 : rpmIndex;
|
|
||||||
int loadIndex = findIndexMsg("setTM", config->fuelLoadBins, FUEL_LOAD_COUNT, engineLoad);
|
|
||||||
loadIndex = loadIndex < 0 ? 0 : loadIndex;
|
|
||||||
|
|
||||||
config->fuelTable[loadIndex][rpmIndex] = value;
|
|
||||||
scheduleMsg(&logger, "Setting fuel map entry %d:%d to %.2f", rpmIndex, loadIndex, value);
|
|
||||||
engine->resetEngineSnifferIfInTestMode();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void setSpiMode(int index, bool mode) {
|
static void setSpiMode(int index, bool mode) {
|
||||||
switch (index) {
|
switch (index) {
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -1352,10 +1320,8 @@ void initSettings(void) {
|
||||||
|
|
||||||
addConsoleActionF("set_whole_phase_map", setWholePhaseMapCmd);
|
addConsoleActionF("set_whole_phase_map", setWholePhaseMapCmd);
|
||||||
addConsoleActionF("set_whole_timing_map", setWholeTimingMapCmd);
|
addConsoleActionF("set_whole_timing_map", setWholeTimingMapCmd);
|
||||||
addConsoleActionF("set_whole_fuel_map", setWholeFuelMapCmd);
|
|
||||||
addConsoleActionF("set_whole_ve_map", setWholeVeCmd);
|
addConsoleActionF("set_whole_ve_map", setWholeVeCmd);
|
||||||
addConsoleActionF("set_whole_ign_corr_map", setWholeIgnitionIatCorr);
|
addConsoleActionF("set_whole_ign_corr_map", setWholeIgnitionIatCorr);
|
||||||
addConsoleActionSSS("set_fuel_map", setFuelMap);
|
|
||||||
|
|
||||||
addConsoleActionSSS("set_timing_map", setTimingMap);
|
addConsoleActionSSS("set_timing_map", setTimingMap);
|
||||||
|
|
||||||
|
|
|
@ -1384,9 +1384,7 @@ angle_table_t injectionPhase;
|
||||||
float[FUEL_LOAD_COUNT] injPhaseLoadBins;;"Load", 1, 0.0, 0, 500.0, 2
|
float[FUEL_LOAD_COUNT] injPhaseLoadBins;;"Load", 1, 0.0, 0, 500.0, 2
|
||||||
float[FUEL_RPM_COUNT] injPhaseRpmBins;;"RPM", 1, 0.0, 0, 18000.0, 2
|
float[FUEL_RPM_COUNT] injPhaseRpmBins;;"RPM", 1, 0.0, 0, 18000.0, 2
|
||||||
|
|
||||||
fuel_table_t fuelTable;
|
uint8_t[1152] unused15136;;"units", 1, 0, -20, 100, 0
|
||||||
float[FUEL_LOAD_COUNT] fuelLoadBins;;"V", 1, 0, 0.0, 500.0, 2
|
|
||||||
float[FUEL_RPM_COUNT] fuelRpmBins;RPM is float and not integer in order to use unified methods for interpolation;"RPM", 1, 0, 0.0, 25500.0, 2
|
|
||||||
|
|
||||||
ignition_table_t ignitionTable;
|
ignition_table_t ignitionTable;
|
||||||
float[IGN_LOAD_COUNT] ignitionLoadBins;;"Load", 1, 0.0, 0, 500.0, 2
|
float[IGN_LOAD_COUNT] ignitionLoadBins;;"Load", 1, 0.0, 0, 500.0, 2
|
||||||
|
|
|
@ -64,23 +64,6 @@
|
||||||
</table>
|
</table>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<table type="3D" name="Fuel Table"
|
|
||||||
category="Fuel"
|
|
||||||
storageaddress="@@fuelTable_offset_hex@@" sizex="@@FUEL_RPM_COUNT@@"
|
|
||||||
sizey="@@FUEL_LOAD_COUNT@@" storagetype="float" endian="big">
|
|
||||||
<scaling units="Engine Load" expression="x" to_byte="x" format="0.00" fineincrement=".1"
|
|
||||||
coarseincrement="1"/>
|
|
||||||
<table type="X Axis" storageaddress="@@fuelRpmBins_offset_hex@@" storagetype="float" endian="big"
|
|
||||||
logparam="engine_load">
|
|
||||||
<scaling units="RPM" expression="x" to_byte="x" format="0.00" fineincrement=".1"
|
|
||||||
coarseincrement="1"/>
|
|
||||||
</table>
|
|
||||||
<table type="Y Axis" storageaddress="@@fuelLoadBins_offset_hex@@" storagetype="float" endian="big"
|
|
||||||
logparam="rpm">
|
|
||||||
<scaling units="engine_load" expression="x" to_byte="x" format="0.00" fineincrement=".1" coarseincrement="1"/>
|
|
||||||
</table>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<table type="3D" name="FSIO Table #1"
|
<table type="3D" name="FSIO Table #1"
|
||||||
category="FSIO"
|
category="FSIO"
|
||||||
storageaddress="@@fsioTable1_offset_hex@@" sizex="@@FSIO_TABLE_8@@"
|
storageaddress="@@fsioTable1_offset_hex@@" sizex="@@FSIO_TABLE_8@@"
|
||||||
|
|
|
@ -149,12 +149,6 @@ enable2ndByteCanID = false
|
||||||
filter = minTps, "Minimum TPS", TPSValue, < , 1, , true
|
filter = minTps, "Minimum TPS", TPSValue, < , 1, , true
|
||||||
|
|
||||||
|
|
||||||
;[VeAnalyze]
|
|
||||||
; fuelAnalyzeMap = fuelTableTbl, afrTableTbl, AFRValue, egoCorrection , { 1 }
|
|
||||||
; filter = minRPMFilter, "Minimum RPM", RPMValue, < , 500, , true
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[OutputChannels]
|
[OutputChannels]
|
||||||
|
|
||||||
ochGetCommand = "O%2o%2c"
|
ochGetCommand = "O%2o%2c"
|
||||||
|
@ -705,26 +699,6 @@ enable2ndByteCanID = false
|
||||||
[TableEditor]
|
[TableEditor]
|
||||||
; table_id, map3d_id, "title", page
|
; table_id, map3d_id, "title", page
|
||||||
|
|
||||||
table = fuelTableTPSTbl, fuelTableTPSMap, "Fuel Table", 1
|
|
||||||
topicHelp = "fuelHelp"
|
|
||||||
; constant, variable
|
|
||||||
xBins = fuelRpmBins, RPMValue
|
|
||||||
yBins = fuelLoadBins, TPSValue
|
|
||||||
zBins = fuelTable
|
|
||||||
; gridHeight = 2.0
|
|
||||||
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
|
|
||||||
upDownLabel = "(RICHER)", "(LEANER)"
|
|
||||||
|
|
||||||
table = fuelTableELTbl, fuelTableELMap, "Fuel Table", 1
|
|
||||||
topicHelp = "fuelHelp"
|
|
||||||
; constant, variable
|
|
||||||
xBins = fuelRpmBins, RPMValue
|
|
||||||
yBins = fuelLoadBins, engineLoad
|
|
||||||
zBins = fuelTable
|
|
||||||
; gridHeight = 2.0
|
|
||||||
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
|
|
||||||
upDownLabel = "(RICHER)", "(LEANER)"
|
|
||||||
|
|
||||||
; move table into a panel? or find a way to add a link to https://rusefi.com//wiki/index.php?title=Manual:Software:TPSTPS
|
; move table into a panel? or find a way to add a link to https://rusefi.com//wiki/index.php?title=Manual:Software:TPSTPS
|
||||||
table = tpsTpsAccelTbl, tpsTpsAccelMap, "TPS/TPS Acceleration Extra Fuel(ms)", 1
|
table = tpsTpsAccelTbl, tpsTpsAccelMap, "TPS/TPS Acceleration Extra Fuel(ms)", 1
|
||||||
topicHelp = "tpstpsHelp"
|
topicHelp = "tpstpsHelp"
|
||||||
|
@ -1230,7 +1204,6 @@ menuDialog = main
|
||||||
subMenu = std_separator
|
subMenu = std_separator
|
||||||
|
|
||||||
# Fuel table/VE
|
# Fuel table/VE
|
||||||
subMenu = fuelTableDialog, "Fuel table", 0, {isInjectionEnabled == 1 && fuelAlgorithm != LM_SPEED_DENSITY && fuelAlgorithm != LM_REAL_MAF}
|
|
||||||
subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1}
|
subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1}
|
||||||
subMenu = injPhaseTableTbl, "Injection phase", 0, {isInjectionEnabled == 1}
|
subMenu = injPhaseTableTbl, "Injection phase", 0, {isInjectionEnabled == 1}
|
||||||
subMenu = std_separator
|
subMenu = std_separator
|
||||||
|
@ -1516,27 +1489,6 @@ cmd_set_engine_type_8888_test = "w\x00\x30\x00\x3B"
|
||||||
cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
||||||
|
|
||||||
[UserDefined]
|
[UserDefined]
|
||||||
dialog = fuelTableBottomDialog, "", card
|
|
||||||
panel = fuelTableELTbl, Center
|
|
||||||
|
|
||||||
dialog = fuelTableRight, "", yAxis
|
|
||||||
topicHelp = "https://rusefi.com/s/fuel"
|
|
||||||
displayOnlyField = "Fuel Algorithm", fuelAlgorithm
|
|
||||||
panel = fuelTableBottomDialog, Center
|
|
||||||
liveGraph = fuelLive, "Fuel", South
|
|
||||||
graphLine = AFRValue
|
|
||||||
graphLine = RPMValue
|
|
||||||
|
|
||||||
dialog = fuelTableGaugesPanel, yAxis
|
|
||||||
gauge = TPSGauge
|
|
||||||
gauge = MAFGauge
|
|
||||||
gauge = MAPGauge
|
|
||||||
|
|
||||||
dialog = fuelTableDialog, "Fuel Table", xAxis
|
|
||||||
topicHelp = "fuelHelp"
|
|
||||||
panel = fuelTableGaugesPanel
|
|
||||||
panel = fuelTableRight
|
|
||||||
|
|
||||||
dialog = tChargeRpmTpsSettings, "RPM+TPS Mode Settings"
|
dialog = tChargeRpmTpsSettings, "RPM+TPS Mode Settings"
|
||||||
field = "We use these coefficients to approximate air/fuel charge temperate"
|
field = "We use these coefficients to approximate air/fuel charge temperate"
|
||||||
field = "based on CLT and IAT, depending on RPM and TPM"
|
field = "based on CLT and IAT, depending on RPM and TPM"
|
||||||
|
|
|
@ -210,9 +210,6 @@ TEST(misc, testFordAspire) {
|
||||||
|
|
||||||
ASSERT_EQ( 4, TRIGGER_WAVEFORM(getTriggerWaveformSynchPointIndex())) << "getTriggerWaveformSynchPointIndex";
|
ASSERT_EQ( 4, TRIGGER_WAVEFORM(getTriggerWaveformSynchPointIndex())) << "getTriggerWaveformSynchPointIndex";
|
||||||
|
|
||||||
ASSERT_EQ(800, config->fuelRpmBins[0]);
|
|
||||||
ASSERT_EQ(7000, config->fuelRpmBins[15]);
|
|
||||||
|
|
||||||
engineConfiguration->crankingChargeAngle = 65;
|
engineConfiguration->crankingChargeAngle = 65;
|
||||||
engineConfiguration->crankingTimingAngle = 31;
|
engineConfiguration->crankingTimingAngle = 31;
|
||||||
engineConfiguration->useConstantDwellDuringCranking = false;
|
engineConfiguration->useConstantDwellDuringCranking = false;
|
||||||
|
@ -732,13 +729,6 @@ void doTestFuelSchedulerBug299smallAndMedium(int startUpDelayMs) {
|
||||||
|
|
||||||
assertInjectors("#0_inj", 0, 0);
|
assertInjectors("#0_inj", 0, 0);
|
||||||
|
|
||||||
|
|
||||||
int engineLoadIndex = findIndex(config->fuelLoadBins, FUEL_LOAD_COUNT, getMafVoltage(PASS_ENGINE_PARAMETER_SIGNATURE));
|
|
||||||
ASSERT_EQ(8, engineLoadIndex);
|
|
||||||
setArray(fuelMap.pointers[engineLoadIndex], FUEL_RPM_COUNT, 25);
|
|
||||||
setArray(fuelMap.pointers[engineLoadIndex + 1], FUEL_RPM_COUNT, 25);
|
|
||||||
|
|
||||||
|
|
||||||
engine->periodicFastCallback(PASS_ENGINE_PARAMETER_SIGNATURE);
|
engine->periodicFastCallback(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||||
engine->injectionDuration = 12.5f;
|
engine->injectionDuration = 12.5f;
|
||||||
assertEqualsM("duty for maf=3", 62.5, getInjectorDutyCycle(GET_RPM() PASS_ENGINE_PARAMETER_SUFFIX));
|
assertEqualsM("duty for maf=3", 62.5, getInjectorDutyCycle(GET_RPM() PASS_ENGINE_PARAMETER_SUFFIX));
|
||||||
|
@ -1047,12 +1037,6 @@ TEST(big, testFuelSchedulerBug299smallAndLarge) {
|
||||||
setTestBug299(ð);
|
setTestBug299(ð);
|
||||||
ASSERT_EQ( 4, engine->executor.size()) << "Lqs#0";
|
ASSERT_EQ( 4, engine->executor.size()) << "Lqs#0";
|
||||||
|
|
||||||
// set fuel map values - extract method?
|
|
||||||
int engineLoadIndex = findIndex(config->fuelLoadBins, FUEL_LOAD_COUNT, getMafVoltage(PASS_ENGINE_PARAMETER_SIGNATURE));
|
|
||||||
ASSERT_EQ(8, engineLoadIndex);
|
|
||||||
setArray(fuelMap.pointers[engineLoadIndex], FUEL_RPM_COUNT, 35);
|
|
||||||
setArray(fuelMap.pointers[engineLoadIndex + 1], FUEL_RPM_COUNT, 35);
|
|
||||||
|
|
||||||
engine->periodicFastCallback(PASS_ENGINE_PARAMETER_SIGNATURE);
|
engine->periodicFastCallback(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||||
engine->injectionDuration = 17.5f;
|
engine->injectionDuration = 17.5f;
|
||||||
assertEqualsM("Lduty for maf=3", 87.5, getInjectorDutyCycle(GET_RPM() PASS_ENGINE_PARAMETER_SUFFIX));
|
assertEqualsM("Lduty for maf=3", 87.5, getInjectorDutyCycle(GET_RPM() PASS_ENGINE_PARAMETER_SUFFIX));
|
||||||
|
@ -1114,9 +1098,6 @@ TEST(big, testFuelSchedulerBug299smallAndLarge) {
|
||||||
eth.executeActions();
|
eth.executeActions();
|
||||||
ASSERT_EQ( 0, engine->executor.size()) << "Lqs#04";
|
ASSERT_EQ( 0, engine->executor.size()) << "Lqs#04";
|
||||||
|
|
||||||
setArray(fuelMap.pointers[engineLoadIndex], FUEL_RPM_COUNT, 4);
|
|
||||||
setArray(fuelMap.pointers[engineLoadIndex + 1], FUEL_RPM_COUNT, 4);
|
|
||||||
|
|
||||||
engine->periodicFastCallback(PASS_ENGINE_PARAMETER_SIGNATURE);
|
engine->periodicFastCallback(PASS_ENGINE_PARAMETER_SIGNATURE);
|
||||||
engine->injectionDuration = 2.0f;
|
engine->injectionDuration = 2.0f;
|
||||||
ASSERT_EQ( 10, getInjectorDutyCycle(GET_RPM() PASS_ENGINE_PARAMETER_SUFFIX)) << "Lduty for maf=3";
|
ASSERT_EQ( 10, getInjectorDutyCycle(GET_RPM() PASS_ENGINE_PARAMETER_SUFFIX)) << "Lduty for maf=3";
|
||||||
|
|
Loading…
Reference in New Issue