diff --git a/firmware/config/engines/mazda_miata_vvt.cpp b/firmware/config/engines/mazda_miata_vvt.cpp index 1a39610826..15d47d45d3 100644 --- a/firmware/config/engines/mazda_miata_vvt.cpp +++ b/firmware/config/engines/mazda_miata_vvt.cpp @@ -29,11 +29,19 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_ENGINE_PARAMETER_F) { // set vvt_mode 3 engineConfiguration->vvtMode = MIATA_NB2; boardConfiguration->vvtCamSensorUseRise = true; - engineConfiguration->vvtOffset = -385; + engineConfiguration->vvtOffset = -70; + + // enable trigger_details + engineConfiguration->isPrintTriggerSynchDetails = false; - boardConfiguration->nb2ratioFrom = 0.75; - boardConfiguration->nb2ratioTo = 1.25; +// 0.0825 +// 0.1375 +// 6.375 +// 10.625 + boardConfiguration->nb2ratioFrom = 8.50 * 0.75; + boardConfiguration->nb2ratioTo = 8.50 * 1.25; + engineConfiguration->nbVvtIndex = 0; engineConfiguration->specs.cylindersCount = 4; diff --git a/firmware/controllers/algo/engine_configuration_generated_structures.h b/firmware/controllers/algo/engine_configuration_generated_structures.h index da5ebd0c71..149931de82 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 Tue Nov 15 20:55:28 EST 2016 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Nov 17 22:30:07 EST 2016 // begin #ifndef ENGINE_CONFIGURATION_GENERATED_H_ #define ENGINE_CONFIGURATION_GENERATED_H_ @@ -1578,6 +1578,7 @@ typedef struct { */ float tpsAccelEnrichmentThreshold; /** + * set vvt_offset X * offset 2192 */ float vvtOffset; @@ -1777,7 +1778,11 @@ typedef struct { /** * offset 2640 */ - int unused[102]; + int nbVvtIndex; + /** + * offset 2644 + */ + int unused[101]; /** total size 3048*/ } engine_configuration_s; @@ -1992,4 +1997,4 @@ typedef struct { #endif // end -// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Tue Nov 15 20:55:28 EST 2016 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Nov 17 22:30:07 EST 2016 diff --git a/firmware/controllers/algo/rusefi_generated.h b/firmware/controllers/algo/rusefi_generated.h index 283dfaf3c7..c77c2d24d4 100644 --- a/firmware/controllers/algo/rusefi_generated.h +++ b/firmware/controllers/algo/rusefi_generated.h @@ -890,7 +890,8 @@ #define biQuad_b2_offset 2572 #define cltTimingBins_offset 2576 #define cltTimingExtra_offset 2608 -#define unused_offset 2640 +#define nbVvtIndex_offset 2640 +#define unused_offset 2644 #define le_formulas1_offset 3048 #define le_formulas2_offset 3248 #define le_formulas3_offset 3448 diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index 4ff5cc9a8a..0d0b884cf4 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -988,6 +988,8 @@ static void setValue(const char *paramStr, const char *valueStr) { engineConfiguration->engineSnifferRpmThreshold = valueI; } else if (strEqualCaseInsensitive(paramStr, "step1rpm")) { engineConfiguration->step1rpm = valueI; + } else if (strEqualCaseInsensitive(paramStr, "vvt_offset")) { + engineConfiguration->vvtOffset = valueF; } else if (strEqualCaseInsensitive(paramStr, "vvt_mode")) { engineConfiguration->vvtMode = (vvt_mode_e)valueI; } else if (strEqualCaseInsensitive(paramStr, "step1timing")) { diff --git a/firmware/controllers/trigger/trigger_central.cpp b/firmware/controllers/trigger/trigger_central.cpp index 7d50c97a41..60725539d2 100644 --- a/firmware/controllers/trigger/trigger_central.cpp +++ b/firmware/controllers/trigger/trigger_central.cpp @@ -155,7 +155,7 @@ void hwHandleVvtCamSignal(trigger_value_e front) { /** * NB2 is a symmetrical crank, there are four phases total */ - while (tc->triggerState.getTotalRevolutionCounter() % 4 != 2) { + while (tc->triggerState.getTotalRevolutionCounter() % 4 != engineConfiguration->nbVvtIndex) { tc->triggerState.intTotalEventCounter(); } } diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index 01a3d87175..d898d370f8 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -705,7 +705,7 @@ baro_corr_table_t baroCorrTable; int tpsAccelLength;;"cycles", 1, 0, 1, 200, 0 float tpsAccelEnrichmentThreshold;;"roc", 1, 0, 0, 200, 3 - float vvtOffset;;"value", 1, 0, -720, 1000, 5 + float vvtOffset;set vvt_offset X;"value", 1, 0, -720, 1000, 5 int engineLoadAccelLength;;"cycles", 1, 0, 1, 200, 0 @@ -759,7 +759,8 @@ float[MAP_ACCEL_TAPER] mapAccelTaperMult;;"mult", 1, 0, 0.0, 300, bi_quard_s biQuad; float[CLT_TIMING_CURVE_SIZE] cltTimingBins;CLT-based timing correction;"C", 1, 0, -100.0, 250.0, 1 float[CLT_TIMING_CURVE_SIZE] cltTimingExtra;;"degree", 1, 0, -400.0, 400.0, 0 - int[102] unused; + int nbVvtIndex;;"index", 1, 0, 0, 4.0, 0 + int[101] unused; end_struct diff --git a/firmware/rusefi.cpp b/firmware/rusefi.cpp index dc09175ed0..8d4eb1b332 100644 --- a/firmware/rusefi.cpp +++ b/firmware/rusefi.cpp @@ -290,5 +290,5 @@ int getRusEfiVersion(void) { return 123; // this is here to make the compiler happy about the unused array if (UNUSED_CCM_SIZE[0] * 0 != 0) return 3211; // this is here to make the compiler happy about the unused array - return 20161115; + return 20161117; } diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index e61cc108cd..35f8c2fa25 100644 --- a/firmware/tunerstudio/rusefi.ini +++ b/firmware/tunerstudio/rusefi.ini @@ -42,7 +42,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 Tue Nov 15 20:55:28 EST 2016 +; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Nov 17 22:30:07 EST 2016 pageSize = 16376 page = 1 @@ -621,7 +621,8 @@ page = 1 biQuad_b2 = scalar, F32, 2572, "v", 1, 0, -1000, 1000, 9 cltTimingBins = array, F32, 2576, [8], "C", 1, 0, -100.0, 250.0, 1 cltTimingExtra = array, F32, 2608, [8], "degree", 1, 0, -400.0, 400.0, 0 -;skipping unused offset 2640 + nbVvtIndex = scalar, S32, 2640, "index", 1, 0, 0, 4.0, 0 +;skipping unused offset 2644 le_formulas1 = array, U08, 3048, [200],"char", 1, 0, 0.0, 3.0, 2 le_formulas2 = array, U08, 3248, [200],"char", 1, 0, 0.0, 3.0, 2 le_formulas3 = array, U08, 3448, [200],"char", 1, 0, 0.0, 3.0, 2 @@ -1518,6 +1519,7 @@ cmd_test_idle_valve = "w\x00\x17\x00\x01" field = "VVT position display offset", vvtOffset field = "NB2 from temp", nb2ratioFrom field = "NB2 to temp", nb2ratioTo + field = "nbVvtIndex", nbVvtIndex field = "Trigger error LED", triggerErrorPin field = "Trigger error LED mode", triggerErrorPinMode dialog = triggerConfiguration diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index 36e5e5b4e2..235bd085df 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -1485,6 +1485,7 @@ cmd_test_idle_valve = "w\x00\x17\x00\x01" field = "VVT position display offset", vvtOffset field = "NB2 from temp", nb2ratioFrom field = "NB2 to temp", nb2ratioTo + field = "nbVvtIndex", nbVvtIndex field = "Trigger error LED", triggerErrorPin field = "Trigger error LED mode", triggerErrorPinMode dialog = triggerConfiguration diff --git a/java_console/models/src/com/rusefi/config/Fields.java b/java_console/models/src/com/rusefi/config/Fields.java index 99b8bfa966..04603d5e18 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 Tue Nov 15 20:55:28 EST 2016 +// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Nov 17 22:30:07 EST 2016 public class Fields { public static final int LE_COMMAND_LENGTH = 200; public static final int FSIO_ADC_COUNT = 4; @@ -894,7 +894,8 @@ public class Fields { public static final int biQuad_b2_offset = 2572; public static final int cltTimingBins_offset = 2576; public static final int cltTimingExtra_offset = 2608; - public static final int unused_offset = 2640; + public static final int nbVvtIndex_offset = 2640; + public static final int unused_offset = 2644; public static final int le_formulas1_offset = 3048; public static final int le_formulas2_offset = 3248; public static final int le_formulas3_offset = 3448; @@ -1531,6 +1532,7 @@ public class Fields { public static final Field BIQUAD_A2 = Field.create("BIQUAD_A2", 2564, FieldType.FLOAT); public static final Field BIQUAD_B1 = Field.create("BIQUAD_B1", 2568, FieldType.FLOAT); public static final Field BIQUAD_B2 = Field.create("BIQUAD_B2", 2572, FieldType.FLOAT); + public static final Field NBVVTINDEX = Field.create("NBVVTINDEX", 2640, FieldType.INT); public static final Field LE_FORMULAS1 = Field.create("LE_FORMULAS1", 3048, FieldType.INT); public static final Field LE_FORMULAS2 = Field.create("LE_FORMULAS2", 3248, FieldType.INT); public static final Field LE_FORMULAS3 = Field.create("LE_FORMULAS3", 3448, FieldType.INT);