auto-sync

This commit is contained in:
rusEfi 2015-04-05 22:10:50 -05:00
parent 1c027e32dd
commit bbae460b5f
3 changed files with 22 additions and 7 deletions

View File

@ -21,15 +21,22 @@ EXTERN_ENGINE;
void setBmwE34(DECLARE_ENGINE_PARAMETER_F) {
board_configuration_s * boardConfiguration = &engineConfiguration->bc;
engineConfiguration->analogInputDividerCoefficient = 2;
boardConfiguration->analogChartMode = AC_TRIGGER;
// chartsize 450
engineConfiguration->digitalChartSize = 450;
// setAlgorithm(LM_PLAIN_MAF);
setAlgorithm(LM_SPEED_DENSITY PASS_ENGINE_PARAMETER);
engineConfiguration->injector.flow = 750;
boardConfiguration->tunerStudioSerialSpeed = 38400;
engineConfiguration->rpmHardLimit = 6000;
setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR);
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
setOperationMode(engineConfiguration, FOUR_STROKE_CAM_SENSOR);
engineConfiguration->trigger.type = TT_ONE_PLUS_TOOTHED_WHEEL_60_2;
engineConfiguration->specs.cylindersCount = 6;
engineConfiguration->specs.displacement = 2.91;
engineConfiguration->specs.firingOrder = FO_1_THEN_5_THEN_3_THEN_6_THEN_2_THEN_4;

View File

@ -244,12 +244,12 @@ void addSkippedToothTriggerEvents(trigger_wheel_e wheel, TriggerShape *s, int to
float angleDown = engineCycle / totalTeethCount * (i + toothWidth);
float angleUp = engineCycle / totalTeethCount * (i + 1);
s->addEvent(angleDown, wheel, TV_HIGH, filterLeft, filterRight);
s->addEvent(angleUp, wheel, TV_LOW);
s->addEvent(angleUp, wheel, TV_LOW, filterLeft, filterRight);
}
float angleDown = engineCycle / totalTeethCount * (totalTeethCount - skippedCount - 1 + toothWidth);
s->addEvent(angleDown, wheel, TV_HIGH);
s->addEvent(engineCycle, wheel, TV_LOW);
s->addEvent(angleDown, wheel, TV_HIGH, filterLeft, filterRight);
s->addEvent(engineCycle, wheel, TV_LOW, filterLeft, filterRight);
}
void initializeSkippedToothTriggerShapeExt(TriggerShape *s, int totalTeethCount, int skippedCount,
@ -286,8 +286,14 @@ static void configureOnePlusOne(TriggerShape *s, operation_mode_e operationMode)
static void configureOnePlus60_2(TriggerShape *s, operation_mode_e operationMode) {
s->reset(FOUR_STROKE_CAM_SENSOR, true);
s->addEvent(180, T_PRIMARY, TV_HIGH);
s->addEvent(360, T_PRIMARY, TV_LOW);
int totalTeethCount = 60;
int skippedCount = 2;
s->addEvent(2, T_PRIMARY, TV_HIGH);
addSkippedToothTriggerEvents(T_SECONDARY, s, totalTeethCount, skippedCount, operationMode, 2, 20);
s->addEvent(20, T_PRIMARY, TV_LOW);
addSkippedToothTriggerEvents(T_SECONDARY, s, totalTeethCount, skippedCount, operationMode, 20, NO_RIGHT_FILTER);
s->isSynchronizationNeeded = false;
}

View File

@ -510,6 +510,8 @@ void testTriggerDecoder(void) {
// lame duty cycle implementation!
testTriggerDecoder2("ford aspire", FORD_ASPIRE_1996, 4, 0.5, 0.3841);
testTriggerDecoder2("bmw", BMW_E34, 0, 0.9750, 0.5167);
test1995FordInline6TriggerDecoder();
testMazdaMianaNbDecoder();
testTriggerDecoder2("testGY6_139QMB", GY6_139QMB, 0, 0.4375, 0.0);