using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MainShell.Process
{
    public class ProcessFlowName
    {
        public const string AutoProduction = "AutoProduction";
        /// <summary>
        /// 基板上料
        /// </summary>
        public const string SubstrateLoadFlow = "SubstrateLoadFlow";
        /// <summary>
        /// 基板定位
        /// </summary>
        public const string SubstratePositionFlow = "SubstratePositionFlow";
        /// <summary>
        /// 芯片拉直
        /// </summary>
        public const string ChipStraighteningFlow = "WaferAngleAdjustmentFlow";
        /// <summary>
        /// 芯片定位
        /// </summary>
        public const string DiePositionFlow = "DiePositionFlow";
        /// <summary>
        /// 芯片转移
        /// </summary>
        public const string DieTransferFlow = "DieTransferFlow";
        /// <summary>
        /// 基板测高
        /// </summary>
        public const string SubstrateHeightMeasureFlow = "SubstrateHeightMeasureFlow";
        /// <summary>
        /// 精度复检
        /// </summary>
        public const string DieRecheckFlow = "DieRecheckFlow";
        /// <summary>
        /// 基板下料
        /// </summary>
        public const string SubstrateUnloadFlow = "SubstrateUnloadFlow";

        public const string PreparationSignalFlow = "PreparationSignalFlow";
        public const string ChipPreparationAutoLoadStartFlow = "ChipPreparationAutoLoadStartFlow";
        public const string ChipPreparationSyncFlow = "ChipPreparationSyncFlow";
        public const string PreTransferValidationFlow = "PreTransferValidationFlow";
        public const string ChipUnloadFlow = "ChipUnloadFlow";

        public const string ChipPreparationOnDemandFlow = "ChipPreparationOnDemand";
        public const string ChipLoadExecuteActivity = "ChipLoadExecute";
        public const string ChipUnloadExecuteActivity = "ChipUnloadExecute";
    }

    public enum DieTransferRoute
    {
        None = 0,
        Recheck = 1
    }

    public enum AutoProductionRoute
    {
        None = 0,
        ContinueCurrentSubstrate = 1,
        Recheck = 2,
        ChipExhausted = 3,
        SubstrateComplete = 4,
        BothExhausted = 5
    }
}
