private void btnFirmwareInformation_ItemClick(object sender, ItemClickEventArgs e)
{
if (Tools.Instance.m_currentfile != string.Empty)
{
if(File.Exists(Tools.Instance.m_currentfile))
{
byte[] allBytes = File.ReadAllBytes(Tools.Instance.m_currentfile);
IEDCFileParser parser = Tools.Instance.GetParserForFile(Tools.Instance.m_currentfile, false);
partNumberConverter pnc = new partNumberConverter();
ECUInfo ecuinfo = pnc.ConvertPartnumber(parser.ExtractBoschPartnumber(allBytes), allBytes.Length);
frmFirmwareInfo info = new frmFirmwareInfo();
info.InfoString = parser.ExtractInfo(allBytes);
info.partNumber = parser.ExtractBoschPartnumber(allBytes);
if(ecuinfo.SoftwareID == "") ecuinfo.SoftwareID = parser.ExtractPartnumber(allBytes);
info.SoftwareID = ecuinfo.SoftwareID + " " + parser.ExtractSoftwareNumber(allBytes);
info.carDetails = ecuinfo.CarMake + " " + ecuinfo.CarType;
string enginedetails = ecuinfo.EngineType;
string hpinfo = string.Empty;
string tqinfo = string.Empty;
if (ecuinfo.HP > 0) hpinfo = ecuinfo.HP.ToString() + " bhp";
if (ecuinfo.TQ > 0) tqinfo = ecuinfo.TQ.ToString() + " Nm";
if (hpinfo != string.Empty || tqinfo != string.Empty)
{
enginedetails += " (";
if (hpinfo != string.Empty) enginedetails += hpinfo;
if (hpinfo != string.Empty && tqinfo != string.Empty) enginedetails += "/";
if (tqinfo != string.Empty) enginedetails += tqinfo;
enginedetails += ")";
}
info.EngineType = /*ecuinfo.EngineType*/ enginedetails;
info.ecuDetails = ecuinfo.EcuType;
//DumpECUInfo(ecuinfo);
ChecksumResultDetails result = Tools.Instance.UpdateChecksum(Tools.Instance.m_currentfile, true);
string chkType = string.Empty;
if (result.TypeResult == ChecksumType.VAG_EDC15P_V41) chkType = "VAG EDC15P V4.1";
else if (result.TypeResult == ChecksumType.VAG_EDC15P_V41V2) chkType = "VAG EDC15P V4.1v2";
else if (result.TypeResult == ChecksumType.VAG_EDC15P_V41_2002) chkType = "VAG EDC15P V4.1 2002+";
else if (result.TypeResult != ChecksumType.Unknown) chkType = result.TypeResult.ToString();
chkType += " " + result.CalculationResult.ToString();
info.checksumType = chkType;
// number of codeblocks?
info.codeBlocks = DetermineNumberOfCodeblocks().ToString();
info.ShowDialog();
}
}
}