CommandAllPosition.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using StageController.M3H;
  7. namespace StageController
  8. {
  9. public class CommandAllPosition : CommandBase
  10. {
  11. public override string Make()
  12. {
  13. return "@m!";
  14. }
  15. public override bool Parse(string response)
  16. {
  17. string temp = "@Mm:";
  18. if (!response.StartsWith(temp))
  19. {
  20. return false;
  21. }
  22. XState = M3HDefine.AxisStates[response[8]];
  23. XStep = int.Parse(response.Substring(20, 9));
  24. XBorder = (Border)Enum.ToObject(typeof(Border), int.Parse(response.Substring(9, 1)));
  25. YState = M3HDefine.AxisStates[response[34]];
  26. YStep = int.Parse(response.Substring(46, 9));
  27. YBorder = (Border)Enum.ToObject(typeof(Border), int.Parse(response.Substring(35, 1)));
  28. ZState = M3HDefine.AxisStates[response[60]];
  29. ZStep = int.Parse(response.Substring(72, 9));
  30. ZBorder = (Border)Enum.ToObject(typeof(Border), int.Parse(response.Substring(61, 1)));
  31. ZExcessStep = int.Parse(response.Substring(63, 8));
  32. return true;
  33. }
  34. public Border XBorder
  35. {
  36. get;
  37. private set;
  38. }
  39. public Border YBorder
  40. {
  41. get;
  42. private set;
  43. }
  44. public Border ZBorder
  45. {
  46. get;
  47. private set;
  48. }
  49. public int XStep
  50. {
  51. get;
  52. private set;
  53. }
  54. public int YStep
  55. {
  56. get;
  57. private set;
  58. }
  59. public int ZStep
  60. {
  61. get;
  62. private set;
  63. }
  64. public int ZExcessStep
  65. {
  66. get;
  67. private set;
  68. }
  69. public int XState { get; set; }
  70. public int YState { get; set; }
  71. public int ZState { get; set; }
  72. }
  73. }