From 0aa93c89d4b28cfcd049955146e44aecbe21aa5d Mon Sep 17 00:00:00 2001 From: rusEfi Date: Sat, 22 Nov 2014 15:03:22 -0600 Subject: [PATCH] auto-sync --- firmware/config/efifeatures.h | 4 +++- firmware/controllers/algo/engine_configuration.cpp | 1 + firmware/controllers/algo/engine_configuration.h | 4 +++- firmware/controllers/algo/idle_controller.cpp | 6 ++++-- firmware/controllers/algo/idle_controller.h | 9 ++++----- firmware/controllers/flash_main.h | 2 +- 6 files changed, 16 insertions(+), 10 deletions(-) diff --git a/firmware/config/efifeatures.h b/firmware/config/efifeatures.h index a0ab11a444..8d1ba902a5 100644 --- a/firmware/config/efifeatures.h +++ b/firmware/config/efifeatures.h @@ -12,7 +12,9 @@ #define EFI_USE_CCM TRUE -#define EFI_ENABLE_ASSERTS TRUE +#ifndef EFI_ENABLE_ASSERTS + #define EFI_ENABLE_ASSERTS TRUE +#endif /* EFI_ENABLE_ASSERTS */ //#define EFI_UART_ECHO_TEST_MODE TRUE diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 2552790fa2..636e670486 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -293,6 +293,7 @@ void setDefaultConfiguration(engine_configuration_s *engineConfiguration, board_ boardConfiguration->idleSolenoidFrequency = 200; boardConfiguration->idleSolenoidPwm = 0.5; + engineConfiguration->targetIdleRpm = 1200; // engineConfiguration->idleMode = IM_AUTO; engineConfiguration->idleMode = IM_MANUAL; diff --git a/firmware/controllers/algo/engine_configuration.h b/firmware/controllers/algo/engine_configuration.h index 755c277feb..2e60fea390 100644 --- a/firmware/controllers/algo/engine_configuration.h +++ b/firmware/controllers/algo/engine_configuration.h @@ -495,7 +495,9 @@ typedef struct { float ignitionDwellForCrankingMs; - int unused3[93]; + int targetIdleRpm; + + int unused3[92]; } engine_configuration_s; diff --git a/firmware/controllers/algo/idle_controller.cpp b/firmware/controllers/algo/idle_controller.cpp index 9390360433..5f2bb56b90 100644 --- a/firmware/controllers/algo/idle_controller.cpp +++ b/firmware/controllers/algo/idle_controller.cpp @@ -20,9 +20,11 @@ static int lastGoodValue = DEFAULT_IDLE_DUTY; -void idleInit(IdleValveState *idle) { +EXTERN_ENGINE; + +void idleInit(IdleValveState *idle DECLARE_ENGINE_PARAMETER_S) { idle->value = DEFAULT_IDLE_DUTY; - setIdleRpm(idle, DEFAULT_TARGET_RPM); + setIdleRpm(idle, engineConfiguration->targetIdleRpm); idle->timeOfLastIdleChange = 0; } diff --git a/firmware/controllers/algo/idle_controller.h b/firmware/controllers/algo/idle_controller.h index a5910f2048..c4d1e074b0 100644 --- a/firmware/controllers/algo/idle_controller.h +++ b/firmware/controllers/algo/idle_controller.h @@ -5,15 +5,14 @@ * @author Andrey Belomutskiy, (c) 2012-2014 */ +#include "engine.h" + #ifndef IDLE_CONTROLLER_H_ #define IDLE_CONTROLLER_H_ -// 700‰ duty cycle by default +// 600‰ duty cycle by default #define DEFAULT_IDLE_DUTY 600 -#define DEFAULT_TARGET_RPM 1000 -//#define DEFAULT_TARGET_RPM 2000 - #define IDLE_PERIOD 1 // Per mil (1/1000) values @@ -32,7 +31,7 @@ public: int timeOfLastIdleChange; }; -void idleInit(IdleValveState *idle); +void idleInit(IdleValveState *idle DECLARE_ENGINE_PARAMETER_S); int getIdle(IdleValveState *idle, int currentRpm, int time); void setIdleRpm(IdleValveState *idle, int targetRpm); diff --git a/firmware/controllers/flash_main.h b/firmware/controllers/flash_main.h index 7db8e35e21..133bf0b7ff 100644 --- a/firmware/controllers/flash_main.h +++ b/firmware/controllers/flash_main.h @@ -12,7 +12,7 @@ #include "engine_configuration.h" #include "engine.h" -#define FLASH_DATA_VERSION 5466 +#define FLASH_DATA_VERSION 5472 void readFromFlash(void); void initFlash(Engine *engine);