コード例 #1
0
        public int parserConfFile(string fileName, LTRM_ComercialRef Refrence)
        {
            int retCode = -1;

            if (File.Exists(fileName) == false)
            {
                MessageBox.Show("File Doesn't exist");
                return(retCode);
            }

            if (parseConfFileHeader(fileName, Refrence) != 0)
            {
                retCode = -2;
                return(retCode);
            }

            if (parseConfFileData(fileName, Refrence) != 0)
            {
                retCode = -3;
                return(retCode);
            }

            retCode = 0;
            return(retCode);
        }
コード例 #2
0
        private LTRM_ComercialRef getDeviceComRef(deviceEntry device)
        {
            LTRM_ComercialRef cRef = LTRM_ComercialRef.NONE;

            string cRatings = device.comRef.Substring(4, 2);

            if (cRatings == "08")
            {
                cRef = LTRM_ComercialRef.LTMR_08;
            }
            else if (cRatings == "27")
            {
                cRef = LTRM_ComercialRef.LTMR_27;
            }
            else if (cRatings == "10")//100
            {
                cRef = LTRM_ComercialRef.LTMR_100;
            }

            return(cRef);
        }
コード例 #3
0
        protected int parseConfFileHeader(string fileName, LTRM_ComercialRef Refrence)
        {
            int retCode = -1;

            if (File.Exists(fileName) == false)
            {
                //MessageBox.Show("File Doesn't exist");
                return(retCode);
            }
            StreamReader   confFile   = new StreamReader(fileName);
            confFileHeader fileHeader = new confFileHeader();

            //read header line not data from this line
            string strLine = confFile.ReadLine();
            int    pos     = strLine.IndexOf(";");

            if (pos <= 0)
            {
                Console.WriteLine("Wrong File Formate");
                confFile.Close();
                return(retCode);
            }
            string strTmpC = strLine.Substring(0, pos);
            string strTmpD = strLine.Substring(pos + 1);

            string cRatings = strTmpD.Substring(4, 2);

            if (cRatings == "08")
            {
                if (Refrence != LTRM_ComercialRef.LTMR_08)
                {
                    confFile.Close();
                    return(retCode);
                }
            }
            else if (cRatings == "27")
            {
                if (Refrence != LTRM_ComercialRef.LTMR_27)
                {
                    confFile.Close();
                    return(retCode);
                }
            }
            else if (cRatings == "10")//100
            {
                if (Refrence != LTRM_ComercialRef.LTMR_100)
                {
                    confFile.Close();
                    return(retCode);
                }
            }
            else
            {
                confFile.Close();
                return(retCode);
            }
            fileHeader.comRef = strTmpD;

            strLine = confFile.ReadLine();
            pos     = strLine.IndexOf(";");
            if (pos <= 0)
            {
                Console.WriteLine("Wrong File Formate");
                confFile.Close();
                return(retCode);
            }
            strTmpC = strLine.Substring(0, pos);
            strTmpD = strLine.Substring(pos + 1);
            fileHeader.serialNumber = strTmpD;

            strLine = confFile.ReadLine();
            pos     = strLine.IndexOf(";");
            if (pos <= 0)
            {
                Console.WriteLine("Wrong File Formate");
                confFile.Close();
                return(retCode);
            }
            strTmpC            = strLine.Substring(0, pos);
            strTmpD            = strLine.Substring(pos + 1);
            fileHeader.kuFwVer = strTmpD;

            strLine = confFile.ReadLine();
            pos     = strLine.IndexOf(";");
            if (pos <= 0)
            {
                Console.WriteLine("Wrong File Formate");
                confFile.Close();
                return(retCode);
            }
            strTmpC            = strLine.Substring(0, pos);
            strTmpD            = strLine.Substring(pos + 1);
            fileHeader.kcFwVer = strTmpD;

            strLine = confFile.ReadLine();
            pos     = strLine.IndexOf(";");
            if (pos <= 0)
            {
                Console.WriteLine("Wrong File Formate");
                confFile.Close();
                return(retCode);
            }
            strTmpC = strLine.Substring(0, pos);
            strTmpD = strLine.Substring(pos + 1);
            fileHeader.confRegLen = Convert.ToInt32(strTmpD);

            strLine = confFile.ReadLine();
            pos     = strLine.IndexOf(";");
            if (pos <= 0)
            {
                Console.WriteLine("Wrong File Formate");
                confFile.Close();
                return(retCode);
            }
            strTmpC = strLine.Substring(0, pos);
            strTmpD = strLine.Substring(pos + 1);
            fileHeader.customStartIndex = Convert.ToInt32(strTmpD);

            strLine = confFile.ReadLine();
            pos     = strLine.IndexOf(";");
            if (pos <= 0)
            {
                Console.WriteLine("Wrong File Formate");
                confFile.Close();
                return(retCode);
            }
            strTmpC = strLine.Substring(0, pos);
            strTmpD = strLine.Substring(pos + 1);
            fileHeader.customRegLen = Convert.ToInt32(strTmpD);

            ltmrConfigFile[(int)Refrence].fileHeader = fileHeader;
            retCode = 0;
            confFile.Close();

            return(retCode);
        }
コード例 #4
0
 public confData[] getConfData(LTRM_ComercialRef Refrence)
 {
     return(ltmrConfigFile[(int)Refrence].fileData);
 }
コード例 #5
0
 public confFileHeader getConfHeader(LTRM_ComercialRef Refrence)
 {
     return(ltmrConfigFile[(int)Refrence].fileHeader);
 }
コード例 #6
0
        /* Parse configuration data from selected file and store in local private variable
         */
        protected int parseConfFileData(string fileName, LTRM_ComercialRef r)
        {
            int i       = 0;
            int retCode = -1;
            //Register Address 540-599, 600-699,800-898,1250-1269,3000-3087,3088-3119)


            StreamReader confFile = new StreamReader(fileName);
            //read header line not data from this line
            //Just to skeep header and start reading from Data block
            string strLine = confFile.ReadLine(); //ref

            strLine = confFile.ReadLine();        //ser
            strLine = confFile.ReadLine();        //fw
            strLine = confFile.ReadLine();        //fw
            strLine = confFile.ReadLine();        //le
            strLine = confFile.ReadLine();        //le
            strLine = confFile.ReadLine();        //le

            //ltmrConfigFile[0].
            confData[] conf = new confData[MAX_CONF_FILE_SIZE];

            for (i = 0; i < 60; i++)  //60 reg
            {
                strLine = confFile.ReadLine();
                int    pos    = strLine.IndexOf(";");
                string strAdd = strLine.Substring(0, pos);
                conf[i].regAdd = Convert.ToUInt16(strAdd);
                string strData = strLine.Substring(pos + 1);
                conf[i].regVal = Convert.ToUInt16(strData);
            }

            for (i = 60; i < 160; i++) //100 reg
            {
                strLine = confFile.ReadLine();
                int    pos    = strLine.IndexOf(";");
                string strAdd = strLine.Substring(0, pos);
                conf[i].regAdd = Convert.ToUInt16(strAdd);
                string strData = strLine.Substring(pos + 1);
                conf[i].regVal = Convert.ToUInt16(strData);
            }
            for (i = 160; i < 259; i++) //99 reg
            {
                strLine = confFile.ReadLine();
                int    pos    = strLine.IndexOf(";");
                string strAdd = strLine.Substring(0, pos);
                conf[i].regAdd = Convert.ToUInt16(strAdd);
                string strData = strLine.Substring(pos + 1);
                conf[i].regVal = Convert.ToUInt16(strData);
            }

            for (i = 259; i < 279; i++)//20 Reg
            {
                strLine = confFile.ReadLine();
                int    pos    = strLine.IndexOf(";");
                string strAdd = strLine.Substring(0, pos);
                conf[i].regAdd = Convert.ToUInt16(strAdd);
                string strData = strLine.Substring(pos + 1);
                conf[i].regVal = Convert.ToUInt16(strData);
            }

            for (i = 279; i < 367; i++) //88 reg
            {
                strLine = confFile.ReadLine();
                int    pos    = strLine.IndexOf(";");
                string strAdd = strLine.Substring(0, pos);
                conf[i].regAdd = Convert.ToUInt16(strAdd);
                string strData = strLine.Substring(pos + 1);
                conf[i].regVal = Convert.ToUInt16(strData);
            }
            for (i = 367; i < 399; i++) // 32 reg
            {
                strLine = confFile.ReadLine();
                int    pos    = strLine.IndexOf(";");
                string strAdd = strLine.Substring(0, pos);
                conf[i].regAdd = Convert.ToUInt16(strAdd);
                string strData = strLine.Substring(pos + 1);
                conf[i].regVal = Convert.ToUInt16(strData);
            }

            for (i = 399; i < (399 + ltmrConfigFile[(int )r].fileHeader.customRegLen); i++)
            {
                strLine        = confFile.ReadLine();
                conf[i].regVal = Convert.ToUInt16(strLine);
            }

            ltmrConfigFile[(int)r].fileData          = conf;
            ltmrConfigFile[(int)r].isConfigAvailable = true;

            confFile.Close();
            retCode = 0;

            return(retCode);
        }
