From 3da9eb374418d3cf4b46fe97ca7284d312389162 Mon Sep 17 00:00:00 2001 From: rusEfi Date: Mon, 2 Jan 2017 19:03:36 -0500 Subject: [PATCH] auto-sync --- .../controllers/algo/auto_generated_enums.cpp | 2 + firmware/controllers/algo/rusefi_enums.h | 4 +- .../trigger/{ => decoders}/trigger_mazda.cpp | 0 .../trigger/{ => decoders}/trigger_subaru.cpp | 38 +++++++++++++++++++ .../trigger/decoders/trigger_subaru.h | 1 + .../trigger/{ => decoders}/trigger_toyota.cpp | 0 firmware/controllers/trigger/trigger.mk | 6 +-- .../controllers/trigger/trigger_decoder.cpp | 4 ++ firmware/integration/rusefi_config.txt | 2 +- firmware/svnversion.h | 4 +- .../models/src/com/rusefi/config/Fields.java | 4 +- unit_tests/.cproject | 1 + 12 files changed, 57 insertions(+), 9 deletions(-) rename firmware/controllers/trigger/{ => decoders}/trigger_mazda.cpp (100%) rename firmware/controllers/trigger/{ => decoders}/trigger_subaru.cpp (51%) rename firmware/controllers/trigger/{ => decoders}/trigger_toyota.cpp (100%) diff --git a/firmware/controllers/algo/auto_generated_enums.cpp b/firmware/controllers/algo/auto_generated_enums.cpp index ca740add5a..ec9ca30f3b 100644 --- a/firmware/controllers/algo/auto_generated_enums.cpp +++ b/firmware/controllers/algo/auto_generated_enums.cpp @@ -177,6 +177,8 @@ case TT_MAZDA_MIATA_NB1: return "TT_MAZDA_MIATA_NB1"; case TT_MAZDA_MIATA_VVT_TEST: return "TT_MAZDA_MIATA_VVT_TEST"; +case TT_SUBARU_7_6: + return "TT_SUBARU_7_6"; case TT_MINI_COOPER_R50: return "TT_MINI_COOPER_R50"; case TT_MITSU: diff --git a/firmware/controllers/algo/rusefi_enums.h b/firmware/controllers/algo/rusefi_enums.h index fbe390e23a..80f854068c 100644 --- a/firmware/controllers/algo/rusefi_enums.h +++ b/firmware/controllers/algo/rusefi_enums.h @@ -219,7 +219,9 @@ typedef enum { */ TT_MAZDA_MIATA_VVT_TEST = 35, - TT_UNUSED = 36, // this is used if we want to iterate over all trigger types + TT_SUBARU_7_6 = 36, + + TT_UNUSED = 37, // this is used if we want to iterate over all trigger types Force_4b_trigger_type = ENUM_32_BITS, } trigger_type_e; diff --git a/firmware/controllers/trigger/trigger_mazda.cpp b/firmware/controllers/trigger/decoders/trigger_mazda.cpp similarity index 100% rename from firmware/controllers/trigger/trigger_mazda.cpp rename to firmware/controllers/trigger/decoders/trigger_mazda.cpp diff --git a/firmware/controllers/trigger/trigger_subaru.cpp b/firmware/controllers/trigger/decoders/trigger_subaru.cpp similarity index 51% rename from firmware/controllers/trigger/trigger_subaru.cpp rename to firmware/controllers/trigger/decoders/trigger_subaru.cpp index 5dba5274fc..0e4973a0c9 100644 --- a/firmware/controllers/trigger/trigger_subaru.cpp +++ b/firmware/controllers/trigger/decoders/trigger_subaru.cpp @@ -45,3 +45,41 @@ void initialize36_2_2_2(TriggerShape *s DECLARE_ENGINE_PARAMETER_S) { s->addEvent2(720, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); s->useOnlyPrimaryForSync = true; } + +void initializeSubaru7_6(TriggerShape *s DECLARE_ENGINE_PARAMETER_S) { + s->initialize(FOUR_STROKE_CAM_SENSOR, false); + + float t2 = 25; + float t3 = 15; + float width = 5; + + s->addEvent2(180 - width / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(180, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); + + s->addEvent2(360 - t2 - width / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(360 - t2, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); + + s->addEvent2(360 - width / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(360, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); + + s->addEvent2(540 - width / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(540, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); + + + s->addEvent2(720 - 2 * t3 - width / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(720 - 2 * t3, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); + + s->addEvent2(720 - t3 - width / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(720 - t3, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); + + + s->addEvent2(720 - width / 2, T_PRIMARY, TV_RISE PASS_ENGINE_PARAMETER); + s->addEvent2(720, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER); + + s->setTriggerSynchronizationGap(12); + + s->isSynchronizationNeeded = true; + + s->useOnlyPrimaryForSync = true; + +} diff --git a/firmware/controllers/trigger/decoders/trigger_subaru.h b/firmware/controllers/trigger/decoders/trigger_subaru.h index d70e4e729d..c06fc528d6 100644 --- a/firmware/controllers/trigger/decoders/trigger_subaru.h +++ b/firmware/controllers/trigger/decoders/trigger_subaru.h @@ -11,5 +11,6 @@ #include "engine.h" void initialize36_2_2_2(TriggerShape *s DECLARE_ENGINE_PARAMETER_S); +void initializeSubaru7_6(TriggerShape *s DECLARE_ENGINE_PARAMETER_S); #endif /* CONTROLLERS_TRIGGER_TRIGGER_SUBARU_H_ */ diff --git a/firmware/controllers/trigger/trigger_toyota.cpp b/firmware/controllers/trigger/decoders/trigger_toyota.cpp similarity index 100% rename from firmware/controllers/trigger/trigger_toyota.cpp rename to firmware/controllers/trigger/decoders/trigger_toyota.cpp diff --git a/firmware/controllers/trigger/trigger.mk b/firmware/controllers/trigger/trigger.mk index 26131f4144..a50de55daf 100644 --- a/firmware/controllers/trigger/trigger.mk +++ b/firmware/controllers/trigger/trigger.mk @@ -1,15 +1,15 @@ TRIGGER_DECODERS_SRC_CPP = \ $(PROJECT_DIR)/controllers/trigger/trigger_bmw.cpp \ - $(PROJECT_DIR)/controllers/trigger/trigger_mazda.cpp \ + $(PROJECT_DIR)/controllers/trigger/decoders/trigger_mazda.cpp \ $(PROJECT_DIR)/controllers/trigger/trigger_chrysler.cpp \ $(PROJECT_DIR)/controllers/trigger/trigger_structure.cpp \ $(PROJECT_DIR)/controllers/trigger/trigger_decoder.cpp \ $(PROJECT_DIR)/controllers/trigger/trigger_simulator.cpp \ $(PROJECT_DIR)/controllers/trigger/trigger_mitsubishi.cpp \ $(PROJECT_DIR)/controllers/trigger/trigger_nissan.cpp \ - $(PROJECT_DIR)/controllers/trigger/trigger_subaru.cpp \ - $(PROJECT_DIR)/controllers/trigger/trigger_toyota.cpp \ + $(PROJECT_DIR)/controllers/trigger/decoders/trigger_subaru.cpp \ + $(PROJECT_DIR)/controllers/trigger/decoders/trigger_toyota.cpp \ $(PROJECT_DIR)/controllers/trigger/trigger_gm.cpp \ $(PROJECT_DIR)/controllers/trigger/trigger_honda.cpp \ $(PROJECT_DIR)/controllers/trigger/trigger_rover.cpp diff --git a/firmware/controllers/trigger/trigger_decoder.cpp b/firmware/controllers/trigger/trigger_decoder.cpp index b96a176bba..53308c39c6 100644 --- a/firmware/controllers/trigger/trigger_decoder.cpp +++ b/firmware/controllers/trigger/trigger_decoder.cpp @@ -591,6 +591,10 @@ void TriggerShape::initializeTriggerShape(Logging *logger DECLARE_ENGINE_PARAMET initDodgeRam(triggerShape PASS_ENGINE_PARAMETER); break; + case TT_SUBARU_7_6: + initializeSubaru7_6(triggerShape PASS_ENGINE_PARAMETER); + break; + case TT_36_2_2_2: initialize36_2_2_2(triggerShape PASS_ENGINE_PARAMETER); break; diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index 09aaf82906..375e17e56b 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -334,7 +334,7 @@ struct trigger_config_s @brief Trigger wheel(s) configuration custom bool32_t 4 bits, U32, @OFFSET@, [0:0], "false", "true" -#define trigger_type_e_enum "custom toothed wheel", "ford aspire", "dodge neon", "Miata NA", "Miata NB", "GM_7X", "Cooper", "Mazda SOHC 4", "60/2", "36/1", "Accord CD", "MITSU", "ACCORD 2", "ACCORD DIP", "Neon 2003", "MAZDA D 1+4", "1+1", "1+60/2", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Accord 1+24", "DODGE STRATUS", "36_2_2_2", "Nissan", "2JZ", "Rover K", "GM LS 24", "Honda CBR 600", "2JZ_1_12", "Honda CBR 600 custom", "3/1 skipped" , "2003 neon crank", "Miata VVT", "INVALID", "INVALID", "INVALID", "INVALID" +#define trigger_type_e_enum "custom toothed wheel", "ford aspire", "dodge neon", "Miata NA", "Miata NB", "GM_7X", "Cooper", "Mazda SOHC 4", "60/2", "36/1", "Accord CD", "MITSU", "ACCORD 2", "ACCORD DIP", "Neon 2003", "MAZDA D 1+4", "1+1", "1+60/2", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Accord 1+24", "DODGE STRATUS", "36_2_2_2", "Nissan", "2JZ", "Rover K", "GM LS 24", "Honda CBR 600", "2JZ_1_12", "Honda CBR 600 custom", "3/1 skipped" , "2003 neon crank", "Miata VVT", "trg34", "trg35", "Subaru 7+6", "INVALID", "INVALID", "INVALID", "INVALID" custom trigger_type_e 4 bits, U32, @OFFSET@, [0:5], @@trigger_type_e_enum@@ trigger_type_e type;set_trigger_type X diff --git a/firmware/svnversion.h b/firmware/svnversion.h index b34025bae6..5f4d3ca1b3 100644 --- a/firmware/svnversion.h +++ b/firmware/svnversion.h @@ -1,5 +1,5 @@ // This file was generated by Version2Header -// Fri Dec 16 21:01:21 EST 2016 +// Mon Jan 02 16:10:17 EST 2017 #ifndef VCS_VERSION -#define VCS_VERSION "10994" +#define VCS_VERSION "11143" #endif diff --git a/java_console/models/src/com/rusefi/config/Fields.java b/java_console/models/src/com/rusefi/config/Fields.java index 9a1ac33781..2b19116619 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 Dec 27 23:08:47 EST 2016 +// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Jan 02 18:37:17 EST 2017 public class Fields { public static final int LE_COMMAND_LENGTH = 200; public static final int FSIO_ADC_COUNT = 4; @@ -1101,7 +1101,7 @@ public class Fields { public static final Field TPSADCCHANNEL = Field.create("TPSADCCHANNEL", 524, FieldType.INT, adc_channel_e); public static final Field OVERRIDECRANKINGIGNITION = Field.create("OVERRIDECRANKINGIGNITION", 528, FieldType.INT); public static final Field SENSORCHARTFREQUENCY = Field.create("SENSORCHARTFREQUENCY", 532, FieldType.INT); - public static final String[] trigger_type_e = {"custom toothed wheel", "ford aspire", "dodge neon", "Miata NA", "Miata NB", "GM_7X", "Cooper", "Mazda SOHC 4", "60/2", "36/1", "Accord CD", "MITSU", "ACCORD 2", "ACCORD DIP", "Neon 2003", "MAZDA D 1+4", "1+1", "1+60/2", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Accord 1+24", "DODGE STRATUS", "36_2_2_2", "Nissan", "2JZ", "Rover K", "GM LS 24", "Honda CBR 600", "2JZ_1_12", "Honda CBR 600 custom", "3/1 skipped" , "2003 neon crank", "Miata VVT", "INVALID", "INVALID", "INVALID", "INVALID"}; + public static final String[] trigger_type_e = {"custom toothed wheel", "ford aspire", "dodge neon", "Miata NA", "Miata NB", "GM_7X", "Cooper", "Mazda SOHC 4", "60/2", "36/1", "Accord CD", "MITSU", "ACCORD 2", "ACCORD DIP", "Neon 2003", "MAZDA D 1+4", "1+1", "1+60/2", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Accord 1+24", "DODGE STRATUS", "36_2_2_2", "Nissan", "2JZ", "Rover K", "GM LS 24", "Honda CBR 600", "2JZ_1_12", "Honda CBR 600 custom", "3/1 skipped" , "2003 neon crank", "Miata VVT", "trg34", "trg35", "Subaru 7+6", "INVALID", "INVALID", "INVALID", "INVALID"}; public static final Field TRIGGER_TYPE = Field.create("TRIGGER_TYPE", 536, FieldType.INT, trigger_type_e); public static final Field TRIGGER_CUSTOMISSYNCHRONIZATIONNEEDED = Field.create("TRIGGER_CUSTOMISSYNCHRONIZATIONNEEDED", 540, FieldType.BIT, 0); public static final Field TRIGGER_CUSTOMNEEDSECONDTRIGGERINPUT = Field.create("TRIGGER_CUSTOMNEEDSECONDTRIGGERINPUT", 540, FieldType.BIT, 1); diff --git a/unit_tests/.cproject b/unit_tests/.cproject index b61479f604..27a33e0b31 100644 --- a/unit_tests/.cproject +++ b/unit_tests/.cproject @@ -40,6 +40,7 @@ +