using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using StageController.M3H; namespace StageController { public class CommandAllPosition : CommandBase { public override string Make() { return "@m!"; } public override bool Parse(string response) { string temp = "@Mm:"; if (!response.StartsWith(temp)) { return false; } XState = M3HDefine.AxisStates[response[8]]; XStep = int.Parse(response.Substring(20, 9)); XBorder = (Border)Enum.ToObject(typeof(Border), int.Parse(response.Substring(9, 1))); YState = M3HDefine.AxisStates[response[34]]; YStep = int.Parse(response.Substring(46, 9)); YBorder = (Border)Enum.ToObject(typeof(Border), int.Parse(response.Substring(35, 1))); ZState = M3HDefine.AxisStates[response[60]]; ZStep = int.Parse(response.Substring(72, 9)); ZBorder = (Border)Enum.ToObject(typeof(Border), int.Parse(response.Substring(61, 1))); ZExcessStep = int.Parse(response.Substring(63, 8)); return true; } public Border XBorder { get; private set; } public Border YBorder { get; private set; } public Border ZBorder { get; private set; } public int XStep { get; private set; } public int YStep { get; private set; } public int ZStep { get; private set; } public int ZExcessStep { get; private set; } public int XState { get; set; } public int YState { get; set; } public int ZState { get; set; } } }