Record VVT angle when Poll cam method is in use. Fixes #1213

This commit is contained in:
Josh Stewart 2024-05-27 09:34:00 +10:00
parent 84e63d867e
commit bff1beca5d
1 changed files with 9 additions and 3 deletions

View File

@ -629,7 +629,7 @@ void triggerSec_missingTooth(void)
secondaryToothCount = 1;
revolutionOne = 1; //Sequential revolution reset
triggerSecFilterTime = 0; //This is used to prevent a condition where serious intermittent signals (Eg someone furiously plugging the sensor wire in and out) can leave the filter in an unrecoverable state
triggerRecordVVT1Angle ();
triggerRecordVVT1Angle();
}
else
{
@ -638,12 +638,18 @@ void triggerSec_missingTooth(void)
}
break;
case SEC_TRIGGER_POLL:
//Poll is effectively the same as SEC_TRIGGER_SINGLE, however we do not reset revolutionOne or change the filter
//We do still need to record the angle for VVT though
triggerRecordVVT1Angle();
break;
case SEC_TRIGGER_SINGLE:
//Standard single tooth cam trigger
revolutionOne = 1; //Sequential revolution reset
triggerSecFilterTime = curGap2 >> 1; //Next secondary filter is half the current gap
secondaryToothCount++;
triggerRecordVVT1Angle ();
triggerRecordVVT1Angle();
break;
case SEC_TRIGGER_TOYOTA_3:
@ -653,7 +659,7 @@ void triggerSec_missingTooth(void)
if(secondaryToothCount == 2)
{
revolutionOne = 1; // sequential revolution reset
triggerRecordVVT1Angle ();
triggerRecordVVT1Angle();
}
//Next secondary filter is 25% the current gap, done here so we don't get a great big gap for the 1st tooth
triggerSecFilterTime = curGap2 >> 2;