diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index dc310605e0..9b87fa2469 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -168,8 +168,8 @@ void setDefaultConfiguration(engine_configuration_s *engineConfiguration, board_ setTableValue(engineConfiguration->cltFuelCorrBins, engineConfiguration->cltFuelCorr, CLT_CURVE_SIZE, 70, 1.01); for (int i = 0; i < VBAT_INJECTOR_CURVE_SIZE; i++) { - engineConfiguration->battInjectorLagCorrBins[i] = 12 - VBAT_INJECTOR_CURVE_SIZE / 2 + i; - engineConfiguration->battInjectorLagCorr[i] = 0; // zero extra time by default + engineConfiguration->injector.battLagCorrBins[i] = 12 - VBAT_INJECTOR_CURVE_SIZE / 2 + i; + engineConfiguration->injector.battLagCorr[i] = 0; // zero extra time by default } setConstantDwell(engineConfiguration, 4); // 4ms is global default dwell diff --git a/firmware/controllers/algo/engine_configuration_generated_structures.h b/firmware/controllers/algo/engine_configuration_generated_structures.h index d471aa8bff..30b4c106a8 100644 --- a/firmware/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/controllers/algo/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated by config_definition.jar on Mon Feb 02 11:45:00 EST 2015 +// this section was generated by config_definition.jar on Mon Feb 02 11:59:15 EST 2015 // begin #include "rusefi_types.h" typedef struct { @@ -134,7 +134,15 @@ typedef struct { * offset 4 */ float lag; - /** total size 8*/ + /** + * offset 8 + */ + float battLagCorrBins[VBAT_INJECTOR_CURVE_SIZE]; + /** + * offset 40 + */ + float battLagCorr[VBAT_INJECTOR_CURVE_SIZE]; + /** total size 72*/ } injector_s; typedef struct { @@ -588,14 +596,6 @@ typedef struct { * offset 8 */ injector_s injector; - /** - * offset 16 - */ - float battInjectorLagCorrBins[VBAT_INJECTOR_CURVE_SIZE]; - /** - * offset 48 - */ - float battInjectorLagCorr[VBAT_INJECTOR_CURVE_SIZE]; /** * offset 80 */ @@ -1128,4 +1128,4 @@ typedef struct { } engine_configuration_s; // end -// this section was generated by config_definition.jar on Mon Feb 02 11:45:00 EST 2015 +// this section was generated by config_definition.jar on Mon Feb 02 11:59:15 EST 2015 diff --git a/firmware/controllers/algo/fuel_math.cpp b/firmware/controllers/algo/fuel_math.cpp index c377cf320b..d52e9eaa50 100644 --- a/firmware/controllers/algo/fuel_math.cpp +++ b/firmware/controllers/algo/fuel_math.cpp @@ -110,8 +110,8 @@ float getInjectorLag(float vBatt DECLARE_ENGINE_PARAMETER_S) { warning(OBD_System_Voltage_Malfunction, "vBatt=%f", vBatt); return engineConfiguration->injector.lag; } - float vBattCorrection = interpolate2d(vBatt, engineConfiguration->battInjectorLagCorrBins, - engineConfiguration->battInjectorLagCorr, VBAT_INJECTOR_CURVE_SIZE); + float vBattCorrection = interpolate2d(vBatt, engineConfiguration->injector.battLagCorrBins, + engineConfiguration->injector.battLagCorr, VBAT_INJECTOR_CURVE_SIZE); return engineConfiguration->injector.lag + vBattCorrection; } diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index c12d1c1a17..a0bc5d6c5b 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -195,8 +195,8 @@ void printConfiguration(engine_configuration_s *engineConfiguration) { printFloatArray("IAT: ", engineConfiguration->iatFuelCorr, IAT_CURVE_SIZE); printFloatArray("IAT bins: ", engineConfiguration->iatFuelCorrBins, IAT_CURVE_SIZE); - printFloatArray("vBatt: ", engineConfiguration->battInjectorLagCorr, VBAT_INJECTOR_CURVE_SIZE); - printFloatArray("vBatt bins: ", engineConfiguration->battInjectorLagCorrBins, VBAT_INJECTOR_CURVE_SIZE); + printFloatArray("vBatt: ", engineConfiguration->injector.battLagCorr, VBAT_INJECTOR_CURVE_SIZE); + printFloatArray("vBatt bins: ", engineConfiguration->injector.battLagCorrBins, VBAT_INJECTOR_CURVE_SIZE); // appendMsgPrefix(&logger); diff --git a/firmware/rusefi_config.ini b/firmware/rusefi_config.ini index b1cffbf8d4..b3a93ab2ec 100644 --- a/firmware/rusefi_config.ini +++ b/firmware/rusefi_config.ini @@ -97,14 +97,15 @@ int headerMagicValue;this magic number is used to make sure that what we read fr 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;;"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 + end_struct injector_s injector -float[VBAT_INJECTOR_CURVE_SIZE] battInjectorLagCorrBins;;"V", 1, 0, 0.0, 20.0, 2 -float[VBAT_INJECTOR_CURVE_SIZE] battInjectorLagCorr;;"ms/V", 1, 0, 0.0, 50.0, 2 - float[CLT_CURVE_SIZE] cltFuelCorrBins;;"C", 1, 0, -100.0, 250.0, 2 float[CLT_CURVE_SIZE] cltFuelCorr;;"%", 100, 0, 0.0, 500.0, 2 diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index 762ba690fe..168958d820 100644 --- a/firmware/tunerstudio/rusefi.ini +++ b/firmware/tunerstudio/rusefi.ini @@ -37,7 +37,7 @@ enable2ndByteCanID = false ; see PAGE_0_SIZE in C source code ; CONFIG_DEFINITION_START -; this section was generated by ConfigDefinition.jar on Mon Feb 02 11:45:00 EST 2015 +; this section was generated by ConfigDefinition.jar on Mon Feb 02 11:59:15 EST 2015 pageSize = 11832 page = 1 @@ -45,8 +45,8 @@ page = 1 ;skipping headerMagicValue offset 4 injector_flow = scalar, F32, 8, "cm3/min", 1, 0, 0, 1000, 2 injector_lag = scalar, F32, 12, "msec", 1, 0, -10, 25.50, 2 - battInjectorLagCorrBins = array, F32, 16, [8], "V", 1, 0, 0.0, 20.0, 2 - battInjectorLagCorr = array, F32, 48, [8], "ms/V", 1, 0, 0.0, 50.0, 2 + injector_battLagCorrBins = array, F32, 16, [8], "V", 1, 0, 0.0, 20.0, 2 + injector_battLagCorr = array, F32, 48, [8], "ms/V", 1, 0, 0.0, 50.0, 2 cltFuelCorrBins = array, F32, 80, [16], "C", 1, 0, -100.0, 250.0, 2 cltFuelCorr = array, F32, 144, [16], "%", 100, 0, 0.0, 500.0, 2 iatFuelCorrBins = array, F32, 208, [16], "C", 1, 0, -100.0, 250.0, 2 @@ -589,8 +589,8 @@ fileVersion = { 20150202 } columnLabel = "Voltage", "Dead Time" xAxis = 8, 21, 10 yAxis = -3, 3, 10 - xBins = battInjectorLagCorrBins, VBatt - yBins = battInjectorLagCorr + xBins = injector_battLagCorrBins, VBatt + yBins = injector_battLagCorr gauge = VBattGauge curve = iatFuelCorrCurve, "Intake air temp fuel correction" diff --git a/unit_tests/test_fuel_map.cpp b/unit_tests/test_fuel_map.cpp index 84ba91b25d..1c01716048 100644 --- a/unit_tests/test_fuel_map.cpp +++ b/unit_tests/test_fuel_map.cpp @@ -49,8 +49,8 @@ void testFuelMap(void) { eth.engine.engineConfiguration->injector.lag = 0.5; for (int i = 0; i < VBAT_INJECTOR_CURVE_SIZE; i++) { - eth.engine.engineConfiguration->battInjectorLagCorrBins[i] = i; - eth.engine.engineConfiguration->battInjectorLagCorr[i] = 2 * i; + eth.engine.engineConfiguration->injector.battLagCorrBins[i] = i; + eth.engine.engineConfiguration->injector.battLagCorr[i] = 2 * i; }