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";
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:

View File

@ -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;

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->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"
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_ */

View File

@ -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

View File

@ -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;

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"
#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

View File

@ -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

View File

@ -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 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
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"
;skipping overrideCrankingIgnition offset 528
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_customNeedSecondTriggerInput= bits, U32, 540, [1:1], "false", "true"
trigger_useOnlyFirstChannel= bits, U32, 540, [2:2], "false", "true"

View File

@ -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);

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/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/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/system&quot;"/>
<listOptionValue builtIn="false" value="&quot;/cygdrive/c/stuff/rusefi_sourceforge/unit_tests/util&quot;"/>