static void tempTurnPinHigh(InjectorOutputPin *output) { output->overlappingCounter++; #if FUEL_MATH_EXTREME_LOGGING || defined(__DOXYGEN__) printf("seTurnPinHigh %s %d %d\r\n", output->name, output->overlappingCounter, (int)getTimeNowUs()); #endif /* FUEL_MATH_EXTREME_LOGGING */ if (output->overlappingCounter > 1) { // if (output->cancelNextTurningInjectorOff) { // // how comes AutoTest.testFordAspire ends up here? // } else { // /** // * #299 // * this is another kind of overlap which happens in case of a small duty cycle after a large duty cycle // */ #if FUEL_MATH_EXTREME_LOGGING || defined(__DOXYGEN__) printf("overlapping, no need to touch pin %s %d\r\n", output->name, (int)getTimeNowUs()); #endif /* FUEL_MATH_EXTREME_LOGGING */ // output->cancelNextTurningInjectorOff = true; return; // } } #if FUEL_MATH_EXTREME_LOGGING || defined(__DOXYGEN__) const char * w = output->currentLogicValue == true ? "err" : ""; // scheduleMsg(&sharedLogger, "^ %spin=%s eventIndex %d %d", w, output->name, // getRevolutionCounter(), getTimeNowUs()); #endif /* FUEL_MATH_EXTREME_LOGGING */ turnPinHigh(output); }
static void startSimultaniousInjection(InjectionEvent *event) { #if EFI_UNIT_TEST || defined(__DOXYGEN__) Engine *engine = event->engine; #endif for (int i = 0; i < engine->engineConfiguration->specs.cylindersCount; i++) { turnPinHigh(&enginePins.injectors[i]); } }
static void startIntegration(void) { if (state == READY_TO_INTEGRATE) { /** * SPI communication is only allowed while not integrating, so we postpone the exchange * until we are done integrating */ state = IS_INTEGRATING; turnPinHigh(&intHold); } }
static void startSimultaniousInjection(Engine *engine) { for (int i = 0; i < engine->engineConfiguration->specs.cylindersCount; i++) { turnPinHigh(&enginePins.injectors[i]); } }