Fix for potentially wrong initialisation of the on/off idle control

This commit is contained in:
Josh Stewart 2017-03-30 00:01:52 +11:00
parent e96feaa560
commit 822c400c01
3 changed files with 15 additions and 13 deletions

View File

@ -881,6 +881,7 @@ menuDialog = main
iacPWMdir = "Normal PWM valves increase RPM with higher duty. If RPM decreases with higher duty then select Reverse"
iacCLminDuty= "When using closed loop idle control, this is the minimum duty cycle that the PID loop will allow. Combined with the maximum value, this specifies the working range of your idle valve"
iacCLmaxDuty= "When using closed loop idle control, this is the maximum duty cycle that the PID loop will allow. Combined with the minimum value, this specifies the working range of your idle valve"
iacFastTemp = "Below this temperature, the idle output will be high (On). Above this temperature, it will turn off."
oddfire2 = "The ATDC angle of channel 2 for oddfire engines. This is relative to the TDC angle of channel 1"
oddfire3 = "The ATDC angle of channel 3 for oddfire engines. This is relative to the TDC angle of channel 1 (NOT channel 2)"

View File

@ -87,9 +87,10 @@ void initialiseIdle()
case IAC_ALGORITHM_ONOFF:
//Case 1 is on/off idle control
if (currentStatus.coolant < configPage4.iacFastTemp)
if ((currentStatus.coolant + CALIBRATION_TEMPERATURE_OFFSET) < configPage4.iacFastTemp)
{
digitalWrite(pinIdle1, HIGH);
idleOn = true;
}
break;

View File

@ -19,8 +19,8 @@ struct table2D {
byte *values;
byte *axisX;
int *values16;
int *axisX16;
int16_t *values16;
int16_t *axisX16;
//Store the last X and Y coordinates in the table. This is used to make the next check faster
int lastXMax, lastXMin;
@ -36,8 +36,8 @@ struct table3D {
byte ySize;
byte **values;
int *axisX;
int *axisY;
int16_t *axisX;
int16_t *axisY;
//Store the last X and Y coordinates in the table. This is used to make the next check faster
byte lastXMax, lastXMin;