Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }