USB2XXX 1.2
USB2XXX接口函数说明文档
载入中...
搜索中...
未找到
usb2lumibus.h
1
9#ifndef __USB2LUMIBUS_H_
10#define __USB2LUMIBUS_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
32#define LUMIBUS_SUCCESS (0)
33#define LUMIBUS_ERR_NOT_SUPPORT (-1)
34#define LUMIBUS_ERR_USB_WRITE_FAIL (-2)
35#define LUMIBUS_ERR_USB_READ_FAIL (-3)
36#define LUMIBUS_ERR_CMD_FAIL (-4)
37#define LUMIBUS_ERR_PARAMETER (-5)
45#define LUMIBUS_CMD_SDW 0x02
46#define LUMIBUS_CMD_SDR 0x03
47#define LUMIBUS_CMD_BW 0x04
48#define LUMIBUS_CMD_EBW 0x05
49#define LUMIBUS_CMD_ESDW 0x06
50#define LUMIBUS_CMD_ESDR 0x07
58#define LUMIBUS_STATUS_NACK 0x01
59#define LUMIBUS_STATUS_RNRES 0x02
60#define LUMIBUS_STATUS_ECRC 0x04
61#define LUMIBUS_STATUS_FERR 0x08
62#define LUMIBUS_STATUS_DLEN 0x10
63#define LUMIBUS_STATUS_EDID 0x20
70typedef struct _LUMIBUS_MSG
71{
72 unsigned char DataLen;
73 unsigned char BreakBits;
74 unsigned char Status;
75 unsigned char Flags;
76 unsigned char TimeStampHigh;
77 unsigned char _Res0;
78 unsigned short MsgSendTimes;
79 unsigned int TimeStamp;
80 unsigned char SYNC;
81 unsigned char CMD_RSP;
82 unsigned char DevID;
83 unsigned char RegAddr;
84 unsigned char Data[32];
85 unsigned short Crc16;
86 unsigned char ACKValue;
87 unsigned char _Res1;
95typedef struct _LUMIBUS_SCH_INFO {
96 unsigned int SchSendTimes;
97 unsigned int SchSendIndex;
98 unsigned int MsgSendIndex;
99 unsigned int AllMsgLen;
100 unsigned short MsgIndex;
101 unsigned char RunFlag;
102 unsigned char SaveTxMsg;
106#ifdef __cplusplus
107extern "C"
108{
109#endif
110
122int WINAPI LUMIBUS_Init(int DevHandle, unsigned char Index, unsigned int BaudRate, unsigned char MasterMode, unsigned char ResEnable);
123
133int WINAPI LUMIBUS_SetRevTime(int DevHandle, unsigned char Index,int TimeUs);
134
147int WINAPI LUMIBUS_MasterStartSch(int DevHandle, unsigned char Index, LUMIBUS_MSG* pMsg, unsigned int MsgLen, unsigned int SendTimes, unsigned char ReadBackFlag);
148
159int WINAPI LUMIBUS_GetMsg(int DevHandle, unsigned char Index, LUMIBUS_MSG* pMsg, unsigned int BufferSize);
160
169int WINAPI LUMIBUS_MasterStopSch(int DevHandle, unsigned char Index);
170
179int WINAPI LUMIBUS_Stop(int DevHandle, unsigned char Index);
180
187long long WINAPI LUMIBUS_GetStartTime(int DevHandle, unsigned char Index);
188
199int WINAPI LUMIBUS_GetSchInfo(int DevHandle, unsigned char Index, LUMIBUS_SCH_INFO *pSchInfo);
200
201#ifdef __cplusplus
202}
203#endif
204
206#endif
207
208
long long WINAPI LUMIBUS_GetStartTime(int DevHandle, unsigned char Index)
获取启动LUMIBUS总线时的实时时间戳,单位为毫秒,可以将该时间戳转换为实时时间
int WINAPI LUMIBUS_Stop(int DevHandle, unsigned char Index)
停止LUMIBUS总线,调用该函数后盖总线无法继续使用,需要继续使用需要重新调用 LUMIBUS_Init 函数对总线进行初始化
int WINAPI LUMIBUS_GetMsg(int DevHandle, unsigned char Index, LUMIBUS_MSG *pMsg, unsigned int BufferSize)
获取帧缓冲区中的帧数据,这些帧可能是主机模式发送的数据,也可能是从机模式接收到的数据
int WINAPI LUMIBUS_Init(int DevHandle, unsigned char Index, unsigned int BaudRate, unsigned char MasterMode, unsigned char ResEnable)
LUMIBUS总线初始化,在使用LUMIBUS相关函数之前必须先调用该函数
int WINAPI LUMIBUS_SetRevTime(int DevHandle, unsigned char Index, int TimeUs)
设置接收数据时等待对方响应数据超时时间
int WINAPI LUMIBUS_MasterStopSch(int DevHandle, unsigned char Index)
停止执行调度表
int WINAPI LUMIBUS_GetSchInfo(int DevHandle, unsigned char Index, LUMIBUS_SCH_INFO *pSchInfo)
获取当前调度表执行信息,可以通过调用该函数获取帧发送情况
int WINAPI LUMIBUS_MasterStartSch(int DevHandle, unsigned char Index, LUMIBUS_MSG *pMsg, unsigned int MsgLen, unsigned int SendTimes, unsigned char ReadBackFlag)
执行LUMIBUS帧调度表,可以使用该函数实现发送数据或者读取数据
Definition: usb2lumibus.h:71
unsigned char Flags
bit[0..1]表示通道号,发送数据的时候不需要
Definition: usb2lumibus.h:75
unsigned short Crc16
CRC校验数据,发送时不用填,底层会自动计算,读取时为读到的实际校验数据,发送时先发送低位
Definition: usb2lumibus.h:85
unsigned short MsgSendTimes
当前帧发送次数
Definition: usb2lumibus.h:78
unsigned char TimeStampHigh
时间戳高位,跟时间戳低位一起组成有效的时间戳
Definition: usb2lumibus.h:76
unsigned char SYNC
固定为0x55,如果BreakBits设置为0,则不发送此数据
Definition: usb2lumibus.h:80
unsigned char Status
当前帧状态指示,比如帧数据异常可以在这里显示
Definition: usb2lumibus.h:74
unsigned char ACKValue
发送需要应答的帧时存储应答数据
Definition: usb2lumibus.h:86
unsigned char RegAddr
起始寄存器地址,接收时没有该项,Special Command Frame也没有该项
Definition: usb2lumibus.h:83
unsigned char CMD_RSP
命令,发送数据是CMD Frame Header,接收返回时是RSP Frame Header
Definition: usb2lumibus.h:81
unsigned char Data[32]
数据存储数组,数组里面的有效数据通过DataLen决定
Definition: usb2lumibus.h:84
unsigned int TimeStamp
接收帧时为时间戳低位,单位为10us,发送数据时为帧间隔时间,单位为微秒(us)
Definition: usb2lumibus.h:79
unsigned char BreakBits
发送同步间隔宽度,一般为13,发送同步间隔后需要同时发送0x55,若不需要发送则将此设置为0即可
Definition: usb2lumibus.h:73
unsigned char DevID
设备ID
Definition: usb2lumibus.h:82
unsigned char DataLen
Data域中有效数据字节数
Definition: usb2lumibus.h:72
Definition: usb2lumibus.h:95
unsigned char RunFlag
调度表运行标志
Definition: usb2lumibus.h:101
unsigned int SchSendIndex
当前调度表发送次数
Definition: usb2lumibus.h:97
unsigned int AllMsgLen
调度表里面包含帧数
Definition: usb2lumibus.h:99
unsigned short MsgIndex
当前发送帧在调度表里面的索引
Definition: usb2lumibus.h:100
unsigned int SchSendTimes
调度表发送次数,若为0xFFFFFFFF,表示一直循环发送
Definition: usb2lumibus.h:96
unsigned int MsgSendIndex
当前帧发送次数索引
Definition: usb2lumibus.h:98