| Line | Branch | Decision | Exec | Source |
|---|---|---|---|---|
| 1 | #include "pch.h" | |||
| 2 | #include "trigger_renault.h" | |||
| 3 | #include "trigger_universal.h" | |||
| 4 | ||||
| 5 | // Renault F3R | |||
| 6 | 1 | void initialize60_2_2_Renault_F(TriggerWaveform *s) { | ||
| 7 | 1 | s->initialize(FOUR_STROKE_CRANK_SENSOR, SyncEdge::RiseOnly); | ||
| 8 | 1 | int totalTeethCount = 60; | ||
| 9 | ||||
| 10 | 1 | float engineCycle = FOUR_STROKE_ENGINE_CYCLE; | ||
| 11 | 1 | float toothWidth = 0.5; | ||
| 12 | ||||
| 13 | 1 | float oneTooth = engineCycle / totalTeethCount; | ||
| 14 | ||||
| 15 | 1 | int skipped = 3; // yes, from this perspective only three are skipped | ||
| 16 | ||||
| 17 | // remaining 56 teeth while filtering four out | |||
| 18 | 1 | addSkippedToothTriggerEvents(TriggerWheel::T_PRIMARY, s, totalTeethCount, skipped, toothWidth, /*offset*/0, engineCycle, | ||
| 19 | NO_LEFT_FILTER, 719); | |||
| 20 | ||||
| 21 | #if EFI_UNIT_TEST | |||
| 22 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 time.
|
1 | criticalAssertVoid(s->wave.phaseCount == (totalTeethCount - skipped) * 2 - 1, "Tooth count 60-3"); | |
| 23 | #endif // EFI_UNIT_TEST | |||
| 24 | ||||
| 25 | 1 | float specialPosition = 58 * oneTooth; | ||
| 26 | ||||
| 27 | // single twice-the-width tooth | |||
| 28 | // we have that weird API where last FALL is added as 720, all while we do not really care about FALL fronts :( | |||
| 29 | 1 | addSkippedToothTriggerEvents(TriggerWheel::T_PRIMARY, s, totalTeethCount, 0, toothWidth, /*offset*/0, engineCycle, | ||
| 30 | 1 | specialPosition - 1, specialPosition - 1 + oneTooth); | ||
| 31 | ||||
| 32 | #if EFI_UNIT_TEST | |||
| 33 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 time.
|
1 | criticalAssertVoid(s->wave.phaseCount == (totalTeethCount - skipped) * 2 + 1, "Tooth count 60-2-2"); | |
| 34 | #endif // EFI_UNIT_TEST | |||
| 35 | ||||
| 36 | 1 | s->addEvent(1, TriggerValue::FALL, TriggerWheel::T_PRIMARY); | ||
| 37 | ||||
| 38 | 1 | s->setTriggerSynchronizationGap(0.5); | ||
| 39 | 1 | s->setSecondTriggerSynchronizationGap(1); | ||
| 40 | 1 | s->setThirdTriggerSynchronizationGap(2); | ||
| 41 | } | |||
| 42 |