示例#1
0
        void GetErrorInfo()
        {
            CAN_ERR_INFO errorInfo     = new CAN_ERR_INFO();
            ECANStatus   readErrResult = ECANDLL.ReadErrInfo(deviceType, useCANIndex, useCANIndex, out errorInfo);

            if (readErrResult != ECANStatus.STATUS_OK)
            {
                Logger.logError("无法读取CAN错误!");
                return;
            }
            if (errorInfo.ErrCode == 0)
            {
                Logger.logError("存在未知CAN错误!");
            }
            else
            {
                Logger.logError("存在以下CAN错误:");
                Logger.print("------------ECAN错误开始------------");
                foreach (uint errKey in errExplain.Keys)
                {
                    if ((errKey & errorInfo.ErrCode) > 0)
                    {
                        Logger.print(errExplain[errKey]);
                    }
                }
                Logger.print("------------ECAN错误结束------------");
            }
        }
示例#2
0
 public bool ReadErrorInfo(out CAN_ERR_INFO info)
 {
     return(ECANStatus.STATUS_OK ==
            ECANDLL.ReadErrInfo(DefaultDeviceType, 0, 0, out info));
 }
示例#3
0
 public static extern ECANStatus ReadErrInfo(
     UInt32 DeviceType,
     UInt32 DeviceInd,
     UInt32 CANInd,
     out CAN_ERR_INFO ReadErrInfo);