void initInjectorCentral(Logging *sharedLogger) { logger = sharedLogger; chThdCreateStatic(benchThreadStack, sizeof(benchThreadStack), NORMALPRIO, (tfunc_t) benchThread, NULL); for (int i = 0; i < engineConfiguration->specs.cylindersCount; i++) { is_injector_enabled[i] = true; } startInjectionPins(); startIgnitionPins(); printStatus(); addConsoleActionII("injector", setInjectorEnabled); addConsoleAction("fuelpumpbench", fuelPumpBench); addConsoleActionS("fuelpumpbench2", fuelPumpBenchExt); addConsoleAction("fanbench", fanBench); addConsoleAction("milbench", milBench); addConsoleActionSSS("fuelbench", fuelbench); addConsoleActionSSS("sparkbench", sparkbench); addConsoleActionSSSSS("fuelbench2", fuelbench2); addConsoleActionSSSSS("sparkbench2", sparkbench2); }
void initInjectorCentral(void) { initLogging(&logger, "InjectorCentral"); chThdCreateStatic(benchThreadStack, sizeof(benchThreadStack), NORMALPRIO, (tfunc_t) benchThread, NULL); for (int i = 0; i < engineConfiguration->cylindersCount; i++) { is_injector_enabled[i] = true; } // todo: should we move this code closer to the injection logic? for (int i = 0; i < engineConfiguration->cylindersCount; i++) { io_pin_e pin = (io_pin_e) ((int) INJECTOR_1_OUTPUT + i); outputPinRegisterExt2(getPinName(pin), pin, boardConfiguration->injectionPins[i], &boardConfiguration->injectionPinMode); } printStatus(); addConsoleActionII("injector", setInjectorEnabled); addConsoleActionII("fuelpumpbench", &fuelpumpbench); addConsoleActionSSS("fuelbench", &fuelbench); addConsoleActionSSS("sparkbench", &sparkbench); addConsoleActionSSSSS("fuelbench2", &fuelbench2); addConsoleActionSSSSS("sparkbench2", &sparkbench2); }