diff --git a/firmware/console/status_loop.cpp b/firmware/console/status_loop.cpp index 547d790dc0..f27c062b9e 100644 --- a/firmware/console/status_loop.cpp +++ b/firmware/console/status_loop.cpp @@ -192,7 +192,8 @@ static void printSensors(Logging *log, bool fileFormat) { float vehicleSpeed = 0; #endif /* EFI_PROD_CODE */ reportSensorF(log, fileFormat, "vss", "kph", vehicleSpeed, 2); - reportSensorF(log, fileFormat, "sp2rpm", "x", vehicleSpeed / rpm, 2); + float sp2rpm = rpm == 0 ? 0 : vehicleSpeed / rpm; + reportSensorF(log, fileFormat, "sp2rpm", "x", sp2rpm, 2); } reportSensorI(log, fileFormat, "warn", "count", engine->engineState.warningCounter); diff --git a/firmware/controllers/algo/engine.cpp b/firmware/controllers/algo/engine.cpp index 3ae72a2890..7f9647d63c 100644 --- a/firmware/controllers/algo/engine.cpp +++ b/firmware/controllers/algo/engine.cpp @@ -97,6 +97,7 @@ Engine::Engine(persistent_config_s *config) { engineState.warmupAfrPid.init(&config->engineConfiguration.warmupAfrPid, 0.5, 1.5); isEngineChartEnabled = false; sensorChartMode = SC_OFF; + actualLastInjection = 0; /** * it's important for fixAngle() that engineCycle field never has zero */ diff --git a/firmware/controllers/algo/event_registry.cpp b/firmware/controllers/algo/event_registry.cpp index b3fd43b46d..78703c8224 100644 --- a/firmware/controllers/algo/event_registry.cpp +++ b/firmware/controllers/algo/event_registry.cpp @@ -27,6 +27,7 @@ InjectionEvent::InjectionEvent() { isSimultanious = false; isOverlapping = false; + injectorIndex = 0; } event_trigger_position_s::event_trigger_position_s() { diff --git a/firmware/controllers/core/fsio_core.cpp b/firmware/controllers/core/fsio_core.cpp index c6b29953bd..875cf5e5bc 100644 --- a/firmware/controllers/core/fsio_core.cpp +++ b/firmware/controllers/core/fsio_core.cpp @@ -97,6 +97,7 @@ void LECalculator::reset() { first = NULL; stack.reset(); currentCalculationLogPosition = 0; + memset(calcLogAction, 0, sizeof(calcLogAction)); } void LECalculator::reset(LEElement *element) {