| Line | Branch | Decision | Exec | Source |
|---|---|---|---|---|
| 1 | /* | |||
| 2 | * @file trigger_vw.cpp | |||
| 3 | * | |||
| 4 | * @date Aug 25, 2018 | |||
| 5 | * @author Andrey Belomutskiy, (c) 2012-2020 | |||
| 6 | */ | |||
| 7 | ||||
| 8 | #include "pch.h" | |||
| 9 | #include "trigger_vw.h" | |||
| 10 | #include "trigger_universal.h" | |||
| 11 | ||||
| 12 | 1 | void setSkodaFavorit(TriggerWaveform *s) { | ||
| 13 | 1 | s->initialize(FOUR_STROKE_CRANK_SENSOR, SyncEdge::Rise); | ||
| 14 | ||||
| 15 | 1 | s->addEvent360(133, TriggerValue::RISE, TriggerWheel::T_PRIMARY); | ||
| 16 | 1 | s->addEvent360(177, TriggerValue::FALL, TriggerWheel::T_PRIMARY); | ||
| 17 | ||||
| 18 | 1 | s->addEvent360(180, TriggerValue::RISE, TriggerWheel::T_PRIMARY); | ||
| 19 | 1 | s->addEvent360(183, TriggerValue::FALL, TriggerWheel::T_PRIMARY); | ||
| 20 | ||||
| 21 | 1 | s->addEvent360(313, TriggerValue::RISE, TriggerWheel::T_PRIMARY); | ||
| 22 | 1 | s->addEvent360(360, TriggerValue::FALL, TriggerWheel::T_PRIMARY); | ||
| 23 | ||||
| 24 | 1 | s->tdcPosition = 180 + 47; | ||
| 25 | 1 | s->setTriggerSynchronizationGap3(/*gapIndex*/0, 2, 4); | ||
| 26 | 1 | } | ||
| 27 | ||||
| 28 | 5 | void setVwConfiguration(TriggerWaveform *s) { | ||
| 29 | 5 | s->initialize(FOUR_STROKE_CRANK_SENSOR, SyncEdge::RiseOnly); | ||
| 30 | ||||
| 31 | 5 | int totalTeethCount = 60; | ||
| 32 | 5 | int skippedCount = 2; | ||
| 33 | ||||
| 34 | 5 | float engineCycle = FOUR_STROKE_ENGINE_CYCLE; | ||
| 35 | 5 | float toothWidth = 0.5; | ||
| 36 | ||||
| 37 | 5 | addSkippedToothTriggerEvents(TriggerWheel::T_PRIMARY, s, 60, 2, toothWidth, 0, engineCycle, | ||
| 38 | NO_LEFT_FILTER, 690); | |||
| 39 | ||||
| 40 | 5 | float angleDown = engineCycle / totalTeethCount * (totalTeethCount - skippedCount - 1 + (1 - toothWidth) ); | ||
| 41 | 5 | s->addEventClamped(0 + angleDown + 12, TriggerValue::RISE, TriggerWheel::T_PRIMARY, NO_LEFT_FILTER, NO_RIGHT_FILTER); | ||
| 42 | 5 | s->addEventClamped(0 + engineCycle, TriggerValue::FALL, TriggerWheel::T_PRIMARY, NO_LEFT_FILTER, NO_RIGHT_FILTER); | ||
| 43 | ||||
| 44 | 5 | s->setTriggerSynchronizationGap2(1.6, 4); | ||
| 45 | 5 | s->setSecondTriggerSynchronizationGap(1); // this gap is not required to synch on perfect signal but is needed to handle to reject cranking transition noise | ||
| 46 | 5 | s->setThirdTriggerSynchronizationGap(1); | ||
| 47 | 5 | } | ||
| 48 |