auto-sync
This commit is contained in:
parent
693f71f4e1
commit
5ee901b922
|
@ -300,6 +300,8 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_F) {
|
||||||
boardConfiguration->mafSensorType = Bosch0280218037;
|
boardConfiguration->mafSensorType = Bosch0280218037;
|
||||||
setBosch0280218037(config);
|
setBosch0280218037(config);
|
||||||
|
|
||||||
|
boardConfiguration->startConsoleInBinaryMode = true;
|
||||||
|
|
||||||
engineConfiguration->injector.lag = 0.0;
|
engineConfiguration->injector.lag = 0.0;
|
||||||
setBosch02880155868(PASS_ENGINE_PARAMETER_F);
|
setBosch02880155868(PASS_ENGINE_PARAMETER_F);
|
||||||
|
|
||||||
|
@ -314,32 +316,32 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_F) {
|
||||||
engineConfiguration->tachPulseDuractionMs = 4;
|
engineConfiguration->tachPulseDuractionMs = 4;
|
||||||
engineConfiguration->tachPulseTriggerIndex = 4;
|
engineConfiguration->tachPulseTriggerIndex = 4;
|
||||||
|
|
||||||
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, -40, 1.5);
|
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, -40, 150);
|
||||||
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, -30, 1.5);
|
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, -30, 150);
|
||||||
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, -20, 1.42);
|
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, -20, 142);
|
||||||
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, -10, 1.36);
|
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, -10, 136);
|
||||||
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 0, 1.28);
|
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 0, 128);
|
||||||
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 10, 1.19);
|
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 10, 119);
|
||||||
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 20, 1.12);
|
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 20, 112);
|
||||||
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 30, 1.10);
|
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 30, 110);
|
||||||
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 40, 1.06);
|
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 40, 106);
|
||||||
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 50, 1.06);
|
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 50, 106);
|
||||||
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 60, 1.03);
|
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 60, 103);
|
||||||
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 70, 1.01);
|
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 70, 101);
|
||||||
|
|
||||||
|
|
||||||
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, -40, 1.5);
|
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, -40, 150);
|
||||||
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, -30, 1.5);
|
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, -30, 150);
|
||||||
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, -20, 1.42);
|
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, -20, 142);
|
||||||
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, -10, 1.36);
|
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, -10, 136);
|
||||||
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 0, 1.28);
|
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 0, 128);
|
||||||
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 10, 1.19);
|
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 10, 119);
|
||||||
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 20, 1.12);
|
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 20, 112);
|
||||||
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 30, 1.10);
|
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 30, 110);
|
||||||
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 40, 1.06);
|
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 40, 106);
|
||||||
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 50, 1.06);
|
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 50, 106);
|
||||||
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 60, 1.03);
|
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 60, 103);
|
||||||
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 70, 1.01);
|
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 70, 101);
|
||||||
|
|
||||||
setConstantDwell(4 PASS_ENGINE_PARAMETER); // 4ms is global default dwell
|
setConstantDwell(4 PASS_ENGINE_PARAMETER); // 4ms is global default dwell
|
||||||
engineConfiguration->useConstantDwellDuringCranking = false;
|
engineConfiguration->useConstantDwellDuringCranking = false;
|
||||||
|
|
|
@ -171,7 +171,7 @@ void prepareFuelMap(DECLARE_ENGINE_PARAMETER_F) {
|
||||||
float getCltCorrection(float clt DECLARE_ENGINE_PARAMETER_S) {
|
float getCltCorrection(float clt DECLARE_ENGINE_PARAMETER_S) {
|
||||||
if (cisnan(clt))
|
if (cisnan(clt))
|
||||||
return 1; // this error should be already reported somewhere else, let's just handle it
|
return 1; // this error should be already reported somewhere else, let's just handle it
|
||||||
return interpolate2d(clt, config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE);
|
return interpolate2d(clt, config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE) / PERCENT_MULT;
|
||||||
}
|
}
|
||||||
|
|
||||||
float getIatCorrection(float iat DECLARE_ENGINE_PARAMETER_S) {
|
float getIatCorrection(float iat DECLARE_ENGINE_PARAMETER_S) {
|
||||||
|
|
|
@ -25,6 +25,10 @@
|
||||||
|
|
||||||
#define LOGIC_ANALYZER_CHANNEL_COUNT 4
|
#define LOGIC_ANALYZER_CHANNEL_COUNT 4
|
||||||
|
|
||||||
|
// I believe that TunerStudio curve editor has a bug with F32 support
|
||||||
|
// because of that bug we cannot have '1.05' for 5% extra multiplier
|
||||||
|
#define PERCENT_MULT 100.0
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
CUSTOM_ENGINE = 0,
|
CUSTOM_ENGINE = 0,
|
||||||
AUDI_AAN = 1,
|
AUDI_AAN = 1,
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
#include "engine.h"
|
#include "engine.h"
|
||||||
|
|
||||||
#define FLASH_DATA_VERSION 9100
|
#define FLASH_DATA_VERSION 9105
|
||||||
|
|
||||||
void readFromFlash(void);
|
void readFromFlash(void);
|
||||||
void initFlash(Logging *sharedLogger);
|
void initFlash(Logging *sharedLogger);
|
||||||
|
|
|
@ -102,7 +102,7 @@ static void manualIdleController(int positionPercent) {
|
||||||
boardConfiguration->manIdlePosition = positionPercent;
|
boardConfiguration->manIdlePosition = positionPercent;
|
||||||
|
|
||||||
percent_t cltCorrectedPosition = interpolate2d(engine->engineState.clt, config->cltIdleCorrBins, config->cltIdleCorr,
|
percent_t cltCorrectedPosition = interpolate2d(engine->engineState.clt, config->cltIdleCorrBins, config->cltIdleCorr,
|
||||||
CLT_CURVE_SIZE) * positionPercent;
|
CLT_CURVE_SIZE) / PERCENT_MULT * positionPercent;
|
||||||
|
|
||||||
// let's put the value into the right range
|
// let's put the value into the right range
|
||||||
cltCorrectedPosition = maxF(cltCorrectedPosition, 0.01);
|
cltCorrectedPosition = maxF(cltCorrectedPosition, 0.01);
|
||||||
|
|
|
@ -117,7 +117,7 @@
|
||||||
</table>
|
</table>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<table type="2D" name="Intake air temperature-based extra idle air" storageaddress="@@cltIdleCorr_offset_hex@@"
|
<table type="2D" name="Coolant temperature-based extra idle air" storageaddress="@@cltIdleCorr_offset_hex@@"
|
||||||
sizex="@@CLT_CURVE_SIZE@@" storagetype="float" endian="big">
|
sizex="@@CLT_CURVE_SIZE@@" storagetype="float" endian="big">
|
||||||
<scaling units="Compensation (%)" expression="x" to_byte="x" format="0.00"
|
<scaling units="Compensation (%)" expression="x" to_byte="x" format="0.00"
|
||||||
fineincrement=".01" coarseincrement="0.1"/>
|
fineincrement=".01" coarseincrement="0.1"/>
|
||||||
|
|
|
@ -549,16 +549,16 @@ page = 1
|
||||||
le_formulas16 = array, U08, 6016, [200],"char", 1, 0, 0.0, 3.0, 2
|
le_formulas16 = array, U08, 6016, [200],"char", 1, 0, 0.0, 3.0, 2
|
||||||
timingMultiplier = array, U08, 6216, [200],"char", 1, 0, 0.0, 3.0, 2
|
timingMultiplier = array, U08, 6216, [200],"char", 1, 0, 0.0, 3.0, 2
|
||||||
timingAdditive = array, U08, 6416, [200],"char", 1, 0, 0.0, 3.0, 2
|
timingAdditive = array, U08, 6416, [200],"char", 1, 0, 0.0, 3.0, 2
|
||||||
cltFuelCorrBins = array, F32, 6616, [16], "C", 1, 0, -100.0, 250.0, 2
|
cltFuelCorrBins = array, F32, 6616, [16], "C", 1, 0, -100.0, 250.0, 0
|
||||||
cltFuelCorr = array, F32, 6680, [16], "%", 1, 0, 0.0, 500.0, 2
|
cltFuelCorr = array, F32, 6680, [16], "%", 1, 0, 0.0, 1500.0, 0
|
||||||
iatFuelCorrBins = array, F32, 6744, [16], "C", 1, 0, -100.0, 250.0, 2
|
iatFuelCorrBins = array, F32, 6744, [16], "C", 1, 0, -100.0, 250.0, 2
|
||||||
iatFuelCorr = array, F32, 6808, [16], "%", 1, 0, 0.0, 500.0, 2
|
iatFuelCorr = array, F32, 6808, [16], "%", 1, 0, 0.0, 500.0, 2
|
||||||
crankingFuelCoef = array, F32, 6872, [8], "%", 1, 0, 0.0, 700.0, 2
|
crankingFuelCoef = array, F32, 6872, [8], "%", 1, 0, 0.0, 700.0, 2
|
||||||
crankingFuelBins = array, F32, 6904, [8], "C", 1, 0, -80.0, 170.0, 2
|
crankingFuelBins = array, F32, 6904, [8], "C", 1, 0, -80.0, 170.0, 2
|
||||||
crankingCycleCoef = array, F32, 6936, [8], "%", 1, 0, 0.0, 500.0, 2
|
crankingCycleCoef = array, F32, 6936, [8], "%", 1, 0, 0.0, 500.0, 2
|
||||||
crankingCycleBins = array, F32, 6968, [8], "C", 1, 0, -80.0, 170.0, 2
|
crankingCycleBins = array, F32, 6968, [8], "C", 1, 0, -80.0, 170.0, 2
|
||||||
cltIdleCorrBins = array, F32, 7000, [16], "C", 1, 0, -100.0, 250.0, 2
|
cltIdleCorrBins = array, F32, 7000, [16], "C", 1, 0, -100.0, 250.0, 0
|
||||||
cltIdleCorr = array, F32, 7064, [16], "%", 1, 0, 0.0, 500.0, 2
|
cltIdleCorr = array, F32, 7064, [16], "%", 1, 0, 0.0, 1500.0, 0
|
||||||
mafDecoding = array, F32, 7128, [256], "kg/hour", 1, 0, -500.0, 4000.0, 2
|
mafDecoding = array, F32, 7128, [256], "kg/hour", 1, 0, -500.0, 4000.0, 2
|
||||||
mafDecodingBins = array, F32, 8152, [256], "V", 1, 0, -5.0, 150.0, 2
|
mafDecodingBins = array, F32, 8152, [256], "V", 1, 0, -5.0, 150.0, 2
|
||||||
ignitionIatCorrTable = array, F32, 9176, [16x16],"deg", 1, 0, -720, 720, 2
|
ignitionIatCorrTable = array, F32, 9176, [16x16],"deg", 1, 0, -720, 720, 2
|
||||||
|
@ -787,7 +787,7 @@ fileVersion = { 20160122 }
|
||||||
curve = cltFuelCorrCurve, "Coolant temp fuel correction"
|
curve = cltFuelCorrCurve, "Coolant temp fuel correction"
|
||||||
columnLabel = "Coolant", "Correction"
|
columnLabel = "Coolant", "Correction"
|
||||||
xAxis = -40, 120, 10
|
xAxis = -40, 120, 10
|
||||||
yAxis = 0, 5, 10
|
yAxis = 0, 50, 100
|
||||||
xBins = cltFuelCorrBins, coolant
|
xBins = cltFuelCorrBins, coolant
|
||||||
yBins = cltFuelCorr
|
yBins = cltFuelCorr
|
||||||
gauge = CLTGauge
|
gauge = CLTGauge
|
||||||
|
@ -816,10 +816,10 @@ fileVersion = { 20160122 }
|
||||||
yBins = crankingCycleCoef
|
yBins = crankingCycleCoef
|
||||||
|
|
||||||
|
|
||||||
curve = cltIdleCurve, "CLT idle correction"
|
curve = cltIdleCurve, "CLT manual idle correction"
|
||||||
columnLabel = "Coolant", "Correction"
|
columnLabel = "Coolant", "Correction"
|
||||||
xAxis = -40, 120, 10
|
xAxis = -40, 120, 10
|
||||||
yAxis = 0, 5, 10
|
yAxis = 0, 50, 100
|
||||||
xBins = cltIdleCorrBins, coolant
|
xBins = cltIdleCorrBins, coolant
|
||||||
yBins = cltIdleCorr
|
yBins = cltIdleCorr
|
||||||
gauge = CLTGauge
|
gauge = CLTGauge
|
||||||
|
@ -1101,7 +1101,7 @@ fileVersion = { 20160122 }
|
||||||
subMenu = crankingTpsCurve, "Cranking TPS correction"
|
subMenu = crankingTpsCurve, "Cranking TPS correction"
|
||||||
subMenu = crankingDurationCurve, "Cranking Duration correction"
|
subMenu = crankingDurationCurve, "Cranking Duration correction"
|
||||||
subMenu = std_separator
|
subMenu = std_separator
|
||||||
subMenu = cltIdleCurve, "Idle warmup correction"
|
subMenu = cltIdleCurve, "Warmup Idle Air correction"
|
||||||
subMenu = std_separator
|
subMenu = std_separator
|
||||||
subMenu = fuelTableTbl, "Fuel Table", 0, {algorithm != 3}
|
subMenu = fuelTableTbl, "Fuel Table", 0, {algorithm != 3}
|
||||||
subMenu = veTableTbl, "VE Table", 0, {algorithm == 3}
|
subMenu = veTableTbl, "VE Table", 0, {algorithm == 3}
|
||||||
|
@ -1440,6 +1440,7 @@ fileVersion = { 20160122 }
|
||||||
|
|
||||||
; Board->Connection
|
; Board->Connection
|
||||||
dialog = tsPort, "TunerStudio Port"
|
dialog = tsPort, "TunerStudio Port"
|
||||||
|
field = "startConsoleInBinaryMode", startConsoleInBinaryMode
|
||||||
field = "tunerStudioSerialSpeed", tunerStudioSerialSpeed
|
field = "tunerStudioSerialSpeed", tunerStudioSerialSpeed
|
||||||
field = "Use PC10/PC11 serial?", useSerialPort
|
field = "Use PC10/PC11 serial?", useSerialPort
|
||||||
|
|
||||||
|
|
|
@ -86,7 +86,7 @@ void testFuelMap(void) {
|
||||||
printf("*************************************************** setting CLT table\r\n");
|
printf("*************************************************** setting CLT table\r\n");
|
||||||
for (int i = 0; i < CLT_CURVE_SIZE; i++) {
|
for (int i = 0; i < CLT_CURVE_SIZE; i++) {
|
||||||
eth.engine.config->cltFuelCorrBins[i] = i;
|
eth.engine.config->cltFuelCorrBins[i] = i;
|
||||||
eth.engine.config->cltFuelCorr[i] = 1;
|
eth.engine.config->cltFuelCorr[i] = 100;
|
||||||
}
|
}
|
||||||
eth.engine.engineConfiguration->injector.lag = 0;
|
eth.engine.engineConfiguration->injector.lag = 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue