using FLY.Thick.Base.Common;
using System;

namespace FLY.Thick.Base.OBJ_INTERFACE
{
    public class FILMPOS_OBJ_INTERFACE
    {


        #region Pack
        public class Pack_Params
        {
            public double FilmVThreshold;
            public FilmVSRC FilmVSrc;
            public double Encoder2_mmpp;
            public double MmOfR;
            public double VDistanceWithHeader;
            public double VSensorOffset;

        }
        public class Pack_State
        {
            public double FilmVelocity;
            public double FilmPosition;
            public bool IsRunning;
            public double VDistanceWithHeaderInUsed;
            public double VSensorOffsetInUsed;
            public bool HasReset;
        }
        #endregion
        #region GetValue
        /// <summary>
        /// Pack_Params
        /// </summary>
        public const UInt16 GET_PARAMS = 0;
        /// <summary>
        /// reponse: Pack_State
        /// </summary>
        public const UInt16 GET_STATE = 1;
        #endregion
        #region SetValue
        /// <summary>
        /// Pack_Params
        /// </summary>
        public const UInt16 SET_PARAMS = 0;
        #endregion
        #region PushMsg
        /// <summary>
        /// Pack_Params
        /// </summary>
        public const UInt16 PUSH_PARAMS = 0;
        /// <summary>
        /// reponse: Pack_State
        /// </summary>
        public const UInt16 PUSH_STATE = 1;


        /// <summary>
        /// reponse:FilmPosAt01EventArgs
        /// </summary>
        public const UInt16 PUSH_FilmPosAt01Event = 2;
        #endregion
        #region Call
        /// <summary>
        /// request double
        /// </summary>
        public const UInt16 CALL_RESET = 0;
        /// <summary>
        /// 
        /// </summary>
        public const UInt16 CALL_RESET_2 = 1;
        /// <summary>
        /// 
        /// </summary>
        public const UInt16 CALL_CLEAR_RESET = 2;
        /// <summary>
        /// request double
        /// </summary>
        public const UInt16 CALL_SET_FILMPOS_AT01 = 3;
        /// <summary>
        /// 
        /// </summary>
        public const UInt16 CALL_STOP = 4;
        /// <summary>
        /// 
        /// </summary>
        public const UInt16 CALL_START = 5;
        #endregion
    }
}
