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;
95#define POWER_LEVEL_1V8 1
96#define POWER_LEVEL_2V5 2
97#define POWER_LEVEL_3V3 3
100#ifdef __cplusplus
101extern "C"
102{
103#endif
104
110#ifdef __OS_ANDROID_BACK
111int WINAPI USB_ScanDevice(int *pDevHandle,int *pFd,int DevNum);
112#else
113int WINAPI USB_ScanDevice(int *pDevHandle);
114#endif
115
123unsigned char WINAPI USB_OpenDevice(int DevHandle);
124
132unsigned char WINAPI USB_CloseDevice(int DevHandle);
133
141unsigned char WINAPI USB_ResetDevice(int DevHandle);
142
150unsigned char WINAPI USB_RetryConnect(int DevHandle);
151
160unsigned char WINAPI USB_WaitResume(int DevHandle,int TimeOutMs);
161
171unsigned char WINAPI DEV_GetDeviceInfo(int DevHandle,DEVICE_INFO *pDevInfo,char *pFunctionStr);
181unsigned char WINAPI DEV_GetHardwareInfo(int DevHandle, HARDWARE_INFO *pHardwareInfo);
182
190unsigned char WINAPI DEV_EraseUserData(int DevHandle);
191
200unsigned char WINAPI DEV_EraseUserDataSector(int DevHandle, int StartAddr);
201
212unsigned char WINAPI DEV_WriteUserData(int DevHandle,int OffsetAddr,unsigned char *pWriteData,int DataLen);
213
224unsigned char WINAPI DEV_ReadUserData(int DevHandle,int OffsetAddr,unsigned char *pReadData,int DataLen);
225
238unsigned char WINAPI DEV_SetPowerLevel(int DevHandle,char PowerLevel);
239
249unsigned char WINAPI DEV_GetTimestamp(int DevHandle,char BusType,unsigned int *pTimestamp);
250
258long long WINAPI DEV_GetTimestampMs(int DevHandle);
259
267unsigned char WINAPI DEV_ResetTimestamp(int DevHandle);
268
276unsigned char WINAPI DEV_CorrectionTimestamp(int DevHandle);
285unsigned char WINAPI DEV_EraseSchData(int DevHandle,unsigned int Addr);
296unsigned char WINAPI DEV_WriteSchData(int DevHandle,int OffsetAddr,unsigned char *pWriteData,int DataLen);
297
308unsigned char WINAPI DEV_ReadSchData(int DevHandle,int OffsetAddr,unsigned char *pReadData,int DataLen);
309
317unsigned char WINAPI DEV_GetDllBuildTime(char* pDateTime);
318
328unsigned char WINAPI DEV_CheckDeviceValid(int DevHandle, unsigned char* pKeyBuf, unsigned char* pKeyOutBuf);
329
330#ifdef __cplusplus
331}
332#endif
333
334
336#endif
337
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_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)
打开设备,必须调用,否则其他函数可能会工作不正常,只需要调用一次即可
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