namespace SHARP_CLAS_UI { public enum FineAlignSteps { S0000_WAIT, S1000_ABLATION_STAGE_1_PANEL_ID_READ_START, S1100_MOVE_BCR_POSITION, S1105_POSITION_CHECK, S1110_ABLATION_STAGE_1_POSITION_CHECK, S1200_LEFT_BCR_DATA_READ, S1205_BCR_DATA_READ_WAIT, S1210_BCR_CIM_SEND, S1215_BCR_CIM_WAIT, S1220_CIM_SERVER_RESULT_CHECK, S1230_BCR_CIM_COMMAND_CHECK, S1300_BCR_USER_COMMAND_START, S1305_BCR_USER_COMMAND_CHECK, S1400_RIGHT_BCR_DATA_READ, S1405_BCR_DATA_READ_WAIT, S1410_BCR_CIM_SEND, S1415_BCR_CIM_WAIT, S1420_CIM_SERVER_RESULT_CHECK, S1430_BCR_CIM_COMMAND_CHECK, S1500_BCR_USER_COMMAND_START, S1505_BCR_USER_COMMAND_CHECK, S1999_ABLATION_STAGE_1_PANEL_ID_READ_END, S2000_ABLATION_1_FINE_ALIGN_LEFT_START, S2100_MOVE_FINE_ALIGN_LEFT_POS, S2105_POSITION_CHECK, S2110_ABLATION_1_POSITION_CHECK, S2200_LEFT_CAMERA_GRAB_READY, S2205_LEFT_CAMERA_GRAB_READY_WAIT, S2210_RIGHT_CAMERA_GRAB_READY, S2215_RIGHT_CAMERA_GRAB_READY_WAIT, S2300_LEFT_CAMERA_MARK_1_GRAB_START, S2305_LEFT_CAMERA_MARK_1_GRAB_WAIT, S2310_RIGHT_CAMERA_MARK_1_GRAB_START, S2315_RIGHT_CAMERA_MARK_1_GRAB_WAIT, S2999_ABLATION_1_FINE_ALIGN_LEFT_END, S3000_ABLATION_1_FINE_ALIGN_RIGHT_START, S3100_MOVE_FINE_ALIGN_RIGHT_POS, S3105_POSITION_CHECK, S3110_ABLATION_1_POSITION_CHECK, S3200_LEFT_CAMERA_MARK_2_GRAB_START, S3205_LEFT_CAMERA_MARK_2_GRAB_WAIT, S3210_RIGHT_CAMERA_MARK_2_GRAB_START, S3215_RIGHT_CAMERA_MARK_2_GRAB_WAIT, S3999_ABLATION_1_FINE_ALIGN_RIGHT_END, S4000_ABLATION_STAGE_2_PANEL_ID_READ_START, S4100_MOVE_TO_BCR_2, S4105_POSITION_CHECK, S4110_ABLATION_STAGE_2_POSITION_CHECK, S4200_LEFT_BCR_DATA_READ, S4205_BCR_DATA_READ_WAIT, S4210_BCR_CIM_SEND, S4215_BCR_CIM_WAIT, S4220_CIM_SERVER_RESULT_CHECK, S4230_BCR_CIM_COMMAND_CHECK, S4300_BCR_USER_COMMAND_START, S4305_BCR_USER_COMMAND_CHECK, S4400_RIGHT_BCR_DATA_READ, S4405_BCR_DATA_READ_WAIT, S4410_BCR_CIM_SEND, S4415_BCR_CIM_WAIT, S4420_CIM_SERVER_RESULT_CHECK, S4430_BCR_CIM_COMMAND_CHECK, S4500_BCR_USER_COMMAND_START, S4505_BCR_USER_COMMAND_CHECK, S4999_ABLATION_STAGE_2_PANEL_ID_READ_END, S5000_ABLATION_2_FINE_ALIGN_LEFT_START, S5100_MOVE_FINE_ALIGN_LEFT_POS, S5105_POSITION_CHECK, S5110_ABLATION_2_POSITION_CHECK, S5200_LEFT_CAMERA_GRAB_READY, S5205_LEFT_CAMERA_GRAB_READY_WAIT, S5210_RIGHT_CAMERA_GRAB_READY, S5215_RIGHT_CAMERA_GRAB_READY_WAIT, S5300_LEFT_CAMERA_MARK_1_GRAB_START, S5305_LEFT_CAMERA_MARK_1_GRAB_WAIT, S5310_RIGHT_CAMERA_MARK_1_GRAB_START, S5315_RIGHT_CAMERA_MARK_1_GRAB_WAIT, S5999_ABLATION_2_FINE_ALIGN_LEFT_END, S6000_ABLATION_2_FINE_ALIGN_RIGHT_START, S6100_MOVE_FINE_ALIGN_RIGHT_POS, S6105_POSITION_CHECK, S6110_ABLATION_2_POSITION_CHECK, S6200_LEFT_CAMERA_MARK_2_GRAB_START, S6205_LEFT_CAMERA_MARK_2_GRAB_WAIT, S6210_RIGHT_CAMERA_MARK_2_GRAB_START, S6215_RIGHT_CAMERA_MARK_2_GRAB_WAIT, S6999_ABLATION_2_FINE_ALIGN_RIGHT_END, } public enum FineAignHomeSteps { S0000_WAIT, S1000_STATUS_CHECK, S2000_X_HOME_START, S2100_X_HOME_CHECK, S9999_END, } public abstract class FineAlignUnit : Unit { #region Property public Axis MotorX { get { return _motorX; } set { _motorX = value; } } public override bool IsHomeComplete { get { return isHomeComplete && MotorX.IsHomed; } } public override bool IsExist { get { return false; } } #endregion #region Field private Axis _motorX; #endregion #region Construct public FineAlignUnit(Equipment equipment, MotorAxis motorX) : base (equipment, "FineAlign") { MotorX = equipment.Board_Control.Motors[motorX]; } #endregion } }