9#ifndef __USB2LUMIBUS_H_
10#define __USB2LUMIBUS_H_
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
102 unsigned char SaveTxMsg;
122int WINAPI
LUMIBUS_Init(
int DevHandle,
unsigned char Index,
unsigned int BaudRate,
unsigned char MasterMode,
unsigned char ResEnable);
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