auto-sync

This commit is contained in:
rusEfi 2017-01-02 19:03:36 -05:00
parent 48a975b078
commit 034b1792e0
13 changed files with 59 additions and 11 deletions

View File

@ -177,6 +177,8 @@ case TT_MAZDA_MIATA_NB1:
return "TT_MAZDA_MIATA_NB1"; return "TT_MAZDA_MIATA_NB1";
case TT_MAZDA_MIATA_VVT_TEST: case TT_MAZDA_MIATA_VVT_TEST:
return "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: case TT_MINI_COOPER_R50:
return "TT_MINI_COOPER_R50"; return "TT_MINI_COOPER_R50";
case TT_MITSU: case TT_MITSU:

View File

@ -219,7 +219,9 @@ typedef enum {
*/ */
TT_MAZDA_MIATA_VVT_TEST = 35, 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, Force_4b_trigger_type = ENUM_32_BITS,
} trigger_type_e; } trigger_type_e;

View File

@ -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->addEvent2(720, T_PRIMARY, TV_FALL PASS_ENGINE_PARAMETER);
s->useOnlyPrimaryForSync = true; 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;
}

View File

@ -11,5 +11,6 @@
#include "engine.h" #include "engine.h"
void initialize36_2_2_2(TriggerShape *s DECLARE_ENGINE_PARAMETER_S); 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_ */ #endif /* CONTROLLERS_TRIGGER_TRIGGER_SUBARU_H_ */

View File

@ -1,15 +1,15 @@
TRIGGER_DECODERS_SRC_CPP = \ TRIGGER_DECODERS_SRC_CPP = \
$(PROJECT_DIR)/controllers/trigger/trigger_bmw.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_chrysler.cpp \
$(PROJECT_DIR)/controllers/trigger/trigger_structure.cpp \ $(PROJECT_DIR)/controllers/trigger/trigger_structure.cpp \
$(PROJECT_DIR)/controllers/trigger/trigger_decoder.cpp \ $(PROJECT_DIR)/controllers/trigger/trigger_decoder.cpp \
$(PROJECT_DIR)/controllers/trigger/trigger_simulator.cpp \ $(PROJECT_DIR)/controllers/trigger/trigger_simulator.cpp \
$(PROJECT_DIR)/controllers/trigger/trigger_mitsubishi.cpp \ $(PROJECT_DIR)/controllers/trigger/trigger_mitsubishi.cpp \
$(PROJECT_DIR)/controllers/trigger/trigger_nissan.cpp \ $(PROJECT_DIR)/controllers/trigger/trigger_nissan.cpp \
$(PROJECT_DIR)/controllers/trigger/trigger_subaru.cpp \ $(PROJECT_DIR)/controllers/trigger/decoders/trigger_subaru.cpp \
$(PROJECT_DIR)/controllers/trigger/trigger_toyota.cpp \ $(PROJECT_DIR)/controllers/trigger/decoders/trigger_toyota.cpp \
$(PROJECT_DIR)/controllers/trigger/trigger_gm.cpp \ $(PROJECT_DIR)/controllers/trigger/trigger_gm.cpp \
$(PROJECT_DIR)/controllers/trigger/trigger_honda.cpp \ $(PROJECT_DIR)/controllers/trigger/trigger_honda.cpp \
$(PROJECT_DIR)/controllers/trigger/trigger_rover.cpp $(PROJECT_DIR)/controllers/trigger/trigger_rover.cpp

View File

