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

namespace SIASUN.Autopilot.Device.Message
{
    public class 执行机构使能请求
    {
        public const string OperationCode = "5f2";

        public 执行机构使能请求()
        {
        }

        public string GetId
        {
            get { return OperationCode; }
        }

        /// <summary>
        /// 实际系统控制模式请求
        /// </summary>
        [Data(BitStart = 32, BitLength = 3, DataType = "binary", Description = "0=自动学习模式;1=手动学习模式;3=人工驾驶模式;4=机器人自检模式;5=机器人调试模式", Sequence = 1)]
        public string 实际系统控制模式请求 { get; set; }

        /// <summary>
        /// 机器人Estop使能
        /// </summary>
        [Data(BitStart = 40, BitLength = 1, DataType = "binary", Description = "0=Disable;1=Enable", Sequence = 2)]
        public string 机器人Estop使能 { get; set; }

        /// <summary>
        /// 制动急停气泵使能
        /// </summary>
        [Data(BitStart = 42, BitLength = 1, DataType = "binary", Description = "0=Disable;1=Enable", Sequence = 3)]
        public string 制动急停气泵使能 { get; set; }

        /// <summary>
        /// 系统软急停使能
        /// </summary>
        [Data(BitStart = 44, BitLength = 1, DataType = "binary", Description = "0=Disable;1=Enable", Sequence = 4)]
        public string 系统软急停使能 { get; set; }

        /// <summary>
        /// 换挡臂Y电机使能
        /// </summary>
        [Data(BitStart = 48, BitLength = 1, DataType = "binary", Description = "0=Disable;1=Enable", Sequence = 5)]
        public string 换挡臂Y电机使能 { get; set; }

        /// <summary>
        /// 离合电机使能
        /// </summary>
        [Data(BitStart = 50, BitLength = 1, DataType = "binary", Description = "0=Disable;1=Enable", Sequence = 6)]
        public string 离合电机使能 { get; set; }

        /// <summary>
        /// 油门离合器控制
        /// </summary>
        [Data(BitStart = 52, BitLength = 2, DataType = "binary", Description = "0=Joint;1=Release;2=无效命令", Sequence = 7)]
        public string 油门离合器控制 { get; set; }

        /// <summary>
        /// 油门电机使能
        /// </summary>
        [Data(BitStart = 56, BitLength = 1, DataType = "binary", Description = "0=Disable;1=Enable", Sequence = 8)]
        public string 油门电机使能 { get; set; }

        /// <summary>
        /// 制动电机使能
        /// </summary>
        [Data(BitStart =58, BitLength = 1,DataType = "binary",Description = "0=Disable;1=Enable",Sequence =9)]
        public string 制动电机使能 { get; set; }

        /// <summary>
        /// 转向电机使能
        /// </summary>
        [Data(BitStart = 60, BitLength = 1, DataType = "binary", Description = "0=Disable;1=Enable", Sequence = 10)]
        public string 转向电机使能 { get; set; }

        /// <summary>
        /// 换挡臂X电机使能
        /// </summary>
        [Data(BitStart = 62,BitLength = 1, DataType = "binary", Description = "0=Disable;1=Enable", Sequence =11)]
        public string 换挡臂X电机使能 { get; set; }
    }
}
