auto-sync
This commit is contained in:
parent
fe488d9684
commit
55859f8073
|
@ -333,7 +333,7 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_ENGINE_PARAMETER_F) {
|
|||
boardConfiguration->adcHwChannelEnabled[12] = ADC_SLOW; // CLT
|
||||
boardConfiguration->adcHwChannelEnabled[13] = ADC_SLOW; // AFR
|
||||
boardConfiguration->adcHwChannelEnabled[14] = ADC_SLOW; // VBatt
|
||||
boardConfiguration->adcHwChannelEnabled[15] = ADC_SLOW; // TPS
|
||||
boardConfiguration->adcHwChannelEnabled[15] = ADC_FAST; // TPS
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -556,9 +556,9 @@ void updateTunerStudioState(TunerStudioOutputChannels *tsOutputChannels DECLARE_
|
|||
tsOutputChannels->manifold_air_pressure = getMap();
|
||||
tsOutputChannels->engineLoad = engineLoad;
|
||||
tsOutputChannels->rpmAcceleration = engine->rpmCalculator.getRpmAcceleration();
|
||||
tsOutputChannels->maxDelta = engine->accelEnrichment.maxDelta;
|
||||
tsOutputChannels->minDelta = engine->accelEnrichment.minDelta;
|
||||
tsOutputChannels->currentMapAccelDelta = engine->accelEnrichment.getEnrichment(PASS_ENGINE_PARAMETER_F) * 100 / getMap();
|
||||
tsOutputChannels->maxDelta = engine->mapAccelEnrichment.maxDelta;
|
||||
tsOutputChannels->minDelta = engine->mapAccelEnrichment.minDelta;
|
||||
tsOutputChannels->currentMapAccelDelta = engine->mapAccelEnrichment.getMapEnrichment(PASS_ENGINE_PARAMETER_F) * 100 / getMap();
|
||||
|
||||
tsOutputChannels->checkEngine = hasErrorCodes();
|
||||
#if EFI_PROD_CODE || defined(__DOXYGEN__)
|
||||
|
|
|
@ -21,8 +21,6 @@ EXTERN_ENGINE
|
|||
//static THD_WORKING_AREA(aeThreadStack, UTILITY_THREAD_STACK_SIZE);
|
||||
//#endif
|
||||
|
||||
static AccelEnrichmemnt mapInstance;
|
||||
static AccelEnrichmemnt tpsInstance;
|
||||
static Logging *logger;
|
||||
|
||||
void AccelEnrichmemnt::updateDiffEnrichment(engine_configuration_s *engineConfiguration, float engineLoad) {
|
||||
|
@ -39,7 +37,7 @@ void AccelEnrichmemnt::updateDiffEnrichment(engine_configuration_s *engineConfig
|
|||
// return diffEnrichment;
|
||||
//}
|
||||
|
||||
float AccelEnrichmemnt::getEnrichment(DECLARE_ENGINE_PARAMETER_F) {
|
||||
float AccelEnrichmemnt::getMapEnrichment(DECLARE_ENGINE_PARAMETER_F) {
|
||||
float d = cb.maxValue(cb.getSize());
|
||||
if (d > engineConfiguration->mapAccelEnrichmentThreshold) {
|
||||
return d * engineConfiguration->mapAccelEnrichmentMultiplier;
|
||||
|
@ -57,6 +55,11 @@ void AccelEnrichmemnt::reset() {
|
|||
currentEngineLoad = NAN;
|
||||
}
|
||||
|
||||
void AccelEnrichmemnt::onEngineCycleTps(DECLARE_ENGINE_PARAMETER_F) {
|
||||
float tps = getTPS();
|
||||
cb.add(delta);
|
||||
}
|
||||
|
||||
void AccelEnrichmemnt::onEngineCycle(DECLARE_ENGINE_PARAMETER_F) {
|
||||
float currentEngineLoad = getEngineLoadT(PASS_ENGINE_PARAMETER_F);
|
||||
|
||||
|
@ -105,11 +108,11 @@ AccelEnrichmemnt::AccelEnrichmemnt() {
|
|||
#if ! EFI_UNIT_TEST || defined(__DOXYGEN__)
|
||||
|
||||
static void accelInfo() {
|
||||
scheduleMsg(logger, "MAP accel length=%d", mapInstance.cb.getSize());
|
||||
// scheduleMsg(logger, "MAP accel length=%d", mapInstance.cb.getSize());
|
||||
scheduleMsg(logger, "MAP accel th=%f/mult=%f", engineConfiguration->mapAccelEnrichmentThreshold, engineConfiguration->mapAccelEnrichmentMultiplier);
|
||||
scheduleMsg(logger, "MAP decel th=%f/mult=%f", engineConfiguration->decelEnrichmentThreshold, engineConfiguration->decelEnrichmentMultiplier);
|
||||
|
||||
scheduleMsg(logger, "TPS accel length=%d", tpsInstance.cb.getSize());
|
||||
// scheduleMsg(logger, "TPS accel length=%d", tpsInstance.cb.getSize());
|
||||
scheduleMsg(logger, "TPS accel th=%f/mult=%f", engineConfiguration->tpsAccelEnrichmentThreshold, engineConfiguration->tpsAccelEnrichmentMultiplier);
|
||||
}
|
||||
|
||||
|
@ -144,12 +147,12 @@ static void setDecelMult(float value) {
|
|||
}
|
||||
|
||||
static void setTpsAccelLen(int len) {
|
||||
tpsInstance.cb.setSize(len);
|
||||
engine->tpsAccelEnrichment.cb.setSize(len);
|
||||
accelInfo();
|
||||
}
|
||||
|
||||
static void setMapAccelLen(int len) {
|
||||
mapInstance.cb.setSize(len);
|
||||
engine->mapAccelEnrichment.cb.setSize(len);
|
||||
accelInfo();
|
||||
}
|
||||
|
||||
|
|
|
@ -20,10 +20,12 @@ public:
|
|||
AccelEnrichmemnt();
|
||||
void updateDiffEnrichment(engine_configuration_s *engineConfiguration,
|
||||
float engineLoad);
|
||||
float getEnrichment(DECLARE_ENGINE_PARAMETER_F);
|
||||
float getMapEnrichment(DECLARE_ENGINE_PARAMETER_F);
|
||||
float getTpsEnrichment(DECLARE_ENGINE_PARAMETER_F);
|
||||
// float getDiffEnrichment(void);
|
||||
|
||||
void onEngineCycle(DECLARE_ENGINE_PARAMETER_F);
|
||||
void onEngineCycleTps(DECLARE_ENGINE_PARAMETER_F);
|
||||
void reset();
|
||||
float currentEngineLoad;
|
||||
float maxDelta;
|
||||
|
|
|
@ -133,7 +133,8 @@ public:
|
|||
Thermistor iat;
|
||||
Thermistor clt;
|
||||
|
||||
AccelEnrichmemnt accelEnrichment;
|
||||
AccelEnrichmemnt mapAccelEnrichment;
|
||||
AccelEnrichmemnt tpsAccelEnrichment;
|
||||
|
||||
/**
|
||||
* Fuel injection duration for current engine cycle
|
||||
|
|
|
@ -76,7 +76,7 @@ float getBaseFuel(int rpm DECLARE_ENGINE_PARAMETER_S) {
|
|||
if (engineConfiguration->algorithm == LM_SPEED_DENSITY) {
|
||||
return getSpeedDensityFuel(rpm PASS_ENGINE_PARAMETER);
|
||||
} else if (engineConfiguration->algorithm == LM_REAL_MAF) {
|
||||
float maf = getRealMaf(PASS_ENGINE_PARAMETER_F) + engine->accelEnrichment.getEnrichment(PASS_ENGINE_PARAMETER_F);
|
||||
float maf = getRealMaf(PASS_ENGINE_PARAMETER_F) + engine->mapAccelEnrichment.getMapEnrichment(PASS_ENGINE_PARAMETER_F);
|
||||
return getRealMafFuel(maf, rpm PASS_ENGINE_PARAMETER);
|
||||
} else {
|
||||
float engineLoad = getEngineLoadT(PASS_ENGINE_PARAMETER_F);
|
||||
|
|
|
@ -395,7 +395,8 @@ static void setFloat(const char *offsetStr, const char *valueStr) {
|
|||
|
||||
#if EFI_PROD_CODE || defined(__DOXYGEN__)
|
||||
static void resetAccel(void) {
|
||||
engine->accelEnrichment.reset();
|
||||
engine->mapAccelEnrichment.reset();
|
||||
engine->tpsAccelEnrichment.reset();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -85,7 +85,7 @@ float getSpeedDensityFuel(int rpm DECLARE_ENGINE_PARAMETER_S) {
|
|||
float coolantC = engine->engineState.clt;
|
||||
float intakeC = engine->engineState.iat;
|
||||
float tChargeK = convertCelsiusToKelvin(getTCharge(rpm, tps, coolantC, intakeC));
|
||||
float map = getMap() + engine->accelEnrichment.getEnrichment(PASS_ENGINE_PARAMETER_F);
|
||||
float map = getMap() + engine->mapAccelEnrichment.getMapEnrichment(PASS_ENGINE_PARAMETER_F);
|
||||
/**
|
||||
* *0.01 because of https://sourceforge.net/p/rusefi/tickets/153/
|
||||
*/
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
*/
|
||||
static tps_roc_s states[2];
|
||||
|
||||
int tpsFastAdc = 0;
|
||||
|
||||
static volatile int tpsRocIndex = 0;
|
||||
|
||||
/**
|
||||
|
@ -85,6 +87,10 @@ int getTPS10bitAdc(DECLARE_ENGINE_PARAMETER_F) {
|
|||
#endif
|
||||
if(engineConfiguration->tpsAdcChannel==EFI_ADC_NONE)
|
||||
return -1;
|
||||
#if EFI_PROD_CODE
|
||||
if(boardConfiguration->adcHwChannelEnabled[engineConfiguration->tpsAdcChannel]==ADC_FAST)
|
||||
return tpsFastAdc / 4;
|
||||
#endif /* EFI_PROD_CODE */
|
||||
int adc = getAdcValue(engineConfiguration->tpsAdcChannel);
|
||||
return (int) adc / 4; // Only for TunerStudio compatibility. Max TS adc value in 1023
|
||||
}
|
||||
|
|
|
@ -357,7 +357,7 @@ void mainTriggerCallback(trigger_event_e ckpSignalType, uint32_t eventIndex DECL
|
|||
}
|
||||
|
||||
if (eventIndex == 0) {
|
||||
engine->accelEnrichment.onEngineCycle(PASS_ENGINE_PARAMETER_F);
|
||||
engine->mapAccelEnrichment.onEngineCycle(PASS_ENGINE_PARAMETER_F);
|
||||
engine->m.beforeFuelCalc = GET_TIMESTAMP();
|
||||
ENGINE(fuelMs) = getFuelMs(rpm PASS_ENGINE_PARAMETER) * engineConfiguration->globalFuelCorrection;
|
||||
engine->m.fuelCalcTime = GET_TIMESTAMP() - engine->m.beforeFuelCalc;
|
||||
|
|
|
@ -140,6 +140,8 @@ static int fastMapSampleIndex;
|
|||
static int hipSampleIndex;
|
||||
static int tpsSampleIndex;
|
||||
|
||||
extern int tpsFastAdc;
|
||||
|
||||
/**
|
||||
* This method is not in the adc* lower-level file because it is more business logic then hardware.
|
||||
*/
|
||||
|
@ -167,7 +169,7 @@ void adc_callback_fast(ADCDriver *adcp, adcsample_t *buffer, size_t n) {
|
|||
}
|
||||
#endif
|
||||
if(tpsSampleIndex!=TPS_IS_SLOW) {
|
||||
|
||||
tpsFastAdc = fastAdc.samples[tpsSampleIndex];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue