Example #1
0
        public virtual Dictionary <string, string> ReadXML(XmlDocument xmlDoc)
        {
            var             doc          = xmlDoc;
            var             status1Nodes = doc.GetElementsByTagName("Status1").Item(0).ChildNodes;
            ResponseStatus1 status1      = ResponseStatus1.None;

            foreach (XmlNode sn1 in status1Nodes)
            {
                switch (sn1.Name)
                {
                case "UnitReady":
                    status1 = int.Parse(sn1.InnerText) == 1 ? status1 | ResponseStatus1.UnitReady : status1;
                    break;

                case "ErrorOccured":
                    status1 = int.Parse(sn1.InnerText) == 1 ? status1 | ResponseStatus1.ErrorOccured : status1;
                    break;

                case "ServoOff":
                    status1 = int.Parse(sn1.InnerText) == 1 ? status1 | ResponseStatus1.ServoOff : status1;
                    break;
                }
            }
            var             status2Nodes = doc.GetElementsByTagName("Status2").Item(0).ChildNodes;
            ResponseStatus2 status2      = ResponseStatus2.None;

            foreach (XmlNode sn2 in status2Nodes)
            {
                switch (sn2.Name)
                {
                case "BatteryVoltageDropped":
                    status2 = int.Parse(sn2.InnerText) == 1 ? status2 | ResponseStatus2.BattVoltDropped : status2;
                    break;

                case "Blade1_Vac_Grip_HasWafer":
                    status2 = int.Parse(sn2.InnerText) == 1 ? status2 | ResponseStatus2.Blade1_Vac_Grip_HasWafer : status2;
                    break;

                case "Blade2_LineSensor_Haswafer":
                    status2 = int.Parse(sn2.InnerText) == 1 ? status2 | ResponseStatus2.Blade2_LineSensor_Haswafer : status2;
                    break;
                }
            }

            string ackCd = doc.GetElementsByTagName("AckCD").Item(0).InnerText;
            string Delay = doc.GetElementsByTagName("Delay").Item(0).InnerText;

            Dictionary <string, string> ret = new Dictionary <string, string>();

            ret.Add("Delay", Delay);
            ret.Add("Status1", ResponseStatusCalculator.Calculate((byte)status1));
            ret.Add("Status2", ResponseStatusCalculator.Calculate((byte)status2));
            ret.Add("AckCD", ackCd);

            return(ret);
        }
Example #2
0
        public override ResponseStatus2 GetResponseStatus2()
        {
            ResponseStatus2 ret = ResponseStatus2.None;

            if (IsBatteryVoltageDropped)
            {
                ret = ret | ResponseStatus2.BattVoltDropped;
            }
            if (IsWaferPresentOnVacuumOrGripSensor)
            {
                ret = ret | ResponseStatus2.Blade1_Vac_Grip_HasWafer;
            }
            if (IsWaferPresentOnLineSensor)
            {
                ret = ret | ResponseStatus2.Blade2_LineSensor_Haswafer;
            }
            return(ret);
        }