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 = "5f3";

        public 学习模式请求确认()
        {
        }

        public string GetId
        {
            get { return OperationCode; }
        }

        /// <summary>
        /// 档位自动学习完成确认
        /// </summary>
        [Data(BitStart = 16, BitLength = 1, DataType = "binary", Description = "", Sequence = 1)]
        public string 档位自动学习完成确认 { get; set; }

        /// <summary>
        /// 清空挡位学习表
        /// </summary>
        [Data(BitStart = 24, BitLength = 1, DataType = "binary", Description = "", Sequence = 2)]
        public string 清空挡位学习表 { get; set; }

        /// <summary>
        /// 终止自动学习
        /// </summary>
        [Data(BitStart = 26, BitLength = 1, DataType = "binary", Description = "", Sequence = 3)]
        public string 终止自动学习 { get; set; }

        /// <summary>
        /// 清空油门学习表
        /// </summary>
        [Data(BitStart = 32, BitLength = 1, DataType = "binary", Description = "0=无效请求;1=清空", Sequence = 4)]
        public string 清空油门学习表 { get; set; }

        /// <summary>
        /// 清空制动学习表
        /// </summary>
        [Data(BitStart = 34, BitLength = 1, DataType = "binary", Description = "", Sequence = 5)]
        public string 清空制动学习表 { get; set; }

        /// <summary>
        /// 清空离合学习表
        /// </summary>
        [Data(BitStart = 36, BitLength = 1, DataType = "binary", Description = "", Sequence = 6)]
        public string 清空离合学习表 { get; set; }

        /// <summary>
        /// 清空转向学习表
        /// </summary>
        [Data(BitStart = 38, BitLength = 1, DataType = "binary", Description = "", Sequence = 7)]
        public string 清空转向学习表 { get; set; }

        /// <summary>
        /// 挡位位置学习请求确认
        /// </summary>
        [Data(BitStart = 40,
              BitLength = 5,
              DataType = "binary",
              Description = "0=Between Range;1=Park Range;2=Reverse Range;3=Neutral Range;4=Forward Range 1;5=ForWard Range 2;"
                          + "6=Forward Range 3;7=Forward Range 4;8=Forward Range 5;9=Forward Range 6;10=Forward Range 7;"
                          + "11=Forward Range 8;12=Drive Range;13=+;14=-;15=Lever Position Unkown;16=Sport Range",
              Sequence = 8)]
        public string 挡位位置学习请求确认 { get; set; }

        /// <summary>
        /// 位置学习请求确认
        /// </summary>
        [Data(BitStart =48, BitLength = 3, DataType = "binary", Description = "0=无效请求;1=零位学习;2=最大值学习;3=左极限学习;4=右极限学习",Sequence =9)]
        public string 位置学习请求确认 { get; set; }

        /// <summary>
        /// 系统学习请求
        /// </summary>
        [Data(BitStart = 56, BitLength = 3, DataType = "binary", Description = "0=无效请求;1=油门学习;2=制动踏板学习;3=离合踏板学习;4=转向学习;5=自动挡学习;6=手动挡学习", Sequence = 10)]
        public string 系统学习请求 { get; set; }

    }
}
