From f6a33aa01428cc83cfe8819d3c5edaf3e31cd2cf Mon Sep 17 00:00:00 2001 From: rusefi Date: Sun, 2 Apr 2017 17:15:05 -0400 Subject: [PATCH 1/5] merging 7 lines at a time --- firmware/global.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/firmware/global.h b/firmware/global.h index 5f8a0715a1..53746e1cbe 100644 --- a/firmware/global.h +++ b/firmware/global.h @@ -8,6 +8,11 @@ #ifndef GLOBAL_H_ #define GLOBAL_H_ +#ifdef __cplusplus +extern "C" +{ +#endif /* __cplusplus */ + #include #include #include @@ -129,4 +134,8 @@ typedef VirtualTimer virtual_timer_t; enginePins.communicationPin.setValue(1); +#ifdef __cplusplus +} +#endif /* __cplusplus */ + #endif /* GLOBAL_H_ */ From cbc77ef07b5aa96e5058235ed43432f843df43ed Mon Sep 17 00:00:00 2001 From: rusefi Date: Sun, 2 Apr 2017 17:36:59 -0400 Subject: [PATCH 2/5] nissan 4/360 progress --- .../trigger/decoders/trigger_nissan.cpp | 21 ++++++++++++------- .../controllers/trigger/trigger_decoder.cpp | 5 ++++- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/firmware/controllers/trigger/decoders/trigger_nissan.cpp b/firmware/controllers/trigger/decoders/trigger_nissan.cpp index b2287c8764..8febf34947 100644 --- a/firmware/controllers/trigger/decoders/trigger_nissan.cpp +++ b/firmware/controllers/trigger/decoders/trigger_nissan.cpp @@ -7,14 +7,11 @@ #include "trigger_nissan.h" -/** - * Nissan Primera p11 year 1995-2002 - */ - -void initializeNissanSR20VE_4(TriggerShape *s DECLARE_ENGINE_PARAMETER_S) { - s->initialize(FOUR_STROKE_CAM_SENSOR, false); +static void initializeNissanSR20VE_4_optional_360(TriggerShape *s, bool with2nd DECLARE_ENGINE_PARAMETER_S) { + s->initialize(FOUR_STROKE_CAM_SENSOR, with2nd); s->isSynchronizationNeeded = true; s->gapBothDirections = true; + s->useOnlyPrimaryForSync = true; s->tdcPosition = 630; @@ -38,8 +35,18 @@ void initializeNissanSR20VE_4(TriggerShape *s DECLARE_ENGINE_PARAMETER_S) { base += 180; s->addEvent2(base - w, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); s->addEvent2(base, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); + +} + + +/** + * Nissan Primera p11 year 1995-2002 + */ + +void initializeNissanSR20VE_4(TriggerShape *s DECLARE_ENGINE_PARAMETER_S) { + initializeNissanSR20VE_4_optional_360(s, false PASS_ENGINE_PARAMETER); } void initializeNissanSR20VE_4_360(TriggerShape *s DECLARE_ENGINE_PARAMETER_S) { - + initializeNissanSR20VE_4_optional_360(s, true PASS_ENGINE_PARAMETER); } diff --git a/firmware/controllers/trigger/trigger_decoder.cpp b/firmware/controllers/trigger/trigger_decoder.cpp index 2ffe65fe14..2c80b0e82b 100644 --- a/firmware/controllers/trigger/trigger_decoder.cpp +++ b/firmware/controllers/trigger/trigger_decoder.cpp @@ -634,10 +634,13 @@ void TriggerShape::initializeTriggerShape(Logging *logger DECLARE_ENGINE_PARAMET break; case TT_NISSAN_SR20VE: - case TT_TEMP_WIP: initializeNissanSR20VE_4(this PASS_ENGINE_PARAMETER); break; + case TT_TEMP_WIP: + initializeNissanSR20VE_4_360(this PASS_ENGINE_PARAMETER); + break; + case TT_ROVER_K: initializeRoverK(this PASS_ENGINE_PARAMETER); break; From 1f5ff28a0a93e9a9f19b0589576fcbf5274be7bd Mon Sep 17 00:00:00 2001 From: rusefi Date: Sun, 2 Apr 2017 17:59:01 -0400 Subject: [PATCH 3/5] nissan 4/360 progress --- firmware/config/engines/nissan_primera.cpp | 4 ++++ firmware/config/engines/nissan_primera.h | 2 ++ .../controllers/algo/auto_generated_enums.cpp | 4 ++-- firmware/controllers/algo/rusefi_enums.h | 2 +- .../trigger/decoders/trigger_nissan.cpp | 20 +++++++++++++++++-- .../controllers/trigger/trigger_decoder.cpp | 2 +- 6 files changed, 28 insertions(+), 6 deletions(-) diff --git a/firmware/config/engines/nissan_primera.cpp b/firmware/config/engines/nissan_primera.cpp index 889ca648d8..ae6418de88 100644 --- a/firmware/config/engines/nissan_primera.cpp +++ b/firmware/config/engines/nissan_primera.cpp @@ -16,4 +16,8 @@ void setNissanPrimeraEngineConfiguration(engine_configuration_s *engineConfigura engineConfiguration->trigger.type = TT_NISSAN_SR20VE; } +void setNissanPrimeraEngineConfiguration_360(engine_configuration_s *engineConfiguration) { + engineConfiguration->trigger.type = TT_NISSAN_SR20VE_360; +} + #endif /* EFI_SUPPORT_NISSAN_PRIMERA */ diff --git a/firmware/config/engines/nissan_primera.h b/firmware/config/engines/nissan_primera.h index d280fce031..d8caabb311 100644 --- a/firmware/config/engines/nissan_primera.h +++ b/firmware/config/engines/nissan_primera.h @@ -15,6 +15,8 @@ #include "engine_configuration.h" void setNissanPrimeraEngineConfiguration(engine_configuration_s *engineConfiguration); +void setNissanPrimeraEngineConfiguration_360(engine_configuration_s *engineConfiguration); + #endif /* EFI_SUPPORT_NISSAN_PRIMERA */ #endif /* NISSAN_PRIMERA_H_ */ diff --git a/firmware/controllers/algo/auto_generated_enums.cpp b/firmware/controllers/algo/auto_generated_enums.cpp index 4e2d343797..27655e99d3 100644 --- a/firmware/controllers/algo/auto_generated_enums.cpp +++ b/firmware/controllers/algo/auto_generated_enums.cpp @@ -215,8 +215,8 @@ case TT_2JZ_3_34: return "TT_2JZ_3_34"; case TT_ROVER_K: return "TT_ROVER_K"; -case TT_TEMP_WIP: - return "TT_TEMP_WIP"; +case TT_NISSAN_SR20VE_360: + return "TT_NISSAN_SR20VE_360"; } return NULL; } diff --git a/firmware/controllers/algo/rusefi_enums.h b/firmware/controllers/algo/rusefi_enums.h index feb8b270ec..0382be7ca2 100644 --- a/firmware/controllers/algo/rusefi_enums.h +++ b/firmware/controllers/algo/rusefi_enums.h @@ -244,7 +244,7 @@ typedef enum { TT_JEEP_18_2_2_2 = 37, - TT_TEMP_WIP = 38, + TT_NISSAN_SR20VE_360 = 38, TT_UNUSED = 39, // this is used if we want to iterate over all trigger types diff --git a/firmware/controllers/trigger/decoders/trigger_nissan.cpp b/firmware/controllers/trigger/decoders/trigger_nissan.cpp index 8febf34947..da8cfff9f7 100644 --- a/firmware/controllers/trigger/decoders/trigger_nissan.cpp +++ b/firmware/controllers/trigger/decoders/trigger_nissan.cpp @@ -6,6 +6,7 @@ */ #include "trigger_nissan.h" +#include "trigger_universal.h" static void initializeNissanSR20VE_4_optional_360(TriggerShape *s, bool with2nd DECLARE_ENGINE_PARAMETER_S) { s->initialize(FOUR_STROKE_CAM_SENSOR, with2nd); @@ -18,9 +19,24 @@ static void initializeNissanSR20VE_4_optional_360(TriggerShape *s, bool with2nd float w = 5; s->setTriggerSynchronizationGap2(9.67 * 0.75, 16); + float left = 0; + float right; + + int total = 360; // 360 on cam, over 720 crank degree + float base = 180; - s->addEvent2(base - 15, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); - s->addEvent2(base, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); + right = base - 15; + + if (with2nd) { + addSkippedToothTriggerEvents(T_PRIMARY, s, total, 0, 0.5, 0, 720, + left, right PASS_ENGINE_PARAMETER); + } + + s->addEvent2(right, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); + + right = base; + + s->addEvent2(right, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); // was is the the one with 360 opto sensor? diff --git a/firmware/controllers/trigger/trigger_decoder.cpp b/firmware/controllers/trigger/trigger_decoder.cpp index 2c80b0e82b..61f5a76805 100644 --- a/firmware/controllers/trigger/trigger_decoder.cpp +++ b/firmware/controllers/trigger/trigger_decoder.cpp @@ -637,7 +637,7 @@ void TriggerShape::initializeTriggerShape(Logging *logger DECLARE_ENGINE_PARAMET initializeNissanSR20VE_4(this PASS_ENGINE_PARAMETER); break; - case TT_TEMP_WIP: + case TT_NISSAN_SR20VE_360: initializeNissanSR20VE_4_360(this PASS_ENGINE_PARAMETER); break; From 8ee968251bf88dfcbb8d4590372c0076ac1432ce Mon Sep 17 00:00:00 2001 From: rusefi Date: Sun, 2 Apr 2017 18:12:51 -0400 Subject: [PATCH 4/5] nissan 4/360 progress --- .../trigger/decoders/trigger_nissan.cpp | 51 ++++++++++++++++--- 1 file changed, 43 insertions(+), 8 deletions(-) diff --git a/firmware/controllers/trigger/decoders/trigger_nissan.cpp b/firmware/controllers/trigger/decoders/trigger_nissan.cpp index da8cfff9f7..ce3f08b414 100644 --- a/firmware/controllers/trigger/decoders/trigger_nissan.cpp +++ b/firmware/controllers/trigger/decoders/trigger_nissan.cpp @@ -28,30 +28,65 @@ static void initializeNissanSR20VE_4_optional_360(TriggerShape *s, bool with2nd right = base - 15; if (with2nd) { - addSkippedToothTriggerEvents(T_PRIMARY, s, total, 0, 0.5, 0, 720, + addSkippedToothTriggerEvents(T_SECONDARY, s, total, 0, 0.5, 0, 720, left, right PASS_ENGINE_PARAMETER); } s->addEvent2(right, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); + left = right; right = base; - + if (with2nd) { +// addSkippedToothTriggerEvents(T_SECONDARY, s, total, 0, 0.5, 0, 720, +// left, right PASS_ENGINE_PARAMETER); + } s->addEvent2(right, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); // was is the the one with 360 opto sensor? base += 180; - s->addEvent2(base - w, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); - s->addEvent2(base, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); + + left = right; + right = base - w; + if (with2nd) { +// addSkippedToothTriggerEvents(T_SECONDARY, s, total, 0, 0.5, 0, 720, +// left, right PASS_ENGINE_PARAMETER); + } + s->addEvent2(right, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); + + left = right; + right = base; + if (with2nd) { +// addSkippedToothTriggerEvents(T_SECONDARY, s, total, 0, 0.5, 0, 720, +// left, right PASS_ENGINE_PARAMETER); + } + s->addEvent2(right, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); base += 180; - s->addEvent2(base - w, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); - s->addEvent2(base, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); + left = right; + right = base - w; + if (with2nd) { +// addSkippedToothTriggerEvents(T_SECONDARY, s, total, 0, 0.5, 0, 720, +// left, right PASS_ENGINE_PARAMETER); + } + s->addEvent2(right, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); + + left = right; + right = base; + if (with2nd) { +// addSkippedToothTriggerEvents(T_SECONDARY, s, total, 0, 0.5, 0, 720, +// left, right PASS_ENGINE_PARAMETER); + } + s->addEvent2(right, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); base += 180; - s->addEvent2(base - w, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); - s->addEvent2(base, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); + left = right; + right = base - w; + s->addEvent2(right, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); + left = right; + right = base; + s->addEvent2(right, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); } From 504c6b5e94fcca95c38ea47a477bbacf915bc602 Mon Sep 17 00:00:00 2001 From: rusefi Date: Sun, 2 Apr 2017 18:14:30 -0400 Subject: [PATCH 5/5] nissan 4/360 progress --- firmware/controllers/trigger/decoders/trigger_nissan.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/firmware/controllers/trigger/decoders/trigger_nissan.cpp b/firmware/controllers/trigger/decoders/trigger_nissan.cpp index ce3f08b414..3c23cbcc86 100644 --- a/firmware/controllers/trigger/decoders/trigger_nissan.cpp +++ b/firmware/controllers/trigger/decoders/trigger_nissan.cpp @@ -37,8 +37,8 @@ static void initializeNissanSR20VE_4_optional_360(TriggerShape *s, bool with2nd left = right; right = base; if (with2nd) { -// addSkippedToothTriggerEvents(T_SECONDARY, s, total, 0, 0.5, 0, 720, -// left, right PASS_ENGINE_PARAMETER); + addSkippedToothTriggerEvents(T_SECONDARY, s, total, 0, 0.5, 0, 720, + left, right PASS_ENGINE_PARAMETER); } s->addEvent2(right, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER);