auto-sync

This commit is contained in:
rusEfi 2016-02-14 13:02:00 -05:00
parent 693f71f4e1
commit 5ee901b922
8 changed files with 44 additions and 37 deletions

View File

@ -300,6 +300,8 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_F) {
boardConfiguration->mafSensorType = Bosch0280218037;
setBosch0280218037(config);
boardConfiguration->startConsoleInBinaryMode = true;
engineConfiguration->injector.lag = 0.0;
setBosch02880155868(PASS_ENGINE_PARAMETER_F);
@ -314,32 +316,32 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_F) {
engineConfiguration->tachPulseDuractionMs = 4;
engineConfiguration->tachPulseTriggerIndex = 4;
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, -40, 1.5);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, -30, 1.5);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, -20, 1.42);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, -10, 1.36);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 0, 1.28);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 10, 1.19);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 20, 1.12);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 30, 1.10);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 40, 1.06);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 50, 1.06);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 60, 1.03);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 70, 1.01);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, -40, 150);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, -30, 150);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, -20, 142);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, -10, 136);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 0, 128);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 10, 119);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 20, 112);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 30, 110);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 40, 106);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 50, 106);
setTableValue(config->cltIdleCorrBins, config->cltIdleCorr, CLT_CURVE_SIZE, 60, 103);
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, -30, 1.5);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, -20, 1.42);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, -10, 1.36);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 0, 1.28);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 10, 1.19);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 20, 1.12);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 30, 1.10);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 40, 1.06);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 50, 1.06);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 60, 1.03);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 70, 1.01);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, -40, 150);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, -30, 150);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, -20, 142);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, -10, 136);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 0, 128);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 10, 119);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 20, 112);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 30, 110);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 40, 106);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 50, 106);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 60, 103);
setTableValue(config->cltFuelCorrBins, config->cltFuelCorr, CLT_CURVE_SIZE, 70, 101);
setConstantDwell(4 PASS_ENGINE_PARAMETER); // 4ms is global default dwell
engineConfiguration->useConstantDwellDuringCranking = false;

View File

@ -171,7 +171,7 @@ void prepareFuelMap(DECLARE_ENGINE_PARAMETER_F) {
float getCltCorrection(float clt DECLARE_ENGINE_PARAMETER_S) {
if (cisnan(clt))
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) {

View File

@ -25,6 +25,10 @@
#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 {
CUSTOM_ENGINE = 0,
AUDI_AAN = 1,

View File

@ -11,7 +11,7 @@
#include "engine.h"
#define FLASH_DATA_VERSION 9100
#define FLASH_DATA_VERSION 9105
void readFromFlash(void);
void initFlash(Logging *sharedLogger);

View File

@ -102,7 +102,7 @@ static void manualIdleController(int positionPercent) {
boardConfiguration->manIdlePosition = positionPercent;
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
cltCorrectedPosition = maxF(cltCorrectedPosition, 0.01);

View File

@ -117,7 +117,7 @@
</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">
<scaling units="Compensation (%)" expression="x" to_byte="x" format="0.00"
fineincrement=".01" coarseincrement="0.1"/>

View File

@ -549,16 +549,16 @@ page = 1
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
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
cltFuelCorr = array, F32, 6680, [16], "%", 1, 0, 0.0, 500.0, 2
cltFuelCorrBins = array, F32, 6616, [16], "C", 1, 0, -100.0, 250.0, 0
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
iatFuelCorr = array, F32, 6808, [16], "%", 1, 0, 0.0, 500.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
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
cltIdleCorrBins = array, F32, 7000, [16], "C", 1, 0, -100.0, 250.0, 2
cltIdleCorr = array, F32, 7064, [16], "%", 1, 0, 0.0, 500.0, 2
cltIdleCorrBins = array, F32, 7000, [16], "C", 1, 0, -100.0, 250.0, 0
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
mafDecodingBins = array, F32, 8152, [256], "V", 1, 0, -5.0, 150.0, 2
ignitionIatCorrTable = array, F32, 9176, [16x16],"deg", 1, 0, -720, 720, 2
@ -787,7 +787,7 @@ fileVersion = { 20160122 }
curve = cltFuelCorrCurve, "Coolant temp fuel correction"
columnLabel = "Coolant", "Correction"
xAxis = -40, 120, 10
yAxis = 0, 5, 10
yAxis = 0, 50, 100
xBins = cltFuelCorrBins, coolant
yBins = cltFuelCorr
gauge = CLTGauge
@ -816,10 +816,10 @@ fileVersion = { 20160122 }
yBins = crankingCycleCoef
curve = cltIdleCurve, "CLT idle correction"
curve = cltIdleCurve, "CLT manual idle correction"
columnLabel = "Coolant", "Correction"
xAxis = -40, 120, 10
yAxis = 0, 5, 10
yAxis = 0, 50, 100
xBins = cltIdleCorrBins, coolant
yBins = cltIdleCorr
gauge = CLTGauge
@ -1101,7 +1101,7 @@ fileVersion = { 20160122 }
subMenu = crankingTpsCurve, "Cranking TPS correction"
subMenu = crankingDurationCurve, "Cranking Duration correction"
subMenu = std_separator
subMenu = cltIdleCurve, "Idle warmup correction"
subMenu = cltIdleCurve, "Warmup Idle Air correction"
subMenu = std_separator
subMenu = fuelTableTbl, "Fuel Table", 0, {algorithm != 3}
subMenu = veTableTbl, "VE Table", 0, {algorithm == 3}
@ -1440,6 +1440,7 @@ fileVersion = { 20160122 }
; Board->Connection
dialog = tsPort, "TunerStudio Port"
field = "startConsoleInBinaryMode", startConsoleInBinaryMode
field = "tunerStudioSerialSpeed", tunerStudioSerialSpeed
field = "Use PC10/PC11 serial?", useSerialPort

View File

@ -86,7 +86,7 @@ void testFuelMap(void) {
printf("*************************************************** setting CLT table\r\n");
for (int i = 0; i < CLT_CURVE_SIZE; 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;