diff --git a/firmware/controllers/algo/engine.h b/firmware/controllers/algo/engine.h index 18b9959d11..fcbab3c316 100644 --- a/firmware/controllers/algo/engine.h +++ b/firmware/controllers/algo/engine.h @@ -9,6 +9,7 @@ #include "main.h" #include "engine_configuration.h" +#include "ec2.h" class EngineState { public: @@ -17,6 +18,15 @@ public: */ float iat; float clt; + + /** + * By the way: + * 'cranking' means engine is not stopped and the rpm are below crankingRpm + * 'running' means RPM are above crankingRpm + * 'spinning' means the engine is not stopped + */ + bool isSpinning; + }; class RpmCalculator; @@ -25,6 +35,7 @@ class Engine { public: RpmCalculator *rpmCalculator; engine_configuration_s *engineConfiguration; + engine_configuration2_s *engineConfiguration2; EngineState engineState; diff --git a/firmware/controllers/algo/fuel_math.h b/firmware/controllers/algo/fuel_math.h index c8c20e517b..d8288d89f0 100644 --- a/firmware/controllers/algo/fuel_math.h +++ b/firmware/controllers/algo/fuel_math.h @@ -8,11 +8,6 @@ #ifndef FUEL_MAP_H_ #define FUEL_MAP_H_ -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - #include "engine.h" void prepareFuelMap(void); @@ -27,8 +22,4 @@ float getCrankingFuel(void); float getStartingFuel(float coolantTemperature); float getFuelMs(int rpm, Engine *engine); -#ifdef __cplusplus -} -#endif /* __cplusplus */ - #endif /* FUEL_MAP_H_ */ diff --git a/firmware/rusefi.cpp b/firmware/rusefi.cpp index c3d57652f5..ac380ece34 100644 --- a/firmware/rusefi.cpp +++ b/firmware/rusefi.cpp @@ -121,6 +121,7 @@ uint8_t errorMessageBuffer[200]; static bool hasFirmwareErrorFlag = FALSE; extern engine_configuration_s *engineConfiguration; extern board_configuration_s *boardConfiguration; +extern engine_configuration2_s *engineConfiguration2; extern Engine engine; char *getFirmwareError(void) { @@ -134,6 +135,7 @@ void runRusEfi(void) { engine.engineConfiguration = engineConfiguration; + initErrorHandling(); /**