Add ability to change trigger angle for GM 7X. See #300
This commit is contained in:
parent
4f5a2bdc35
commit
e8c67f9c86
|
@ -856,23 +856,23 @@ void triggerPri_GM7X()
|
||||||
}
|
}
|
||||||
|
|
||||||
//New ignition mode!
|
//New ignition mode!
|
||||||
if(configPage2.perToothIgn == true)
|
if(configPage2.perToothIgn == true)
|
||||||
{
|
{
|
||||||
if(toothCurrentCount != 3) //Never do the check on the extra tooth. It's not needed anyway
|
if(toothCurrentCount != 3) //Never do the check on the extra tooth. It's not needed anyway
|
||||||
{
|
{
|
||||||
uint16_t crankAngle;
|
//configPage4.triggerAngle must currently be below 48 and above -81
|
||||||
if( toothCurrentCount < 3 )
|
uint16_t crankAngle;
|
||||||
{
|
if( toothCurrentCount < 3 )
|
||||||
crankAngle = ((toothCurrentCount - 1) * triggerToothAngle) + 42; //Number of teeth that have passed since tooth 1, multiplied by the angle each tooth represents, plus the angle that tooth 1 is ATDC. This gives accuracy only to the nearest tooth.
|
{
|
||||||
}
|
crankAngle = ((toothCurrentCount - 1) * triggerToothAngle) + 42 + configPage4.triggerAngle; //Number of teeth that have passed since tooth 1, multiplied by the angle each tooth represents, plus the angle that tooth 1 is ATDC. This gives accuracy only to the nearest tooth.
|
||||||
else
|
}
|
||||||
{
|
else
|
||||||
crankAngle = ((toothCurrentCount - 2) * triggerToothAngle) + 42; //Number of teeth that have passed since tooth 1, multiplied by the angle each tooth represents, plus the angle that tooth 1 is ATDC. This gives accuracy only to the nearest tooth.
|
{
|
||||||
}
|
crankAngle = ((toothCurrentCount - 2) * triggerToothAngle) + 42 + configPage4.triggerAngle; //Number of teeth that have passed since tooth 1, multiplied by the angle each tooth represents, plus the angle that tooth 1 is ATDC. This gives accuracy only to the nearest tooth.
|
||||||
checkPerToothTiming(crankAngle, toothCurrentCount);
|
}
|
||||||
}
|
checkPerToothTiming(crankAngle, toothCurrentCount);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
toothLastMinusOneToothTime = toothLastToothTime;
|
toothLastMinusOneToothTime = toothLastToothTime;
|
||||||
toothLastToothTime = curTime;
|
toothLastToothTime = curTime;
|
||||||
|
@ -900,7 +900,7 @@ int getCrankAngle_GM7X()
|
||||||
int crankAngle;
|
int crankAngle;
|
||||||
if( tempToothCurrentCount < 3 )
|
if( tempToothCurrentCount < 3 )
|
||||||
{
|
{
|
||||||
crankAngle = ((tempToothCurrentCount - 1) * triggerToothAngle) + 42; //Number of teeth that have passed since tooth 1, multiplied by the angle each tooth represents, plus the angle that tooth 1 is ATDC. This gives accuracy only to the nearest tooth.
|
crankAngle = ((tempToothCurrentCount - 1) * triggerToothAngle) + 42 + configPage4.triggerAngle; //Number of teeth that have passed since tooth 1, multiplied by the angle each tooth represents, plus the angle that tooth 1 is ATDC. This gives accuracy only to the nearest tooth.
|
||||||
}
|
}
|
||||||
else if( tempToothCurrentCount == 3 )
|
else if( tempToothCurrentCount == 3 )
|
||||||
{
|
{
|
||||||
|
@ -908,7 +908,7 @@ int getCrankAngle_GM7X()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
crankAngle = ((tempToothCurrentCount - 2) * triggerToothAngle) + 42; //Number of teeth that have passed since tooth 1, multiplied by the angle each tooth represents, plus the angle that tooth 1 is ATDC. This gives accuracy only to the nearest tooth.
|
crankAngle = ((tempToothCurrentCount - 2) * triggerToothAngle) + 42 + configPage4.triggerAngle; //Number of teeth that have passed since tooth 1, multiplied by the angle each tooth represents, plus the angle that tooth 1 is ATDC. This gives accuracy only to the nearest tooth.
|
||||||
}
|
}
|
||||||
|
|
||||||
//Estimate the number of degrees travelled since the last tooth}
|
//Estimate the number of degrees travelled since the last tooth}
|
||||||
|
|
Loading…
Reference in New Issue