From 4aa8ea481e4fbceafd2ca96a270090f00710a15b Mon Sep 17 00:00:00 2001 From: rusEfi Date: Thu, 16 Oct 2014 03:02:58 -0500 Subject: [PATCH] auto-sync --- firmware/console/status_loop.cpp | 1 + firmware/console/tunerstudio/tunerstudio_configuration.h | 2 +- firmware/controllers/engine_controller.cpp | 2 +- firmware/controllers/engine_controller.h | 8 ++++++++ firmware/controllers/trigger/rpm_calculator.cpp | 8 ++++++-- firmware/controllers/trigger/rpm_calculator.h | 1 + firmware/rusefi.cpp | 2 +- 7 files changed, 19 insertions(+), 5 deletions(-) diff --git a/firmware/console/status_loop.cpp b/firmware/console/status_loop.cpp index 35724bb82a..2ed580d16e 100644 --- a/firmware/console/status_loop.cpp +++ b/firmware/console/status_loop.cpp @@ -386,6 +386,7 @@ void updateTunerStudioState(TunerStudioOutputChannels *tsOutputChannels) { tsOutputChannels->ignition_enabled = engineConfiguration->isIgnitionEnabled; tsOutputChannels->injection_enabled = engineConfiguration->isInjectionEnabled; tsOutputChannels->cylinder_cleanup_enabled = engineConfiguration->isCylinderCleanupEnabled; + tsOutputChannels->cylinder_cleanup_activated = engineConfiguration2->isCylinderCleanupMode; tsOutputChannels->secondTriggerChannelEnabled = engineConfiguration->secondTriggerChannelEnabled; tsOutputChannels->isCltError = !isValidCoolantTemperature(getCoolantTemperature(engineConfiguration2)); diff --git a/firmware/console/tunerstudio/tunerstudio_configuration.h b/firmware/console/tunerstudio/tunerstudio_configuration.h index 2ef32f59ef..1981b34c57 100644 --- a/firmware/console/tunerstudio/tunerstudio_configuration.h +++ b/firmware/console/tunerstudio/tunerstudio_configuration.h @@ -57,7 +57,7 @@ typedef struct { unsigned int ignition_enabled : 1; // bit 1 unsigned int injection_enabled : 1; // bit 2 unsigned int cylinder_cleanup_enabled : 1; // bit 3 - unsigned int cylinder_cleanup : 1; // bit 4 + unsigned int cylinder_cleanup_activated : 1; // bit 4 unsigned int isFuelPumpOn : 1; // bit 5 unsigned int isFanOn : 1; // bit 6 unsigned int isO2HeaterOn : 1; // bit 7 diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index 36c6c61f59..95386a891b 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -171,7 +171,7 @@ int getTimeNowSeconds(void) { static void cylinderCleanupControl(Engine *engine) { bool newValue; if (engineConfiguration->isCylinderCleanupEnabled) { - newValue = !engine->rpmCalculator->isRunning() && getTPS() > 95; + newValue = isCrankingE(engine) && getTPS() > 95; } else { newValue = false; } diff --git a/firmware/controllers/engine_controller.h b/firmware/controllers/engine_controller.h index 027c57d6e4..5390ab979f 100644 --- a/firmware/controllers/engine_controller.h +++ b/firmware/controllers/engine_controller.h @@ -12,8 +12,16 @@ #include "global.h" #include "signal_executor.h" #include "engine_configuration.h" +#include "engine.h" char * getPinNameByAdcChannel(adc_channel_e hwChannel, char *buffer); void initEngineContoller(void); +class StartupFuelPumping { +public: + void update(Engine *engine); + bool isTpsAbove50; + int pumpsCounter; +}; + #endif /* ENGINE_STATUS_H_ */ diff --git a/firmware/controllers/trigger/rpm_calculator.cpp b/firmware/controllers/trigger/rpm_calculator.cpp index 9c446db39b..f6552c69d5 100644 --- a/firmware/controllers/trigger/rpm_calculator.cpp +++ b/firmware/controllers/trigger/rpm_calculator.cpp @@ -85,12 +85,16 @@ bool isValidRpm(int rpm) { } #if (EFI_PROD_CODE || EFI_SIMULATOR) || defined(__DOXYGEN__) +bool isCrankingE(Engine *engine) { + int rpm = getRpmE(engine); + return isCrankingR(rpm); +} + /** * WARNING: this is a heavy method because 'getRpm()' is relatively heavy */ bool isCranking(void) { - int rpm = getRpm(); - return isCrankingR(rpm); + return isCrankingE(&engine); } #endif diff --git a/firmware/controllers/trigger/rpm_calculator.h b/firmware/controllers/trigger/rpm_calculator.h index c8baf2791c..565fd0d4cf 100644 --- a/firmware/controllers/trigger/rpm_calculator.h +++ b/firmware/controllers/trigger/rpm_calculator.h @@ -42,6 +42,7 @@ public: * @brief Current RPM */ int getRpmE(Engine *engine); +bool isCrankingE(Engine *engine); void rpmShaftPositionCallback(trigger_event_e ckpSignalType, uint32_t index, RpmCalculator *rpmState); #endif diff --git a/firmware/rusefi.cpp b/firmware/rusefi.cpp index 9a2defb86d..4fd5d591cf 100644 --- a/firmware/rusefi.cpp +++ b/firmware/rusefi.cpp @@ -241,5 +241,5 @@ void firmwareError(const char *fmt, ...) { } int getRusEfiVersion(void) { - return 20141015; + return 20141016; }