From 487acd62decf9c1fcf1b4c92237837099ccc3c46 Mon Sep 17 00:00:00 2001 From: rusefi Date: Tue, 5 Nov 2019 23:36:33 -0500 Subject: [PATCH] Missing dwell altogether in some corner cases #796 only additional live data here --- firmware/controllers/algo/engine_state.h | 15 ------------ firmware/controllers/algo/fuel_math.cpp | 5 ++++ firmware/controllers/engine_controller.cpp | 2 +- .../generated/engine_state_generated.h | 23 ++++++++++++++++--- firmware/integration/engine_state.txt | 6 +++++ .../rusefi/config/generated/EngineState.java | 8 ++++++- java_console/ui/src/com/rusefi/Launcher.java | 2 +- .../rusefi/ldmp/generated/FuelMathMeta.java | 4 ++++ 8 files changed, 44 insertions(+), 21 deletions(-) diff --git a/firmware/controllers/algo/engine_state.h b/firmware/controllers/algo/engine_state.h index b0843b9bb6..aa6af6ceac 100644 --- a/firmware/controllers/algo/engine_state.h +++ b/firmware/controllers/algo/engine_state.h @@ -56,21 +56,6 @@ public: angle_t mapAveragingDuration = 0; angle_t timingAdvance = 0; - // spark-related - /** - * ignition dwell duration in ms - * See also dwellAngle - */ - floatms_t sparkDwell = 0; - /** - * ignition dwell duration as crankshaft angle - * NAN if engine is stopped - * See also sparkDwell - */ - angle_t dwellAngle = NAN; - - angle_t cltTimingCorrection = 0; - // fuel-related; float fuelCutoffCorrection = 0; efitick_t coastingFuelCutStartTime = 0; diff --git a/firmware/controllers/algo/fuel_math.cpp b/firmware/controllers/algo/fuel_math.cpp index 07b9678e39..694670e997 100644 --- a/firmware/controllers/algo/fuel_math.cpp +++ b/firmware/controllers/algo/fuel_math.cpp @@ -43,6 +43,11 @@ extern baroCorr_Map3D_t baroCorrMap; DISPLAY_STATE(Engine) +DISPLAY(DISPLAY_FIELD(sparkDwell)) +DISPLAY(DISPLAY_FIELD(dwellAngle)) +DISPLAY(DISPLAY_FIELD(cltTimingCorrection)) +DISPLAY_TEXT(eol); + DISPLAY(DISPLAY_IF(isCrankingState)) floatms_t getCrankingFuel3(float coolantTemperature, uint32_t revolutionCounterSinceStart DECLARE_ENGINE_PARAMETER_SUFFIX) { // these magic constants are in Celsius diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index 87a656cf53..953be16b15 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -839,6 +839,6 @@ int getRusEfiVersion(void) { if (initBootloader() != 0) return 123; #endif /* EFI_BOOTLOADER_INCLUDE_CODE */ - return 20191103; + return 20191105; } #endif /* EFI_UNIT_TEST */ diff --git a/firmware/controllers/generated/engine_state_generated.h b/firmware/controllers/generated/engine_state_generated.h index 1e3e81ac84..f888117f58 100644 --- a/firmware/controllers/generated/engine_state_generated.h +++ b/firmware/controllers/generated/engine_state_generated.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration/engine_state.txt Tue Sep 24 18:13:29 EDT 2019 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration/engine_state.txt Tue Nov 05 23:21:45 EST 2019 // by class com.rusefi.output.CHeaderConsumer // begin #ifndef CONTROLLERS_GENERATED_ENGINE_STATE_GENERATED_H @@ -226,11 +226,28 @@ struct engine_state2_s { * offset 148 */ percent_t targetFromTable = (percent_t)0; - /** total size 152*/ + /** + * ignition dwell duration in ms + * See also dwellAngle + * offset 152 + */ + floatms_t sparkDwell = (floatms_t)0; + /** + * ignition dwell duration as crankshaft angle + * NAN if engine is stopped + * See also sparkDwell + * offset 156 + */ + angle_t dwellAngle = (angle_t)0; + /** + * offset 160 + */ + angle_t cltTimingCorrection = (angle_t)0; + /** total size 164*/ }; typedef struct engine_state2_s engine_state2_s; #endif // end -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration/engine_state.txt Tue Sep 24 18:13:29 EDT 2019 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on integration/engine_state.txt Tue Nov 05 23:21:45 EST 2019 diff --git a/firmware/integration/engine_state.txt b/firmware/integration/engine_state.txt index 546bf503fb..daafa7f63e 100644 --- a/firmware/integration/engine_state.txt +++ b/firmware/integration/engine_state.txt @@ -100,5 +100,11 @@ running_fuel_s running percent_t etbFeedForward; percent_t targetFromTable + + ! spark-related + floatms_t sparkDwell;ignition dwell duration in ms\nSee also dwellAngle + angle_t dwellAngle;ignition dwell duration as crankshaft angle\nNAN if engine is stopped\nSee also sparkDwell + angle_t cltTimingCorrection + ! engine_state2_s end_struct diff --git a/java_console/models/src/com/rusefi/config/generated/EngineState.java b/java_console/models/src/com/rusefi/config/generated/EngineState.java index cdf519f519..27f70e16cf 100644 --- a/java_console/models/src/com/rusefi/config/generated/EngineState.java +++ b/java_console/models/src/com/rusefi/config/generated/EngineState.java @@ -1,6 +1,6 @@ package com.rusefi.config.generated; -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on integration/engine_state.txt Tue Sep 24 18:13:29 EDT 2019 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on integration/engine_state.txt Tue Nov 05 23:21:45 EST 2019 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; @@ -46,6 +46,9 @@ public class EngineState { public static final Field RUNNING_FUEL = Field.create("RUNNING_FUEL", 140, FieldType.FLOAT); public static final Field ETBFEEDFORWARD = Field.create("ETBFEEDFORWARD", 144, FieldType.FLOAT); public static final Field TARGETFROMTABLE = Field.create("TARGETFROMTABLE", 148, FieldType.FLOAT); + public static final Field SPARKDWELL = Field.create("SPARKDWELL", 152, FieldType.FLOAT); + public static final Field DWELLANGLE = Field.create("DWELLANGLE", 156, FieldType.FLOAT); + public static final Field CLTTIMINGCORRECTION = Field.create("CLTTIMINGCORRECTION", 160, FieldType.FLOAT); public static final Field[] VALUES = { ISTCHARGEAIRMODEL, AIRMASSINONECYLINDER, @@ -87,5 +90,8 @@ public class EngineState { RUNNING_FUEL, ETBFEEDFORWARD, TARGETFROMTABLE, + SPARKDWELL, + DWELLANGLE, + CLTTIMINGCORRECTION, }; } diff --git a/java_console/ui/src/com/rusefi/Launcher.java b/java_console/ui/src/com/rusefi/Launcher.java index 1aac95a856..28bcf4aff5 100644 --- a/java_console/ui/src/com/rusefi/Launcher.java +++ b/java_console/ui/src/com/rusefi/Launcher.java @@ -48,7 +48,7 @@ import static com.rusefi.ui.storage.PersistentConfiguration.getConfig; * @see EngineSnifferPanel */ public class Launcher { - public static final int CONSOLE_VERSION = 20190925; + public static final int CONSOLE_VERSION = 20191105; public static final String INI_FILE_PATH = System.getProperty("ini_file_path", ".."); public static final String INPUT_FILES_PATH = System.getProperty("input_files_path", ".."); public static final String TOOLS_PATH = System.getProperty("tools_path", "."); diff --git a/java_console/ui/src/com/rusefi/ldmp/generated/FuelMathMeta.java b/java_console/ui/src/com/rusefi/ldmp/generated/FuelMathMeta.java index f79e2dbc3b..1b3d9a0633 100644 --- a/java_console/ui/src/com/rusefi/ldmp/generated/FuelMathMeta.java +++ b/java_console/ui/src/com/rusefi/ldmp/generated/FuelMathMeta.java @@ -4,6 +4,10 @@ import com.rusefi.ldmp.*; public class FuelMathMeta { public static final Request[] CONTENT = new Request[]{ + new FieldRequest("Engine", "sparkDwell"), + new FieldRequest("Engine", "dwellAngle"), + new FieldRequest("Engine", "cltTimingCorrection"), + new TextRequest("eol"), new IfRequest("Engine", "isCrankingState", new Request[]{ new TextRequest("Duration_coef"),