脑电波实时数据收集——RDA—数据包定义

来源:互联网 发布:网络弊大于利三辩提问 编辑:程序博客网 时间:2024/05/22 00:16

brainproduct recorder 远程采集脑电波实时数据 文章描述了通过RDA模块进行EGG实时数据采集的基本方法以及RDA模块的网络协议所使用的数据报文格式和含义,本博文将RDA数据包所涉及的格式定义成相应的结构体。

#pragma pack(1)#ifndef ULONGtypedef unsigned long ULONG;#endif//所有数据都是小段序struct RDA_Marker//RDA_message里面单个的marker结构{    ULONG               nSize;              // marker的大小    ULONG               nPosition;          // 在datablock里面的偏移量    ULONG               nPoints;            // 本marker包含的数据点个数    long                nChannel;           // 信道标识(-1表示所有信道)    char                sTypeDesc[1];       // 一些描述信息};struct RDA_MessageHeader//消息头{    GUID guid;      // 消息的唯一标识    ULONG nSize;    // 整个消息的大小,包括本身这个报文头    ULONG nType;    // 消息类型,可取1,2,3,4};// 所有消息都是有服务端push至客户端struct RDA_MessageStart : RDA_MessageHeader//启动消息 Header -> nType = 1{    ULONG               nChannels;          // 信道数    double              dSamplingInterval;  // 采样间隔(ms为单位)    double              dResolutions[1];    // 各个信道的精度,最小分辨率,单位:mV。例如:真实的电位=dResolutions[i] * RDA_MessageHeader->nData[j]    char                sChannelNames[1];   //各通道名称,每个名称以\00结尾};struct RDA_MessageData : RDA_MessageHeader//16位的消息, Header -> nType = 2, 由服务端的port 51234发来{    ULONG               nBlock;             // 块序号号,是自增的,表示这个数据块是服务端自开机以来发送的数据块data block的序号    ULONG               nPoints;            // 此数据块中数据点的个数    ULONG               nMarkers;           // 此数据块Marker描述结构的个数    short               nData[1];           // 数据数组,长度一般为nChannels*nPoints,也就是说每个data blocks其实会把所以信道的nPoints个点都发过来。每个数据点是一个short    RDA_Marker          Markers[1];         // marker结构,长度为nMarkers};struct RDA_MessageStop : RDA_MessageHeader//停机报文// Header -> nType = 3{};struct RDA_MessageData32 : RDA_MessageHeader//32位的数据包 Header -> nType = 4, 从服务端的51244端口发的来,//与16位的一致,除了每个数据点由short改成了float{    ULONG               nBlock;                 ULONG               nPoints;                ULONG               nMarkers;               float               fData[1];           // 每个数据点是一个float    RDA_Marker          Markers[1];         };#pragma pack()#endif //_INC_RECORDERRDA
阅读全文
0 0
原创粉丝点击