コード例 #7
0
 public int loadDeviceConfigurationFile(string fileName, LTRM_ComercialRef r)
 {
     return(parserConfFile(fileName, r));
 }
コード例 #8
0
        private void ltmrRestoreTask()
        {
            int  retCode             = -1;
            bool isValidRestore      = false;
            LTRM_ComercialRef comRef = LTRM_ComercialRef.NONE;

            for (int i = 0; i < deviceLstCnt; i++)
            {
                progressInfo.actOn  = actionOnControl.LEBEL;
                progressInfo.dEntry = deviceList[i];
                progressInfo.pbMax  = deviceLstCnt;
                progressInfo.pbMin  = 0;
                cbPp(progressInfo);

                isValidRestore = false;
                if (cParam.comercialReference == true) // check for configuration compatibility
                {
                    comRef = getDeviceComRef(deviceList[i]);
                    if (comRef != LTRM_ComercialRef.NONE)
                    {
                        if (ltmrConfigFile[(int)comRef].isConfigAvailable == true)
                        {
                            isValidRestore = true;            // comercial reference mathched
                            if (cParam.kcFirmwareVer == true) // is KC check required
                            {
                                if (deviceList[i].kcVer == ltmrConfigFile[(int)comRef].fileHeader.kcFwVer)
                                {
                                    isValidRestore = true;
                                }
                                else
                                {
                                    isValidRestore = false;
                                }
                            }

                            if (cParam.kuFirmwareVer == true) // is ku check required
                            {
                                if (deviceList[i].kuVer == ltmrConfigFile[(int)comRef].fileHeader.kuFwVer)
                                {
                                    isValidRestore = true;
                                }
                                else // in case paased in KC ver test need to stop
                                {
                                    isValidRestore = false;
                                }
                            }
                        }
                    }
                }
                else // no compatibility check required
                {
                    isValidRestore = true;
                    if (ltmrConfigFile[0].isConfigAvailable == true)
                    {
                        comRef = LTRM_ComercialRef.LTMR_08;
                    }
                    else if (ltmrConfigFile[1].isConfigAvailable == true)
                    {
                        comRef = LTRM_ComercialRef.LTMR_27;
                    }
                    else if (ltmrConfigFile[2].isConfigAvailable == true)
                    {
                        comRef = LTRM_ComercialRef.LTMR_100;
                    }
                    else
                    {
                        comRef = LTRM_ComercialRef.NONE;
                    }
                }

                if (isValidRestore == true)
                {
                    if (comRef != LTRM_ComercialRef.NONE)
                    {
                        retCode = startRestoreProcess(ltmrConfigFile[(int)comRef], deviceList[i].deviceIP);
                    }
                }

                progressInfo.actOn  = actionOnControl.PROGRESS_BAR;
                progressInfo.pbVal += 1;
                cbPp(progressInfo);
            }//While
        }