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

namespace MainShell.Common
{
    public enum MachineMode { Manual, Auto, Maintenance }

    public enum SpeedType 
    {
        [Description("低速")]
        Low,
        [Description("中速")]
        Medium,
        [Description("高速")]
        High
    }

    public enum DieTransferRowTraversalStrategy
    {
        [Description("全部正向")]
        AllPositive = 0,

        [Description("全部反向")]
        AllNegative = 1,

        [Description("蛇形")]
        Serpentine = 2
    }
    public enum BondingPathMode
    {
        S形打件 = 1,
        Z形正向打件,
        Z形反向打件,
    }

    public enum BondingStagePathMode
    {
        S型区域打件 = 1,
        Stage正向区域打件,
        Stage负向区域打件,
    }

    public enum BondingWSPathMode
    {
        S型打件 = 1,
        WS正向区域打件,
        WS负向区域打件,
    }

    public enum RunningMode
    {
        生产检测 = 1,
        老化测试,

    }

    public enum CameraType
    {
        TopPositionCamera,
        TopWsCamera,
        TopWideCamera,
        TopWideWsCamera,
        MapCamera
    }

    public enum TransPathType
    {
        [Description("就近")]
        Nearest,
        [Description("顺序")]
        Sequence,
    }

    public enum TransPathDirection
    {
        [Description("正向")]
        Positive,
        [Description("反向")]
        Negative,
    }

    public enum DieState
    {
        [Description("可使用")]
        Available,
        [Description("已使用")]
        Used,
        [Description("错误")]
        Error,
        [Description("不存在")]
        NotExist,
        [Description("当前")]
        Current,
        [Description("目标")]
        Target
    }

    public enum ProcessExecutionStatus
    {
        Unknown = 0,
        Running,
        Paused,
        Canceled,
        Faulted,
        Completed
    }

    public enum FlowDisplayStage
    {
        Load = 0,
        Align = 1,
        Bond = 2,
        Inspect = 3,
        Unload = 4
    }

    public enum WaferScanMode
    {
        [Description("按需扫描")]
        ScanOnDemand,

        [Description("全扫")]
        FullScan,
    }

    public enum BondingSection
    {
        /// <summary>
        /// A区
        /// </summary>
        A,
        /// <summary>
        /// B区
        /// </summary>
        B
    }

    public enum ComSupMotionType
    {
        /// <summary>
        /// 干涉写入
        /// </summary>
        Interfere = 102,
        /// <summary>
        /// 回零写入
        /// </summary>
        Home = 103,
        /// <summary>
        /// 快打执行
        /// </summary>
        FastBonding = 200,
        /// <summary>
        /// 慢打执行
        /// </summary>
        SlowBonding = 201,
        /// <summary>
        /// 报警清楚
        /// </summary>
        AlarmClear = 104,
        /// <summary>
        /// 切PID指定
        /// </summary>
        ChangePid = 301,
        /// <summary>
        /// 触发报警
        /// </summary>
        OccurAlarm = 105,
        /// <summary>
        /// 同步PID参数
        /// </summary>
        SyncPIDParam = 106,
        /// <summary>
        /// 手动设置刺针次数
        /// </summary>
        NeedleWorkCount = 302,
    }
}
