|
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using System.Linq;
|
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
|
|
|
|
|
|
namespace USB2XXX
|
|
|
|
|
|
{
|
|
|
|
|
|
class LIN_UDS
|
|
|
|
|
|
{
|
|
|
|
|
|
//LIN UDS地址定义
|
|
|
|
|
|
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
|
|
|
|
|
public struct LIN_UDS_ADDR
|
|
|
|
|
|
{
|
|
|
|
|
|
public Byte ReqID; //请求报文ID。
|
|
|
|
|
|
public Byte ResID; //应答报文ID。
|
|
|
|
|
|
public Byte NAD; //节点地址,0x7F为广播地址
|
|
|
|
|
|
public Byte CheckType; //0-标准,1-增强
|
|
|
|
|
|
public Byte STmin; //连续帧时间间隔,单位为毫秒
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
//函数返回错误代码定义
|
|
|
|
|
|
public const Int32 LIN_UDS_OK = 0;
|
|
|
|
|
|
public const Int32 LIN_UDS_TRAN_USB = -98;
|
|
|
|
|
|
public const Int32 LIN_UDS_TRAN_CAN = -99;
|
|
|
|
|
|
public const Int32 LIN_UDS_TIMEOUT_A = -100;
|
|
|
|
|
|
public const Int32 LIN_UDS_TIMEOUT_Bs = -101;
|
|
|
|
|
|
public const Int32 LIN_UDS_TIMEOUT_Cr = -102;
|
|
|
|
|
|
public const Int32 LIN_UDS_WRONG_SN = -103;
|
|
|
|
|
|
public const Int32 LIN_UDS_INVALID_FS = -104;
|
|
|
|
|
|
public const Int32 LIN_UDS_UNEXP_PDU = -105;
|
|
|
|
|
|
public const Int32 LIN_UDS_WFT_OVRN = -106;
|
|
|
|
|
|
public const Int32 LIN_UDS_BUFFER_OVFLW = -107;
|
|
|
|
|
|
public const Int32 LIN_UDS_ERROR = -108;
|
|
|
|
|
|
|
|
|
|
|
|
//LIN UDS相关函数定义
|
|
|
|
|
|
[DllImport("USB2XXX.dll")]
|
|
|
|
|
|
public static extern Int32 LIN_UDS_Request(Int32 DevHandle,Byte LINIndex,ref LIN_UDS_ADDR pUDSAddr,Byte[] pReqData,Int32 DataLen);
|
|
|
|
|
|
[DllImport("USB2XXX.dll")]
|
|
|
|
|
|
public static extern Int32 LIN_UDS_Response(Int32 DevHandle,Byte LINIndex,ref LIN_UDS_ADDR pUDSAddr,Byte[] pResData,Int32 TimeOutMs);
|
|
|
|
|
|
[DllImport("USB2XXX.dll")]
|
|
|
|
|
|
public static extern Int32 LIN_UDS_GetMsgFromUDSBuffer(Int32 DevHandle,Byte LINIndex,IntPtr pCanGetMsg,Int32 BufferSize);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|