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); }
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); }