From 99de0fcbd5ad44ccc241ab008bb47fed062b6af3 Mon Sep 17 00:00:00 2001 From: rusefi Date: Sat, 20 Apr 2019 14:54:16 -0400 Subject: [PATCH] TPS/TPS TS confusion reduction --- .../algo/engine_configuration_generated_structures.h | 8 +++++--- firmware/controllers/algo/rusefi_generated.h | 5 +++-- firmware/integration/rusefi_config.txt | 9 +++++---- firmware/tunerstudio/rusefi.ini | 11 +++++++---- firmware/tunerstudio/rusefi.input | 4 +++- java_console/models/src/com/rusefi/config/Fields.java | 7 ++++--- java_console/models/src/com/rusefi/core/Sensor.java | 2 +- java_console/ui/src/com/rusefi/Launcher.java | 2 +- 8 files changed, 29 insertions(+), 19 deletions(-) diff --git a/firmware/controllers/algo/engine_configuration_generated_structures.h b/firmware/controllers/algo/engine_configuration_generated_structures.h index 989844c71b..681ff33e80 100644 --- a/firmware/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/controllers/algo/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Apr 14 11:23:20 EDT 2019 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sat Apr 20 14:53:36 EDT 2019 // begin #ifndef ENGINE_CONFIGURATION_GENERATED_H_ #define ENGINE_CONFIGURATION_GENERATED_H_ @@ -1859,7 +1859,7 @@ typedef struct { */ int tpsAccelLength; /** - * Maximum delta in TPS percentange over the 'length' + * Maximum delta in TPS percentage over the 'length'. Actual TPS change has to be above this value in order to TPS/TPS acceleration to kick in. * offset 2068 */ float tpsAccelEnrichmentThreshold; @@ -1907,6 +1907,8 @@ typedef struct { */ float slowAdcAlpha; /** + * See http://rusefi.com/s/debugmode + * * set debug_mode X * offset 2112 */ @@ -2698,4 +2700,4 @@ typedef struct { #endif // end -// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Apr 14 11:23:20 EDT 2019 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sat Apr 20 14:53:36 EDT 2019 diff --git a/firmware/controllers/algo/rusefi_generated.h b/firmware/controllers/algo/rusefi_generated.h index 73db87868e..d17d076169 100644 --- a/firmware/controllers/algo/rusefi_generated.h +++ b/firmware/controllers/algo/rusefi_generated.h @@ -416,7 +416,7 @@ #define cylinderBore_offset_hex 198 #define cylindersCount_offset 400 #define cylindersCount_offset_hex 190 -#define debug_mode_e_enum "Alternator PID", "TPS accel enrich", "Warmup PID", "Idle Control", "Engine Load accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "VVT input", "Cranking", "Timing", "Closed-loop fuel corr PID", "VSS", "SD card", "sr5", "Knock", "Trigger Sync", "Electronic Throttle", "Executor", "Bench Test / TS commands", "Aux Valves", "ADC", "INSTANT_RPM", "FSIO_EXPRESSION", "Status", "CJ125", "CAN", "MAP", "Metrics", "ETB#2", "Ion Sense", "TLE8888" +#define debug_mode_e_enum "Alternator PID", "TPS acceleration enrichment", "Warmup PID", "Idle Control", "Engine Load accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "VVT input", "Cranking", "Timing", "Closed-loop fuel corr PID", "VSS", "SD card", "sr5", "Knock", "Trigger Sync", "Electronic Throttle", "Executor", "Bench Test / TS commands", "Aux Valves", "ADC", "INSTANT_RPM", "FSIO_EXPRESSION", "Status", "CJ125", "CAN", "MAP", "Metrics", "ETB#2", "Ion Sense", "TLE8888" #define debugMode_offset 2112 #define debugMode_offset_hex 840 #define DIGIPOT_COUNT 4 @@ -868,7 +868,8 @@ #define GAUGE_NAME_FUEL_LAST_INJECTION "fuel: last injection" #define GAUGE_NAME_FUEL_PID_CORR "fuel: short correction" #define GAUGE_NAME_FUEL_RUNNING "fuel: running" -#define GAUGE_NAME_FUEL_TPS_EXTRA "fuel: TPS acceleration extra fuel" +#define GAUGE_NAME_FUEL_TPS_EXTRA "fuel: TPS acceleration extra fuel ms" +#define GAUGE_NAME_FUEL_TPS_ROC "fuel: TPS change" #define GAUGE_NAME_FUEL_VE "fuel: VE" #define GAUGE_NAME_FUEL_WALL_AMOUNT "fuel: wall amount" #define GAUGE_NAME_FUEL_WALL_CORRECTION "fuel: wall corr ms" diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index 54058a6f68..46ba4d59af 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -158,7 +158,7 @@ float baseFuel;+Fuel squirt duration while cranking\nA number of curves adjust t int16_t rpm;+Cranking mode threshold. Special cranking logic controls fuel and spark while RPM is below this threshold\nset cranking_rpm X;"RPM", 1, 0, 0, 3000, 0 end_struct -#define debug_mode_e_enum "Alternator PID", "TPS accel enrich", "Warmup PID", "Idle Control", "Engine Load accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "VVT input", "Cranking", "Timing", "Closed-loop fuel corr PID", "VSS", "SD card", "sr5", "Knock", "Trigger Sync", "Electronic Throttle", "Executor", "Bench Test / TS commands", "Aux Valves", "ADC", "INSTANT_RPM", "FSIO_EXPRESSION", "Status", "CJ125", "CAN", "MAP", "Metrics", "ETB#2", "Ion Sense", "TLE8888" +#define debug_mode_e_enum "Alternator PID", "TPS acceleration enrichment", "Warmup PID", "Idle Control", "Engine Load accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "VVT input", "Cranking", "Timing", "Closed-loop fuel corr PID", "VSS", "SD card", "sr5", "Knock", "Trigger Sync", "Electronic Throttle", "Executor", "Bench Test / TS commands", "Aux Valves", "ADC", "INSTANT_RPM", "FSIO_EXPRESSION", "Status", "CJ125", "CAN", "MAP", "Metrics", "ETB#2", "Ion Sense", "TLE8888" custom debug_mode_e 4 bits, U32, @OFFSET@, [0:4], @@debug_mode_e_enum@@ #define vvt_mode_e_enum "First half", "Second half", "2GZ", "Miata NB2", "mode4", "mode5", "mode6", "mode7" @@ -843,7 +843,7 @@ custom pin_mode_e 1 bits, U08, @OFFSET@, [0:6], @@pin_mode_e_enum@@ int tpsAccelLength;+How many engine cycles to consider?;"cycles", 1, 0, 1, 200, 0 - float tpsAccelEnrichmentThreshold;+Maximum delta in TPS percentange over the 'length';"roc", 1, 0, 0, 200, 3 + float tpsAccelEnrichmentThreshold;+Maximum delta in TPS percentage over the 'length'. Actual TPS change has to be above this value in order to TPS/TPS acceleration to kick in.;"roc", 1, 0, 0, 200, 3 float vvtOffset;+angle between cam sensor and VVT zero position\nset vvt_offset X;"value", 1, 0, -720, 1000, 1 int engineLoadAccelLength;;"cycles", 1, 0, 1, 200, 0 @@ -859,7 +859,7 @@ custom pin_mode_e 1 bits, U08, @OFFSET@, [0:6], @@pin_mode_e_enum@@ float tpsDecelEnleanmentThreshold;;"roc", 1, 0, 0, 200, 3 float tpsDecelEnleanmentMultiplier;;"coeff", 1, 0, 0, 200, 3 float slowAdcAlpha;+ExpAverage alpha coefficient;"coeff", 1, 0, 0, 200, 3 - debug_mode_e debugMode;set debug_mode X + debug_mode_e debugMode;+See http://rusefi.com/s/debugmode\n\nset debug_mode X float[WARMUP_TARGET_AFR_SIZE] warmupTargetAfrBins;CLT-based target AFR for PID-based control;"C", 1, 0, -100.0, 250.0, 2 float[WARMUP_TARGET_AFR_SIZE] warmupTargetAfr;;"AFR", 1, 0, 0.0, 20.0, 2 @@ -1139,7 +1139,8 @@ end_struct #define GAUGE_NAME_INJECTOR_LAG "fuel: injector lag" -#define GAUGE_NAME_FUEL_TPS_EXTRA "fuel: TPS acceleration extra fuel" +#define GAUGE_NAME_FUEL_TPS_ROC "fuel: TPS change" +#define GAUGE_NAME_FUEL_TPS_EXTRA "fuel: TPS acceleration extra fuel ms" #define GAUGE_NAME_FUEL_EL_EXTRA "fuel: engine load acceleration extra fuel" #define GAUGE_NAME_FUEL_CLT_CORR "fuel: CLT correction" #define GAUGE_NAME_FUEL_IAT_CORR "fuel: IAT correction" diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index 9ab867ef34..9dd26d1eb1 100644 --- a/firmware/tunerstudio/rusefi.ini +++ b/firmware/tunerstudio/rusefi.ini @@ -68,7 +68,7 @@ enable2ndByteCanID = false ; see PAGE_0_SIZE in C source code ; CONFIG_DEFINITION_START -; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Apr 15 19:05:16 EDT 2019 +; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sat Apr 20 14:53:36 EDT 2019 pageSize = 20000 page = 1 @@ -641,7 +641,7 @@ page = 1 tpsDecelEnleanmentThreshold = scalar, F32, 2100, "roc", 1, 0, 0, 200, 3 tpsDecelEnleanmentMultiplier = scalar, F32, 2104, "coeff", 1, 0, 0, 200, 3 slowAdcAlpha = scalar, F32, 2108, "coeff", 1, 0, 0, 200, 3 - debugMode = bits, U32, 2112, [0:4], "Alternator PID", "TPS accel enrich", "Warmup PID", "Idle Control", "Engine Load accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "VVT input", "Cranking", "Timing", "Closed-loop fuel corr PID", "VSS", "SD card", "sr5", "Knock", "Trigger Sync", "Electronic Throttle", "Executor", "Bench Test / TS commands", "Aux Valves", "ADC", "INSTANT_RPM", "FSIO_EXPRESSION", "Status", "CJ125", "CAN", "MAP", "Metrics", "ETB#2", "Ion Sense", "TLE8888" + debugMode = bits, U32, 2112, [0:4], "Alternator PID", "TPS acceleration enrichment", "Warmup PID", "Idle Control", "Engine Load accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "VVT input", "Cranking", "Timing", "Closed-loop fuel corr PID", "VSS", "SD card", "sr5", "Knock", "Trigger Sync", "Electronic Throttle", "Executor", "Bench Test / TS commands", "Aux Valves", "ADC", "INSTANT_RPM", "FSIO_EXPRESSION", "Status", "CJ125", "CAN", "MAP", "Metrics", "ETB#2", "Ion Sense", "TLE8888" warmupTargetAfrBins = array, F32, 2116, [4], "C", 1, 0, -100.0, 250.0, 2 warmupTargetAfr = array, F32, 2132, [4], "AFR", 1, 0, 0.0, 20.0, 2 warmupAfrThreshold = scalar, F32, 2148, "temperature", 1, 0, 0, 200, 3 @@ -981,9 +981,10 @@ page = 1 startUpFuelPumpDuration = "on ECU start turn fuel pump on to build fuel pressure" startOfCrankingPrimingPulse = "Prime pulse for cold engine, duration in ms\nLinear interpolation between -40F/-40C and fallout temperature\n\nSee also isFasterEngineSpinUpEnabled\nset cranking_priming_pulse X" tpsAccelLength = "How many engine cycles to consider?" - tpsAccelEnrichmentThreshold = "Maximum delta in TPS percentange over the 'length'" + tpsAccelEnrichmentThreshold = "Maximum delta in TPS percentage over the 'length'. Actual TPS change has to be above this value in order to TPS/TPS acceleration to kick in." vvtOffset = "angle between cam sensor and VVT zero position\nset vvt_offset X" slowAdcAlpha = "ExpAverage alpha coefficient" + debugMode = "See http://rusefi.com/s/debugmode\n\nset debug_mode X" camInput = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts.\nTODO #660" dizzySparkOutputPin = "This implementation makes a pulse every time one of the coils is charged, using coil dwell for pulse width. See also tachOutputPin" crankingIACposition = "IAC position during cranking" @@ -1887,7 +1888,7 @@ gaugeCategory = Fuel Data entry = engineLoadDelta, "fuel: load change",float, "%.3f" entry = deltaTps, "fuel: TPS change",float, "%.3f" - entry = tpsAccelFuel, "fuel: TPS acceleration extra fuel", float, "%.3f" + entry = tpsAccelFuel, "fuel: TPS acceleration extra fuel ms", float, "%.3f" entry = wallFuelCorrection,"fuel: wall corr ms", float, "%.3f" entry = wallFuelAmount, "fuel: wall amount", float, "%.3f" @@ -3083,6 +3084,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00" field = "Decel Multiplier", engineLoadDecelEnleanmentMultiplier dialog = TpsAccelPanel, "TPS" + field = "Set 'Debug Mode' to see detailed 'TPS acceleration enrichment' diagnostics" field = "Length", tpsAccelLength field = "Accel Threshold", tpsAccelEnrichmentThreshold field = "Decel Threshold", tpsDecelEnleanmentThreshold @@ -3098,6 +3100,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00" ; Tuning->AccelEnrichment dialog = AccelEnrich, "Accel/Decel Enrichment" + field = "Debug mode", debugMode panel = TpsAccelPanel panel = WallWettingAccelPanel panel = EngineLoadAccelPanel diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index 96ec68fed4..3460cf2d66 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -965,7 +965,7 @@ gaugeCategory = Fuel Data entry = engineLoadAccelExtra, @@GAUGE_NAME_FUEL_EL_EXTRA@@,float, "%.3f" entry = engineLoadDelta, "fuel: load change",float, "%.3f" - entry = deltaTps, "fuel: TPS change",float, "%.3f" + entry = deltaTps, @@GAUGE_NAME_FUEL_TPS_ROC@@,float, "%.3f" entry = tpsAccelFuel, @@GAUGE_NAME_FUEL_TPS_EXTRA@@, float, "%.3f" entry = wallFuelCorrection,@@GAUGE_NAME_FUEL_WALL_CORRECTION@@, float, "%.3f" @@ -2162,6 +2162,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00" field = "Decel Multiplier", engineLoadDecelEnleanmentMultiplier dialog = TpsAccelPanel, "TPS" + field = "Set 'Debug Mode' to see detailed 'TPS acceleration enrichment' diagnostics" field = "Length", tpsAccelLength field = "Accel Threshold", tpsAccelEnrichmentThreshold field = "Decel Threshold", tpsDecelEnleanmentThreshold @@ -2177,6 +2178,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00" ; Tuning->AccelEnrichment dialog = AccelEnrich, "Accel/Decel Enrichment" + field = "Debug mode", debugMode panel = TpsAccelPanel panel = WallWettingAccelPanel panel = EngineLoadAccelPanel diff --git a/java_console/models/src/com/rusefi/config/Fields.java b/java_console/models/src/com/rusefi/config/Fields.java index 1ef0b143e2..17c31a6e82 100644 --- a/java_console/models/src/com/rusefi/config/Fields.java +++ b/java_console/models/src/com/rusefi/config/Fields.java @@ -1,6 +1,6 @@ package com.rusefi.config; -// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Apr 15 19:05:16 EDT 2019 +// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sat Apr 20 14:42:58 EDT 2019 public class Fields { public static final int accelerometerSpiDevice_offset = 2736; public static final int acCutoffHighRpm_offset = 1498; @@ -562,7 +562,8 @@ public class Fields { public static final String GAUGE_NAME_FUEL_LAST_INJECTION = "fuel: last injection"; public static final String GAUGE_NAME_FUEL_PID_CORR = "fuel: short correction"; public static final String GAUGE_NAME_FUEL_RUNNING = "fuel: running"; - public static final String GAUGE_NAME_FUEL_TPS_EXTRA = "fuel: TPS acceleration extra fuel"; + public static final String GAUGE_NAME_FUEL_TPS_EXTRA = "fuel: TPS acceleration extra fuel ms"; + public static final String GAUGE_NAME_FUEL_TPS_ROC = "fuel: TPS change"; public static final String GAUGE_NAME_FUEL_VE = "fuel: VE"; public static final String GAUGE_NAME_FUEL_WALL_AMOUNT = "fuel: wall amount"; public static final String GAUGE_NAME_FUEL_WALL_CORRECTION = "fuel: wall corr ms"; @@ -1763,7 +1764,7 @@ public class Fields { public static final Field TPSDECELENLEANMENTTHRESHOLD = Field.create("TPSDECELENLEANMENTTHRESHOLD", 2100, FieldType.FLOAT); public static final Field TPSDECELENLEANMENTMULTIPLIER = Field.create("TPSDECELENLEANMENTMULTIPLIER", 2104, FieldType.FLOAT); public static final Field SLOWADCALPHA = Field.create("SLOWADCALPHA", 2108, FieldType.FLOAT); - public static final String[] debug_mode_e = {"Alternator PID", "TPS accel enrich", "Warmup PID", "Idle Control", "Engine Load accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "VVT input", "Cranking", "Timing", "Closed-loop fuel corr PID", "VSS", "SD card", "sr5", "Knock", "Trigger Sync", "Electronic Throttle", "Executor", "Bench Test / TS commands", "Aux Valves", "ADC", "INSTANT_RPM", "FSIO_EXPRESSION", "Status", "CJ125", "CAN", "MAP", "Metrics", "ETB#2", "Ion Sense", "TLE8888"}; + public static final String[] debug_mode_e = {"Alternator PID", "TPS acceleration enrichment", "Warmup PID", "Idle Control", "Engine Load accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "VVT input", "Cranking", "Timing", "Closed-loop fuel corr PID", "VSS", "SD card", "sr5", "Knock", "Trigger Sync", "Electronic Throttle", "Executor", "Bench Test / TS commands", "Aux Valves", "ADC", "INSTANT_RPM", "FSIO_EXPRESSION", "Status", "CJ125", "CAN", "MAP", "Metrics", "ETB#2", "Ion Sense", "TLE8888"}; public static final Field DEBUGMODE = Field.create("DEBUGMODE", 2112, FieldType.INT, debug_mode_e); public static final Field WARMUPAFRTHRESHOLD = Field.create("WARMUPAFRTHRESHOLD", 2148, FieldType.FLOAT); public static final Field BOOSTCUTPRESSURE = Field.create("BOOSTCUTPRESSURE", 2152, FieldType.FLOAT); diff --git a/java_console/models/src/com/rusefi/core/Sensor.java b/java_console/models/src/com/rusefi/core/Sensor.java index 824aaa40ad..9ed3398046 100644 --- a/java_console/models/src/com/rusefi/core/Sensor.java +++ b/java_console/models/src/com/rusefi/core/Sensor.java @@ -104,7 +104,7 @@ public enum Sensor { FIRMWARE_VERSION(SensorCategory.OPERATIONS, FieldType.INT, 84, BackgroundColor.BLUE), veValue(GAUGE_NAME_FUEL_VE, SensorCategory.FUEL, FieldType.FLOAT, 112, BackgroundColor.MUD), - deltaTps(SensorCategory.FUEL, FieldType.FLOAT, 116, BackgroundColor.MUD), + deltaTps(Fields.GAUGE_NAME_FUEL_TPS_ROC, SensorCategory.FUEL, FieldType.FLOAT, 116, BackgroundColor.MUD, -100, 100, "%"), engineLoadAccelDelta(SensorCategory.FUEL, FieldType.FLOAT, 124, BackgroundColor.MUD), tpsAccelFuel(Fields.GAUGE_NAME_FUEL_TPS_EXTRA, SensorCategory.FUEL, FieldType.FLOAT, 128, BackgroundColor.MUD), PPS("pedal", SensorCategory.SENSOR_INPUTS, FieldType.FLOAT, 136, BackgroundColor.MUD), // pedal position sensor diff --git a/java_console/ui/src/com/rusefi/Launcher.java b/java_console/ui/src/com/rusefi/Launcher.java index 64f0d24712..906c58d5e0 100644 --- a/java_console/ui/src/com/rusefi/Launcher.java +++ b/java_console/ui/src/com/rusefi/Launcher.java @@ -45,7 +45,7 @@ import static com.rusefi.ui.storage.PersistentConfiguration.getConfig; * @see EngineSnifferPanel */ public class Launcher { - public static final int CONSOLE_VERSION = 20190408; + public static final int CONSOLE_VERSION = 20190420; public static final boolean SHOW_STIMULATOR = false; private static final String TAB_INDEX = "main_tab"; protected static final String PORT_KEY = "port";