// /************************************************************************
// * @file         GlobalEnums.cs
// * @author   Su Liang
// * @date       2023/02/03
// *
// * @copyright &copy Sicentury Inc.
// *
// * @brief
// *
// * @details
// *
// *
// * *****************************************************************************/

using System;
using System.Runtime.Serialization;

namespace MECF.Framework.Common.Utilities
{
    /// <summary>
    /// 直线电机预设位置
    /// </summary>
    [Serializable]
    [DataContract]
    public enum MotorMoveToPos
    {
        /// <summary>
        /// 待料位置
        /// </summary>
        [EnumMember]
        Neg,

        /// <summary>
        /// 物料移栽准备位置
        /// </summary>
        [EnumMember]
        Pos,
        
        /// <summary>
        /// 移动到CM1预设位置
        /// </summary>
        [EnumMember]
        Cm1,
        
        /// <summary>
        /// 移动到CM2预设位置
        /// </summary>
        [EnumMember]
        Cm2,
        
        /// <summary>
        /// 移动到CM3预设位置
        /// </summary>
        [EnumMember]
        Cm3,
        
        /// <summary>
        /// 移动到CM4预设位置
        /// </summary>
        [EnumMember]
        Cm4,
        
        /// <summary>
        /// 移动到CM5预设位置
        /// </summary>
        [EnumMember]
        Cm5,
        
        /// <summary>
        /// 移动到CM6预设位置
        /// </summary>
        [EnumMember]
        Cm6,
        
        /// <summary>
        /// 移动到CM7预设位置
        /// </summary>
        [EnumMember]
        Cm7,
        
        /// <summary>
        /// 移动到CM8预设位置
        /// </summary>
        [EnumMember]
        Cm8,
        
        /// <summary>
        /// 移动到CM9预设位置
        /// </summary>
        [EnumMember]
        Cm9
    }

    /// <summary>
    /// 电机移动方向
    /// </summary>
    [Serializable]
    [DataContract]
    public enum MotorMoveDir
    {
        /// <summary>
        /// 负方向
        /// </summary>
        [EnumMember]
        Neg,
        
        /// <summary>
        /// 正方向
        /// </summary>
        [EnumMember]
        Pos
    }

    /// <summary>
    /// 移栽机械手预设位置
    /// </summary>
    [Serializable]
    [DataContract]
    public enum TransporterPos
    { 
        [EnumMember]
        StandbyA,
        
        [EnumMember]
        PickA,
        
        [EnumMember]
        PlaceA,
        
        [EnumMember]
        StandbyB,
        
        [EnumMember]
        PickB,
        
        [EnumMember]
        PlaceB,
        
        [EnumMember]
        StandbyNg,
        
        [EnumMember]
        PlaceNg
    }
}