diff --git a/firmware/bootloader/src/rusefi_stubs.cpp b/firmware/bootloader/src/rusefi_stubs.cpp index 5c455eacea..fa3e79bfe1 100644 --- a/firmware/bootloader/src/rusefi_stubs.cpp +++ b/firmware/bootloader/src/rusefi_stubs.cpp @@ -9,8 +9,6 @@ * The whole idea of bootloader is to make it as small as possible. And reasonably independent. */ -int maxNesting = 0; - void chDbgPanic3(const char */*msg*/, const char * /*file*/, int /*line*/) { } diff --git a/firmware/console/console_io.cpp b/firmware/console/console_io.cpp index bdc1a6fc73..085b3aa4c2 100644 --- a/firmware/console/console_io.cpp +++ b/firmware/console/console_io.cpp @@ -39,9 +39,6 @@ extern SerialUSBDriver SDU1; // 10 seconds #define CONSOLE_WRITE_TIMEOUT 10000 -int lastWriteSize; -int lastWriteActual; - static bool isSerialConsoleStarted = false; static event_listener_t consoleEventListener; @@ -253,11 +250,8 @@ void consolePutChar(int x) { } void consoleOutputBuffer(const uint8_t *buf, int size) { - lastWriteSize = size; #if !EFI_UART_ECHO_TEST_MODE - lastWriteActual = chnWriteTimeout(getConsoleChannel(), buf, size, CONSOLE_WRITE_TIMEOUT); -// if (r != size) -// firmwareError(OBD_PCM_Processor_Fault, "Partial console write"); + chnWriteTimeout(getConsoleChannel(), buf, size, CONSOLE_WRITE_TIMEOUT); #endif /* EFI_UART_ECHO_TEST_MODE */ } diff --git a/firmware/controllers/actuators/alternator_controller.cpp b/firmware/controllers/actuators/alternator_controller.cpp index a3c3452089..ed66d91ac3 100644 --- a/firmware/controllers/actuators/alternator_controller.cpp +++ b/firmware/controllers/actuators/alternator_controller.cpp @@ -36,8 +36,7 @@ EXTERN_ENGINE static Logging *logger; static SimplePwm alternatorControl("alt"); -static pid_s *altPidS = &persistentState.persistentConfiguration.engineConfiguration.alternatorControl; -static PidIndustrial alternatorPid(altPidS); +static PidIndustrial alternatorPid(&persistentState.persistentConfiguration.engineConfiguration.alternatorControl); static percent_t currentAltDuty; diff --git a/firmware/controllers/actuators/aux_pid.cpp b/firmware/controllers/actuators/aux_pid.cpp index 7bd367d806..91c6df24c7 100644 --- a/firmware/controllers/actuators/aux_pid.cpp +++ b/firmware/controllers/actuators/aux_pid.cpp @@ -57,8 +57,7 @@ public: void init(int index) { this->index = index; - pid_s *auxPidS = &persistentState.persistentConfiguration.engineConfiguration.auxPid[index]; - auxPid.initPidClass(auxPidS); + auxPid.initPidClass(&persistentState.persistentConfiguration.engineConfiguration.auxPid[index]); table = getFSIOTable(index); } diff --git a/firmware/controllers/actuators/boost_control.cpp b/firmware/controllers/actuators/boost_control.cpp index fecd204692..529b596164 100644 --- a/firmware/controllers/actuators/boost_control.cpp +++ b/firmware/controllers/actuators/boost_control.cpp @@ -37,8 +37,7 @@ static Logging *logger; static boostOpenLoop_Map3D_t boostMapOpen("boostmapopen", 1); static boostOpenLoop_Map3D_t boostMapClosed("boostmapclosed", 1); static SimplePwm boostPwmControl("boost"); -static pid_s *boostPidS = &persistentState.persistentConfiguration.engineConfiguration.boostPid; -static Pid boostControlPid(boostPidS); +static Pid boostControlPid(&persistentState.persistentConfiguration.engineConfiguration.boostPid); static bool shouldResetPid = false; diff --git a/firmware/controllers/engine_cycle/main_trigger_callback.cpp b/firmware/controllers/engine_cycle/main_trigger_callback.cpp index 21ff61b808..2f226cda97 100644 --- a/firmware/controllers/engine_cycle/main_trigger_callback.cpp +++ b/firmware/controllers/engine_cycle/main_trigger_callback.cpp @@ -64,8 +64,7 @@ static InjectionEvent primeInjEvent; static Logging *logger; #if ! EFI_UNIT_TEST -static pid_s *fuelPidS = &persistentState.persistentConfiguration.engineConfiguration.fuelClosedLoopPid; -static Pid fuelPid(fuelPidS); +static Pid fuelPid(&persistentState.persistentConfiguration.engineConfiguration.fuelClosedLoopPid); #endif // todo: figure out if this even helps? diff --git a/firmware/controllers/gauges/lcd_controller.cpp b/firmware/controllers/gauges/lcd_controller.cpp index 98e16ec5e6..634de2ff55 100644 --- a/firmware/controllers/gauges/lcd_controller.cpp +++ b/firmware/controllers/gauges/lcd_controller.cpp @@ -130,64 +130,6 @@ void initLcdController(void) { msObjectInit(&lcdLineStream, (uint8_t *) lcdLineBuffer, sizeof(lcdLineBuffer), 0); } -static const char* ignitionModeStr[] = { "1C", "IND", "WS" }; -static const char* injectionModeStr[] = { "Sim", "Seq", "Bch" }; -static const char* idleModeStr[] = { "I:A", "I:M" }; - -//static const char *getPinShortName(io_pin_e pin) { -// switch (pin) { -// case ALTERNATOR_SWITCH: -// return "AL"; -// case FUEL_PUMP_RELAY: -// return "FP"; -// case FAN_RELAY: -// return "FN"; -// case O2_HEATER: -// return "O2H"; -// default: -// firmwareError(OBD_PCM_Processor_Fault, "No short name for %d", (int) pin); -// return ""; -// } -//} - -//char * appendPinStatus(char *buffer, io_pin_e pin) { -// char *ptr = appendStr(buffer, getPinShortName(pin)); -// int state = getOutputPinValue(pin); -// // todo: should we handle INITIAL_PIN_STATE? -// if (state) { -// return appendStr(ptr, ":Y "); -// } else { -// return appendStr(ptr, ":n "); -// } -//} - -#if 0 -static char * prepareInfoLine(engine_configuration_s *engineConfiguration, char *buffer) { - char *ptr = buffer; - - ptr = appendStr(ptr, " "); - ptr = appendStr(ptr, ignitionModeStr[engineConfiguration->ignitionMode]); - - ptr = appendStr(ptr, " "); - ptr = appendStr(ptr, injectionModeStr[engineConfiguration->injectionMode]); - - ptr = appendStr(ptr, " "); - ptr = appendStr(ptr, idleModeStr[engineConfiguration->idleMode]); - - ptr = appendStr(ptr, " "); - return ptr; -} -#endif - -//static char * prepareStatusLine(char *buffer) { -// char *ptr = buffer; -// -// ptr = appendPinStatus(ptr, FUEL_PUMP_RELAY); -// ptr = appendPinStatus(ptr, FAN_RELAY); -// ptr = appendPinStatus(ptr, O2_HEATER); -// return ptr; -//} - static char buffer[MAX_LCD_WIDTH + 4]; static void lcdPrintf(const char *fmt, ...) { diff --git a/firmware/controllers/sensors/ego.cpp b/firmware/controllers/sensors/ego.cpp index 7d7a282591..7fdfffa110 100644 --- a/firmware/controllers/sensors/ego.cpp +++ b/firmware/controllers/sensors/ego.cpp @@ -43,9 +43,10 @@ static const float maxAfrDeviation = 5.0f; // 9.7..19.7 static const int minAvgSize = (EGO_AVG_BUF_SIZE / 2); // ~0.6 sec for 20ms period of 'fast' callback, and it matches a lag time of most narrow EGOs static const int maxAvgSize = (EGO_AVG_BUF_SIZE - 1); // the whole buffer +#ifdef EFI_NARROW_EGO_AVERAGING // we store the last measured AFR value to predict the current averaging window size static float lastAfr = stoichAfr; - +#endif void initEgoAveraging(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // Our averaging is intended for use only with Narrow EGOs. diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index 5ca5f36b47..3e0377ffbd 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -58,7 +58,6 @@ extern WaveChart waveChart; static char LOGGING_BUFFER[SETTINGS_LOGGING_BUFFER_SIZE]; static Logging logger("settings control", LOGGING_BUFFER, sizeof(LOGGING_BUFFER)); -extern int maxNesting; EXTERN_ENGINE ; @@ -279,8 +278,6 @@ void printConfiguration(const engine_configuration_s *engineConfiguration) { scheduleMsg(&logger, "clutchDown@%s: %s", hwPortname(engineConfiguration->clutchDownPin), boolToString(engine->clutchDownState)); - scheduleMsg(&logger, "nesting=%d", maxNesting); - scheduleMsg(&logger, "digitalPotentiometerSpiDevice %d", engineConfiguration->digitalPotentiometerSpiDevice); for (int i = 0; i < DIGIPOT_COUNT; i++) { diff --git a/firmware/controllers/trigger/trigger_central.cpp b/firmware/controllers/trigger/trigger_central.cpp index 4fc972fe45..9045ac2031 100644 --- a/firmware/controllers/trigger/trigger_central.cpp +++ b/firmware/controllers/trigger/trigger_central.cpp @@ -194,9 +194,6 @@ int maxTriggerReentraint = 0; uint32_t triggerDuration; uint32_t triggerMaxDuration = 0; -static bool isInsideTriggerHandler = false; - - void hwHandleShaftSignal(trigger_event_e signal, efitick_t timestamp) { ScopePerf perf(PE::HandleShaftSignal, static_cast(signal)); @@ -215,15 +212,15 @@ void hwHandleShaftSignal(trigger_event_e signal, efitick_t timestamp) { } } uint32_t triggerHandlerEntryTime = getTimeNowLowerNt(); - isInsideTriggerHandler = true; if (triggerReentraint > maxTriggerReentraint) maxTriggerReentraint = triggerReentraint; triggerReentraint++; + efiAssertVoid(CUSTOM_ERR_6636, getCurrentRemainingStack() > 128, "lowstck#8"); engine->triggerCentral.handleShaftSignal(signal, timestamp PASS_ENGINE_PARAMETER_SUFFIX); + triggerReentraint--; triggerDuration = getTimeNowLowerNt() - triggerHandlerEntryTime; - isInsideTriggerHandler = false; if (triggerDuration > triggerMaxDuration) triggerMaxDuration = triggerDuration; } diff --git a/firmware/hw_layer/hardware.cpp b/firmware/hw_layer/hardware.cpp index 6c6e17a241..997956d8ba 100644 --- a/firmware/hw_layer/hardware.cpp +++ b/firmware/hw_layer/hardware.cpp @@ -67,18 +67,6 @@ extern bool hasFirmwareErrorFlag; static mutex_t spiMtx; -/** - * this depends on patch to chdebug.c -+extern int maxNesting; - ch.dbg.isr_cnt++; -+ if (ch.dbg.isr_cnt > maxNesting) -+ maxNesting = ch.dbg.isr_cnt; - port_unlock_from_isr(); - * - */ -// todo: rename this to 'rusefiMaxISRNesting' one day -int maxNesting = 0; - #if HAL_USE_SPI extern bool isSpiInitialized[5]; diff --git a/firmware/hw_layer/mc33816_data.c b/firmware/hw_layer/mc33816_data.c index d61ed2b85c..54faeb7b9a 100644 --- a/firmware/hw_layer/mc33816_data.c +++ b/firmware/hw_layer/mc33816_data.c @@ -3,6 +3,9 @@ * */ +#include "global.h" + +#if EFI_MC33816 // Data to be loaded into the Code RAM 1 memory space const unsigned short MC33816_code_RAM1[62] = @@ -85,3 +88,5 @@ const unsigned short MC33816_diag_config[44] = 0x001E, 0x0000, 0x0000, 0x001E, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001 }; + +#endif // EFI_MC33816 diff --git a/simulator/simulator/rusEfiFunctionalTest.cpp b/simulator/simulator/rusEfiFunctionalTest.cpp index 6b2a8c9733..f3706036a4 100644 --- a/simulator/simulator/rusEfiFunctionalTest.cpp +++ b/simulator/simulator/rusEfiFunctionalTest.cpp @@ -141,8 +141,6 @@ void printPendingMessages(void) { int isSerialOverTcpReady; -int maxNesting = 0; - bool isCommandLineConsoleReady(void) { return isSerialOverTcpReady; }