USB2XXX 1.2
USB2XXX接口函数说明文档
载入中...
搜索中...
未找到
usb_device.h
1
9#ifndef __USB_DEVICE_H_
10#define __USB_DEVICE_H_
11
12#include <stdint.h>
13#ifdef _WIN32
14#include <Windows.h>
15#else
16#include <unistd.h>
17#ifndef WINAPI
18#define WINAPI
19#endif
20#endif
21
50typedef struct _DEVICE_INFO
51{
52 char FirmwareName[32];
53 char BuildDate[32];
56 int SerialNumber[3];
62typedef struct
63{
64 unsigned char McuModel[16];
65 unsigned char ProductModel[16];
66 unsigned int Version;
67
68 unsigned char CANChannelNum;
69 unsigned char LINChannelNum;
70 unsigned char PWMChannelNum;
71 unsigned char HaveCANFD;
72
73 unsigned char DIChannelNum;
74 unsigned char DOChannelNum;
75 unsigned char HaveIsolation;
76 unsigned char ExPowerSupply;
77
78 unsigned char IsOEM;
79 unsigned char EECapacity;
80 unsigned char SPIFlashCapacity;
81 unsigned char TFCardSupport;
82
83 unsigned char ProductionDate[12];
84
85 unsigned char USBControl;
86 unsigned char SerialControl;
87 unsigned char EthControl;
88 unsigned char VbatChannel;
90
94typedef struct _IP_CONFIG
95{
96 unsigned char IP_ADDR[4];
97 unsigned char NETMASK[4];
98 unsigned char GW_ADDR[4];
99 unsigned char StaticIP;
100 unsigned char Res0;
101 unsigned char Res1;
102 unsigned char Res2;
104
110#define POWER_LEVEL_1V8 1
111#define POWER_LEVEL_2V5 2
112#define POWER_LEVEL_3V3 3
115#ifdef __cplusplus
116extern "C"
117{
118#endif
119
125#ifdef __OS_ANDROID_BACK
126int WINAPI USB_ScanDevice(int *pDevHandle,int *pFd,int DevNum);
127#else
128int WINAPI USB_ScanDevice(int *pDevHandle);
129#endif
130
138unsigned char WINAPI USB_OpenDevice(int DevHandle);
139
147unsigned char WINAPI USB_CloseDevice(int DevHandle);
148
156unsigned char WINAPI USB_ResetDevice(int DevHandle);
157
165unsigned char WINAPI USB_RetryConnect(int DevHandle);
166
175unsigned char WINAPI USB_WaitResume(int DevHandle,int TimeOutMs);
176
186unsigned char WINAPI DEV_GetDeviceInfo(int DevHandle,DEVICE_INFO *pDevInfo,char *pFunctionStr);
196unsigned char WINAPI DEV_GetHardwareInfo(int DevHandle, HARDWARE_INFO *pHardwareInfo);
197
205unsigned char WINAPI DEV_EraseUserData(int DevHandle);
206
215unsigned char WINAPI DEV_EraseUserDataSector(int DevHandle, int StartAddr);
216
227unsigned char WINAPI DEV_WriteUserData(int DevHandle,int OffsetAddr,unsigned char *pWriteData,int DataLen);
228
239unsigned char WINAPI DEV_ReadUserData(int DevHandle,int OffsetAddr,unsigned char *pReadData,int DataLen);
240
253unsigned char WINAPI DEV_SetPowerLevel(int DevHandle,char PowerLevel);
254
264unsigned char WINAPI DEV_GetTimestamp(int DevHandle,char BusType,unsigned int *pTimestamp);
265
273long long WINAPI DEV_GetTimestampMs(int DevHandle);
274
282unsigned char WINAPI DEV_ResetTimestamp(int DevHandle);
283
291unsigned char WINAPI DEV_CorrectionTimestamp(int DevHandle);
300unsigned char WINAPI DEV_EraseSchData(int DevHandle,unsigned int Addr);
311unsigned char WINAPI DEV_WriteSchData(int DevHandle,int OffsetAddr,unsigned char *pWriteData,int DataLen);
312
323unsigned char WINAPI DEV_ReadSchData(int DevHandle,int OffsetAddr,unsigned char *pReadData,int DataLen);
324
332unsigned char WINAPI DEV_GetDllBuildTime(char* pDateTime);
333
343unsigned char WINAPI DEV_CheckDeviceValid(int DevHandle, unsigned char* pKeyBuf, unsigned char* pKeyOutBuf);
344
345
354unsigned char WINAPI DEV_SetIPAddr(int DevHandle, IP_CONFIG* pConfig);
355
364unsigned char WINAPI DEV_GetIPAddr(int DevHandle, IP_CONFIG* pConfig);
365
366#ifdef __cplusplus
367}
368#endif
369
370
372#endif
373
unsigned char WINAPI DEV_WriteUserData(int DevHandle, int OffsetAddr, unsigned char *pWriteData, int DataLen)
向用户区域写入用户自定义数据,写入数据之前需要调用擦出函数将数据擦出
unsigned char WINAPI DEV_EraseUserDataSector(int DevHandle, int StartAddr)
擦出指定扇区的用户数据
unsigned char WINAPI DEV_GetTimestamp(int DevHandle, char BusType, unsigned int *pTimestamp)
获取CAN或者LIN的当前时间戳原始值
unsigned char WINAPI DEV_SetPowerLevel(int DevHandle, char PowerLevel)
设置适配器接口输出指定电压,该函数只适用于UTA0302
unsigned char WINAPI USB_WaitResume(int DevHandle, int TimeOutMs)
重新连接设备,再检测到USB断开连接后(函数返回值为负数),重新连接设备
unsigned char WINAPI DEV_EraseSchData(int DevHandle, unsigned int Addr)
擦出调度表区数据
unsigned char WINAPI DEV_GetDeviceInfo(int DevHandle, DEVICE_INFO *pDevInfo, char *pFunctionStr)
获取设备信息,比如设备名称,固件版本号,设备序号,设备功能说明字符串等
unsigned char WINAPI DEV_CorrectionTimestamp(int DevHandle)
校准时间戳,调用之后,可以得到更精确的时间戳
unsigned char WINAPI DEV_EraseUserData(int DevHandle)
擦出用户存储区数据,在写入新的数据之前需要擦出,否则写入的数据可能不正确
unsigned char WINAPI DEV_ReadUserData(int DevHandle, int OffsetAddr, unsigned char *pReadData, int DataLen)
从用户自定义数据区读出数据
unsigned char WINAPI DEV_GetIPAddr(int DevHandle, IP_CONFIG *pConfig)
通过USB口获取设备IP地址信息,只有带网口的设备才支持此操作
unsigned char WINAPI DEV_ResetTimestamp(int DevHandle)
复位CAN和LIN时间戳,需要在初始化CAN和LIN之后调用
struct _DEVICE_INFO DEVICE_INFO
设备固件信息定义
unsigned char WINAPI USB_RetryConnect(int DevHandle)
重新连接设备,再检测到USB断开连接后(函数返回值为负数),重新连接设备
unsigned char WINAPI DEV_GetDllBuildTime(char *pDateTime)
获取当前库编译日期和时间
unsigned char WINAPI DEV_CheckDeviceValid(int DevHandle, unsigned char *pKeyBuf, unsigned char *pKeyOutBuf)
检测设备是否合法
unsigned char WINAPI DEV_GetHardwareInfo(int DevHandle, HARDWARE_INFO *pHardwareInfo)
获取设备硬件信息,比如设备型号,生产日期,主芯片型号等
unsigned char WINAPI USB_ResetDevice(int DevHandle)
软件复位设备,复位后需要重新调用 USB_ScanDevice , USB_OpenDevice 函数,程序所使用的其他外设需要重新初始化配置
unsigned char WINAPI USB_CloseDevice(int DevHandle)
关闭已经被打开的设备,程序退出前调用一次即可
long long WINAPI DEV_GetTimestampMs(int DevHandle)
获取当前设备的原始时间戳
unsigned char WINAPI USB_OpenDevice(int DevHandle)
打开设备,必须调用,否则其他函数可能会工作不正常,只需要调用一次即可
struct _IP_CONFIG IP_CONFIG
IP地址配置信息
unsigned char WINAPI DEV_SetIPAddr(int DevHandle, IP_CONFIG *pConfig)
通过USB口设置设备IP地址,只有带网口的设备才支持此操作
unsigned char WINAPI DEV_WriteSchData(int DevHandle, int OffsetAddr, unsigned char *pWriteData, int DataLen)
写调度表数据到用户存储区
unsigned char WINAPI DEV_ReadSchData(int DevHandle, int OffsetAddr, unsigned char *pReadData, int DataLen)
读取调度表数据
int WINAPI USB_ScanDevice(int *pDevHandle)
初始化USB设备,获取设备连接数和每个设备的设备号,必须调用,程序运行后调用一次即可,无需重复调用
设备硬件信息定义
Definition: usb_device.h:63
unsigned char PWMChannelNum
PWM通道数,包含LIN和DO可输出的
Definition: usb_device.h:70
unsigned char SPIFlashCapacity
Flash容量,单位为MByte,0表示没有Flash
Definition: usb_device.h:80
unsigned char VbatChannel
可以控制的VBAT输出通道数
Definition: usb_device.h:88
unsigned int Version
硬件版本号
Definition: usb_device.h:66
unsigned char HaveIsolation
是否支持电磁隔离
Definition: usb_device.h:75
unsigned char CANChannelNum
CAN通道数
Definition: usb_device.h:68
unsigned char TFCardSupport
是否支持TF卡安装
Definition: usb_device.h:81
unsigned char SerialControl
支持串口控制
Definition: usb_device.h:86
unsigned char DOChannelNum
独立DO通道数,不包含LIN通道
Definition: usb_device.h:74
unsigned char ExPowerSupply
是否支持外部电源供电
Definition: usb_device.h:76
unsigned char EECapacity
EEPROM支持容量,单位为KByte,0表示没有EEPROM
Definition: usb_device.h:79
unsigned char USBControl
支持通过USB控制
Definition: usb_device.h:85
unsigned char HaveCANFD
是否支持CANFD功能
Definition: usb_device.h:71
unsigned char IsOEM
是客户定制版本吗
Definition: usb_device.h:78
unsigned char LINChannelNum
LIN通道数
Definition: usb_device.h:69
unsigned char DIChannelNum
独立DI通道数,不包含LIN通道
Definition: usb_device.h:73
unsigned char EthControl
支持网口控制
Definition: usb_device.h:87
设备固件信息定义
Definition: usb_device.h:51
char BuildDate[32]
固件编译时间字符串
Definition: usb_device.h:53
int HardwareVersion
硬件版本号
Definition: usb_device.h:54
int FirmwareVersion
固件版本号
Definition: usb_device.h:55
int Functions
适配器当前具备的功能
Definition: usb_device.h:57
int SerialNumber[3]
适配器序列号
Definition: usb_device.h:56
char FirmwareName[32]
固件名称字符串
Definition: usb_device.h:52
IP地址配置信息
Definition: usb_device.h:95
unsigned char NETMASK[4]
子网掩码
Definition: usb_device.h:97
unsigned char StaticIP
0-动态获取IP,1-静态IP
Definition: usb_device.h:99
unsigned char IP_ADDR[4]
IP地址
Definition: usb_device.h:96
unsigned char GW_ADDR[4]
网关
Definition: usb_device.h:98