1055 lines
44 KiB
C#
1055 lines
44 KiB
C#
//using Dal;
|
|
using Data;
|
|
using System;
|
|
using System.IO;
|
|
//using System.Runtime.Serialization;
|
|
//using System.Runtime.Serialization.Formatters.Binary;
|
|
using System.Windows.Forms;
|
|
|
|
internal class Class12_afrT
|
|
{
|
|
private bool[,] bool_0;
|
|
private bool[,] bool_1;
|
|
private bool[,] bool_2;
|
|
private bool[,] bool_3;
|
|
private byte[,,] byte_0;
|
|
|
|
/*public static byte[,] byte_0_DemonA1 = new byte[26, 20];
|
|
public static byte[,] byte_0_DemonA2 = new byte[26, 20];
|
|
public static byte[,] byte_0_DemonA3 = new byte[26, 20];
|
|
public static byte[,] byte_0_DemonA4 = new byte[26, 20];
|
|
public static byte[,] byte_0_DemonA5 = new byte[26, 20];
|
|
public static byte[,] byte_0_Analog1 = new byte[26, 20];
|
|
public static byte[,] byte_0_Analog2 = new byte[26, 20];
|
|
public static byte[,] byte_0_Analog3 = new byte[26, 20];
|
|
public static float[,] byte_0_IAT = new float[26, 20];
|
|
public static float[,] byte_0_ECT = new float[26, 20];
|
|
public static float[,] byte_0_Fign = new float[26, 20];
|
|
public static float[,] byte_0_Fuelusage = new float[26, 20];
|
|
public static float[,] byte_0_inj = new float[26, 20];
|
|
public static float[,] byte_0_bat = new float[26, 20];
|
|
public static float[,] byte_0_D14 = new float[26, 20];
|
|
public static byte[,] byte_0_VTS = new byte[26, 20];
|
|
public static float[,] byte_0_BSTDC = new float[26, 20];
|
|
public static float[,] byte_0_TPS = new float[26, 20];
|
|
public static float FuelUsage = 0f;
|
|
private long[,] byte_0_DynoWS;
|
|
private long[,] byte_0_DynoHP;
|
|
private long[,] byte_0_DynoNM;
|
|
private long[,] byte_0_AUX1;
|
|
private long[,] byte_0_AUX2;
|
|
private long[,] byte_0_AUX3;
|
|
private long[,] byte_0_THC;*/
|
|
|
|
private byte[,] byte_0_Analog1;
|
|
private byte[,] byte_0_Analog2;
|
|
private byte[,] byte_0_Analog3;
|
|
|
|
private byte[,,] byte_1;
|
|
private byte[,,] byte_2;
|
|
private byte[,,] byte_3;
|
|
private Class10_settings class10_settings_0;
|
|
private Class17 class17_0;
|
|
private Class18 class18_0;
|
|
/*private float[,,] float_0;
|
|
private float[,,] float_1;
|
|
private float[,,] float_10;
|
|
private float[,,] float_11;
|
|
private float[,,] float_2;
|
|
private float[,,] float_3;
|
|
private float[,,] float_4;
|
|
private float[,,] float_5;
|
|
private float[,,] float_6;
|
|
private float[,,] float_7;
|
|
private float[,,] float_8;
|
|
private float[,,] float_9;*/
|
|
private int int_0;
|
|
private int int_1;
|
|
/*private int int_2;
|
|
private int int_3;
|
|
private int int_4;*/
|
|
private Struct17 struct17_0;
|
|
private TunerAfrGrid tunerAfrGrid_0;
|
|
private string ThPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\BMTune\Target_AFR.txt";
|
|
|
|
private DateTime LastCheck = DateTime.Now;
|
|
|
|
public Class12_afrT()
|
|
{
|
|
|
|
}
|
|
|
|
internal void method_0(ref Class18 class18_1, ref Class10_settings class10_1, ref Class17 class17_1)
|
|
{
|
|
this.class10_settings_0 = class10_1;
|
|
this.class10_settings_0.delegate13_0 += new Class10_settings.Delegate13(this.method_1);
|
|
this.class18_0 = class18_1;
|
|
this.class18_0.delegate58_0 += new Class18.Delegate58(this.method_19);
|
|
this.class17_0 = class17_1;
|
|
this.class17_0.delegate47_0 += new Class17.Delegate47(this.method_21);
|
|
this.class17_0.delegate53_0 += new Class17.Delegate53(this.method_2);
|
|
this.class17_0.delegate54_0 += new Class17.Delegate54(this.method_21_Analog);
|
|
|
|
//this.class17_0.delegate48_0 += new Class17_dtl.Delegate48(this.method_21_Analog);
|
|
|
|
if (!File.Exists(ThPath))
|
|
{
|
|
this.tunerAfrGrid_0 = new TunerAfrGrid();
|
|
this.method_9(false);
|
|
this.method_9(true);
|
|
method_Save();
|
|
}
|
|
}
|
|
|
|
private void method_1(bool bool_4)
|
|
{
|
|
this.method_9(bool_4);
|
|
method_Save();
|
|
}
|
|
|
|
public bool method_10(int int_5, int int_6)
|
|
{
|
|
if (!this.class18_0.method_39())
|
|
{
|
|
if (!this.class18_0.method_36())
|
|
{
|
|
return this.tunerAfrGrid_0.fuel_low_1_Lock[int_5, int_6];
|
|
}
|
|
return this.tunerAfrGrid_0.fuel_high_1_Lock[int_5, int_6];
|
|
}
|
|
if (!this.class18_0.method_36())
|
|
{
|
|
return this.tunerAfrGrid_0.fuel_low_2_Lock[int_5, int_6];
|
|
}
|
|
return this.tunerAfrGrid_0.fuel_high_2_Lock[int_5, int_6];
|
|
}
|
|
|
|
private bool IsAnalogOverlay()
|
|
{
|
|
bool IsAnalog = false;
|
|
if (this.class18_0.method_8() == TableOverlay.analog1Reading) IsAnalog = true;
|
|
if (this.class18_0.method_8() == TableOverlay.analog2Reading) IsAnalog = true;
|
|
if (this.class18_0.method_8() == TableOverlay.analog3Reading) IsAnalog = true;
|
|
return IsAnalog;
|
|
}
|
|
|
|
public object method_11(int int_5, int int_6) //Get afr at (row, column)
|
|
{
|
|
if (!IsAnalogOverlay())
|
|
{
|
|
if (this.method_10(int_5, int_6))
|
|
{
|
|
return "-";
|
|
}
|
|
}
|
|
switch (this.class18_0.method_8())
|
|
{
|
|
case TableOverlay.none:
|
|
return null;
|
|
|
|
case TableOverlay.afTarget:
|
|
return this.method_12(int_5, int_6);
|
|
|
|
case TableOverlay.afReading:
|
|
return this.method_17(int_5, int_6);
|
|
|
|
case TableOverlay.afDiff:
|
|
if (this.method_16(int_5, int_6) == null) return null;
|
|
return (((double) this.method_16(int_5, int_6)) * -1.0);
|
|
|
|
case TableOverlay.analog1Reading:
|
|
return this.method_17_Analog(int_5, int_6);
|
|
|
|
case TableOverlay.analog2Reading:
|
|
return this.method_17_Analog(int_5, int_6);
|
|
|
|
case TableOverlay.analog3Reading:
|
|
return this.method_17_Analog(int_5, int_6);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public double method_12(int int_5, int int_6)
|
|
{
|
|
if (!this.class18_0.method_39())
|
|
{
|
|
if (!this.class18_0.method_36())
|
|
{
|
|
if (this.class10_settings_0.airFuelUnits_0 == AirFuelUnits.afr)
|
|
{
|
|
return this.class18_0.method_241(this.tunerAfrGrid_0.targetAfr_lo_1[int_5, int_6]);
|
|
}
|
|
return this.tunerAfrGrid_0.targetAfr_lo_1[int_5, int_6];
|
|
}
|
|
if (this.class10_settings_0.airFuelUnits_0 == AirFuelUnits.afr)
|
|
{
|
|
return this.class18_0.method_241(this.tunerAfrGrid_0.targetAfr_hi_1[int_5, int_6]);
|
|
}
|
|
return this.tunerAfrGrid_0.targetAfr_hi_1[int_5, int_6];
|
|
}
|
|
if (!this.class18_0.method_36())
|
|
{
|
|
if (this.class10_settings_0.airFuelUnits_0 == AirFuelUnits.afr)
|
|
{
|
|
return this.class18_0.method_241(this.tunerAfrGrid_0.targetAfr_lo_2[int_5, int_6]);
|
|
}
|
|
return this.tunerAfrGrid_0.targetAfr_lo_2[int_5, int_6];
|
|
}
|
|
if (this.class10_settings_0.airFuelUnits_0 == AirFuelUnits.afr)
|
|
{
|
|
return this.class18_0.method_241(this.tunerAfrGrid_0.targetAfr_hi_2[int_5, int_6]);
|
|
}
|
|
return this.tunerAfrGrid_0.targetAfr_hi_2[int_5, int_6];
|
|
}
|
|
|
|
public double method_13(int int_5, int int_6)
|
|
{
|
|
if (!this.class18_0.method_39())
|
|
{
|
|
if (!this.class18_0.method_36())
|
|
{
|
|
return this.tunerAfrGrid_0.targetAfr_lo_1[int_5, int_6];
|
|
}
|
|
return this.tunerAfrGrid_0.targetAfr_hi_1[int_5, int_6];
|
|
}
|
|
if (!this.class18_0.method_36())
|
|
{
|
|
return this.tunerAfrGrid_0.targetAfr_lo_2[int_5, int_6];
|
|
}
|
|
return this.tunerAfrGrid_0.targetAfr_hi_2[int_5, int_6];
|
|
}
|
|
|
|
public void method_14(int int_5, int int_6, double double_0) //set value
|
|
{
|
|
if (this.class10_settings_0.airFuelUnits_0 == AirFuelUnits.afr)
|
|
{
|
|
double_0 = this.class18_0.method_240(double_0);
|
|
}
|
|
if (!this.class18_0.method_39())
|
|
{
|
|
if (!this.class18_0.method_36())
|
|
{
|
|
this.tunerAfrGrid_0.targetAfr_lo_1[int_5, int_6] = double_0;
|
|
}
|
|
else
|
|
{
|
|
this.tunerAfrGrid_0.targetAfr_hi_1[int_5, int_6] = double_0;
|
|
}
|
|
}
|
|
else if (!this.class18_0.method_36())
|
|
{
|
|
this.tunerAfrGrid_0.targetAfr_lo_2[int_5, int_6] = double_0;
|
|
}
|
|
else
|
|
{
|
|
this.tunerAfrGrid_0.targetAfr_hi_2[int_5, int_6] = double_0;
|
|
}
|
|
|
|
method_Save();
|
|
}
|
|
|
|
public void method_15(int int_5, int int_6, double double_0) //set value
|
|
{
|
|
if (!this.class18_0.method_39())
|
|
{
|
|
if (!this.class18_0.method_36())
|
|
{
|
|
this.tunerAfrGrid_0.targetAfr_lo_1[int_5, int_6] = double_0;
|
|
}
|
|
else
|
|
{
|
|
this.tunerAfrGrid_0.targetAfr_hi_1[int_5, int_6] = double_0;
|
|
}
|
|
}
|
|
else if (!this.class18_0.method_36())
|
|
{
|
|
this.tunerAfrGrid_0.targetAfr_lo_2[int_5, int_6] = double_0;
|
|
}
|
|
else
|
|
{
|
|
this.tunerAfrGrid_0.targetAfr_hi_2[int_5, int_6] = double_0;
|
|
}
|
|
|
|
method_Save();
|
|
}
|
|
|
|
public object method_16(int int_5, int int_6) //used for AF - difference
|
|
{
|
|
object obj2 = this.method_17(int_5, int_6);
|
|
if (obj2 == null)
|
|
{
|
|
return null;
|
|
}
|
|
return (((this.method_12(int_5, int_6) / ((double) obj2)) * 100.0) - 100.0);
|
|
}
|
|
|
|
public double method_17_Analog(int int_5, int int_6) //get analog value at
|
|
{
|
|
byte num = 0;
|
|
if (this.class18_0.method_8() == TableOverlay.analog1Reading)
|
|
{
|
|
num = this.method_23_Analog(this.byte_0_Analog1, int_5, int_6);
|
|
if (num == 0) return num;
|
|
return this.class18_0.method_201(AnalogInputs.analog1, num);
|
|
}
|
|
if (this.class18_0.method_8() == TableOverlay.analog2Reading)
|
|
{
|
|
num = this.method_23_Analog(this.byte_0_Analog2, int_5, int_6);
|
|
if (num == 0) return num;
|
|
return this.class18_0.method_201(AnalogInputs.analog2, num);
|
|
}
|
|
if (this.class18_0.method_8() == TableOverlay.analog3Reading)
|
|
{
|
|
num = this.method_23_Analog(this.byte_0_Analog3, int_5, int_6);
|
|
if (num == 0) return num;
|
|
return this.class18_0.method_201(AnalogInputs.analog3, num);
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
public object method_17(int int_5, int int_6) //Get fuel value at (row, column)
|
|
{
|
|
byte num = 0;
|
|
if (!this.class18_0.method_39())
|
|
{
|
|
if (!this.class18_0.method_36())
|
|
{
|
|
num = this.method_23(this.byte_0, int_5, int_6);
|
|
}
|
|
else
|
|
{
|
|
num = this.method_23(this.byte_1, int_5, int_6);
|
|
}
|
|
}
|
|
else if (!this.class18_0.method_36())
|
|
{
|
|
num = this.method_23(this.byte_2, int_5, int_6);
|
|
}
|
|
else
|
|
{
|
|
num = this.method_23(this.byte_3, int_5, int_6);
|
|
}
|
|
if (num == 0)
|
|
{
|
|
return null;
|
|
}
|
|
return this.class18_0.method_200(num);
|
|
}
|
|
|
|
public bool method_18(int int_5, int int_6)
|
|
{
|
|
if (!this.class18_0.method_39())
|
|
{
|
|
if (!this.class18_0.method_36())
|
|
{
|
|
return this.bool_0[int_5, int_6];
|
|
}
|
|
return this.bool_1[int_5, int_6];
|
|
}
|
|
if (!this.class18_0.method_36())
|
|
{
|
|
return this.bool_2[int_5, int_6];
|
|
}
|
|
return this.bool_3[int_5, int_6];
|
|
}
|
|
|
|
public void method_Save()
|
|
{
|
|
if (File.Exists(ThPath)) File.Delete(ThPath);
|
|
|
|
if (this.tunerAfrGrid_0 != null)
|
|
{
|
|
string SaveStr = "";
|
|
for (int i = 0; i < this.class18_0.method_33(); i++)
|
|
{
|
|
for (int j = 0; j < this.class18_0.method_32_GetRPM_RowsNumber(); j++)
|
|
{
|
|
SaveStr += "Column=" + i + ";Row=" + j + ";targetAfr_lo_1=" + this.tunerAfrGrid_0.targetAfr_lo_1[i, j].ToString() + Environment.NewLine;
|
|
SaveStr += "Column=" + i + ";Row=" + j + ";targetAfr_hi_1=" + this.tunerAfrGrid_0.targetAfr_hi_1[i, j].ToString() + Environment.NewLine;
|
|
SaveStr += "Column=" + i + ";Row=" + j + ";targetAfr_lo_2=" + this.tunerAfrGrid_0.targetAfr_lo_2[i, j].ToString() + Environment.NewLine;
|
|
SaveStr += "Column=" + i + ";Row=" + j + ";targetAfr_hi_2=" + this.tunerAfrGrid_0.targetAfr_hi_2[i, j].ToString() + Environment.NewLine;
|
|
|
|
SaveStr += "Column=" + i + ";Row=" + j + ";fuel_low_1_Lock=" + this.tunerAfrGrid_0.fuel_low_1_Lock[i, j].ToString() + Environment.NewLine;
|
|
SaveStr += "Column=" + i + ";Row=" + j + ";fuel_high_1_Lock=" + this.tunerAfrGrid_0.fuel_high_1_Lock[i, j].ToString() + Environment.NewLine;
|
|
SaveStr += "Column=" + i + ";Row=" + j + ";fuel_low_2_Lock=" + this.tunerAfrGrid_0.fuel_low_2_Lock[i, j].ToString() + Environment.NewLine;
|
|
SaveStr += "Column=" + i + ";Row=" + j + ";fuel_high_2_Lock=" + this.tunerAfrGrid_0.fuel_high_2_Lock[i, j].ToString() + Environment.NewLine;
|
|
}
|
|
}
|
|
StreamWriter writer = new StreamWriter(ThPath, false);
|
|
writer.Write(SaveStr);
|
|
writer.Close();
|
|
writer.Dispose();
|
|
writer = null;
|
|
}
|
|
}
|
|
|
|
private void method_19()
|
|
{
|
|
if (this.class18_0.method_30_HasFileLoadedInBMTune())
|
|
{
|
|
if (!File.Exists(ThPath))
|
|
{
|
|
this.tunerAfrGrid_0 = new TunerAfrGrid();
|
|
this.method_9(false);
|
|
this.method_9(true);
|
|
method_Save();
|
|
}
|
|
else
|
|
{
|
|
try
|
|
{
|
|
bool DoneAnything = false;
|
|
|
|
string[] AllLines = File.ReadAllLines(ThPath);
|
|
if (AllLines.Length > 0)
|
|
{
|
|
this.tunerAfrGrid_0 = new TunerAfrGrid();
|
|
this.tunerAfrGrid_0.targetAfr_lo_1 = new double[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.tunerAfrGrid_0.targetAfr_hi_1 = new double[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.tunerAfrGrid_0.targetAfr_lo_2 = new double[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.tunerAfrGrid_0.targetAfr_hi_2 = new double[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
|
|
this.tunerAfrGrid_0.fuel_low_1_Lock = new bool[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.tunerAfrGrid_0.fuel_high_1_Lock = new bool[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.tunerAfrGrid_0.fuel_low_2_Lock = new bool[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.tunerAfrGrid_0.fuel_high_2_Lock = new bool[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
|
|
for (int i = 0; i < AllLines.Length; i++)
|
|
{
|
|
if (AllLines[i].Contains("Row") && AllLines[i].Contains("Column"))
|
|
{
|
|
DoneAnything = true;
|
|
string[] SplitCMD = AllLines[i].Split(';');
|
|
string[] SplitColumnEnc = SplitCMD[0].Split('=');
|
|
string[] SplitRowEnc = SplitCMD[1].Split('=');
|
|
string[] SplitCmdEnc = SplitCMD[2].Split('=');
|
|
|
|
int ThisColumn = int.Parse(SplitColumnEnc[1]);
|
|
int ThisRow = int.Parse(SplitRowEnc[1]);
|
|
if (SplitCmdEnc[0].Contains("targetAfr_lo_1")) this.tunerAfrGrid_0.targetAfr_lo_1[ThisColumn, ThisRow] = double.Parse(SplitCmdEnc[1]);
|
|
if (SplitCmdEnc[0].Contains("targetAfr_hi_1")) this.tunerAfrGrid_0.targetAfr_hi_1[ThisColumn, ThisRow] = double.Parse(SplitCmdEnc[1]);
|
|
if (SplitCmdEnc[0].Contains("targetAfr_lo_2")) this.tunerAfrGrid_0.targetAfr_lo_2[ThisColumn, ThisRow] = double.Parse(SplitCmdEnc[1]);
|
|
if (SplitCmdEnc[0].Contains("targetAfr_hi_2")) this.tunerAfrGrid_0.targetAfr_hi_2[ThisColumn, ThisRow] = double.Parse(SplitCmdEnc[1]);
|
|
|
|
if (SplitCmdEnc[0].Contains("fuel_low_1_Lock")) this.tunerAfrGrid_0.fuel_low_1_Lock[ThisColumn, ThisRow] = bool.Parse(SplitCmdEnc[1]);
|
|
if (SplitCmdEnc[0].Contains("fuel_high_1_Lock")) this.tunerAfrGrid_0.fuel_high_1_Lock[ThisColumn, ThisRow] = bool.Parse(SplitCmdEnc[1]);
|
|
if (SplitCmdEnc[0].Contains("fuel_low_2_Lock")) this.tunerAfrGrid_0.fuel_low_2_Lock[ThisColumn, ThisRow] = bool.Parse(SplitCmdEnc[1]);
|
|
if (SplitCmdEnc[0].Contains("fuel_high_2_Lock")) this.tunerAfrGrid_0.fuel_high_2_Lock[ThisColumn, ThisRow] = bool.Parse(SplitCmdEnc[1]);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (!DoneAnything)
|
|
{
|
|
this.tunerAfrGrid_0 = new TunerAfrGrid();
|
|
this.method_9(false);
|
|
this.method_9(true);
|
|
method_Save();
|
|
}
|
|
|
|
//#######################################
|
|
/*serializationStream = new FileStream(ThPath, FileMode.Open, FileAccess.Read, FileShare.Read);
|
|
if (this.tunerAfrGrid_0 == null)
|
|
{
|
|
this.tunerAfrGrid_0 = (TunerAfrGrid) formatter.Deserialize(serializationStream);
|
|
if (((this.tunerAfrGrid_0.targetAfr_hi_1 == null) || (this.tunerAfrGrid_0.targetAfr_hi_2 == null)) || ((this.tunerAfrGrid_0.targetAfr_lo_1 == null) || (this.tunerAfrGrid_0.targetAfr_lo_2 == null)))
|
|
{
|
|
if (serializationStream != null)
|
|
{
|
|
serializationStream.Close();
|
|
serializationStream.Dispose();
|
|
serializationStream = null;
|
|
}
|
|
formatter = null;
|
|
|
|
this.method_9(false);
|
|
this.method_9(true);
|
|
}
|
|
}*/
|
|
}
|
|
catch (Exception mess)
|
|
{
|
|
LogThis("Error while loading AFR Layout:" + Environment.NewLine + "" + mess);
|
|
|
|
this.tunerAfrGrid_0 = new TunerAfrGrid();
|
|
this.method_9(false);
|
|
this.method_9(true);
|
|
method_Save();
|
|
}
|
|
}
|
|
if (this.byte_0 == null)
|
|
{
|
|
this.byte_0 = new byte[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber(), this.class10_settings_0.int_36];
|
|
this.byte_0_Analog1 = new byte[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.byte_0_Analog2 = new byte[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.byte_0_Analog3 = new byte[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.byte_1 = new byte[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber(), this.class10_settings_0.int_36];
|
|
this.bool_0 = new bool[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.bool_1 = new bool[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.byte_2 = new byte[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber(), this.class10_settings_0.int_36];
|
|
this.byte_3 = new byte[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber(), this.class10_settings_0.int_36];
|
|
this.bool_2 = new bool[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.bool_3 = new bool[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
}
|
|
else if (((this.byte_0.GetUpperBound(0) != (this.class18_0.method_33() - 1)) || (this.byte_0.GetUpperBound(1) != (this.class18_0.method_32_GetRPM_RowsNumber() - 1))) || (this.byte_0.GetUpperBound(2) != (this.class10_settings_0.int_36 - 1)))
|
|
{
|
|
this.byte_0 = new byte[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber(), this.class10_settings_0.int_36];
|
|
this.byte_0_Analog1 = new byte[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.byte_0_Analog2 = new byte[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.byte_0_Analog3 = new byte[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.byte_1 = new byte[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber(), this.class10_settings_0.int_36];
|
|
this.bool_0 = new bool[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.bool_1 = new bool[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.byte_2 = new byte[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber(), this.class10_settings_0.int_36];
|
|
this.byte_3 = new byte[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber(), this.class10_settings_0.int_36];
|
|
this.bool_2 = new bool[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.bool_3 = new bool[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
}
|
|
this.method_3();
|
|
this.method_5();
|
|
}
|
|
}
|
|
|
|
private void LogThis(string string_8)
|
|
{
|
|
this.class17_0.frmMain_0.LogThis("AFR Target - " + string_8);
|
|
}
|
|
|
|
private void method_2(long long_0, string string_0)
|
|
{
|
|
if (long_0 == 0L)
|
|
{
|
|
this.method_3();
|
|
this.method_5();
|
|
}
|
|
}
|
|
|
|
private void method_20(string string_0, string string_1, string string_2)
|
|
{
|
|
}
|
|
|
|
private void method_21_Analog(Struct12 struct12_1)
|
|
{
|
|
if (!this.class10_settings_0.DatalogThreadEnabled || (this.class10_settings_0.DatalogThreadEnabled && (DateTime.Now - LastCheck).TotalMilliseconds >= this.class10_settings_0.int_ActiveDatalog[0]))
|
|
{
|
|
LastCheck = DateTime.Now;
|
|
if (!this.class10_settings_0.DatalogThreadEnabled || (this.class10_settings_0.DatalogThreadEnabled && this.class10_settings_0.bool_ActiveDatalog[0]))
|
|
{
|
|
this.byte_0_Analog1[struct12_1.struct24_0.int_1, struct12_1.struct24_0.int_0] = struct12_1.byte_40;
|
|
this.byte_0_Analog2[struct12_1.struct24_0.int_1, struct12_1.struct24_0.int_0] = struct12_1.byte_41;
|
|
this.byte_0_Analog3[struct12_1.struct24_0.int_1, struct12_1.struct24_0.int_0] = struct12_1.byte_42;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void method_21(Struct17 struct17_1)
|
|
{
|
|
if (this.method_22(struct17_1))
|
|
{
|
|
this.method_8(struct17_1);
|
|
if (struct17_1 != this.struct17_0)
|
|
{
|
|
this.int_0 = 0;
|
|
this.struct17_0 = struct17_1;
|
|
}
|
|
else if (this.int_0 == this.class10_settings_0.int_37)
|
|
{
|
|
this.int_1++;
|
|
if (this.class10_settings_0.bool_47)
|
|
{
|
|
if (this.struct17_0.byte_0 != struct17_1.byte_0)
|
|
{
|
|
this.method_27(struct17_1); //set afr bytes
|
|
}
|
|
this.struct17_0 = struct17_1;
|
|
this.int_1 = 0;
|
|
}
|
|
else
|
|
{
|
|
this.method_27(struct17_1); //set afr bytes
|
|
this.struct17_0 = struct17_1;
|
|
this.int_1 = 0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.int_0++;
|
|
this.int_1 = 0;
|
|
this.struct17_0 = struct17_1;
|
|
}
|
|
}
|
|
}
|
|
|
|
private bool method_22(Struct17 struct17_1)
|
|
{
|
|
if (struct17_1.bool_2)
|
|
{
|
|
return false;
|
|
}
|
|
int num = this.class18_0.method_218(struct17_1.long_1);
|
|
int num2 = this.class18_0.method_206(struct17_1.byte_2);
|
|
this.class18_0.method_198(struct17_1.byte_1);
|
|
this.class18_0.method_191(struct17_1.byte_3);
|
|
this.class18_0.method_191(struct17_1.byte_4);
|
|
double num3 = this.class18_0.method_200(struct17_1.byte_0);
|
|
if (this.class10_settings_0.airFuelUnits_0 == AirFuelUnits.afr)
|
|
{
|
|
num3 = this.class18_0.method_240(num3);
|
|
}
|
|
bool flag = this.class10_settings_0.bool_46[struct17_1.byte_5];
|
|
//return true;
|
|
if (this.class10_settings_0.OverlayConditionsDisabled) return true;
|
|
else return ((((((num >= this.class10_settings_0.int_28) && (num <= this.class10_settings_0.int_29)) && ((num2 >= this.class10_settings_0.int_30) && (num2 <= this.class10_settings_0.int_31))) && (((struct17_1.byte_1 >= this.class10_settings_0.int_26) && (struct17_1.byte_1 <= this.class10_settings_0.int_27)) && ((struct17_1.byte_3 <= this.class10_settings_0.int_32) && (struct17_1.byte_3 >= this.class10_settings_0.int_33)))) && (((struct17_1.byte_4 <= this.class10_settings_0.int_34) && (struct17_1.byte_4 >= this.class10_settings_0.int_35)) && ((num3 >= this.class10_settings_0.double_7) && (num3 <= this.class10_settings_0.double_8)))) && flag);
|
|
}
|
|
|
|
private byte method_23(byte[,,] byte_4, int int_5, int int_6)
|
|
{
|
|
int num = 0;
|
|
int num2 = 0;
|
|
for (int i = 0; i < this.class10_settings_0.int_36; i++)
|
|
{
|
|
if (byte_4[int_5, int_6, i] != 0)
|
|
{
|
|
num2 += byte_4[int_5, int_6, i];
|
|
num++;
|
|
}
|
|
}
|
|
if (num == 0)
|
|
{
|
|
return 0;
|
|
}
|
|
return (byte) Math.Round((double) (((float) num2) / ((float) num)), 0);
|
|
}
|
|
|
|
private byte method_23_Analog(byte[,] byte_4, int int_5, int int_6)
|
|
{
|
|
byte RByte = 0;
|
|
try
|
|
{
|
|
RByte = byte_4[int_5, int_6];
|
|
}
|
|
catch { }
|
|
return RByte;
|
|
}
|
|
|
|
private byte method_24(byte[,,] byte_4, int int_5, int int_6)
|
|
{
|
|
int num = this.method_23(byte_4, int_5, int_6);
|
|
int num2 = 0;
|
|
int num3 = 0;
|
|
int num4 = 0;
|
|
int num5 = 0;
|
|
for (int i = 0; i < this.class10_settings_0.int_36; i++)
|
|
{
|
|
if (byte_4[int_5, int_6, i] != 0)
|
|
{
|
|
num2 = byte_4[int_5, int_6, i] - num;
|
|
num3 = Math.Abs(num2);
|
|
num4 += num3;
|
|
num5++;
|
|
}
|
|
}
|
|
double d = ((float) num4) / ((float) (num5 - 1));
|
|
return (byte) Math.Round(d, 0);
|
|
}
|
|
|
|
private void method_25(byte[,,] byte_4, int int_5, int int_6)
|
|
{
|
|
for (int i = 0; i < byte_4.GetUpperBound(2); i++)
|
|
{
|
|
byte_4[int_5, int_6, i] = byte_4[int_5, int_6, i + 1];
|
|
}
|
|
byte_4[int_5, int_6, byte_4.GetUpperBound(2)] = 0;
|
|
}
|
|
|
|
private int method_26(byte[,,] byte_4, int int_5, int int_6)
|
|
{
|
|
int num = 0;
|
|
for (int i = 0; i < this.class10_settings_0.int_36; i++)
|
|
{
|
|
if (byte_4[int_5, int_6, i] != 0)
|
|
{
|
|
num++;
|
|
}
|
|
}
|
|
return num;
|
|
}
|
|
|
|
private void method_27(Struct17 struct17_1)
|
|
{
|
|
byte[,,] buffer;
|
|
bool[,] flagArray;
|
|
int num = 0;
|
|
byte num2 = 0;
|
|
byte num3 = 0;
|
|
if (!struct17_1.bool_1)
|
|
{
|
|
if (!struct17_1.bool_0)
|
|
{
|
|
buffer = this.byte_0;
|
|
flagArray = this.tunerAfrGrid_0.fuel_low_1_Lock;
|
|
}
|
|
else
|
|
{
|
|
buffer = this.byte_1;
|
|
flagArray = this.tunerAfrGrid_0.fuel_high_1_Lock;
|
|
}
|
|
}
|
|
else if (!struct17_1.bool_0)
|
|
{
|
|
buffer = this.byte_2;
|
|
flagArray = this.tunerAfrGrid_0.fuel_low_2_Lock;
|
|
}
|
|
else
|
|
{
|
|
buffer = this.byte_3;
|
|
flagArray = this.tunerAfrGrid_0.fuel_high_2_Lock;
|
|
}
|
|
|
|
byte num4 = 0;
|
|
if (!flagArray[struct17_1.struct15_0.struct24_0.int_1, struct17_1.struct15_0.struct24_0.int_0])
|
|
{
|
|
num = this.method_26(buffer, struct17_1.struct15_0.struct24_0.int_1, struct17_1.struct15_0.struct24_0.int_0);
|
|
num3 = this.method_23(buffer, struct17_1.struct15_0.struct24_0.int_1, struct17_1.struct15_0.struct24_0.int_0);
|
|
if ((num >= this.class10_settings_0.int_41) && this.class10_settings_0.bool_51)
|
|
{
|
|
num2 = this.method_24(buffer, struct17_1.struct15_0.struct24_0.int_1, struct17_1.struct15_0.struct24_0.int_0);
|
|
if ((struct17_1.byte_0 >= (num3 + num2)) || (struct17_1.byte_0 <= (num3 - num2)))
|
|
{
|
|
goto Label_021E;
|
|
}
|
|
}
|
|
if (num >= (this.class10_settings_0.int_36 - 1))
|
|
{
|
|
this.method_25(buffer, struct17_1.struct15_0.struct24_0.int_1, struct17_1.struct15_0.struct24_0.int_0);
|
|
num--;
|
|
}
|
|
num4 = struct17_1.byte_0;
|
|
if (num3 != 0 && !struct17_1.method_0(struct17_1.struct15_0.struct24_0))
|
|
{
|
|
num4 = (byte) ((struct17_1.byte_0 * 0.2) + (num3 * 0.8));
|
|
}
|
|
buffer[struct17_1.struct15_0.struct24_0.int_1, struct17_1.struct15_0.struct24_0.int_0, num] = num4;
|
|
}
|
|
Label_021E:
|
|
if (!flagArray[struct17_1.struct15_0.struct24_1.int_1, struct17_1.struct15_0.struct24_1.int_0])
|
|
{
|
|
num = this.method_26(buffer, struct17_1.struct15_0.struct24_1.int_1, struct17_1.struct15_0.struct24_1.int_0);
|
|
num3 = this.method_23(buffer, struct17_1.struct15_0.struct24_1.int_1, struct17_1.struct15_0.struct24_1.int_0);
|
|
if ((num >= this.class10_settings_0.int_41) && this.class10_settings_0.bool_51)
|
|
{
|
|
num2 = this.method_24(buffer, struct17_1.struct15_0.struct24_1.int_1, struct17_1.struct15_0.struct24_1.int_0);
|
|
if ((struct17_1.byte_0 >= (num3 + num2)) || (struct17_1.byte_0 <= (num3 - num2)))
|
|
{
|
|
goto Label_03BD;
|
|
}
|
|
}
|
|
if (num == (this.class10_settings_0.int_36 - 1))
|
|
{
|
|
this.method_25(buffer, struct17_1.struct15_0.struct24_1.int_1, struct17_1.struct15_0.struct24_1.int_0);
|
|
num--;
|
|
}
|
|
num4 = struct17_1.byte_0;
|
|
if (num3 != 0 && !struct17_1.method_0(struct17_1.struct15_0.struct24_1))
|
|
{
|
|
num4 = (byte) ((struct17_1.byte_0 * 0.2) + (num3 * 0.8));
|
|
}
|
|
buffer[struct17_1.struct15_0.struct24_1.int_1, struct17_1.struct15_0.struct24_1.int_0, num] = num4;
|
|
}
|
|
Label_03BD:
|
|
if (!flagArray[struct17_1.struct15_0.struct24_2.int_1, struct17_1.struct15_0.struct24_2.int_0])
|
|
{
|
|
num = this.method_26(buffer, struct17_1.struct15_0.struct24_2.int_1, struct17_1.struct15_0.struct24_2.int_0);
|
|
num3 = this.method_23(buffer, struct17_1.struct15_0.struct24_2.int_1, struct17_1.struct15_0.struct24_2.int_0);
|
|
if ((num >= this.class10_settings_0.int_41) && this.class10_settings_0.bool_51)
|
|
{
|
|
num2 = this.method_24(buffer, struct17_1.struct15_0.struct24_2.int_1, struct17_1.struct15_0.struct24_2.int_0);
|
|
if ((struct17_1.byte_0 >= (num3 + num2)) || (struct17_1.byte_0 <= (num3 - num2)))
|
|
{
|
|
goto Label_055C;
|
|
}
|
|
}
|
|
if (num == (this.class10_settings_0.int_36 - 1))
|
|
{
|
|
this.method_25(buffer, struct17_1.struct15_0.struct24_2.int_1, struct17_1.struct15_0.struct24_2.int_0);
|
|
num--;
|
|
}
|
|
num4 = struct17_1.byte_0;
|
|
if (num3 != 0 && !struct17_1.method_0(struct17_1.struct15_0.struct24_2))
|
|
{
|
|
num4 = (byte) ((struct17_1.byte_0 * 0.2) + (num3 * 0.8));
|
|
}
|
|
buffer[struct17_1.struct15_0.struct24_2.int_1, struct17_1.struct15_0.struct24_2.int_0, num] = num4;
|
|
}
|
|
Label_055C:
|
|
if (!flagArray[struct17_1.struct15_0.struct24_3.int_1, struct17_1.struct15_0.struct24_3.int_0])
|
|
{
|
|
num = this.method_26(buffer, struct17_1.struct15_0.struct24_3.int_1, struct17_1.struct15_0.struct24_3.int_0);
|
|
num3 = this.method_23(buffer, struct17_1.struct15_0.struct24_3.int_1, struct17_1.struct15_0.struct24_3.int_0);
|
|
if ((num >= this.class10_settings_0.int_41) && this.class10_settings_0.bool_51)
|
|
{
|
|
num2 = this.method_24(buffer, struct17_1.struct15_0.struct24_3.int_1, struct17_1.struct15_0.struct24_3.int_0);
|
|
if ((struct17_1.byte_0 >= (num3 + num2)) || (struct17_1.byte_0 <= (num3 - num2)))
|
|
{
|
|
goto Label_06FB;
|
|
}
|
|
}
|
|
if (num == (this.class10_settings_0.int_36 - 1))
|
|
{
|
|
this.method_25(buffer, struct17_1.struct15_0.struct24_3.int_1, struct17_1.struct15_0.struct24_3.int_0);
|
|
num--;
|
|
}
|
|
num4 = struct17_1.byte_0;
|
|
if (num3 != 0 && !struct17_1.method_0(struct17_1.struct15_0.struct24_3))
|
|
{
|
|
num4 = (byte) ((struct17_1.byte_0 * 0.2) + (num3 * 0.8));
|
|
}
|
|
buffer[struct17_1.struct15_0.struct24_3.int_1, struct17_1.struct15_0.struct24_3.int_0, num] = num4;
|
|
}
|
|
Label_06FB:
|
|
struct17_1.byte_0 = 0;
|
|
}
|
|
|
|
private void method_28(Struct12 struct12_1)
|
|
{
|
|
}
|
|
|
|
public void method_3() //clear recordings
|
|
{
|
|
for (int i = 0; i < this.class18_0.method_33(); i++)
|
|
{
|
|
for (int j = 0; j < this.class18_0.method_32_GetRPM_RowsNumber(); j++)
|
|
{
|
|
for (int k = 0; k < this.class10_settings_0.int_36; k++)
|
|
{
|
|
this.byte_0[i, j, k] = 0;
|
|
this.byte_1[i, j, k] = 0;
|
|
this.byte_2[i, j, k] = 0;
|
|
this.byte_3[i, j, k] = 0;
|
|
}
|
|
this.byte_0_Analog1[i, j] = 0;
|
|
this.byte_0_Analog2[i, j] = 0;
|
|
this.byte_0_Analog3[i, j] = 0;
|
|
}
|
|
}
|
|
this.method_5();
|
|
this.class18_0.method_53();
|
|
}
|
|
|
|
/*public void method_4_Analog(int int_5, int int_6)
|
|
{
|
|
this.byte_0_Analog1[int_5, int_6] = 0;
|
|
this.byte_0_Analog2[int_5, int_6] = 0;
|
|
this.byte_0_Analog3[int_5, int_6] = 0;
|
|
}*/
|
|
|
|
public void method_4(int int_5, int int_6)
|
|
{
|
|
for (int i = 0; i < this.class10_settings_0.int_36; i++)
|
|
{
|
|
if (!this.class18_0.method_39())
|
|
{
|
|
if (!this.class18_0.method_36())
|
|
{
|
|
this.byte_0[int_5, int_6, i] = 0;
|
|
}
|
|
else
|
|
{
|
|
this.byte_1[int_5, int_6, i] = 0;
|
|
}
|
|
}
|
|
else if (!this.class18_0.method_36())
|
|
{
|
|
this.byte_0[int_5, int_6, i] = 0;
|
|
}
|
|
else
|
|
{
|
|
this.byte_1[int_5, int_6, i] = 0;
|
|
}
|
|
}
|
|
this.byte_0_Analog1[int_5, int_6] = 0;
|
|
this.byte_0_Analog2[int_5, int_6] = 0;
|
|
this.byte_0_Analog3[int_5, int_6] = 0;
|
|
}
|
|
|
|
public void method_5()
|
|
{
|
|
for (int i = 0; i < this.class18_0.method_33(); i++)
|
|
{
|
|
for (int j = 0; j < this.class18_0.method_32_GetRPM_RowsNumber(); j++)
|
|
{
|
|
for (int k = 0; k < this.class10_settings_0.int_36; k++)
|
|
{
|
|
this.bool_0[i, j] = false;
|
|
this.bool_1[i, j] = false;
|
|
this.bool_2[i, j] = false;
|
|
this.bool_3[i, j] = false;
|
|
}
|
|
}
|
|
}
|
|
this.class18_0.method_53();
|
|
}
|
|
|
|
public void method_6(int int_5, int int_6) //filter unaceptable value
|
|
{
|
|
byte[,,] buffer;
|
|
if (!this.class18_0.method_39())
|
|
{
|
|
if (!this.class18_0.method_36())
|
|
{
|
|
buffer = this.byte_0;
|
|
}
|
|
else
|
|
{
|
|
buffer = this.byte_1;
|
|
}
|
|
}
|
|
else if (!this.class18_0.method_36())
|
|
{
|
|
buffer = this.byte_2;
|
|
}
|
|
else
|
|
{
|
|
buffer = this.byte_3;
|
|
}
|
|
double num = this.class18_0.method_200(this.method_23(buffer, int_5, int_6));
|
|
double num2 = 0.0;
|
|
byte num3 = 0;
|
|
for (int i = 0; i < this.class10_settings_0.int_36; i++)
|
|
{
|
|
if (buffer[int_5, int_6, i] != 0)
|
|
{
|
|
num2 = this.class18_0.method_200(buffer[int_5, int_6, i]);
|
|
if (num2 < (num - this.class10_settings_0.double_9))
|
|
{
|
|
num3 = this.class18_0.method_213(num - this.class10_settings_0.double_9);
|
|
buffer[int_5, int_6, i] = num3;
|
|
}
|
|
else if (num2 > (num + 1.5))
|
|
{
|
|
num3 = this.class18_0.method_213(num + this.class10_settings_0.double_9);
|
|
buffer[int_5, int_6, i] = num3;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/*public void method_7(int int_5, int int_6)
|
|
{
|
|
if (!this.class18_0.method_39())
|
|
{
|
|
if (!this.class18_0.method_36())
|
|
{
|
|
this.tunerAfrGrid_0.fuel_low_1_Lock[int_5, int_6] = !this.tunerAfrGrid_0.fuel_low_1_Lock[int_5, int_6];
|
|
}
|
|
else
|
|
{
|
|
this.tunerAfrGrid_0.fuel_high_1_Lock[int_5, int_6] = !this.tunerAfrGrid_0.fuel_low_1_Lock[int_5, int_6];
|
|
}
|
|
}
|
|
else if (!this.class18_0.method_36())
|
|
{
|
|
this.tunerAfrGrid_0.fuel_low_2_Lock[int_5, int_6] = !this.tunerAfrGrid_0.fuel_low_2_Lock[int_5, int_6];
|
|
}
|
|
else
|
|
{
|
|
this.tunerAfrGrid_0.fuel_high_2_Lock[int_5, int_6] = !this.tunerAfrGrid_0.fuel_low_2_Lock[int_5, int_6];
|
|
}
|
|
}*/
|
|
|
|
private void method_8(Struct17 struct17_1)
|
|
{
|
|
if (!struct17_1.bool_1)
|
|
{
|
|
if (struct17_1.bool_0)
|
|
{
|
|
this.bool_1[struct17_1.struct15_0.struct24_0.int_1, struct17_1.struct15_0.struct24_0.int_0] = true;
|
|
this.bool_1[struct17_1.struct15_0.struct24_1.int_1, struct17_1.struct15_0.struct24_1.int_0] = true;
|
|
this.bool_1[struct17_1.struct15_0.struct24_2.int_1, struct17_1.struct15_0.struct24_2.int_0] = true;
|
|
this.bool_1[struct17_1.struct15_0.struct24_3.int_1, struct17_1.struct15_0.struct24_3.int_0] = true;
|
|
}
|
|
else
|
|
{
|
|
this.bool_0[struct17_1.struct15_0.struct24_0.int_1, struct17_1.struct15_0.struct24_0.int_0] = true;
|
|
this.bool_0[struct17_1.struct15_0.struct24_1.int_1, struct17_1.struct15_0.struct24_1.int_0] = true;
|
|
this.bool_0[struct17_1.struct15_0.struct24_2.int_1, struct17_1.struct15_0.struct24_2.int_0] = true;
|
|
this.bool_0[struct17_1.struct15_0.struct24_3.int_1, struct17_1.struct15_0.struct24_3.int_0] = true;
|
|
}
|
|
}
|
|
else if (struct17_1.bool_0)
|
|
{
|
|
this.bool_3[struct17_1.struct15_0.struct24_0.int_1, struct17_1.struct15_0.struct24_0.int_0] = true;
|
|
this.bool_3[struct17_1.struct15_0.struct24_1.int_1, struct17_1.struct15_0.struct24_1.int_0] = true;
|
|
this.bool_3[struct17_1.struct15_0.struct24_2.int_1, struct17_1.struct15_0.struct24_2.int_0] = true;
|
|
this.bool_3[struct17_1.struct15_0.struct24_3.int_1, struct17_1.struct15_0.struct24_3.int_0] = true;
|
|
}
|
|
else
|
|
{
|
|
this.bool_2[struct17_1.struct15_0.struct24_0.int_1, struct17_1.struct15_0.struct24_0.int_0] = true;
|
|
this.bool_2[struct17_1.struct15_0.struct24_1.int_1, struct17_1.struct15_0.struct24_1.int_0] = true;
|
|
this.bool_2[struct17_1.struct15_0.struct24_2.int_1, struct17_1.struct15_0.struct24_2.int_0] = true;
|
|
this.bool_2[struct17_1.struct15_0.struct24_3.int_1, struct17_1.struct15_0.struct24_3.int_0] = true;
|
|
}
|
|
}
|
|
|
|
public void method_9(bool bool_4)
|
|
{
|
|
if (this.tunerAfrGrid_0 != null)
|
|
{
|
|
if (!bool_4)
|
|
{
|
|
this.tunerAfrGrid_0.targetAfr_lo_1 = new double[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.tunerAfrGrid_0.targetAfr_hi_1 = new double[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.tunerAfrGrid_0.fuel_low_1_Lock = new bool[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.tunerAfrGrid_0.fuel_high_1_Lock = new bool[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
}
|
|
else
|
|
{
|
|
this.tunerAfrGrid_0.targetAfr_lo_2 = new double[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.tunerAfrGrid_0.targetAfr_hi_2 = new double[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.tunerAfrGrid_0.fuel_low_2_Lock = new bool[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
this.tunerAfrGrid_0.fuel_high_2_Lock = new bool[this.class18_0.method_33(), this.class18_0.method_32_GetRPM_RowsNumber()];
|
|
}
|
|
for (int i = 0; i < this.class18_0.method_33(); i++)
|
|
{
|
|
double num2;
|
|
int num = this.class18_0.method_163((byte) i);
|
|
if (num <= this.class10_settings_0.int_38)
|
|
{
|
|
num2 = this.class10_settings_0.double_10; //get Low AFR
|
|
}
|
|
else if ((num > this.class10_settings_0.int_38) && (num < this.class10_settings_0.int_39))
|
|
{
|
|
num2 = this.class10_settings_0.double_11; //get Mid AFR
|
|
}
|
|
else
|
|
{
|
|
if (num < this.class10_settings_0.int_39)
|
|
{
|
|
this.class18_0.class17_0.frmMain_0.LogThis("set target afr error");
|
|
return;
|
|
//throw new Exception("set target afr error");
|
|
}
|
|
num2 = this.class10_settings_0.double_12; //get High AFR
|
|
}
|
|
for (int j = 0; j < this.class18_0.method_32_GetRPM_RowsNumber(); j++)
|
|
{
|
|
if (!bool_4)
|
|
{
|
|
this.tunerAfrGrid_0.targetAfr_lo_1[i, j] = num2;
|
|
this.tunerAfrGrid_0.targetAfr_hi_1[i, j] = num2;
|
|
}
|
|
else
|
|
{
|
|
this.tunerAfrGrid_0.targetAfr_lo_2[i, j] = num2;
|
|
this.tunerAfrGrid_0.targetAfr_hi_2[i, j] = num2;
|
|
}
|
|
}
|
|
}
|
|
|
|
this.class18_0.method_53();
|
|
}
|
|
}
|
|
}
|
|
|