From 0a23e82baf35e90922ab80a58d5fad2735e324a5 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Fri, 4 Dec 2020 00:30:22 -0500 Subject: [PATCH] 6.1 Hemi V8 decoder #2010 --- .../controllers/algo/auto_generated_enums.cpp | 6 ++-- .../controllers/algo/auto_generated_enums.cpp | 6 ++-- .../controllers/algo/auto_generated_enums.cpp | 6 ++-- firmware/controllers/algo/rusefi_enums.h | 2 +- .../trigger/decoders/trigger_chrysler.cpp | 36 +++++++++++++++++++ .../trigger/decoders/trigger_chrysler.h | 2 ++ .../trigger/decoders/trigger_structure.cpp | 5 ++- .../main/java/com/rusefi/TriggerImage.java | 2 ++ 8 files changed, 54 insertions(+), 11 deletions(-) diff --git a/firmware/config/boards/hellen/cypress/config/controllers/algo/auto_generated_enums.cpp b/firmware/config/boards/hellen/cypress/config/controllers/algo/auto_generated_enums.cpp index 243eb8944a..dcc97eadd0 100644 --- a/firmware/config/boards/hellen/cypress/config/controllers/algo/auto_generated_enums.cpp +++ b/firmware/config/boards/hellen/cypress/config/controllers/algo/auto_generated_enums.cpp @@ -1,7 +1,7 @@ #include "global.h" #include "rusefi_enums.h" #include "rusefi_hw_enums.h" -// was generated automatically by rusEfi tool from rusefi_hw_enums.h // was generated automatically by rusEfi tool from rusefi_enums.h // by enum2string.jar tool on Thu Dec 03 23:48:52 EST 2020 +// was generated automatically by rusEfi tool from rusefi_hw_enums.h // was generated automatically by rusEfi tool from rusefi_enums.h // by enum2string.jar tool on Fri Dec 04 00:17:48 EST 2020 // see also gen_config_and_enums.bat @@ -1337,6 +1337,8 @@ case TT_3_1_CAM: return "TT_3_1_CAM"; case TT_60_2_VW: return "TT_60_2_VW"; +case TT_CHRYSLER_NGC_36_2_2: + return "TT_CHRYSLER_NGC_36_2_2"; case TT_DAIHATSU: return "TT_DAIHATSU"; case TT_DODGE_NEON_1995: @@ -1421,8 +1423,6 @@ case TT_TOOTHED_WHEEL_60_2: return "TT_TOOTHED_WHEEL_60_2"; case TT_UNUSED: return "TT_UNUSED"; -case TT_UNUSED_30: - return "TT_UNUSED_30"; case TT_VVT_BOSCH_QUICK_START: return "TT_VVT_BOSCH_QUICK_START"; case TT_VVT_JZ: diff --git a/firmware/config/boards/kinetis/config/controllers/algo/auto_generated_enums.cpp b/firmware/config/boards/kinetis/config/controllers/algo/auto_generated_enums.cpp index d0e8b0e68f..0ea04f5690 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/auto_generated_enums.cpp +++ b/firmware/config/boards/kinetis/config/controllers/algo/auto_generated_enums.cpp @@ -1,7 +1,7 @@ #include "global.h" #include "rusefi_enums.h" #include "rusefi_hw_enums.h" -// was generated automatically by rusEfi tool from rusefi_hw_enums.h // was generated automatically by rusEfi tool from rusefi_enums.h // by enum2string.jar tool on Thu Dec 03 23:48:51 EST 2020 +// was generated automatically by rusEfi tool from rusefi_hw_enums.h // was generated automatically by rusEfi tool from rusefi_enums.h // by enum2string.jar tool on Fri Dec 04 00:17:47 EST 2020 // see also gen_config_and_enums.bat @@ -1133,6 +1133,8 @@ case TT_3_1_CAM: return "TT_3_1_CAM"; case TT_60_2_VW: return "TT_60_2_VW"; +case TT_CHRYSLER_NGC_36_2_2: + return "TT_CHRYSLER_NGC_36_2_2"; case TT_DAIHATSU: return "TT_DAIHATSU"; case TT_DODGE_NEON_1995: @@ -1217,8 +1219,6 @@ case TT_TOOTHED_WHEEL_60_2: return "TT_TOOTHED_WHEEL_60_2"; case TT_UNUSED: return "TT_UNUSED"; -case TT_UNUSED_30: - return "TT_UNUSED_30"; case TT_VVT_BOSCH_QUICK_START: return "TT_VVT_BOSCH_QUICK_START"; case TT_VVT_JZ: diff --git a/firmware/controllers/algo/auto_generated_enums.cpp b/firmware/controllers/algo/auto_generated_enums.cpp index 892d77d50c..3bdec15c86 100644 --- a/firmware/controllers/algo/auto_generated_enums.cpp +++ b/firmware/controllers/algo/auto_generated_enums.cpp @@ -1,7 +1,7 @@ #include "global.h" #include "rusefi_enums.h" #include "rusefi_hw_enums.h" -// was generated automatically by rusEfi tool from rusefi_hw_enums.h // was generated automatically by rusEfi tool from rusefi_enums.h // by enum2string.jar tool on Thu Dec 03 23:48:51 EST 2020 +// was generated automatically by rusEfi tool from rusefi_hw_enums.h // was generated automatically by rusEfi tool from rusefi_enums.h // by enum2string.jar tool on Fri Dec 04 00:17:47 EST 2020 // see also gen_config_and_enums.bat @@ -1279,6 +1279,8 @@ case TT_3_1_CAM: return "TT_3_1_CAM"; case TT_60_2_VW: return "TT_60_2_VW"; +case TT_CHRYSLER_NGC_36_2_2: + return "TT_CHRYSLER_NGC_36_2_2"; case TT_DAIHATSU: return "TT_DAIHATSU"; case TT_DODGE_NEON_1995: @@ -1363,8 +1365,6 @@ case TT_TOOTHED_WHEEL_60_2: return "TT_TOOTHED_WHEEL_60_2"; case TT_UNUSED: return "TT_UNUSED"; -case TT_UNUSED_30: - return "TT_UNUSED_30"; case TT_VVT_BOSCH_QUICK_START: return "TT_VVT_BOSCH_QUICK_START"; case TT_VVT_JZ: diff --git a/firmware/controllers/algo/rusefi_enums.h b/firmware/controllers/algo/rusefi_enums.h index 3686332477..c267249f25 100644 --- a/firmware/controllers/algo/rusefi_enums.h +++ b/firmware/controllers/algo/rusefi_enums.h @@ -292,7 +292,7 @@ typedef enum { TT_2JZ_1_12 = TT_TT_2JZ_1_12, - TT_UNUSED_30 = 30, + TT_CHRYSLER_NGC_36_2_2 = TT_TT_CHRYSLER_NGC_36_2_2, // skipped 3/1 with cam sensor for testing TT_3_1_CAM = 31, diff --git a/firmware/controllers/trigger/decoders/trigger_chrysler.cpp b/firmware/controllers/trigger/decoders/trigger_chrysler.cpp index f8a0c82a38..f3976d1f51 100644 --- a/firmware/controllers/trigger/decoders/trigger_chrysler.cpp +++ b/firmware/controllers/trigger/decoders/trigger_chrysler.cpp @@ -574,3 +574,39 @@ void initJeep_XJ_4cyl_2500(TriggerWaveform *s) { s->addEvent720(596 + offset, T_PRIMARY, TV_FALL); // 720 } + +void configureChryslerNGC_36_2_2(TriggerWaveform *s) { + s->initialize(FOUR_STROKE_CAM_SENSOR); + + float wide = 30 * 2; + float narrow = 10 * 2; + + s->isSynchronizationNeeded = true; + s->setTriggerSynchronizationGap(0.5); + s->setSecondTriggerSynchronizationGap(1); + + float base = 0; + + for (int i = 0; i < 12; i++) { + s->addEvent720(base + narrow / 2, T_PRIMARY, TV_RISE); + s->addEvent720(base + narrow, T_PRIMARY, TV_FALL); + base += narrow; + } + + s->addEvent720(base + wide / 2, T_PRIMARY, TV_RISE); + s->addEvent720(base + wide, T_PRIMARY, TV_FALL); + base += wide; + + for (int i = 0; i < 15; i++) { + s->addEvent720(base + narrow / 2, T_PRIMARY, TV_RISE); + s->addEvent720(base + narrow, T_PRIMARY, TV_FALL); + base += narrow; + } + + s->addEvent720(720 - wide - wide / 2, T_PRIMARY, TV_RISE); + s->addEvent720(720 - wide, T_PRIMARY, TV_FALL); + + s->addEvent720(720 - wide / 2, T_PRIMARY, TV_RISE); + s->addEvent720(720, T_PRIMARY, TV_FALL); + s->useOnlyPrimaryForSync = true; +} diff --git a/firmware/controllers/trigger/decoders/trigger_chrysler.h b/firmware/controllers/trigger/decoders/trigger_chrysler.h index e0b31ae8b2..0bd8177888 100644 --- a/firmware/controllers/trigger/decoders/trigger_chrysler.h +++ b/firmware/controllers/trigger/decoders/trigger_chrysler.h @@ -24,3 +24,5 @@ void configureDodgeStratusTriggerWaveform(TriggerWaveform *s); void initJeep18_2_2_2(TriggerWaveform *s); void initJeep_XJ_4cyl_2500(TriggerWaveform *s); +void configureChryslerNGC_36_2_2(TriggerWaveform *s); + diff --git a/firmware/controllers/trigger/decoders/trigger_structure.cpp b/firmware/controllers/trigger/decoders/trigger_structure.cpp index 5ec2190775..42fd4875d0 100644 --- a/firmware/controllers/trigger/decoders/trigger_structure.cpp +++ b/firmware/controllers/trigger/decoders/trigger_structure.cpp @@ -607,7 +607,10 @@ void TriggerWaveform::initializeTriggerWaveform(Logging *logger, operation_mode_ configureHondaCbr600(this); break; - case TT_UNUSED_30: + case TT_CHRYSLER_NGC_36_2_2: + configureChryslerNGC_36_2_2(this); + break; + case TT_MITSUBISHI: initializeMitsubishi4g18(this); break; diff --git a/java_console/ui/src/main/java/com/rusefi/TriggerImage.java b/java_console/ui/src/main/java/com/rusefi/TriggerImage.java index 3ca2b5e55e..9b46e0b116 100644 --- a/java_console/ui/src/main/java/com/rusefi/TriggerImage.java +++ b/java_console/ui/src/main/java/com/rusefi/TriggerImage.java @@ -63,6 +63,8 @@ public class TriggerImage { return "GM 24x"; case Fields.TT_TT_GM_7X: return "GM 7x"; + case Fields.TT_TT_CHRYSLER_NGC_36_2_2: + return "Chrysler NGC 36/2/2"; case Fields.TT_TT_ONE: return "Single Tooth"; case Fields.TT_TT_2JZ_1_12: