Honour dwellCrank
This commit is contained in:
parent
415481c789
commit
ea647441d3
|
@ -132,10 +132,8 @@ void sendValues(int length)
|
|||
response[10] = currentStatus.egoCorrection; //Exhaust gas correction (%)
|
||||
response[11] = 0x00; //Air Correction (%)
|
||||
response[12] = currentStatus.wueCorrection; //Warmup enrichment (%)
|
||||
//response[13] = (byte)(div(currentStatus.RPM, 100).quot); //rpm / 100
|
||||
response[13] = highByte(currentStatus.RPM); //rpm HB
|
||||
response[14] = lowByte(currentStatus.RPM); //rpm LB
|
||||
//response[14] = (byte)(currentStatus.PW / 200); //Pulsewidth 1 multiplied by 10 in ms. Have to convert from uS to mS.
|
||||
response[15] = currentStatus.TAEamount; //acceleration enrichment (%)
|
||||
response[16] = 0x00; //Barometer correction (%)
|
||||
response[17] = currentStatus.corrections; //Total GammaE (%)
|
||||
|
|
|
@ -56,6 +56,7 @@ struct statuses {
|
|||
int iatADC;
|
||||
int batADC;
|
||||
int O2ADC;
|
||||
int dwell;
|
||||
byte battery10; //The current BRV in volts (multiplied by 10. Eg 12.5V = 125)
|
||||
byte advance;
|
||||
byte corrections;
|
||||
|
|
|
@ -394,8 +394,13 @@ void loop()
|
|||
//***********************************************************************************************
|
||||
//| BEGIN IGNITION CALCULATIONS
|
||||
if (currentStatus.RPM > ((unsigned int)(configPage2.SoftRevLim * 100)) ) { currentStatus.advance -= configPage2.SoftLimRetard; } //Softcut RPM limit (If we're above softcut limit, delay timing by configured number of degrees)
|
||||
int dwell = (configPage2.dwellRun * 100); //Dwell is stored as ms * 10. ie Dwell of 4.3ms would be 43 in configPage2. This number therefore needs to be multiplied by 100 to get dwell in uS
|
||||
int dwellAngle = (div(dwell, timePerDegree).quot );
|
||||
|
||||
//Set dwell
|
||||
//Dwell is stored as ms * 10. ie Dwell of 4.3ms would be 43 in configPage2. This number therefore needs to be multiplied by 100 to get dwell in uS
|
||||
if ( BIT_CHECK(currentStatus.engine, BIT_ENGINE_CRANK) ) { currentStatus.dwell = (configPage2.dwellCrank * 100); }
|
||||
else { currentStatus.dwell = (configPage2.dwellRun * 100); }
|
||||
int dwellAngle = (div(currentStatus.dwell, timePerDegree).quot );
|
||||
|
||||
//Calculate start angle for each channel
|
||||
//1
|
||||
ignition1StartAngle = 360 - currentStatus.advance - dwellAngle; // 360 - desired advance angle - number of degrees the dwell will take
|
||||
|
@ -472,7 +477,7 @@ void loop()
|
|||
{
|
||||
setIgnitionSchedule1(beginCoil1Charge,
|
||||
((unsigned long)(ignition1StartAngle - crankAngle) * (unsigned long)timePerDegree),
|
||||
dwell,
|
||||
currentStatus.dwell,
|
||||
endCoil1Charge
|
||||
);
|
||||
}
|
||||
|
@ -485,7 +490,7 @@ void loop()
|
|||
{
|
||||
setIgnitionSchedule2(beginCoil2Charge,
|
||||
((unsigned long)(tempStartAngle - tempCrankAngle) * (unsigned long)timePerDegree),
|
||||
dwell,
|
||||
currentStatus.dwell,
|
||||
endCoil2Charge
|
||||
);
|
||||
}
|
||||
|
@ -498,7 +503,7 @@ void loop()
|
|||
{
|
||||
setIgnitionSchedule3(beginCoil3Charge,
|
||||
((unsigned long)(tempStartAngle - tempCrankAngle) * (unsigned long)timePerDegree),
|
||||
dwell,
|
||||
currentStatus.dwell,
|
||||
endCoil3Charge
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue