/// <summary>
        /// 接收数据并处理
        /// </summary>
        public List <ElecOilPump_Scm_MCU1_Frame1> TransformEcuReceiveData(AbstractMotorControl.CanStandardData canRecDatas)
        {
            if (canRecDatas.canId != ElecOilPump_Scm_MCU1_Frame1.canId)
            {
                return(null);
            }

            List <ElecOilPump_Scm_MCU1_Frame1> recMcus = new List <ElecOilPump_Scm_MCU1_Frame1>();

            ElecOilPump_Scm_MCU1_Frame1 recMcu1 = ElecOilPump_ByteToScmMcu1Frame1(canRecDatas.datas);

            recMcus.Add(recMcu1);

            return(recMcus);
        }
        /// <summary>
        /// 转换发送数据
        /// 30
        /// </summary>
        public List <AbstractMotorControl.CanStandardData> TransformEcuSendData30(bool forbidMotorCmd, UInt16[] regList)
        {
            List <AbstractMotorControl.CanStandardData> canSendDatas = new List <AbstractMotorControl.CanStandardData>();

            //config 30
            ElecOilPump_Scm_EVCU1 scmTcu1 = new ElecOilPump_Scm_EVCU1();

            scmTcu1.forbidMotorControlCmd = Convert.ToByte(forbidMotorCmd);
            scmTcu1.N          = 30;
            scmTcu1.ConfigRegN = regList[30];
            AbstractMotorControl.CanStandardData canData1 = ElecOilPump_ScmEvcu1ToBytes(scmTcu1);
            canSendDatas.Add(canData1);

            return(canSendDatas);
        }
        /// <summary>
        /// 转换发送数据
        /// forbidMotorCmd表示是否禁用汽车帧,采用一问一答模式
        /// 0~28
        /// </summary>
        public List <AbstractMotorControl.CanStandardData> TransformEcuSendData0To26(bool forbidMotorCmd, UInt16[] regList)
        {
            List <AbstractMotorControl.CanStandardData> canSendDatas = new List <AbstractMotorControl.CanStandardData>();

            //config 0~26
            for (byte i = 0; i <= 26; i++)
            {
                ElecOilPump_Scm_EVCU1 scmTcu1 = new ElecOilPump_Scm_EVCU1();
                scmTcu1.forbidMotorControlCmd = Convert.ToByte(forbidMotorCmd);
                scmTcu1.N          = i;
                scmTcu1.ConfigRegN = regList[i];
                AbstractMotorControl.CanStandardData canData1 = ElecOilPump_ScmEvcu1ToBytes(scmTcu1);
                canSendDatas.Add(canData1);
            }



            return(canSendDatas);
        }
        /// <summary>
        /// 整车控制器1
        /// ID:0x0C61D5D3
        /// 波特率:250Kbps
        /// 数据长度:8bytes
        /// 周期:按需发送
        /// </summary>
        AbstractMotorControl.CanStandardData ElecOilPump_ScmEvcu1ToBytes(ElecOilPump_Scm_EVCU1 scmEvcu1)
        {
            AbstractMotorControl.CanStandardData scmCanByte = new AbstractMotorControl.CanStandardData();
            scmCanByte.canId = ElecOilPump_Scm_EVCU1.canId;
            scmCanByte.datas = new byte[8];

            //byte0
            scmCanByte.datas[0] = scmEvcu1.forbidMotorControlCmd; //电机命令禁止

            //byte1,寄存器索引N,默认值0,分辨率1
            scmCanByte.datas[1] = (byte)((scmEvcu1.N) & 0xff); //低位

            //byte2,byte3,Config[N],默认值0,分辨率1
            scmCanByte.datas[2] = (byte)((scmEvcu1.ConfigRegN) & 0xff);      //低位
            scmCanByte.datas[3] = (byte)((scmEvcu1.ConfigRegN >> 8) & 0xff); //高位

            //byte4、5、6、7保留

            return(scmCanByte);
        }