bool LoadFromXml(XmlNode node) { foreach (XmlNode n in node.ChildNodes) { if (n.Name == "EcuClassId") { EcuModelId cid = (EcuModelId)Convert.ToInt32(n.InnerText); if (cid != CurrentEcu.ModelId) { MessageBox.Show("Файл кодировок предназначен для ЭБУ класса \"" + cid.ToString() + "\"."); return(false); } } else if (n.Name == "DiagnosticID") { dEcu.Data.DiagnosticID = (byte)Convert.ToByte(n.InnerText); } else if (n.Name == "Index") { dEcu.Data.Index = (byte)Convert.ToByte(n.InnerText); } else if (n.Name == "MotorRpmpoint") { int i = 0; foreach (XmlNode val in n.ChildNodes) { if (i < Bms_ECU.VoltageArrayLen) { dEcu.Data.MotorRpm[i] = Convert.ToInt16(val.InnerText); } i++; } } else if (n.Name == "Socpoint") { int i = 0; foreach (XmlNode val in n.ChildNodes) { if (i < Bms_ECU.TemperatureArrayLen) { dEcu.Data.SoC[i] = Convert.ToInt16(val.InnerText); } i++; } } else if (n.Name == "TrimPospoint") { int i = 0; foreach (XmlNode val in n.ChildNodes) { if (i < Bms_ECU.OCVArrayLen) { dEcu.Data.TrimPosition[i] = Convert.ToInt16(val.InnerText); } i++; } } else if (n.Name == "SpecPowerpoint") { int i = 0; foreach (XmlNode val in n.ChildNodes) { if (i < Bms_ECU.OCVArrayLen) { dEcu.Data.SpecPower[i] = Convert.ToInt16(val.InnerText); } i++; } } else if (n.Name == "PowerOffDelay_ms") { dEcu.Data.PowerOffDelay_ms = Convert.ToUInt16(n.InnerText); } else if (n.Name == "KeyOffTime_ms") { dEcu.Data.KeyOffTime_ms = Convert.ToUInt16(n.InnerText); } } return(true); }
bool LoadFromXml(XmlNode node) { foreach (XmlNode n in node.ChildNodes) { if (n.Name == "EcuClassId") { EcuModelId cid = (EcuModelId)Convert.ToInt32(n.InnerText); if (cid != CurrentEcu.ModelId) { MessageBox.Show("Файл кодировок предназначен для ЭБУ класса \"" + cid.ToString() + "\"."); return(false); } } else if (n.Name == "DiagnosticID") { mEcu.Data.DiagnosticID = (byte)Convert.ToByte(n.InnerText); } else if (n.Name == "IsPowerManger") { mEcu.IsPowerManger = Convert.ToBoolean(n.InnerText); } else if (n.Name == "AccPedalFstCh_0V") { mEcu.Data.AccPedalFstCh_0V = Convert.ToByte(n.InnerText); } else if (n.Name == "AccPedalFstCh_MaxV") { mEcu.Data.AccPedalFstCh_MaxV = Convert.ToByte(n.InnerText); } else if (n.Name == "fltSteeringPeriod") { mEcu.Data.SteeringKp = Convert.ToInt16(n.InnerText); } else if (n.Name == "AccPedalSndCh_0V") { mEcu.Data.SteeringKd = Convert.ToInt16(n.InnerText); } else if (n.Name == "AccPedalSndCh_MaxV") { mEcu.Data.AccPedalSndCh_MaxV = Convert.ToByte(n.InnerText); } else if (n.Name == "fltSteeringLength") { mEcu.Data.SteeringKi = Convert.ToInt16(n.InnerText); } else if (n.Name == "BaseCanId") { mEcu.Data.BaseCanId = Convert.ToUInt16(n.InnerText); } else if (n.Name == "KeyOffTime_ms") { mEcu.Data.KeyOffTime_ms = Convert.ToUInt16(n.InnerText); } else if (n.Name == "MaxInverterT") { mEcu.Data.MaxInverterT = Convert.ToInt16(n.InnerText); } else if (n.Name == "MaxMotorSpeedD") { mEcu.Data.MaxMotorSpeedD = Convert.ToUInt16(n.InnerText); } else if (n.Name == "MaxTorque") { mEcu.Data.MaxTorque = Convert.ToUInt16(n.InnerText); } else if (n.Name == "MaxMotorT") { mEcu.Data.MaxMotorT = Convert.ToInt16(n.InnerText); } else if (n.Name == "PowerOffDelay_ms") { mEcu.Data.PowerOffDelay_ms = Convert.ToUInt16(n.InnerText); } else if (n.Name == "SteeringMaxCurrent_0p1A") { mEcu.Data.SteeringMaxCurrent_0p1A = Convert.ToInt16(n.InnerText); } else if (n.Name == "SteeringMaxVal_0p1V") { mEcu.Data.SteeringMaxVal_0p1V = Convert.ToByte(n.InnerText); } else if (n.Name == "SteeringMinVal_0p1V") { mEcu.Data.SteeringMinVal_0p1V = Convert.ToByte(n.InnerText); } else if (n.Name == "TrimMaxCurrent_0p1A") { mEcu.Data.TrimUpLimitDrive_0p1V = Convert.ToInt16(n.InnerText); } else if (n.Name == "TrimMaxVal_0p1V") { mEcu.Data.TrimMaxVal_0p1V = Convert.ToByte(n.InnerText); } else if (n.Name == "TrimMinVal_0p1V") { mEcu.Data.TrimMinVal_0p1V = Convert.ToByte(n.InnerText); } else if (n.Name == "InvCoolingOn") { mEcu.Data.InvCoolingOn = Convert.ToByte(n.InnerText); } else if (n.Name == "MotorCoolingOn") { mEcu.Data.MotorCoolingOn = Convert.ToByte(n.InnerText); } else if (n.Name == "SteeringBrakeSpeedTable") { int i = 0; foreach (XmlNode val in n.ChildNodes) { if (i < 12) { mEcu.Data.SteeringBrakeSpeedTable[i] = Convert.ToUInt16(val.InnerText); } i++; } } else if (n.Name == "MaxChargingCurrent_A") { mEcu.Data.MaxChargingCurrent_A = Convert.ToByte(n.InnerText); } else if (n.Name == "ChargersNumber") { mEcu.Data.ChargersNumber = Convert.ToByte(n.InnerText); } else if (n.Name == "RateMotorTorque_Nm") { mEcu.Data.RateMotorTorque_Nm = Convert.ToUInt16(n.InnerText); } } return(true); }