From f292c4ccb28292562760a44b0a17d071b4e9e329 Mon Sep 17 00:00:00 2001 From: rusefi Date: Fri, 31 Aug 2018 21:11:22 -0400 Subject: [PATCH] reducing code duplication and applying event condition more consistently --- firmware/controllers/engine_controller.cpp | 2 +- firmware/controllers/system/efiGpio.cpp | 13 ++----------- firmware/controllers/trigger/rpm_calculator.cpp | 2 +- firmware/controllers/trigger/rpm_calculator.h | 2 +- firmware/controllers/trigger/trigger_central.cpp | 4 +--- 5 files changed, 6 insertions(+), 17 deletions(-) diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index bcb7e586af..00fd357b83 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -733,5 +733,5 @@ int getRusEfiVersion(void) { if (initBootloader() != 0) return 123; #endif /* EFI_BOOTLOADER_INCLUDE_CODE */ - return 20180819; + return 20180831; } diff --git a/firmware/controllers/system/efiGpio.cpp b/firmware/controllers/system/efiGpio.cpp index ecb9f2b6a2..97b5841902 100644 --- a/firmware/controllers/system/efiGpio.cpp +++ b/firmware/controllers/system/efiGpio.cpp @@ -210,17 +210,10 @@ void NamedOutputPin::setHigh() { // turn the output level ACTIVE setValue(true); - // sleep for the needed duration #if EFI_ENGINE_SNIFFER || defined(__DOXYGEN__) - // explicit check here is a performance optimization to speed up no-chart mode - if (ENGINE(isEngineChartEnabled)) { -// dbgDurr = hal_lld_get_counter_value() - dbgStart; - - addEngineSniffferEvent(name, WC_UP); - } + addEngineSniffferEvent(name, WC_UP); #endif /* EFI_ENGINE_SNIFFER */ -// dbgDurr = hal_lld_get_counter_value() - dbgStart; } void NamedOutputPin::setLow() { @@ -234,9 +227,7 @@ void NamedOutputPin::setLow() { #endif /* EFI_DEFAILED_LOGGING */ #if EFI_ENGINE_SNIFFER || defined(__DOXYGEN__) - if (ENGINE(isEngineChartEnabled)) { - addEngineSniffferEvent(name, WC_DOWN); - } + addEngineSniffferEvent(name, WC_DOWN); #endif /* EFI_ENGINE_SNIFFER */ } diff --git a/firmware/controllers/trigger/rpm_calculator.cpp b/firmware/controllers/trigger/rpm_calculator.cpp index e9b886d5b3..45b09e2869 100644 --- a/firmware/controllers/trigger/rpm_calculator.cpp +++ b/firmware/controllers/trigger/rpm_calculator.cpp @@ -324,7 +324,7 @@ static void tdcMarkCallback(trigger_event_e ckpSignalType, if (isTriggerSynchronizationPoint && ENGINE(isEngineChartEnabled)) { int revIndex2 = engine->rpmCalculator.getRevolutionCounter() % 2; int rpm = ENGINE(rpmCalculator.getRpm(PASS_ENGINE_PARAMETER_SIGNATURE)); - // todo: use event-based scheduling, not just time-based scheduling + // todo: use tooth event-based scheduling, not just time-based scheduling if (isValidRpm(rpm)) { scheduleByAngle(rpm, &tdcScheduler[revIndex2], tdcPosition(), (schfunc_t) onTdcCallback, NULL, &engine->rpmCalculator); diff --git a/firmware/controllers/trigger/rpm_calculator.h b/firmware/controllers/trigger/rpm_calculator.h index 7b266bde1f..c6263fd640 100644 --- a/firmware/controllers/trigger/rpm_calculator.h +++ b/firmware/controllers/trigger/rpm_calculator.h @@ -177,7 +177,7 @@ int getRevolutionCounter(void); #define isValidRpm(rpm) ((rpm) > 0 && (rpm) < UNREALISTIC_RPM) #if EFI_ENGINE_SNIFFER -#define addEngineSniffferEvent(name, msg) waveChart.addEvent3((name), (msg)) +#define addEngineSniffferEvent(name, msg) if (ENGINE(isEngineChartEnabled)) { waveChart.addEvent3((name), (msg)); } #else #define addEngineSniffferEvent(n, msg) {} #endif /* EFI_ENGINE_SNIFFER */ diff --git a/firmware/controllers/trigger/trigger_central.cpp b/firmware/controllers/trigger/trigger_central.cpp index aab9f082a1..caadb57d43 100644 --- a/firmware/controllers/trigger/trigger_central.cpp +++ b/firmware/controllers/trigger/trigger_central.cpp @@ -88,9 +88,7 @@ static efitick_t previousVvtCamTime = 0; static efitick_t previousVvtCamDuration = 0; void hwHandleVvtCamSignal(trigger_value_e front) { - if (ENGINE(isEngineChartEnabled)) { - addEngineSniffferEvent(VVT_NAME, front == TV_RISE ? WC_UP : WC_DOWN); - } + addEngineSniffferEvent(VVT_NAME, front == TV_RISE ? WC_UP : WC_DOWN); if (boardConfiguration->vvtCamSensorUseRise ^ (front != TV_FALL)) { return;