BMTuneSource/parmFlexFuel.cs

728 lines
34 KiB
C#

using Data;
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
internal class parmFlexFuel : UserControl
{
private bool bool_0;
private bool ChangingInput;
private Class18 class18_0;
private ctrlAdvTable ctrlAdvTableEthanol;
private ErrorProvider errorProvider_0;
private GroupBox groupBox1;
private IContainer icontainer_0;
private IContainer components;
private Label label4;
private Label label3;
private Label label2;
private GroupBox groupBox5;
private Label label8;
private Label label9;
private ctrlAdvTable ctrlAdvTableFuelCrank;
private GroupBox groupBox3;
private Label label6;
private Label label7;
private ctrlAdvTable ctrlAdvTableFuelClose;
private GroupBox groupBox6;
private Label label10;
private Label label11;
private ctrlAdvTable ctrlAdvTableIgnClose;
private ComboBox lstInput;
private Panel panel1;
internal parmFlexFuel(ref Class18 rm)
{
this.class18_0 = rm;
this.class18_0.delegate55_0 += new Class18.Delegate55(this.method_6);
this.class18_0.delegate58_0 += new Class18.Delegate58(this.method_6);
this.InitializeComponent();
this.ctrlAdvTableEthanol.method_HeaderGrayed(true);
this.ctrlAdvTableEthanol.method_HasHeader(false);
this.ctrlAdvTableEthanol.method_RowsNumber(2);
this.ctrlAdvTableEthanol.method_ColumnsNumber(4);
this.ctrlAdvTableEthanol.int_2 = 42; //width
this.ctrlAdvTableEthanol.delegate2_0 += new ctrlAdvTable.Delegate2(this.method_2_Content);
this.ctrlAdvTableEthanol.delegate1_0 += new ctrlAdvTable.Delegate1(this.method_1_Content);
this.ctrlAdvTableEthanol.delegate4_0 += new ctrlAdvTable.Delegate4(this.method_0_Content);
this.ctrlAdvTableEthanol.method_1(ref this.class18_0);
this.ctrlAdvTableEthanol.method_SetIncreaser(1.0); //increaser
this.ctrlAdvTableEthanol.method_Load();
this.ctrlAdvTableFuelClose.method_HeaderGrayed(true);
this.ctrlAdvTableFuelClose.method_HasHeader(false);
this.ctrlAdvTableFuelClose.method_RowsNumber(2);
this.ctrlAdvTableFuelClose.method_ColumnsNumber(6);
this.ctrlAdvTableFuelClose.int_2 = 42; //width
this.ctrlAdvTableFuelClose.delegate2_0 += new ctrlAdvTable.Delegate2(this.method_2_FuelClose);
this.ctrlAdvTableFuelClose.delegate1_0 += new ctrlAdvTable.Delegate1(this.method_1_FuelClose);
this.ctrlAdvTableFuelClose.delegate4_0 += new ctrlAdvTable.Delegate4(this.method_0_Fuel);
this.ctrlAdvTableFuelClose.method_1(ref this.class18_0);
this.ctrlAdvTableFuelClose.method_SetIncreaser(1.0); //increaser
this.ctrlAdvTableFuelClose.method_Load();
if (this.class18_0.RomVersion >= 116)
{
this.ctrlAdvTableFuelCrank.method_HeaderGrayed(true);
this.ctrlAdvTableFuelCrank.method_HasHeader(false);
this.ctrlAdvTableFuelCrank.method_RowsNumber(2);
this.ctrlAdvTableFuelCrank.method_ColumnsNumber(6);
this.ctrlAdvTableFuelCrank.int_2 = 42; //width
this.ctrlAdvTableFuelCrank.delegate2_0 += new ctrlAdvTable.Delegate2(this.method_2_FuelCrank);
this.ctrlAdvTableFuelCrank.delegate1_0 += new ctrlAdvTable.Delegate1(this.method_1_FuelCrank);
this.ctrlAdvTableFuelCrank.delegate4_0 += new ctrlAdvTable.Delegate4(this.method_0_FuelCrank);
this.ctrlAdvTableFuelCrank.method_1(ref this.class18_0);
this.ctrlAdvTableFuelCrank.method_SetIncreaser(1.0); //increaser
this.ctrlAdvTableFuelCrank.method_Load();
}
this.ctrlAdvTableIgnClose.method_HeaderGrayed(true);
this.ctrlAdvTableIgnClose.method_HasHeader(false);
this.ctrlAdvTableIgnClose.method_RowsNumber(2);
this.ctrlAdvTableIgnClose.method_ColumnsNumber(6);
this.ctrlAdvTableIgnClose.int_2 = 42; //width
this.ctrlAdvTableIgnClose.delegate2_0 += new ctrlAdvTable.Delegate2(this.method_2_IgnClose);
this.ctrlAdvTableIgnClose.delegate1_0 += new ctrlAdvTable.Delegate1(this.method_1_IgnClose);
this.ctrlAdvTableIgnClose.delegate4_0 += new ctrlAdvTable.Delegate4(this.method_0_Ign);
this.ctrlAdvTableIgnClose.method_1(ref this.class18_0);
this.ctrlAdvTableIgnClose.method_SetIncreaser(0.25); //increaser
this.ctrlAdvTableIgnClose.method_Load();
//Disable under rom version
if (this.class18_0.RomVersion < 111)
{
groupBox1.Enabled = false;
}
if (this.class18_0.RomVersion < 116)
{
groupBox5.Visible = false;
}
foreach (Control control in base.Controls)
{
float emSize = control.Font.Size * (class18_0.class10_settings_0.scaleRate / 100f);
control.Font = new Font(control.Font.Name, emSize, control.Font.Style, control.Font.Unit);
}
}
private void lstInput_SelectedIndexChanged(object sender, EventArgs e)
{
if (!this.ChangingInput)
{
if (this.lstInput.SelectedIndex != 0)
{
if (MessageBox.Show(Form.ActiveForm, "Do you want to set defaults values to Flex Fuel Tables?", "BMTune", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
for (int i = 0; i < 6; i++)
{
if (i <= 2) this.class18_0.method_151(this.class18_0.class13_u_0.long_461 + (i * 3) + 1L, (long)(35f * 4f));
else this.class18_0.method_151(this.class18_0.class13_u_0.long_461 + (i * 3) + 1L, (long) 0f);
}
if (this.class18_0.class13_u_0.long_463 != 0L) for (int i = 0; i < 6; i++) this.class18_0.method_151(this.class18_0.class13_u_0.long_463 + (i * 3) + 1L, (long)0f);
for (int i = 0; i < 6; i++)
{
if (i <= 2) this.class18_0.method_149_SetByte(this.class18_0.class13_u_0.long_464 + (i * 2) + 1L, (byte)(6f * 4f));
else this.class18_0.method_149_SetByte(this.class18_0.class13_u_0.long_464 + (i * 2) + 1L, (byte) 0f);
}
}
}
method_5();
}
}
protected override void Dispose(bool disposing)
{
if (disposing && (this.icontainer_0 != null))
{
this.icontainer_0.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.label6 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.ctrlAdvTableFuelClose = new ctrlAdvTable();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.label8 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.ctrlAdvTableFuelCrank = new ctrlAdvTable();
this.lstInput = new System.Windows.Forms.ComboBox();
this.groupBox6 = new System.Windows.Forms.GroupBox();
this.label10 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.ctrlAdvTableIgnClose = new ctrlAdvTable();
this.label2 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.ctrlAdvTableEthanol = new ctrlAdvTable();
this.errorProvider_0 = new System.Windows.Forms.ErrorProvider(this.components);
this.panel1 = new System.Windows.Forms.Panel();
this.groupBox1.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox5.SuspendLayout();
this.groupBox6.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.errorProvider_0)).BeginInit();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// groupBox1
//
this.groupBox1.Controls.Add(this.groupBox3);
this.groupBox1.Controls.Add(this.groupBox5);
this.groupBox1.Controls.Add(this.lstInput);
this.groupBox1.Controls.Add(this.groupBox6);
this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Controls.Add(this.label4);
this.groupBox1.Controls.Add(this.label3);
this.groupBox1.Controls.Add(this.ctrlAdvTableEthanol);
this.groupBox1.Location = new System.Drawing.Point(3, 12);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(386, 372);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Flex Fuel";
//
// groupBox3
//
this.groupBox3.Controls.Add(this.label6);
this.groupBox3.Controls.Add(this.label7);
this.groupBox3.Controls.Add(this.ctrlAdvTableFuelClose);
this.groupBox3.Location = new System.Drawing.Point(6, 135);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(371, 74);
this.groupBox3.TabIndex = 6;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "Fuel Compensation";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(7, 47);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(46, 14);
this.label6.TabIndex = 4;
this.label6.Text = "Fuel(%):";
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(7, 25);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(63, 14);
this.label7.TabIndex = 3;
this.label7.Text = "Ethanol(%):";
//
// ctrlAdvTableFuelClose
//
this.ctrlAdvTableFuelClose.Font = new System.Drawing.Font("Lucida Sans", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ctrlAdvTableFuelClose.Location = new System.Drawing.Point(76, 20);
this.ctrlAdvTableFuelClose.Name = "ctrlAdvTableFuelClose";
this.ctrlAdvTableFuelClose.Size = new System.Drawing.Size(289, 42);
this.ctrlAdvTableFuelClose.TabIndex = 0;
//
// groupBox5
//
this.groupBox5.Controls.Add(this.label8);
this.groupBox5.Controls.Add(this.label9);
this.groupBox5.Controls.Add(this.ctrlAdvTableFuelCrank);
this.groupBox5.Location = new System.Drawing.Point(6, 295);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(371, 74);
this.groupBox5.TabIndex = 8;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "Fuel Compensation while Cranking";
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(7, 47);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(46, 14);
this.label8.TabIndex = 4;
this.label8.Text = "Fuel(%):";
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(7, 25);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(63, 14);
this.label9.TabIndex = 3;
this.label9.Text = "Ethanol(%):";
//
// ctrlAdvTableFuelCrank
//
this.ctrlAdvTableFuelCrank.Font = new System.Drawing.Font("Lucida Sans", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ctrlAdvTableFuelCrank.Location = new System.Drawing.Point(76, 20);
this.ctrlAdvTableFuelCrank.Name = "ctrlAdvTableFuelCrank";
this.ctrlAdvTableFuelCrank.Size = new System.Drawing.Size(289, 42);
this.ctrlAdvTableFuelCrank.TabIndex = 0;
//
// lstInput
//
this.lstInput.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.lstInput.FormattingEnabled = true;
this.lstInput.Items.AddRange(new object[] {
"Disabled",
"Analog D10 (ELD)",
"Analog D12 (EGR)",
"Analog B6 (B6)"});
this.lstInput.Location = new System.Drawing.Point(98, 44);
this.lstInput.Name = "lstInput";
this.lstInput.Size = new System.Drawing.Size(177, 22);
this.lstInput.TabIndex = 4;
this.lstInput.SelectedIndexChanged += new System.EventHandler(this.lstInput_SelectedIndexChanged);
//
// groupBox6
//
this.groupBox6.Controls.Add(this.label10);
this.groupBox6.Controls.Add(this.label11);
this.groupBox6.Controls.Add(this.ctrlAdvTableIgnClose);
this.groupBox6.Location = new System.Drawing.Point(6, 215);
this.groupBox6.Name = "groupBox6";
this.groupBox6.Size = new System.Drawing.Size(371, 74);
this.groupBox6.TabIndex = 8;
this.groupBox6.TabStop = false;
this.groupBox6.Text = "Ignition Advance Compensation";
//
// label10
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(7, 47);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(37, 14);
this.label10.TabIndex = 4;
this.label10.Text = "Ign(°):";
//
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(7, 25);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(63, 14);
this.label11.TabIndex = 3;
this.label11.Text = "Ethanol(%):";
//
// ctrlAdvTableIgnClose
//
this.ctrlAdvTableIgnClose.Font = new System.Drawing.Font("Lucida Sans", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ctrlAdvTableIgnClose.Location = new System.Drawing.Point(76, 20);
this.ctrlAdvTableIgnClose.Name = "ctrlAdvTableIgnClose";
this.ctrlAdvTableIgnClose.Size = new System.Drawing.Size(289, 42);
this.ctrlAdvTableIgnClose.TabIndex = 0;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(115, 21);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(139, 14);
this.label2.TabIndex = 3;
this.label2.Text = "Flex Fuel (Ethanol) Input:";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(46, 103);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(63, 14);
this.label4.TabIndex = 2;
this.label4.Text = "Ethanol(%):";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(46, 80);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(51, 14);
this.label3.TabIndex = 1;
this.label3.Text = "Voltage:";
//
// ctrlAdvTableEthanol
//
this.ctrlAdvTableEthanol.Font = new System.Drawing.Font("Lucida Sans", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ctrlAdvTableEthanol.Location = new System.Drawing.Point(118, 77);
this.ctrlAdvTableEthanol.Name = "ctrlAdvTableEthanol";
this.ctrlAdvTableEthanol.Size = new System.Drawing.Size(232, 42);
this.ctrlAdvTableEthanol.TabIndex = 0;
//
// errorProvider_0
//
this.errorProvider_0.ContainerControl = this;
//
// panel1
//
this.panel1.AutoScroll = true;
this.panel1.Controls.Add(this.groupBox1);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(413, 405);
this.panel1.TabIndex = 1;
//
// parmFlexFuel
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.panel1);
this.Font = new System.Drawing.Font("Lucida Sans", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Name = "parmFlexFuel";
this.Size = new System.Drawing.Size(413, 405);
this.Load += new System.EventHandler(this.parmFlexFuel_Load);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout();
this.groupBox6.ResumeLayout(false);
this.groupBox6.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.errorProvider_0)).EndInit();
this.panel1.ResumeLayout(false);
this.ResumeLayout(false);
}
private void method_0_Content(DataGridViewCellValidatingEventArgs dataGridViewCellValidatingEventArgs_0)
{
dataGridViewCellValidatingEventArgs_0.Cancel = !this.class18_0.method_252(dataGridViewCellValidatingEventArgs_0.FormattedValue.ToString());
if (dataGridViewCellValidatingEventArgs_0.Cancel)
{
this.ctrlAdvTableEthanol.grid.CurrentCell.ErrorText = "Invalid input";
dataGridViewCellValidatingEventArgs_0.Cancel = false;
}
else
{
this.ctrlAdvTableEthanol.grid.CurrentCell.ErrorText = "";
}
}
private void method_1_Content(DataGridViewCellValueEventArgs dataGridViewCellValueEventArgs_0)
{
this.class18_0.method_155("Flex Fuel Ethanol");
if (dataGridViewCellValueEventArgs_0.RowIndex == 0)
{
this.class18_0.method_149_SetByte((this.class18_0.class13_u_0.long_460 + (dataGridViewCellValueEventArgs_0.ColumnIndex * 2)), (byte)this.class18_0.method_189_VoltageByte(double.Parse(dataGridViewCellValueEventArgs_0.Value.ToString())));
}
else if (dataGridViewCellValueEventArgs_0.RowIndex == 1)
{
this.class18_0.method_149_SetByte((this.class18_0.class13_u_0.long_460 + (dataGridViewCellValueEventArgs_0.ColumnIndex * 2)) + 1L, (byte)this.class18_0.method_189_EthanolByte(double.Parse(dataGridViewCellValueEventArgs_0.Value.ToString())));
}
this.class18_0.method_153();
}
private void method_2_Content(DataGridViewCellValueEventArgs dataGridViewCellValueEventArgs_0)
{
if (dataGridViewCellValueEventArgs_0.RowIndex == 0)
{
dataGridViewCellValueEventArgs_0.Value = this.class18_0.method_189_Voltage(this.class18_0.GetByteAt(this.class18_0.class13_u_0.long_460 + (dataGridViewCellValueEventArgs_0.ColumnIndex * 2))).ToString("0.00");
}
else if (dataGridViewCellValueEventArgs_0.RowIndex == 1)
{
dataGridViewCellValueEventArgs_0.Value = this.class18_0.method_189_Ethanol(this.class18_0.GetByteAt((this.class18_0.class13_u_0.long_460 + (dataGridViewCellValueEventArgs_0.ColumnIndex * 2)) + 1L)).ToString("0");
}
}
//##############################################
private void method_0_Fuel(DataGridViewCellValidatingEventArgs dataGridViewCellValidatingEventArgs_0)
{
if (dataGridViewCellValidatingEventArgs_0.RowIndex == 0)
{
dataGridViewCellValidatingEventArgs_0.Cancel = !this.class18_0.method_252(dataGridViewCellValidatingEventArgs_0.FormattedValue.ToString());
}
if (dataGridViewCellValidatingEventArgs_0.RowIndex == 1)
{
if (this.class18_0.class10_settings_0.correctionUnits_0 == CorrectionUnits.multi)
{
dataGridViewCellValidatingEventArgs_0.Cancel = !this.class18_0.method_254(dataGridViewCellValidatingEventArgs_0.FormattedValue.ToString());
}
else
{
dataGridViewCellValidatingEventArgs_0.Cancel = !this.class18_0.method_252(dataGridViewCellValidatingEventArgs_0.FormattedValue.ToString());
}
}
if (dataGridViewCellValidatingEventArgs_0.Cancel)
{
this.ctrlAdvTableFuelClose.grid.CurrentCell.ErrorText = "Invalid input";
dataGridViewCellValidatingEventArgs_0.Cancel = false;
}
else
{
this.ctrlAdvTableFuelClose.grid.CurrentCell.ErrorText = "";
}
}
private void method_1_FuelClose(DataGridViewCellValueEventArgs dataGridViewCellValueEventArgs_0)
{
this.class18_0.method_155("Flex Fuel - Fuel Closeloop");
if (dataGridViewCellValueEventArgs_0.RowIndex == 0)
{
this.class18_0.method_149_SetByte((this.class18_0.class13_u_0.long_461 + (dataGridViewCellValueEventArgs_0.ColumnIndex * 3)), this.class18_0.method_189_EthanolByte(double.Parse(dataGridViewCellValueEventArgs_0.Value.ToString())));
}
else if (dataGridViewCellValueEventArgs_0.RowIndex == 1)
{
this.class18_0.method_151(this.class18_0.class13_u_0.long_461 + (dataGridViewCellValueEventArgs_0.ColumnIndex * 3) + 1L, (long)(float.Parse(dataGridViewCellValueEventArgs_0.Value.ToString()) * 4f));
}
this.class18_0.method_153();
}
private void method_2_FuelClose(DataGridViewCellValueEventArgs dataGridViewCellValueEventArgs_0)
{
if (dataGridViewCellValueEventArgs_0.RowIndex == 0)
{
dataGridViewCellValueEventArgs_0.Value = this.class18_0.method_189_Ethanol(this.class18_0.GetByteAt(this.class18_0.class13_u_0.long_461 + (dataGridViewCellValueEventArgs_0.ColumnIndex * 3))).ToString("0");
}
else if (dataGridViewCellValueEventArgs_0.RowIndex == 1)
{
dataGridViewCellValueEventArgs_0.Value = this.class18_0.method_223((int)this.class18_0.method_152((this.class18_0.class13_u_0.long_461 + (dataGridViewCellValueEventArgs_0.ColumnIndex * 3)) + 1L)).ToString("0.0");
}
}
//##############################################
private void method_0_FuelCrank(DataGridViewCellValidatingEventArgs dataGridViewCellValidatingEventArgs_0)
{
if (dataGridViewCellValidatingEventArgs_0.RowIndex == 0)
{
dataGridViewCellValidatingEventArgs_0.Cancel = !this.class18_0.method_252(dataGridViewCellValidatingEventArgs_0.FormattedValue.ToString());
}
if (dataGridViewCellValidatingEventArgs_0.RowIndex == 1)
{
if (this.class18_0.class10_settings_0.correctionUnits_0 == CorrectionUnits.multi)
{
dataGridViewCellValidatingEventArgs_0.Cancel = !this.class18_0.method_254(dataGridViewCellValidatingEventArgs_0.FormattedValue.ToString());
}
else
{
dataGridViewCellValidatingEventArgs_0.Cancel = !this.class18_0.method_252(dataGridViewCellValidatingEventArgs_0.FormattedValue.ToString());
}
}
if (dataGridViewCellValidatingEventArgs_0.Cancel)
{
this.ctrlAdvTableFuelCrank.grid.CurrentCell.ErrorText = "Invalid input";
dataGridViewCellValidatingEventArgs_0.Cancel = false;
}
else
{
this.ctrlAdvTableFuelCrank.grid.CurrentCell.ErrorText = "";
}
}
private void method_1_FuelCrank(DataGridViewCellValueEventArgs dataGridViewCellValueEventArgs_0)
{
this.class18_0.method_155("Flex Fuel - Fuel Cranking");
if (dataGridViewCellValueEventArgs_0.RowIndex == 0)
{
this.class18_0.method_149_SetByte((this.class18_0.class13_u_0.long_463 + (dataGridViewCellValueEventArgs_0.ColumnIndex * 3)), this.class18_0.method_189_EthanolByte(double.Parse(dataGridViewCellValueEventArgs_0.Value.ToString())));
}
else if (dataGridViewCellValueEventArgs_0.RowIndex == 1)
{
this.class18_0.method_151(this.class18_0.class13_u_0.long_463 + (dataGridViewCellValueEventArgs_0.ColumnIndex * 3) + 1L, (long)(float.Parse(dataGridViewCellValueEventArgs_0.Value.ToString()) * 4f));
}
this.class18_0.method_153();
}
private void method_2_FuelCrank(DataGridViewCellValueEventArgs dataGridViewCellValueEventArgs_0)
{
if (dataGridViewCellValueEventArgs_0.RowIndex == 0)
{
dataGridViewCellValueEventArgs_0.Value = this.class18_0.method_189_Ethanol(this.class18_0.GetByteAt(this.class18_0.class13_u_0.long_463 + (dataGridViewCellValueEventArgs_0.ColumnIndex * 3))).ToString("0");
}
else if (dataGridViewCellValueEventArgs_0.RowIndex == 1)
{
dataGridViewCellValueEventArgs_0.Value = this.class18_0.method_223((int)this.class18_0.method_152((this.class18_0.class13_u_0.long_463 + (dataGridViewCellValueEventArgs_0.ColumnIndex * 3)) + 1L)).ToString("0.0");
}
}
//##############################################
private void method_0_Ign(DataGridViewCellValidatingEventArgs dataGridViewCellValidatingEventArgs_0)
{
dataGridViewCellValidatingEventArgs_0.Cancel = !this.class18_0.method_252(dataGridViewCellValidatingEventArgs_0.FormattedValue.ToString());
if (dataGridViewCellValidatingEventArgs_0.Cancel)
{
this.ctrlAdvTableIgnClose.grid.CurrentCell.ErrorText = "Invalid input";
dataGridViewCellValidatingEventArgs_0.Cancel = false;
}
else
{
this.ctrlAdvTableIgnClose.grid.CurrentCell.ErrorText = "";
}
}
private void method_1_IgnClose(DataGridViewCellValueEventArgs dataGridViewCellValueEventArgs_0)
{
this.class18_0.method_155("Flex Fuel - Ignition Closeloop");
if (dataGridViewCellValueEventArgs_0.RowIndex == 0)
{
this.class18_0.method_149_SetByte((this.class18_0.class13_u_0.long_464 + (dataGridViewCellValueEventArgs_0.ColumnIndex * 2)), this.class18_0.method_189_EthanolByte(double.Parse(dataGridViewCellValueEventArgs_0.Value.ToString())));
}
else if (dataGridViewCellValueEventArgs_0.RowIndex == 1)
{
this.class18_0.method_149_SetByte(this.class18_0.class13_u_0.long_464 + (dataGridViewCellValueEventArgs_0.ColumnIndex * 2) + 1L, (byte)(float.Parse(dataGridViewCellValueEventArgs_0.Value.ToString()) * 4f));
}
this.class18_0.method_153();
}
private void method_2_IgnClose(DataGridViewCellValueEventArgs dataGridViewCellValueEventArgs_0)
{
if (dataGridViewCellValueEventArgs_0.RowIndex == 0)
{
dataGridViewCellValueEventArgs_0.Value = this.class18_0.method_189_Ethanol(this.class18_0.GetByteAt(this.class18_0.class13_u_0.long_464 + (dataGridViewCellValueEventArgs_0.ColumnIndex * 2))).ToString("0");
}
else if (dataGridViewCellValueEventArgs_0.RowIndex == 1)
{
dataGridViewCellValueEventArgs_0.Value = this.class18_0.method_223((int)this.class18_0.GetByteAt((this.class18_0.class13_u_0.long_464 + (dataGridViewCellValueEventArgs_0.ColumnIndex * 2)) + 1L)).ToString("0.00");
}
}
private void method_5()
{
if (!this.bool_0)
{
if (this.class18_0.RomVersion >= 111)
{
this.class18_0.method_155("Flex Fuel - Settings");
if (this.lstInput.SelectedIndex == 0) this.class18_0.method_149_SetByte(this.class18_0.class13_u_0.long_466, (byte)this.lstInput.SelectedIndex);
else this.class18_0.method_149_SetByte(this.class18_0.class13_u_0.long_466, (byte)(this.lstInput.SelectedIndex + 1));
RestoreFlexToZero();
if (this.lstInput.SelectedIndex == 0)
{
this.ctrlAdvTableEthanol.Enabled = false;
this.ctrlAdvTableFuelClose.Enabled = false;
this.ctrlAdvTableFuelCrank.Enabled = false;
this.ctrlAdvTableIgnClose.Enabled = false;
}
else
{
this.ctrlAdvTableEthanol.Enabled = true;
this.ctrlAdvTableFuelClose.Enabled = true;
this.ctrlAdvTableFuelCrank.Enabled = true;
this.ctrlAdvTableIgnClose.Enabled = true;
}
this.class18_0.method_153();
this.parmFlexFuel_Load(null, null);
}
}
}
private void RestoreFlexToZero()
{
if (this.lstInput.SelectedIndex == 0)
{
if (this.class18_0.class13_u_0.long_461 != 0L) for (int i = 0; i < 6; i++) this.class18_0.method_151(this.class18_0.class13_u_0.long_461 + (i * 3) + 1L, (long)0f);
if (this.class18_0.class13_u_0.long_463 != 0L) for (int i = 0; i < 6; i++) this.class18_0.method_151(this.class18_0.class13_u_0.long_463 + (i * 3) + 1L, (long)0f);
if (this.class18_0.class13_u_0.long_464 != 0L) for (int i = 0; i < 6; i++) this.class18_0.method_149_SetByte(this.class18_0.class13_u_0.long_464 + (i * 2) + 1L, (byte)0f);
}
}
public void method_LoadInput(byte byte_0)
{
this.ChangingInput = true;
switch (byte_0)
{
case 0xff:
this.lstInput.SelectedIndex = 0;
break;
case 0:
this.lstInput.SelectedIndex = 0;
break;
case 2:
this.lstInput.SelectedIndex = 1;
break;
case 3:
this.lstInput.SelectedIndex = 2;
break;
case 4:
this.lstInput.SelectedIndex = 3;
break;
}
this.ChangingInput = false;
}
private void method_6()
{
if (this.class18_0.method_30_HasFileLoadedInBMTune())
{
this.parmFlexFuel_Load(null, null);
}
}
private void parmFlexFuel_Load(object sender, EventArgs e)
{
this.bool_0 = true;
bool flag = false;
if (this.class18_0.GetByteAt(this.class18_0.class13_u_0.long_512) == 0x45) flag = true;
if (this.class18_0.RomVersion >= 111)
{
this.ctrlAdvTableEthanol.method_DisableHeader();
this.ctrlAdvTableFuelClose.method_DisableHeader();
this.ctrlAdvTableFuelCrank.method_DisableHeader();
this.ctrlAdvTableIgnClose.method_DisableHeader();
if (this.class18_0.class10_settings_0.correctionUnits_0 == CorrectionUnits.multi) this.ctrlAdvTableFuelClose.method_SetIncreaser(0.05);
else this.ctrlAdvTableFuelClose.method_SetIncreaser(1.0);
if (this.class18_0.class10_settings_0.correctionUnits_0 == CorrectionUnits.multi) this.ctrlAdvTableFuelCrank.method_SetIncreaser(0.05);
else this.ctrlAdvTableFuelCrank.method_SetIncreaser(1.0);
this.method_LoadInput(this.class18_0.GetByteAt(this.class18_0.class13_u_0.long_466));
RestoreFlexToZero();
if (this.lstInput.SelectedIndex == 0)
{
this.ctrlAdvTableEthanol.Enabled = false;
this.ctrlAdvTableFuelClose.Enabled = false;
this.ctrlAdvTableFuelCrank.Enabled = false;
this.ctrlAdvTableIgnClose.Enabled = false;
}
else
{
this.ctrlAdvTableEthanol.Enabled = true;
this.ctrlAdvTableFuelClose.Enabled = true;
this.ctrlAdvTableFuelCrank.Enabled = true;
this.ctrlAdvTableIgnClose.Enabled = true;
}
if (!flag)
{
this.groupBox1.Text = "Flex Fuel";
groupBox1.Enabled = true;
}
else
{
this.groupBox1.Text = "Flex Fuel - Can't use this with knock protection";
groupBox1.Enabled = false;
}
}
else
{
groupBox1.Enabled = false;
}
this.bool_0 = false;
}
}