fixed #370
This commit is contained in:
parent
55968c277a
commit
68dcd2396c
|
@ -5,6 +5,7 @@ current binaries are always available at http://rusefi.com/build_server/
|
|||
|
||||
| Release date | Revision | Details |
|
||||
| ------------ | --------- | ------- |
|
||||
| 03/09/2017 | r13146 | bugfix #370: duty cycle vs error code 6050 |
|
||||
| 03/06/2017 | r13123 | bugfix #363: 2/1 skipped wheel is a corner-case |
|
||||
| 03/05/2017 | r13108 | bugfix #363: trigger front only processing |
|
||||
| 02/22/2017 | r12980 | bugfix: false error message in case of single coin or simultaneous injection |
|
||||
|
|
|
@ -40,7 +40,6 @@ floatms_t getEngineCycleDuration(int rpm DECLARE_ENGINE_PARAMETER_S) {
|
|||
return getCrankshaftRevolutionTimeMs(rpm) * (engineConfiguration->operationMode == TWO_STROKE ? 1 : 2);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return number of milliseconds in one crank shaft revolution
|
||||
*/
|
||||
|
|
|
@ -269,16 +269,14 @@ static ALWAYS_INLINE void handleFuelInjectionEvent(int injEventIndex, InjectionE
|
|||
printf("fuel fuelMs=%f adjusted=%f\t\n", ENGINE(fuelMs), injectionDuration);
|
||||
#endif /*EFI_PRINTF_FUEL_DETAILS */
|
||||
|
||||
if (injectionDuration > getCrankshaftRevolutionTimeMs(rpm)) {
|
||||
warning(CUSTOM_TOO_LONG_FUEL_INJECTION, "Too long fuel injection");
|
||||
}
|
||||
|
||||
// todo: pre-calculate 'numberOfInjections'
|
||||
floatms_t totalPerCycle = injectionDuration * getNumberOfInjections(engineConfiguration->injectionMode PASS_ENGINE_PARAMETER);
|
||||
floatus_t engineCycleDuration = engine->rpmCalculator.oneDegreeUs * engine->engineCycle;
|
||||
if (MS2US(totalPerCycle) > engineCycleDuration) {
|
||||
warning(CUSTOM_OBD_26, "injector duty cycle too high %fms @ %d", totalPerCycle,
|
||||
getRevolutionCounter());
|
||||
/**
|
||||
* todo: pre-calculate 'numberOfInjections'
|
||||
* see also injectorDutyCycle
|
||||
*/
|
||||
if (!isCrankingR(rpm) && injectionDuration * getNumberOfInjections(engineConfiguration->injectionMode PASS_ENGINE_PARAMETER) > getEngineCycleDuration(rpm PASS_ENGINE_PARAMETER)) {
|
||||
warning(CUSTOM_TOO_LONG_FUEL_INJECTION, "Too long fuel injection %fms", injectionDuration);
|
||||
} else if (isCrankingR(rpm) && injectionDuration * getNumberOfInjections(engineConfiguration->crankingInjectionMode PASS_ENGINE_PARAMETER) > getEngineCycleDuration(rpm PASS_ENGINE_PARAMETER)) {
|
||||
warning(CUSTOM_TOO_LONG_CRANKING_FUEL_INJECTION, "Too long cranking fuel injection %fms", injectionDuration);
|
||||
}
|
||||
|
||||
ENGINE(actualLastInjection) = injectionDuration;
|
||||
|
|
Loading…
Reference in New Issue