@ -591,6 +591,10 @@ void TriggerShape::initializeTriggerShape(Logging *logger DECLARE_ENGINE_PARAMET
initDodgeRam(triggerShape PASS_ENGINE_PARAMETER); initDodgeRam(triggerShape PASS_ENGINE_PARAMETER);
break; break;
case TT_SUBARU_7_6:
initializeSubaru7_6(triggerShape PASS_ENGINE_PARAMETER);
break;
case TT_36_2_2_2: case TT_36_2_2_2:
initialize36_2_2_2(triggerShape PASS_ENGINE_PARAMETER); initialize36_2_2_2(triggerShape PASS_ENGINE_PARAMETER);
break; break;

View File

@ -334,7 +334,7 @@ struct trigger_config_s @brief Trigger wheel(s) configuration
custom bool32_t 4 bits, U32, @OFFSET@, [0:0], "false", "true" 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@@ custom trigger_type_e 4 bits, U32, @OFFSET@, [0:5], @@trigger_type_e_enum@@
trigger_type_e type;set_trigger_type X trigger_type_e type;set_trigger_type X

View File

@ -1,5 +1,5 @@
// This file was generated by Version2Header // 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 #ifndef VCS_VERSION
#define VCS_VERSION "10994" #define VCS_VERSION "11143"
#endif #endif

View File

@ -42,7 +42,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code ; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START ; CONFIG_DEFINITION_START
; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Dec 29 19:06:21 EST 2016 ; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Jan 02 18:37:17 EST 2017
pageSize = 16376 pageSize = 16376
page = 1 page = 1
@ -155,7 +155,7 @@ page = 1
tpsAdcChannel = bits, U32, 524, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" tpsAdcChannel = bits, U32, 524, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
;skipping overrideCrankingIgnition offset 528 ;skipping overrideCrankingIgnition offset 528
sensorChartFrequency = scalar, S32, 532, "index", 1, 0, 0, 300, 0 ; size 4 sensorChartFrequency = scalar, S32, 532, "index", 1, 0, 0, 300, 0 ; size 4
trigger_type = bits, U32, 536, [0:5], "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" trigger_type = bits, U32, 536, [0:5], "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"
trigger_customIsSynchronizationNeeded= bits, U32, 540, [0:0], "false", "true" trigger_customIsSynchronizationNeeded= bits, U32, 540, [0:0], "false", "true"
trigger_customNeedSecondTriggerInput= bits, U32, 540, [1:1], "false", "true" trigger_customNeedSecondTriggerInput= bits, U32, 540, [1:1], "false", "true"
trigger_useOnlyFirstChannel= bits, U32, 540, [2:2], "false", "true" trigger_useOnlyFirstChannel= bits, U32, 540, [2:2], "false", "true"

View File

@ -1,6 +1,6 @@
package com.rusefi.config; 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 class Fields {
public static final int LE_COMMAND_LENGTH = 200; public static final int LE_COMMAND_LENGTH = 200;
public static final int FSIO_ADC_COUNT = 4; 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 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 OVERRIDECRANKINGIGNITION = Field.create("OVERRIDECRANKINGIGNITION", 528, FieldType.INT);
public static final Field SENSORCHARTFREQUENCY = Field.create("SENSORCHARTFREQUENCY", 532, 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_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_CUSTOMISSYNCHRONIZATIONNEEDED = Field.create("TRIGGER_CUSTOMISSYNCHRONIZATIONNEEDED", 540, FieldType.BIT, 0);
public static final Field TRIGGER_CUSTOMNEEDSECONDTRIGGERINPUT = Field.create("TRIGGER_CUSTOMNEEDSECONDTRIGGERINPUT", 540, FieldType.BIT, 1); public static final Field TRIGGER_CUSTOMNEEDSECONDTRIGGERINPUT = Field.create("TRIGGER_CUSTOMNEEDSECONDTRIGGERINPUT", 540, FieldType.BIT, 1);

View File

@ -40,6 +40,7 @@
<listOptionValue builtIn="false" value="&quot;/cygdrive/c/stuff/rusefi_sourceforge/unit_tests/controllers/sensors&quot;"/> <listOptionValue builtIn="false" value="&quot;/cygdrive/c/stuff/rusefi_sourceforge/unit_tests/controllers/sensors&quot;"/>
<listOptionValue builtIn="false" value="&quot;/cygdrive/c/stuff/rusefi_sourceforge/unit_tests/controllers/algo&quot;"/> <listOptionValue builtIn="false" value="&quot;/cygdrive/c/stuff/rusefi_sourceforge/unit_tests/controllers/algo&quot;"/>
<listOptionValue builtIn="false" value="&quot;/cygdrive/c/stuff/rusefi_sourceforge/unit_tests/controllers/trigger&quot;"/> <listOptionValue builtIn="false" value="&quot;/cygdrive/c/stuff/rusefi_sourceforge/unit_tests/controllers/trigger&quot;"/>
<listOptionValue builtIn="false" value="&quot;/cygdrive/c/stuff/rusefi_sourceforge/unit_tests/controllers/trigger/decoders&quot;"/>
<listOptionValue builtIn="false" value="&quot;/cygdrive/c/stuff/rusefi_sourceforge/unit_tests/controllers/core&quot;"/> <listOptionValue builtIn="false" value="&quot;/cygdrive/c/stuff/rusefi_sourceforge/unit_tests/controllers/core&quot;"/>
<listOptionValue builtIn="false" value="&quot;/cygdrive/c/stuff/rusefi_sourceforge/unit_tests/controllers/system&quot;"/> <listOptionValue builtIn="false" value="&quot;/cygdrive/c/stuff/rusefi_sourceforge/unit_tests/controllers/system&quot;"/>
<listOptionValue builtIn="false" value="&quot;/cygdrive/c/stuff/rusefi_sourceforge/unit_tests/util&quot;"/> <listOptionValue builtIn="false" value="&quot;/cygdrive/c/stuff/rusefi_sourceforge/unit_tests/util&quot;"/>