From d166bd949359522b27fc78786ad8770f3a7905ac Mon Sep 17 00:00:00 2001 From: rusefi Date: Mon, 11 Dec 2017 10:07:13 -0500 Subject: [PATCH 1/5] typo --- firmware/controllers/math/pid.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/controllers/math/pid.cpp b/firmware/controllers/math/pid.cpp index ea48165da2..c5ddae1867 100644 --- a/firmware/controllers/math/pid.cpp +++ b/firmware/controllers/math/pid.cpp @@ -56,7 +56,7 @@ float Pid::getValue(float target, float input, float dTime) { if (iTerm > pid->maxValue) iTerm = pid->maxValue; - // this is kind of a hack. a proper fix would be having separate additional settings 'maxIValue' and 'minIValye' + // this is kind of a hack. a proper fix would be having separate additional settings 'maxIValue' and 'minIValue' if (iTerm < -pid->maxValue) iTerm = -pid->maxValue; From c5e762d8146ccb343b84bbf1d0f1bc1e29ea8754 Mon Sep 17 00:00:00 2001 From: rusefi Date: Mon, 11 Dec 2017 10:14:42 -0500 Subject: [PATCH 2/5] #4 --- ...ngine_configuration_generated_structures.h | 42 ++++++++++++++++--- firmware/controllers/algo/rusefi_generated.h | 24 +++++++++-- firmware/integration/rusefi_config.txt | 18 ++++++-- firmware/tunerstudio/rusefi.ini | 12 ++++-- .../models/src/com/rusefi/config/Fields.java | 27 ++++++++---- 5 files changed, 100 insertions(+), 23 deletions(-) diff --git a/firmware/controllers/algo/engine_configuration_generated_structures.h b/firmware/controllers/algo/engine_configuration_generated_structures.h index 6baef44590..8feaaf03b2 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 Wed Dec 06 18:45:34 EST 2017 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Dec 11 10:13:39 EST 2017 // begin #ifndef ENGINE_CONFIGURATION_GENERATED_H_ #define ENGINE_CONFIGURATION_GENERATED_H_ @@ -1314,7 +1314,7 @@ typedef struct { bool overrideCrankingIacSetting : 1; /** offset 1484 bit 7 */ - bool anotherUnusedBit2 : 1; + bool useSeparateAdvanceForIdle : 1; /** offset 1484 bit 8 */ bool isTunerStudioEnabled : 1; @@ -1323,7 +1323,7 @@ typedef struct { bool isWaveAnalyzerEnabled : 1; /** offset 1484 bit 10 */ - bool anotherUnusedBit212 : 1; + bool useSeparateVeForIdle : 1; /** * enable trigger_details offset 1484 bit 11 */ @@ -1987,8 +1987,8 @@ typedef struct { /** * offset 3304 */ - int unusedEnd[842]; - /** total size 6672*/ + int unusedEnd[794]; + /** total size 6480*/ } engine_configuration_s; typedef struct { @@ -1996,6 +1996,36 @@ typedef struct { * offset 0 */ engine_configuration_s engineConfiguration; + /** + * CLT-based cranking position multiplier for simple manual idle controller + * offset 6480 + */ + float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; + /** + * CLT-based cranking position multiplier for simple manual idle controller + * offset 6512 + */ + float cltCrankingCorr [CLT_CRANKING_CURVE_SIZE]; + /** + * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) + * offset 6544 + */ + float idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; + /** + * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) + * offset 6576 + */ + float idleAdvance [IDLE_ADVANCE_CURVE_SIZE]; + /** + * Optional VE table for Idle (see useSeparateVEForIdle) + * offset 6608 + */ + float idleVeBins[IDLE_VE_CURVE_SIZE]; + /** + * Optional VE table for Idle (see useSeparateVEForIdle) + * offset 6640 + */ + float idleVe[IDLE_VE_CURVE_SIZE]; /** * offset 6672 */ @@ -2203,4 +2233,4 @@ typedef struct { #endif // end -// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Wed Dec 06 18:45:34 EST 2017 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Dec 11 10:13:39 EST 2017 diff --git a/firmware/controllers/algo/rusefi_generated.h b/firmware/controllers/algo/rusefi_generated.h index 029c9d7620..98e29df2fb 100644 --- a/firmware/controllers/algo/rusefi_generated.h +++ b/firmware/controllers/algo/rusefi_generated.h @@ -24,8 +24,12 @@ #define NARROW_BAND_WIDE_BAND_CONVERSION_SIZE 8 #define CLT_CURVE_SIZE 16 #define CRANKING_CLT_IDLE_CURVE_SIZE 8 +#define CLT_CRANKING_CURVE_SIZE 8 +#define IDLE_ADVANCE_CURVE_SIZE 8 #define ENGINE_NOISE_CURVE_SIZE 8 #define CLT_TIMING_CURVE_SIZE 8 +#define IDLE_VE_CURVE_SIZE 8 +#define IDLE_ADVANCE_CURVE_SIZE #define AUX_DIGITAL_VALVE_COUNT 2 #define IAT_CURVE_SIZE 16 #define VBAT_INJECTOR_CURVE_SIZE 8 @@ -895,14 +899,14 @@ #define isMapAveragingEnabled_offset_hex 5cc #define overrideCrankingIacSetting_offset 1484 #define overrideCrankingIacSetting_offset_hex 5cc -#define anotherUnusedBit2_offset 1484 -#define anotherUnusedBit2_offset_hex 5cc +#define useSeparateAdvanceForIdle_offset 1484 +#define useSeparateAdvanceForIdle_offset_hex 5cc #define isTunerStudioEnabled_offset 1484 #define isTunerStudioEnabled_offset_hex 5cc #define isWaveAnalyzerEnabled_offset 1484 #define isWaveAnalyzerEnabled_offset_hex 5cc -#define anotherUnusedBit212_offset 1484 -#define anotherUnusedBit212_offset_hex 5cc +#define useSeparateVeForIdle_offset 1484 +#define useSeparateVeForIdle_offset_hex 5cc #define isPrintTriggerSynchDetails_offset 1484 #define isPrintTriggerSynchDetails_offset_hex 5cc #define isManualSpinningMode_offset 1484 @@ -1471,6 +1475,18 @@ #define fsioCurve4_offset_hex cc8 #define unusedEnd_offset 3304 #define unusedEnd_offset_hex ce8 +#define cltCrankingCorrBins_offset 6480 +#define cltCrankingCorrBins_offset_hex 1950 +#define cltCrankingCorr _offset 6512 +#define cltCrankingCorr _offset_hex 1970 +#define idleAdvanceBins_offset 6544 +#define idleAdvanceBins_offset_hex 1990 +#define idleAdvance _offset 6576 +#define idleAdvance _offset_hex 19b0 +#define idleVeBins_offset 6608 +#define idleVeBins_offset_hex 19d0 +#define idleVe_offset 6640 +#define idleVe_offset_hex 19f0 #define fsioFormulas1_offset 6672 #define fsioFormulas1_offset_hex 1a10 #define fsioFormulas2_offset 6872 diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index 7c15b543a2..bab3aa7f84 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -68,9 +68,13 @@ struct_no_prefix engine_configuration_s #define CLT_CURVE_SIZE 16 #define CRANKING_CLT_IDLE_CURVE_SIZE 8 +#define CLT_CRANKING_CURVE_SIZE 8 +#define IDLE_ADVANCE_CURVE_SIZE 8 #define ENGINE_NOISE_CURVE_SIZE 8 #define CLT_TIMING_CURVE_SIZE 8 +#define IDLE_VE_CURVE_SIZE 8 +#define IDLE_ADVANCE_CURVE_SIZE #define AUX_DIGITAL_VALVE_COUNT 2 @@ -650,10 +654,10 @@ custom idle_mode_e 4 bits, U32, @OFFSET@, [0:0], "false", "true" bit needSecondTriggerInputDeprecated bit isMapAveragingEnabled bit overrideCrankingIacSetting - bit anotherUnusedBit2 + bit useSeparateAdvanceForIdle bit isTunerStudioEnabled bit isWaveAnalyzerEnabled - bit anotherUnusedBit212 + bit useSeparateVeForIdle bit isPrintTriggerSynchDetails;+enable trigger_details bit isManualSpinningMode;Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed bit twoWireBatchInjection;+This is needed if batched injection and individual injector wiring\nenable two_wire_batch_injection @@ -857,13 +861,21 @@ spi_device_e accelerometerSpiDevice; float[FSIO_CURVE_8] fsioCurve3;;"y", 1, 0, -999, 1000.0, 3 float[FSIO_CURVE_8] fsioCurve4Bins;;"x", 1, 0, -999, 1000.0, 3 float[FSIO_CURVE_8] fsioCurve4;;"y", 1, 0, -999, 1000.0, 3 - int[842] unusedEnd; + int[794] unusedEnd; end_struct engine_configuration_s engineConfiguration; +float[CLT_CRANKING_CURVE_SIZE] cltCrankingCorrBins;CLT-based cranking position multiplier for simple manual idle controller;"C", 1, 0, -100.0, 250.0, 2 +float[CLT_CRANKING_CURVE_SIZE] cltCrankingCorr ;CLT-based cranking position multiplier for simple manual idle controller;"%", 1, 0, 0.0, 500.0, 2 + +float[IDLE_ADVANCE_CURVE_SIZE] idleAdvanceBins;Optional timing advance table for Idle (see useSeparateAdvanceForIdle);"RPM", 1, 0, 0.0, 18000, 2 +float[IDLE_ADVANCE_CURVE_SIZE] idleAdvance ;Optional timing advance table for Idle (see useSeparateAdvanceForIdle);"deg", 1, 0, -20, 90, 2 +float[IDLE_VE_CURVE_SIZE] idleVeBins;Optional VE table for Idle (see useSeparateVEForIdle);"RPM", 1, 0, 0.0, 18000, 2 +float[IDLE_VE_CURVE_SIZE] idleVe; Optional VE table for Idle (see useSeparateVEForIdle);,"%", 1, 0, 0, 999.0, 2 + le_formula_t[FSIO_COMMAND_COUNT iterate] fsioFormulas; le_formula_t timingMultiplier; le_formula_t timingAdditive; diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index dad3854520..37de20f245 100644 --- a/firmware/tunerstudio/rusefi.ini +++ b/firmware/tunerstudio/rusefi.ini @@ -63,7 +63,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 Wed Dec 06 18:45:34 EST 2017 +; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Dec 11 10:13:39 EST 2017 pageSize = 20000 page = 1 @@ -468,10 +468,10 @@ page = 1 needSecondTriggerInputDeprecated= bits, U32, 1484, [4:4], "false", "true" isMapAveragingEnabled = bits, U32, 1484, [5:5], "false", "true" overrideCrankingIacSetting= bits, U32, 1484, [6:6], "false", "true" - anotherUnusedBit2 = bits, U32, 1484, [7:7], "false", "true" + useSeparateAdvanceForIdle= bits, U32, 1484, [7:7], "false", "true" isTunerStudioEnabled = bits, U32, 1484, [8:8], "false", "true" isWaveAnalyzerEnabled = bits, U32, 1484, [9:9], "false", "true" - anotherUnusedBit212 = bits, U32, 1484, [10:10], "false", "true" + useSeparateVeForIdle = bits, U32, 1484, [10:10], "false", "true" isPrintTriggerSynchDetails= bits, U32, 1484, [11:11], "false", "true" isManualSpinningMode = bits, U32, 1484, [12:12], "false", "true" twoWireBatchInjection = bits, U32, 1484, [13:13], "false", "true" @@ -741,6 +741,12 @@ page = 1 fsioCurve4Bins = array, F32, 3240, [8], "x", 1, 0, -999, 1000.0, 3 fsioCurve4 = array, F32, 3272, [8], "y", 1, 0, -999, 1000.0, 3 ;skipping unusedEnd offset 3304 + cltCrankingCorrBins = array, F32, 6480, [8], "C", 1, 0, -100.0, 250.0, 2 + cltCrankingCorr = array, F32, 6512, [8], "%", 1, 0, 0.0, 500.0, 2 + idleAdvanceBins = array, F32, 6544, [8], "RPM", 1, 0, 0.0, 18000, 2 + idleAdvance = array, F32, 6576, [8], "deg", 1, 0, -20, 90, 2 + idleVeBins = array, F32, 6608, [8], "RPM", 1, 0, 0.0, 18000, 2 + idleVe = array, F32, 6640, [8], ,"%", 1, 0, 0, 999.0, 2 fsioFormulas1 = string, ASCII, 6672, 200 fsioFormulas2 = string, ASCII, 6872, 200 fsioFormulas3 = string, ASCII, 7072, 200 diff --git a/java_console/models/src/com/rusefi/config/Fields.java b/java_console/models/src/com/rusefi/config/Fields.java index 0376715ca7..28a94ad4e0 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 Sun Dec 03 07:45:31 EST 2017 +// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Dec 11 10:13:39 EST 2017 public class Fields { public static final int LE_COMMAND_LENGTH = 200; public static final int BLOCKING_FACTOR = 400; @@ -12,8 +12,12 @@ public class Fields { public static final int MAP_WINDOW_SIZE = 8; public static final int NARROW_BAND_WIDE_BAND_CONVERSION_SIZE = 8; public static final int CLT_CURVE_SIZE = 16; + public static final int CRANKING_CLT_IDLE_CURVE_SIZE = 8; + public static final int CLT_CRANKING_CURVE_SIZE = 8; + public static final int IDLE_ADVANCE_CURVE_SIZE = 8; public static final int ENGINE_NOISE_CURVE_SIZE = 8; public static final int CLT_TIMING_CURVE_SIZE = 8; + public static final int IDLE_VE_CURVE_SIZE = 8; public static final int AUX_DIGITAL_VALVE_COUNT = 2; public static final int IAT_CURVE_SIZE = 16; public static final int VBAT_INJECTOR_CURVE_SIZE = 8; @@ -613,11 +617,11 @@ public class Fields { public static final int secondTriggerChannelEnabled_offset = 1484; public static final int needSecondTriggerInputDeprecated_offset = 1484; public static final int isMapAveragingEnabled_offset = 1484; - public static final int anotherUnusedBit1_offset = 1484; - public static final int anotherUnusedBit2_offset = 1484; + public static final int overrideCrankingIacSetting_offset = 1484; + public static final int useSeparateAdvanceForIdle_offset = 1484; public static final int isTunerStudioEnabled_offset = 1484; public static final int isWaveAnalyzerEnabled_offset = 1484; - public static final int anotherUnusedBit212_offset = 1484; + public static final int useSeparateVeForIdle_offset = 1484; public static final int isPrintTriggerSynchDetails_offset = 1484; public static final int isManualSpinningMode_offset = 1484; public static final int twoWireBatchInjection_offset = 1484; @@ -984,6 +988,15 @@ public class Fields { public static final int fsioCurve4Bins_offset = 3240; public static final int fsioCurve4_offset = 3272; public static final int unusedEnd_offset = 3304; + public static final int cltCrankingCorrBins_offset = 6480; + public static final int cltCrankingCorrBins_offset_hex = 1950; + public static final int cltCrankingCorr _offset = 6512; + public static final int cltCrankingCorr _offset_hex = 1970; + public static final int idleAdvanceBins_offset = 6544; + public static final int idleAdvanceBins_offset_hex = 1990; + public static final int idleAdvance _offset = 6576; + public static final int idleVeBins_offset = 6608; + public static final int idleVe_offset = 6640; public static final int fsioFormulas1_offset = 6672; public static final int fsioFormulas2_offset = 6872; public static final int fsioFormulas3_offset = 7072; @@ -1509,11 +1522,11 @@ public class Fields { public static final Field SECONDTRIGGERCHANNELENABLED = Field.create("SECONDTRIGGERCHANNELENABLED", 1484, FieldType.BIT, 3); public static final Field NEEDSECONDTRIGGERINPUTDEPRECATED = Field.create("NEEDSECONDTRIGGERINPUTDEPRECATED", 1484, FieldType.BIT, 4); public static final Field ISMAPAVERAGINGENABLED = Field.create("ISMAPAVERAGINGENABLED", 1484, FieldType.BIT, 5); - public static final Field ANOTHERUNUSEDBIT1 = Field.create("ANOTHERUNUSEDBIT1", 1484, FieldType.BIT, 6); - public static final Field ANOTHERUNUSEDBIT2 = Field.create("ANOTHERUNUSEDBIT2", 1484, FieldType.BIT, 7); + public static final Field OVERRIDECRANKINGIACSETTING = Field.create("OVERRIDECRANKINGIACSETTING", 1484, FieldType.BIT, 6); + public static final Field USESEPARATEADVANCEFORIDLE = Field.create("USESEPARATEADVANCEFORIDLE", 1484, FieldType.BIT, 7); public static final Field ISTUNERSTUDIOENABLED = Field.create("ISTUNERSTUDIOENABLED", 1484, FieldType.BIT, 8); public static final Field ISWAVEANALYZERENABLED = Field.create("ISWAVEANALYZERENABLED", 1484, FieldType.BIT, 9); - public static final Field ANOTHERUNUSEDBIT212 = Field.create("ANOTHERUNUSEDBIT212", 1484, FieldType.BIT, 10); + public static final Field USESEPARATEVEFORIDLE = Field.create("USESEPARATEVEFORIDLE", 1484, FieldType.BIT, 10); public static final Field ISPRINTTRIGGERSYNCHDETAILS = Field.create("ISPRINTTRIGGERSYNCHDETAILS", 1484, FieldType.BIT, 11); public static final Field ISMANUALSPINNINGMODE = Field.create("ISMANUALSPINNINGMODE", 1484, FieldType.BIT, 12); public static final Field TWOWIREBATCHINJECTION = Field.create("TWOWIREBATCHINJECTION", 1484, FieldType.BIT, 13); From 2cd13f578f0ea0f8fb7d6017c60d0616f7f2b382 Mon Sep 17 00:00:00 2001 From: rusefi Date: Mon, 11 Dec 2017 11:23:53 -0500 Subject: [PATCH 3/5] fixing build --- ...ngine_configuration_generated_structures.h | 8 ++++---- firmware/controllers/algo/rusefi_generated.h | 8 ++++---- firmware/tunerstudio/rusefi.ini | 6 +++--- .../models/src/com/rusefi/config/Fields.java | 8 ++++---- java_tools/ConfigDefinition.jar | Bin 32461 -> 32823 bytes .../src/com/rusefi/ConfigField.java | 12 ++++++++++-- 6 files changed, 25 insertions(+), 17 deletions(-) diff --git a/firmware/controllers/algo/engine_configuration_generated_structures.h b/firmware/controllers/algo/engine_configuration_generated_structures.h index 8feaaf03b2..2af89d28a8 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 Mon Dec 11 10:13:39 EST 2017 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Dec 11 11:22:10 EST 2017 // begin #ifndef ENGINE_CONFIGURATION_GENERATED_H_ #define ENGINE_CONFIGURATION_GENERATED_H_ @@ -2005,7 +2005,7 @@ typedef struct { * CLT-based cranking position multiplier for simple manual idle controller * offset 6512 */ - float cltCrankingCorr [CLT_CRANKING_CURVE_SIZE]; + float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; /** * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * offset 6544 @@ -2015,7 +2015,7 @@ typedef struct { * Optional timing advance table for Idle (see useSeparateAdvanceForIdle) * offset 6576 */ - float idleAdvance [IDLE_ADVANCE_CURVE_SIZE]; + float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; /** * Optional VE table for Idle (see useSeparateVEForIdle) * offset 6608 @@ -2233,4 +2233,4 @@ typedef struct { #endif // end -// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Dec 11 10:13:39 EST 2017 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Dec 11 11:22:10 EST 2017 diff --git a/firmware/controllers/algo/rusefi_generated.h b/firmware/controllers/algo/rusefi_generated.h index 98e29df2fb..385e15e222 100644 --- a/firmware/controllers/algo/rusefi_generated.h +++ b/firmware/controllers/algo/rusefi_generated.h @@ -1477,12 +1477,12 @@ #define unusedEnd_offset_hex ce8 #define cltCrankingCorrBins_offset 6480 #define cltCrankingCorrBins_offset_hex 1950 -#define cltCrankingCorr _offset 6512 -#define cltCrankingCorr _offset_hex 1970 +#define cltCrankingCorr_offset 6512 +#define cltCrankingCorr_offset_hex 1970 #define idleAdvanceBins_offset 6544 #define idleAdvanceBins_offset_hex 1990 -#define idleAdvance _offset 6576 -#define idleAdvance _offset_hex 19b0 +#define idleAdvance_offset 6576 +#define idleAdvance_offset_hex 19b0 #define idleVeBins_offset 6608 #define idleVeBins_offset_hex 19d0 #define idleVe_offset 6640 diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index 37de20f245..554414fc8b 100644 --- a/firmware/tunerstudio/rusefi.ini +++ b/firmware/tunerstudio/rusefi.ini @@ -63,7 +63,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 Dec 11 10:13:39 EST 2017 +; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Dec 11 11:22:10 EST 2017 pageSize = 20000 page = 1 @@ -742,9 +742,9 @@ page = 1 fsioCurve4 = array, F32, 3272, [8], "y", 1, 0, -999, 1000.0, 3 ;skipping unusedEnd offset 3304 cltCrankingCorrBins = array, F32, 6480, [8], "C", 1, 0, -100.0, 250.0, 2 - cltCrankingCorr = array, F32, 6512, [8], "%", 1, 0, 0.0, 500.0, 2 + cltCrankingCorr = array, F32, 6512, [8], "%", 1, 0, 0.0, 500.0, 2 idleAdvanceBins = array, F32, 6544, [8], "RPM", 1, 0, 0.0, 18000, 2 - idleAdvance = array, F32, 6576, [8], "deg", 1, 0, -20, 90, 2 + idleAdvance = array, F32, 6576, [8], "deg", 1, 0, -20, 90, 2 idleVeBins = array, F32, 6608, [8], "RPM", 1, 0, 0.0, 18000, 2 idleVe = array, F32, 6640, [8], ,"%", 1, 0, 0, 999.0, 2 fsioFormulas1 = string, ASCII, 6672, 200 diff --git a/java_console/models/src/com/rusefi/config/Fields.java b/java_console/models/src/com/rusefi/config/Fields.java index 28a94ad4e0..c979acec35 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 Dec 11 10:13:39 EST 2017 +// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Dec 11 11:22:10 EST 2017 public class Fields { public static final int LE_COMMAND_LENGTH = 200; public static final int BLOCKING_FACTOR = 400; @@ -990,11 +990,11 @@ public class Fields { public static final int unusedEnd_offset = 3304; public static final int cltCrankingCorrBins_offset = 6480; public static final int cltCrankingCorrBins_offset_hex = 1950; - public static final int cltCrankingCorr _offset = 6512; - public static final int cltCrankingCorr _offset_hex = 1970; + public static final int cltCrankingCorr_offset = 6512; + public static final int cltCrankingCorr_offset_hex = 1970; public static final int idleAdvanceBins_offset = 6544; public static final int idleAdvanceBins_offset_hex = 1990; - public static final int idleAdvance _offset = 6576; + public static final int idleAdvance_offset = 6576; public static final int idleVeBins_offset = 6608; public static final int idleVe_offset = 6640; public static final int fsioFormulas1_offset = 6672; diff --git a/java_tools/ConfigDefinition.jar b/java_tools/ConfigDefinition.jar index d911cee33c172ba5c253bda64f8a35dceba8252d..f3fd107e99a1dfc02a29b5adb73ef9632ccf3249 100644 GIT binary patch delta 8073 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 Date: Mon, 11 Dec 2017 11:29:36 -0500 Subject: [PATCH 4/5] fixing build --- firmware/controllers/algo/rusefi_generated.h | 1 - firmware/integration/rusefi_config.txt | 1 - 2 files changed, 2 deletions(-) diff --git a/firmware/controllers/algo/rusefi_generated.h b/firmware/controllers/algo/rusefi_generated.h index 385e15e222..e686941871 100644 --- a/firmware/controllers/algo/rusefi_generated.h +++ b/firmware/controllers/algo/rusefi_generated.h @@ -29,7 +29,6 @@ #define ENGINE_NOISE_CURVE_SIZE 8 #define CLT_TIMING_CURVE_SIZE 8 #define IDLE_VE_CURVE_SIZE 8 -#define IDLE_ADVANCE_CURVE_SIZE #define AUX_DIGITAL_VALVE_COUNT 2 #define IAT_CURVE_SIZE 16 #define VBAT_INJECTOR_CURVE_SIZE 8 diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index bab3aa7f84..7dfb084ceb 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -74,7 +74,6 @@ struct_no_prefix engine_configuration_s #define ENGINE_NOISE_CURVE_SIZE 8 #define CLT_TIMING_CURVE_SIZE 8 #define IDLE_VE_CURVE_SIZE 8 -#define IDLE_ADVANCE_CURVE_SIZE #define AUX_DIGITAL_VALVE_COUNT 2 From f648fc96a958c622bf0378578c3c857479da18a3 Mon Sep 17 00:00:00 2001 From: rusefi Date: Mon, 11 Dec 2017 11:41:19 -0500 Subject: [PATCH 5/5] better method name --- .../src/com/rusefi/ConfigDefinition.java | 6 +++--- .../src/com/rusefi/VariableRegistry.java | 6 +++++- .../src/com/rusefi/test/VariableRegistryTest.java | 8 ++++---- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/java_tools/configuration_definition/src/com/rusefi/ConfigDefinition.java b/java_tools/configuration_definition/src/com/rusefi/ConfigDefinition.java index 954d39e71f..85d3b878cd 100644 --- a/java_tools/configuration_definition/src/com/rusefi/ConfigDefinition.java +++ b/java_tools/configuration_definition/src/com/rusefi/ConfigDefinition.java @@ -120,7 +120,7 @@ public class ConfigDefinition { String line; while ((line = fr.readLine()) != null) { - line = VariableRegistry.INSTANCE.processLine(line); + line = VariableRegistry.INSTANCE.applyVariables(line); fw.write(line + ConfigDefinition.EOL); } fw.close(); @@ -149,7 +149,7 @@ public class ConfigDefinition { prefix.append(line + ConfigDefinition.EOL); if (isAfterEndTag) - postfix.append(VariableRegistry.INSTANCE.processLine(line) + ConfigDefinition.EOL); + postfix.append(VariableRegistry.INSTANCE.applyVariables(line) + ConfigDefinition.EOL); } r.close(); return new TsFileContent(prefix.toString(), postfix.toString()); @@ -206,7 +206,7 @@ public class ConfigDefinition { String customSize = line.substring(0, index); String tunerStudioLine = line.substring(index).trim(); - tunerStudioLine = VariableRegistry.INSTANCE.processLine(tunerStudioLine); + tunerStudioLine = VariableRegistry.INSTANCE.applyVariables(tunerStudioLine); int size; try { size = Integer.parseInt(customSize); diff --git a/java_tools/configuration_definition/src/com/rusefi/VariableRegistry.java b/java_tools/configuration_definition/src/com/rusefi/VariableRegistry.java index fd711748a2..3e3f0d7eca 100644 --- a/java_tools/configuration_definition/src/com/rusefi/VariableRegistry.java +++ b/java_tools/configuration_definition/src/com/rusefi/VariableRegistry.java @@ -30,7 +30,11 @@ public class VariableRegistry extends TreeMap { super(String.CASE_INSENSITIVE_ORDER); } - public String processLine(String line) { + /** + * This methos replaces variables references like @@var@@ with actual values + * An exception is thrown if we do not have such variable + */ + public String applyVariables(String line) { Matcher m; while ((m = VAR.matcher(line)).find()) { String key = m.group(2); diff --git a/java_tools/configuration_definition/src/com/rusefi/test/VariableRegistryTest.java b/java_tools/configuration_definition/src/com/rusefi/test/VariableRegistryTest.java index 294f14631a..ace45193d0 100644 --- a/java_tools/configuration_definition/src/com/rusefi/test/VariableRegistryTest.java +++ b/java_tools/configuration_definition/src/com/rusefi/test/VariableRegistryTest.java @@ -15,9 +15,9 @@ public class VariableRegistryTest { VariableRegistry.INSTANCE.register("var", 256); - assertEquals("256", VariableRegistry.INSTANCE.processLine("@@var@@")); - assertEquals("ab256", VariableRegistry.INSTANCE.processLine("ab@@var@@")); - assertEquals("ab256cd", VariableRegistry.INSTANCE.processLine("ab@@var@@cd")); - assertEquals("aa256qwe100fff", VariableRegistry.INSTANCE.processLine("aa@@var@@qwe@@var_hex@@fff")); + assertEquals("256", VariableRegistry.INSTANCE.applyVariables("@@var@@")); + assertEquals("ab256", VariableRegistry.INSTANCE.applyVariables("ab@@var@@")); + assertEquals("ab256cd", VariableRegistry.INSTANCE.applyVariables("ab@@var@@cd")); + assertEquals("aa256qwe100fff", VariableRegistry.INSTANCE.applyVariables("aa@@var@@qwe@@var_hex@@fff")); } }