namespace SHARP_CLAS_UI { public enum AblationSteps { S0000_WAIT, S1000_ABLATION_STAGE_1_1_START, S1100_MOVE_Z_STAY_POSITION, S1105_POSITION_CHECK, S1110_MOVE_X_ABLATION_POSITION, S1115_POSITION_CHECK, S1120_ABLATION_STAGE_1_CHECK, S1130_MOVE_Z_ABLATION_POSITION, S1135_POSITION_CHECK, S1200_LASER_SETTING, S1210_ABLATION_PROCESS_START, S1215_ABLATION_PROCESS_WAIT, S1220_MOVE_Z_STAY_POSITION, S1225_POSITION_CHECK, S1999_ABLATION_STAGE_1_1_END, S2000_ABLATION_STAGE_1_2_START, S2100_MOVE_Z_STAY_POSITION, S2105_POSITION_CHECK, S2110_MOVE_X_ABLATION_POSITION, S2115_POSITION_CHECK, S2120_ABLATION_STAGE_1_CHECK, S2130_MOVE_Z_ABLATION_POSITION, S2135_POSITION_CHECK, S2200_LASER_SETTING, S2210_ABLATION_PROCESS_START, S2215_ABLATION_PROCESS_WAIT, S2220_MOVE_Z_STAY_POSITION, S2225_POSITION_CHECK, S2999_ABLATION_STAGE_1_2_END, S3000_ABLATION_STAGE_2_1_START, S3100_MOVE_Z_STAY_POSITION, S3105_POSITION_CHECK, S3110_MOVE_X_ABLATION_POSITION, S3115_POSITION_CHECK, S3120_ABLATION_STAGE_2_CHECK, S3130_MOVE_Z_ABLATION_POSITION, S3135_POSITION_CHECK, S3200_LASER_SETTING, S3210_ABLATION_PROCESS_START, S3215_ABLATION_PROCESS_WAIT, S3220_MOVE_Z_STAY_POSITION, S3225_POSITION_CHECK, S3999_ABLATION_STAGE_2_1_END, S4000_ABLATION_STAGE_2_2_START, S4100_MOVE_Z_STAY_POSITION, S4105_POSITION_CHECK, S4110_MOVE_X_ABLATION_POSITION, S4115_POSITION_CHECK, S4120_ABLATION_STAGE_2_CHECK, S4130_MOVE_Z_ABLATION_POSITION, S4135_POSITION_CHECK, S4200_LASER_SETTING, S4210_ABLATION_PROCESS_START, S4215_ABLATION_PROCESS_WAIT, S4220_MOVE_Z_STAY_POSITION, S4225_POSITION_CHECK, S4999_ABLATION_STAGE_2_2_END, S5000_AUTO_POWER_START, S5100_POWER_METER_STATUS_CHECK, S5110_MEASURE_MODE_SET_W, S5120_MEASURE_MODE_SET_CHECK, S5130_ZERO_SET, S5210_SCANNER_POSITION_MOVE, S5220_SCANNER_MOVE_WAIT, S5300_SCANNER_INIT, S5310_TARGET_POWER_SET, S5320_LASER_ON, S5330_LASER_ON_CHECK, S5340_POWER_MEASUREMENT_START, S5350_POWER_MEASUREMENT, S5360_POWER_MEASUREMENT_END, S5370_LASER_OFF, S5380_LASER_OFF_CHECK, S5390_ENERGY_CHECK, S5400_SCANNER_INIT, S5410_RECIPE_POWER_SET, S5420_LASER_ON, S5430_LASER_ON_CHECK, S5440_POWER_MEASUREMENT_START, S5450_POWER_MEASUREMENT, S5460_POWER_MEASUREMENT_END, S5470_LASER_OFF, S5480_LASER_OFF_CHECK, S5490_ENERGEY_CHECK, S5510_RECIPE_POWER_CHANGE, S5999_AUTO_POWER_END, } public enum AblationHomeSteps { S0000_WAIT, S1000_STATUS_CHECK, S2000_X_HOME_START, S2100_X_HOME_CHECK, S2200_Z_HOME_START, S2300_Z_HOME_CHECK, S9999_END, } public abstract class AblationUnit : Unit { #region Property public Axis MotorX { get { return _motorX; } set { _motorX = value; } } public Axis MotorZ { get { return _motorZ; } set { _motorZ = value; } } public override bool IsHomeComplete { get { return isHomeComplete && MotorX.IsHomed && MotorZ.IsHomed; } } public override bool IsExist { get { return false; } } #endregion #region Field private Axis _motorX; private Axis _motorZ; #endregion #region Construct public AblationUnit(Equipment equipment, MotorAxis motorX, MotorAxis motorZ) : base(equipment, "Ablation") { MotorX = equipment.Board_Control.Motors[motorX]; MotorZ = equipment.Board_Control.Motors[motorZ]; } #endregion } }