mirror of https://github.com/FOME-Tech/fome-fw.git
auto-sync
This commit is contained in:
parent
ae6846a0a9
commit
6bdbacb5db
|
@ -52,7 +52,8 @@ void setBmwE34(DECLARE_ENGINE_PARAMETER_F) {
|
|||
|
||||
|
||||
// Injection settings
|
||||
engineConfiguration->injector.lag = 1.15;
|
||||
setInjectorLag(1.15 PASS_ENGINE_PARAMETER);
|
||||
|
||||
engineConfiguration->injector.flow = 750;
|
||||
|
||||
// General settings
|
||||
|
|
|
@ -323,7 +323,6 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_F) {
|
|||
|
||||
boardConfiguration->startConsoleInBinaryMode = true;
|
||||
|
||||
engineConfiguration->injector.lag = 0.0;
|
||||
setBosch02880155868(PASS_ENGINE_PARAMETER_F);
|
||||
|
||||
engineConfiguration->acCutoffLowRpm = 700;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sat Jul 23 20:32:57 EDT 2016
|
||||
// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Jul 24 22:10:22 EDT 2016
|
||||
// begin
|
||||
#ifndef ENGINE_CONFIGURATION_GENERATED_H_
|
||||
#define ENGINE_CONFIGURATION_GENERATED_H_
|
||||
|
@ -180,7 +180,7 @@ typedef struct {
|
|||
float flow;
|
||||
/**
|
||||
* Base injector lag
|
||||
* See also vBatt correction curve
|
||||
* See also extra vBatt correction curve
|
||||
* offset 4
|
||||
*/
|
||||
float lag;
|
||||
|
@ -1906,4 +1906,4 @@ typedef struct {
|
|||
|
||||
#endif
|
||||
// end
|
||||
// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sat Jul 23 20:32:57 EDT 2016
|
||||
// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Jul 24 22:10:22 EDT 2016
|
||||
|
|
|
@ -148,11 +148,11 @@ floatms_t getRunningFuel(floatms_t baseFuel, int rpm DECLARE_ENGINE_PARAMETER_S)
|
|||
floatms_t getInjectorLag(float vBatt DECLARE_ENGINE_PARAMETER_S) {
|
||||
if (cisnan(vBatt)) {
|
||||
warning(OBD_System_Voltage_Malfunction, "vBatt=%f", vBatt);
|
||||
return engineConfiguration->injector.lag;
|
||||
return 0;
|
||||
}
|
||||
float vBattCorrection = interpolate2d(vBatt, engineConfiguration->injector.battLagCorrBins,
|
||||
engineConfiguration->injector.battLagCorr, VBAT_INJECTOR_CURVE_SIZE);
|
||||
return engineConfiguration->injector.lag + vBattCorrection;
|
||||
return vBattCorrection;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -455,3 +455,9 @@ void setAlgorithm(engine_load_mode_e algo DECLARE_ENGINE_PARAMETER_S) {
|
|||
buildTimingMap(35 PASS_ENGINE_PARAMETER);
|
||||
}
|
||||
}
|
||||
|
||||
void setInjectorLag(float value DECLARE_ENGINE_PARAMETER_S) {
|
||||
for (int i=0;i<VBAT_INJECTOR_CURVE_SIZE;i++) {
|
||||
engineConfiguration->injector.battLagCorr[i] = value;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,6 +30,7 @@ void initializeIgnitionActions(angle_t advance, angle_t dwellAngle,
|
|||
#define assertAngleRange(angle) {}
|
||||
#endif
|
||||
|
||||
void setInjectorLag(float value DECLARE_ENGINE_PARAMETER_S);
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -942,10 +942,6 @@ static void printAllInfo(void) {
|
|||
#endif
|
||||
}
|
||||
|
||||
static void setInjectorLag(float value) {
|
||||
engineConfiguration->injector.lag = value;
|
||||
}
|
||||
|
||||
static void getValue(const char *paramStr) {
|
||||
if (strEqualCaseInsensitive(paramStr, "warningPeriod")) {
|
||||
scheduleMsg(&logger, "warningPeriod=%d", engineConfiguration->warningPeriod);
|
||||
|
|
|
@ -172,7 +172,7 @@ int engineSnifferRpmThreshold;Engine sniffer would be disabled above this rpm;"R
|
|||
|
||||
struct injector_s
|
||||
float flow;+cc/min, cubic centimeter per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min;"cm3/min", 1, 0, 0, 1000, 2
|
||||
float lag;+Base injector lag\nSee also vBatt correction curve;"msec", 1, 0, -10, 25.50, 2
|
||||
float lag;+Base injector lag\nSee also extra vBatt correction curve;"msec", 1, 0, -10, 25.50, 2
|
||||
|
||||
float[VBAT_INJECTOR_CURVE_SIZE] battLagCorrBins;;"V", 1, 0, 0.0, 20.0, 2
|
||||
float[VBAT_INJECTOR_CURVE_SIZE] battLagCorr;;"ms/V", 1, 0, 0.0, 50.0, 2
|
||||
|
|
|
@ -897,7 +897,7 @@ fileVersion = { 20160702 }
|
|||
yBins = map_samplingWindow
|
||||
gauge = rpm
|
||||
|
||||
curve = injectorsDeadTime, "Injector Dead Time Battery Correction"
|
||||
curve = injectorsDeadTime, "Injector Extra Dead Time Battery Correction"
|
||||
columnLabel = "Voltage", "Dead Time"
|
||||
xAxis = 8, 21, 10
|
||||
yAxis = -3, 3, 10
|
||||
|
@ -1446,7 +1446,7 @@ cmd_test_idle_valve = "w\x00\x17\x00\x01"
|
|||
|
||||
; Engine->Injection Settings
|
||||
dialog = injChars, "Injector Settings", yAxis
|
||||
field = "Injector Open Time", injector_lag
|
||||
field = "Base Injector Dead Time", injector_lag
|
||||
field = "Injector Flow", injector_flow
|
||||
field = "phase offset", injectionOffset
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.rusefi.config;
|
||||
|
||||
// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Fri Jul 22 17:07:24 EDT 2016
|
||||
// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Jul 24 22:23:59 EDT 2016
|
||||
public class Fields {
|
||||
public static final int LE_COMMAND_LENGTH = 200;
|
||||
public static final int FSIO_ADC_COUNT = 4;
|
||||
|
@ -43,7 +43,7 @@ public class Fields {
|
|||
public static final int injector_offset_hex = 8;
|
||||
public static final int injector_flow_offset = 8;
|
||||
public static final int injector_flow_offset_hex = 8;
|
||||
public static final int injector_lag_offset = 12;
|
||||
public static final int injector_unusedlag_offset = 12;
|
||||
public static final int injector_battLagCorrBins_offset = 16;
|
||||
public static final int injector_battLagCorrBins_offset_hex = 10;
|
||||
public static final int injector_battLagCorr_offset = 48;
|
||||
|
@ -965,7 +965,7 @@ public class Fields {
|
|||
public static final Field ENGINETYPE = Field.create("ENGINETYPE", 0, FieldType.INT);
|
||||
public static final Field ENGINESNIFFERRPMTHRESHOLD = Field.create("ENGINESNIFFERRPMTHRESHOLD", 4, FieldType.INT);
|
||||
public static final Field INJECTOR_FLOW = Field.create("INJECTOR_FLOW", 8, FieldType.FLOAT);
|
||||
public static final Field INJECTOR_LAG = Field.create("INJECTOR_LAG", 12, FieldType.FLOAT);
|
||||
public static final Field INJECTOR_UNUSEDLAG = Field.create("INJECTOR_UNUSEDLAG", 12, FieldType.FLOAT);
|
||||
public static final Field DIRECTSELFSTIMULATION = Field.create("DIRECTSELFSTIMULATION", 80, FieldType.BIT, 0);
|
||||
public static final Field ACTIVATEAUXPID1 = Field.create("ACTIVATEAUXPID1", 80, FieldType.BIT, 1);
|
||||
public static final Field ISVERBOSEAUXPID1 = Field.create("ISVERBOSEAUXPID1", 80, FieldType.BIT, 2);
|
||||
|
|
|
@ -60,11 +60,9 @@ void testFuelMap(void) {
|
|||
printf("*** getInjectorLag\r\n");
|
||||
assertEqualsM("lag", 1.04, getInjectorLag(12 PASS_ENGINE_PARAMETER));
|
||||
|
||||
eth.engine.engineConfiguration->injector.lag = 0.5;
|
||||
|
||||
for (int i = 0; i < VBAT_INJECTOR_CURVE_SIZE; i++) {
|
||||
eth.engine.engineConfiguration->injector.battLagCorrBins[i] = i;
|
||||
eth.engine.engineConfiguration->injector.battLagCorr[i] = 2 * i;
|
||||
eth.engine.engineConfiguration->injector.battLagCorr[i] = 0.5 + 2 * i;
|
||||
}
|
||||
|
||||
eth.engine.updateSlowSensors(PASS_ENGINE_PARAMETER_F);
|
||||
|
@ -88,7 +86,8 @@ void testFuelMap(void) {
|
|||
eth.engine.config->cltFuelCorrBins[i] = i;
|
||||
eth.engine.config->cltFuelCorr[i] = 100;
|
||||
}
|
||||
eth.engine.engineConfiguration->injector.lag = 0;
|
||||
|
||||
setInjectorLag(0 PASS_ENGINE_PARAMETER);
|
||||
|
||||
assertEquals(NAN, getIntakeAirTemperature(PASS_ENGINE_PARAMETER_F));
|
||||
float iatCorrection = getIatCorrection(-KELV PASS_ENGINE_PARAMETER);
|
||||
|
@ -96,7 +95,7 @@ void testFuelMap(void) {
|
|||
float cltCorrection = getCltCorrection(getCoolantTemperature(PASS_ENGINE_PARAMETER_F) PASS_ENGINE_PARAMETER);
|
||||
assertEqualsM("CLT", 1, cltCorrection);
|
||||
float injectorLag = getInjectorLag(getVBatt(PASS_ENGINE_PARAMETER_F) PASS_ENGINE_PARAMETER);
|
||||
assertEquals(0, injectorLag);
|
||||
assertEqualsM("injectorLag", 0, injectorLag);
|
||||
|
||||
testMafValue = 5;
|
||||
|
||||
|
|
|
@ -317,7 +317,7 @@ void testRpmCalculator(void) {
|
|||
|
||||
// this is a very dirty and sad hack. todo: eliminate
|
||||
// engine.engineConfiguration = eth.engine.engineConfiguration;
|
||||
eth.engine.engineConfiguration->injector.lag = -1.04;
|
||||
setInjectorLag(0 PASS_ENGINE_PARAMETER);
|
||||
|
||||
engine->updateSlowSensors(PASS_ENGINE_PARAMETER_F);
|
||||
timeNow = 0;
|
||||
|
|
Loading…
Reference in New Issue