Nissan VVT trigger decoder #2887

This commit is contained in:
Andrey 2021-07-01 22:10:37 -04:00
parent 309a146614
commit 11def6d9e3
2 changed files with 18 additions and 8 deletions

View File

@ -119,19 +119,25 @@ void initializeNissanVQvvt(TriggerWaveform *s) {
int offset = 720 - 520;
addPrimaryToothEndingAt(s, offset + 40);
addPrimaryToothEndingAt(s, offset + 160);
addPrimaryToothEndingAt(s, offset + 200);
addPrimaryToothEndingAt(s, offset + 280);
addPrimaryToothEndingAt(s, offset + 320);
addPrimaryToothEndingAt(s, offset + 520);
s->setTriggerSynchronizationGap(5);
}
void initializeNissanVQcrank(TriggerWaveform *s) {
s->initialize(FOUR_STROKE_THREE_TIMES_CRANK_SENSOR);
s->setTriggerSynchronizationGap(0.33);
float currentAngle = 20;
for (int i = 0;i < 10;i++) {
currentAngle += 10;
s->addEventAngle(currentAngle - 5, T_PRIMARY, TV_RISE);
s->addEventAngle(currentAngle, T_PRIMARY, TV_FALL);
}
}

View File

@ -117,6 +117,7 @@ int TriggerWaveform::getTriggerWaveformSynchPointIndex() const {
/**
* physical primary trigger duration
* @see getEngineCycle
* @see getCrankDivider
*/
angle_t TriggerWaveform::getCycleDuration() const {
switch (operationMode) {
@ -550,6 +551,9 @@ void TriggerWaveform::initializeTriggerWaveform(operation_mode_e ambiguousOperat
break;
case TT_TT_NISSAN_VQ:
initializeNissanVQcrank(this);
break;
case TT_KAWA_KX450F:
configureKawaKX450F(this);
break;