diff --git a/firmware/rusefi.cpp b/firmware/rusefi.cpp index b303a78457..b383ee7186 100644 --- a/firmware/rusefi.cpp +++ b/firmware/rusefi.cpp @@ -166,6 +166,7 @@ void runRusEfi(void) { engine->setConfig(config); initIntermediateLoggingBuffer(); initErrorHandling(); + addConsoleAction("reboot", scheduleReboot); #if EFI_SHAFT_POSITION_INPUT || defined(__DOXYGEN__) /** @@ -181,6 +182,11 @@ void runRusEfi(void) { */ initDataStructures(PASS_ENGINE_PARAMETER_SIGNATURE); + /** + * First data structure keeps track of which hardware I/O pins are used by whom + */ + initPinRepository(); + /** * First thing is reading configuration from flash memory. * In order to have complete flexibility configuration has to go before anything else. @@ -189,18 +195,11 @@ void runRusEfi(void) { // TODO: need to fix this place!!! should be a version of PASS_ENGINE_PARAMETER_SIGNATURE somehow prepareVoidConfiguration(&activeConfiguration); - /** - * First data structure keeps track of which hardware I/O pins are used by whom - */ - initPinRepository(); - /** * Next we should initialize serial port console, it's important to know what's going on */ initializeConsole(&sharedLogger); - addConsoleAction("reboot", scheduleReboot); - /** * Initialize hardware drivers */ @@ -212,6 +211,7 @@ void runRusEfi(void) { * todo: should we initialize some? most? controllers before hardware? */ initEngineContoller(&sharedLogger PASS_ENGINE_PARAMETER_SIGNATURE); + rememberCurrentConfiguration(); #if EFI_PERF_METRICS || defined(__DOXYGEN__) initTimePerfActions(&sharedLogger); @@ -224,8 +224,6 @@ void runRusEfi(void) { runSchedulingPrecisionTestIfNeeded(); - rememberCurrentConfiguration(); - print("Running main loop\r\n"); main_loop_started = true; /**