auto-sync

This commit is contained in:
rusEfi 2016-01-03 01:01:37 -05:00
parent 7d06f003ef
commit d2eb37c2f6
8 changed files with 69 additions and 53 deletions

View File

@ -86,9 +86,13 @@ typedef struct {
float rpmAcceleration;
float massAirFlowValue;
float veValue; // current volumetric efficiency, offset 112
float deltaTps;
int triggerErrorsCounter;
float currentEngineLoadAccelDelta;
/**
* TPS value delta within specified number of cycles
* See tpsAccelFuel
*/
float deltaTps; // offset 116
int triggerErrorsCounter; // offset 120
float engineLoadAccelDelta; // offset 124
float tpsAccelFuel; // offset 128
float baroCorrection;
float pedalPosition;

View File

@ -593,25 +593,26 @@ void updateTunerStudioState(TunerStudioOutputChannels *tsOutputChannels DECLARE_
tsOutputChannels->manifold_air_pressure = getMap();
tsOutputChannels->engineLoad = engineLoad;
tsOutputChannels->rpmAcceleration = engine->rpmCalculator.getRpmAcceleration();
tsOutputChannels->currentEngineLoadAccelDelta = engine->engineLoadAccelEnrichment.getEngineLoadEnrichment(PASS_ENGINE_PARAMETER_F) * 100 / getMap();
tsOutputChannels->tpsAccelFuel = engine->engineState.tpsAccelEnrich;
tsOutputChannels->deltaTps = engine->tpsAccelEnrichment.getDelta();
tsOutputChannels->triggerErrorsCounter = engine->triggerCentral.triggerState.totalTriggerErrorCounter;
tsOutputChannels->baroCorrection = engine->engineState.baroCorrection;
tsOutputChannels->pedalPosition = hasPedalPositionSensor(PASS_ENGINE_PARAMETER_F) ? getPedalPosition(PASS_ENGINE_PARAMETER_F) : 0;
tsOutputChannels->knockCount = engine->knockCount;
tsOutputChannels->knockLevel = engine->knockVolts;
tsOutputChannels->injectorDutyCycle = getInjectorDutyCycle(rpm PASS_ENGINE_PARAMETER);
tsOutputChannels->fuelTankGauge = engine->engineState.fuelTankGauge;
tsOutputChannels->hasFatalError = hasFirmwareError();
tsOutputChannels->totalTriggerErrorCounter = engine->triggerCentral.triggerState.totalTriggerErrorCounter;
tsOutputChannels->injectorDutyCycle = getInjectorDutyCycle(rpm PASS_ENGINE_PARAMETER);
tsOutputChannels->runningFuel = ENGINE(engineState.runningFuel);
tsOutputChannels->wallFuelAmount = wallFuel.getWallFuel(0);
tsOutputChannels->wallFuelCorrection = engine->wallFuelCorrection;
tsOutputChannels->engineLoadAccelDelta = engine->engineLoadAccelEnrichment.getEngineLoadEnrichment(PASS_ENGINE_PARAMETER_F) * 100 / getMap();
tsOutputChannels->tpsAccelFuel = engine->engineState.tpsAccelEnrich;
tsOutputChannels->iatCorrection = ENGINE(engineState.iatFuelCorrection);
tsOutputChannels->cltCorrection = ENGINE(engineState.cltFuelCorrection);
tsOutputChannels->runningFuel = ENGINE(engineState.runningFuel);
tsOutputChannels->wallFuelCorrection = engine->wallFuelCorrection;
tsOutputChannels->checkEngine = hasErrorCodes();
#if EFI_PROD_CODE || defined(__DOXYGEN__)

View File

@ -137,18 +137,18 @@ public:
/**
* pre-calculated value from simple fuel lookup
*/
float baseTableFuel;
floatms_t baseTableFuel;
/**
* fuel regardless of fuel logic mode
* fuel injection duration regardless of fuel logic mode
*/
float baseFuel;
floatms_t baseFuel;
/**
* Fuel with CLT, IAT and TPS acceleration corrections.
* Fuel with CLT, IAT and TPS acceleration corrections, as squirt duration.
*/
float runningFuel;
floatms_t runningFuel;
float tpsAccelEnrich;
floatms_t tpsAccelEnrich;
angle_t injectionOffset;
};
@ -218,6 +218,9 @@ public:
* Fuel injection duration for current engine cycle, without wall wetting
*/
floatms_t fuelMs;
/**
* fuel injection time correction to account for wall wetting effect, for current cycle
*/
floatms_t wallFuelCorrection;
/**

View File

@ -275,5 +275,5 @@ int getRusEfiVersion(void) {
return 123; // this is here to make the compiler happy about the unused array
if (UNUSED_CCM_SIZE[0] * 0 != 0)
return 3211; // this is here to make the compiler happy about the unused array
return 20160101;
return 20160102;
}

View File

@ -687,7 +687,7 @@ fileVersion = { 20151201 }
veValue = scalar, F32, 112, "ratio", 1, 0
deltaTps = scalar, F32, 116, "ratio", 1, 0
triggerErrorsCounter = scalar, U32,120, "counter", 1, 0
currentEngineLoadAccelDelta = scalar,F32, 124, "%", 1, 0
engineLoadAccelDelta = scalar,F32, 124, "%", 1, 0
tpsAccelFuel = scalar, F32, 128, "ms", 1, 0
baroCorrection = scalar, F32, 132, "%", 1, 0
pedalPosition = scalar, F32, 136, "%", 1, 0
@ -697,7 +697,7 @@ fileVersion = { 20151201 }
; knockLevel 152
; totalTriggerErrorCounter 156
wallFuelAmount = scalar, F32, 160, "ms", 1, 0
tempFuelCorrection = scalar, F32, 164, "%", 1, 0
iatCorrection = scalar, F32, 164, "%", 1, 0
wallFuelCorrection = scalar, F32, 168, "ms", 1, 0
curIdlePosition = scalar, F32, 172, "percent", 1, 0
egoCorrection = { 100 }
@ -896,9 +896,6 @@ fileVersion = { 20151201 }
tpsADCGauge = tpsADC, "tps ADC", "ADC", 0, 1024, 0, 0, 0, 0, 0, 0
atmPresCGauge = baroPressure, "Baro", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0
mapGaugeValue = MAPValue, "MAP", "kPa", 0, 300, 10, 10, 200, 200, 0, 0
pulseWidthGauge = pulseWidth, "final fuel squirt, per injection", "mSec", 0, 25.5, 1.0, 1.2, 20, 25, 3, 1
baseFuelGauge = baseFuel, "Base fuel duration, before corr", "mSec", 0, 25.5, 1.0, 1.2, 20, 25, 3, 1
crankingFuelGauge = crankingFuel, "crank Width", "mSec", 0, 25.5, 1.0, 1.2, 20, 25, 3, 1
ignadvGauge = ign_adv, "Ignition Advance 1", "degrees", -100, 100, -999, -999, 999, 999, 1, 1
; warmupEnrichGauge = warmupEnrich, "Warmup Enrichment", "%", 100, 150, -1, -1, 101, 105, 0, 0
; accelEnrichGauge = accDecEnrich, "Accel Enrich", "%", 50, 150, -1, -1, 999, 999, 0, 0
@ -912,22 +909,27 @@ fileVersion = { 20151201 }
egt7Gauge = egt7, "EGT#7", "C", 0, 2000
egt8Gauge = egt8, "EGT#8", "C", 0, 2000
vssGauge = vehicleSpeedKph, "Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1
rpmAccelerationGa = rpmAcceleration, "rpm d", "dRpm", 0, 3, 0, 1, 3, 4, 1, 1
rpmAccelerationGa = rpmAcceleration, "rpm delta", "dRpm", 0, 3, 0, 1, 3, 4, 1, 1
massAirFlowValueGa = massAirFlowValue,"Air Flow", "kg/hr", 0, 50, -999, -999, 999, 999, 1, 1
veValueGauge = veValue, "%", "", 0, 120, 10, 10, 100, 100, 1, 1
deltaTpsGauge = deltaTps, "%", "", 0, 120, 10, 10, 100, 100, 1, 1
; minDeltaGauge = minDelta, "%", "", 0, 120, 10, 10, 100, 100, 1, 1
currentEngineLoadAccelDeltaGauge = currentEngineLoadAccelDelta,"EL enrich","%", 0, 120, 10, 10, 100, 100, 1, 1
tpsAccelFuelGauge = tpsAccelFuel,"TPS enrich", "ms", 0, 120, 10, 10, 100, 100, 1, 1
baroCorrectionGauge = baroCorrection,"BaroCorr", "%", 0, 120, 10, 10, 100, 100, 1, 1
pedalPositionGauge = pedalPosition,"Pedal Position", "%", 0, 120, 10, 10, 100, 100, 1, 1
injectorDutyCycleGauge=injectorDutyCycle, "injectorDutyCycle","%", 0, 120, 10, 10, 100, 100, 1, 1
knockCountGauge = knockCount,"Knock count", "count", 0, 120, 10, 10, 100, 100, 1, 1
triggerErrorsCounterGauge = triggerErrorsCounter, "trg err", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0
wallFuelAmountGauge = wallFuelAmount, "wall fuel", "ms", 0, 100, 0, 0, 100, 100, 0, 0
tempFuelCorrectionGauge = tempFuelCorrection, "temp fuel corr", "mult", 0, 10, 0, 0, 10, 10, 0, 0
wallFuelCorrectionGauge = wallFuelCorrection, "extra fuel", "ms", 0, 100, 0, 0, 100, 100, 0, 0
pulseWidthGauge = pulseWidth, "fuel final squirt, per injection", "mSec", 0, 25.5, 1.0, 1.2, 20, 25, 3, 1
baseFuelGauge = baseFuel, "fuel: base duration, before corr", "mSec", 0, 25.5, 1.0, 1.2, 20, 25, 3, 1
crankingFuelGauge = crankingFuel, "fuel: crank Width", "mSec", 0, 25.5, 1.0, 1.2, 20, 25, 3, 1
iatCorrectionGauge = iatCorrection, "fuel: IAT corr", "mult", 0, 10, 0, 0, 10, 10, 0, 0
injectorDutyCycleGauge=injectorDutyCycle, "fuel: injectorDutyCycle","%", 0, 120, 10, 10, 100, 100, 1, 1
engineLoadAccelDeltaGauge = engineLoadAccelDelta,"fuel: load enrich","%", 0, 120, 10, 10, 100, 100, 1, 1
tpsAccelFuelGauge = tpsAccelFuel,"fuel: TPS enrich", "ms", 0, 120, 10, 10, 100, 100, 1, 1
wallFuelAmountGauge = wallFuelAmount, "fuel: wall amount", "ms", 0, 100, 0, 0, 100, 100, 0, 0
wallFuelCorrectionGauge = wallFuelCorrection, "fuel: wall correction extra", "ms", 0, 100, 0, 0, 100, 100, 0, 0
curIdlePositionGauge = curIdlePosition, "idle position", "%", 0, 100, 0, 0, 100, 100, 0, 0
[FrontPage]
@ -989,21 +991,24 @@ fileVersion = { 20151201 }
entry = AFRactual, "AFR", float, "%.2f"
entry = VBatt, "vBatt", float, "%.2f"
entry = engineLoad, "Load", float, "%d"
entry = pulseWidth, "injPulse", float, "%.3f"
entry = baseFuel, "baseFuel", float, "%.2f"
entry = ign_adv, "ignAdv", float, "%.2f"
entry = vehicleSpeedKph, "speed", float, "%.2f"
entry = rpmAcceleration, "dRPM", float, "%.3f"
entry = massAirFlowValue,"Mass", float, "%.3f"
entry = veValue, "ratio", float, "%.3f"
entry = currentEngineLoadAccelDelta, "accel",float, "%.3f"
entry = tpsAccelFuel, "tpsAccel", float, "%.3f"
entry = baroCorrection "baroCorrection",float,"%.3f"
entry = massAirFlowValue,"airMass", float, "%.3f"
entry = pedalPosition, "pedal", float, "%.3f"
; entry
entry = triggerErrorsCounter, "trg err",int, "%d"
entry = tempFuelCorrection, "temp fuel corr", float, "%.3f"
entry = wallFuelCorrection, "wall fuel corr ms", float, "%.3f"
entry = pulseWidth, "injPulse", float, "%.3f"
entry = baseFuel, "fuel: base", float, "%.2f"
entry = veValue, "fuel: VE", float, "%.3f"
entry = engineLoadAccelDelta, "fuel: EL accel",float, "%.3f"
entry = tpsAccelFuel, "fuel: tpsAccel", float, "%.3f"
entry = iatCorrection, "fuel: IAT corr", float, "%.3f"
entry = wallFuelCorrection, "fuel: wall corr ms", float, "%.3f"
entry = wallFuelAmount, "fuel: wall amout", float, "%.3f"
entry = baroCorrection "baroCorrection",float,"%.3f"
; tpsADC = U16, "ADC",

View File

@ -65,14 +65,14 @@ public enum Sensor {
PERIOD0("Period", SensorCategory.SNIFFING, "dg", 0, 400),
DUTY0("Duty0", SensorCategory.SNIFFING, "%", 0, 100, BackgroundColor.RED),
DUTY1("Duty1", SensorCategory.SNIFFING, "%", 0, 100, BackgroundColor.RED),
FUEL("Fuel", SensorCategory.OPERATIONS, "ms", 0, 30),
FUEL_IAT("F IAT", SensorCategory.OPERATIONS, "", 0, 10),
FUEL_CLT("F CLT", SensorCategory.OPERATIONS, "", 0, 10),
FUEL_LAG("F Lag", SensorCategory.OPERATIONS, "", 0, 30),
FUEL("Fuel", SensorCategory.FUEL, "ms", 0, 30),
FUEL_IAT("F IAT", SensorCategory.FUEL, "", 0, 10),
FUEL_CLT("F CLT", SensorCategory.FUEL, "", 0, 10),
FUEL_LAG("F Lag", SensorCategory.FUEL, "", 0, 30),
IDLE_SWITCH("idle switch", SensorCategory.OTHERS),
DEFAULT_FUEL("map fuel", SensorCategory.OPERATIONS, "ms", 0, 40),
DEFAULT_FUEL("map fuel", SensorCategory.FUEL, "ms", 0, 40),
CHARTSIZE("CHARTSIZE", SensorCategory.OTHERS),
CHART_STATUS("CHART_STATUS", SensorCategory.OTHERS),
@ -85,16 +85,18 @@ public enum Sensor {
INJECTOR_3_DWELL("inj #3", SensorCategory.SNIFFING),
INJECTOR_4_DWELL("inj #4", SensorCategory.SNIFFING),
FUEL_BASE(SensorCategory.OPERATIONS, FieldType.FLOAT, 48, BackgroundColor.MUD, 0, 30, "ms"),
T_CHARGE(SensorCategory.OPERATIONS, FieldType.FLOAT, 52, BackgroundColor.MUD, 30, 140),
FUEL_BASE(SensorCategory.FUEL, FieldType.FLOAT, 48, BackgroundColor.MUD, 0, 30, "ms"),
T_CHARGE(SensorCategory.FUEL, FieldType.FLOAT, 52, BackgroundColor.MUD, 30, 140),
DWELL(SensorCategory.OPERATIONS, FieldType.FLOAT, 60, BackgroundColor.MUD, 1, 10),
CURRENT_VE(SensorCategory.OPERATIONS, FieldType.FLOAT, 112, BackgroundColor.MUD),
MAP_ACCEL_DELTA(SensorCategory.OPERATIONS, FieldType.FLOAT, 124, BackgroundColor.MUD),
TPS_ACCEL_FUEL(SensorCategory.OPERATIONS, FieldType.FLOAT, 128, BackgroundColor.MUD),
CURRENT_VE(SensorCategory.FUEL, FieldType.FLOAT, 112, BackgroundColor.MUD),
TPS_DELTA(SensorCategory.FUEL, FieldType.FLOAT, 116, BackgroundColor.MUD),
ENGINE_LOAD_ACCEL_DELTA(SensorCategory.FUEL, FieldType.FLOAT, 124, BackgroundColor.MUD),
TPS_ACCEL_FUEL(SensorCategory.FUEL, FieldType.FLOAT, 128, BackgroundColor.MUD),
Injector_duty(SensorCategory.OPERATIONS, FieldType.FLOAT, 140, BackgroundColor.MUD),
WALL_FUEL(SensorCategory.OPERATIONS, FieldType.FLOAT, 160, BackgroundColor.MUD),
iatCorrection(SensorCategory.OPERATIONS, FieldType.FLOAT, 164, BackgroundColor.MUD, 0, 5),
wallFuelCorrection(SensorCategory.OPERATIONS, FieldType.FLOAT, 168, BackgroundColor.MUD),
WALL_FUEL_AMOUNT(SensorCategory.FUEL, FieldType.FLOAT, 160, BackgroundColor.MUD),
iatCorrection(SensorCategory.FUEL, FieldType.FLOAT, 164, BackgroundColor.MUD, 0, 5),
WALL_FUEL_CORRECTION(SensorCategory.FUEL, FieldType.FLOAT, 168, BackgroundColor.MUD),
idlePosition(SensorCategory.OPERATIONS, FieldType.FLOAT, 172, BackgroundColor.MUD),
TARGET_AFR(SensorCategory.OPERATIONS, FieldType.FLOAT, 176, BackgroundColor.MUD),
CHARGE_AIR_MASS(SensorCategory.OPERATIONS, FieldType.FLOAT, 180, BackgroundColor.MUD),

View File

@ -2,6 +2,7 @@ package com.rusefi.core;
public enum SensorCategory {
OPERATIONS("Operations"),
FUEL("Fuel-related"),
SNIFFING("Sniffing"),
SENSOR_INPUTS("Sensor inputs"),
OTHERS("Others");

View File

@ -32,7 +32,7 @@ import static com.rusefi.ui.storage.PersistentConfiguration.getConfig;
* @see EngineSnifferPanel
*/
public class Launcher {
public static final int CONSOLE_VERSION = 20151227;
public static final int CONSOLE_VERSION = 20160102;
public static final boolean SHOW_STIMULATOR = false;
private static final String TAB_INDEX = "main_tab";
protected static final String PORT_KEY = "port";