6 if ((byte >> i) & 0x1) count++;
13 int i, j,rpnt = 0, wpnt = 0, size1, size2,trg = 0,k;
22 freq = (datain[0] >> 16 ) & 0x3;
25 Tsamp =(float)((1.0/2500.0)*1000.0);
28 Tsamp =(float)((1.0/1000.0)*1000.0);
31 Tsamp =(float)((1.0/5000.0)*1000.0);
35 st_ind =(uint16_t)((datain[0]>>20)& 0x3FF);
36 size1 = datain[0]& 0xFFF;
37 if ((trg = (datain[0]>>12)& 0x1) == 1)
38 size2 =(datain[0]>>3)& 0x1FF;
44 samples = ((long) (size1 /3));
46 while (rpnt < size1) {
50 dataout->
DataChannel[0][wpnt] = (float) (datain[rpnt+1] & 0x00000FFF);
51 dataout->
DataChannel[1][wpnt] = (float) ((datain[rpnt+1] & 0x00FFF000) >> 12);
52 dataout->
DataChannel[2][wpnt] = (float) ((datain[rpnt+1] & 0xFF000000) >> 24);
55 dataout->
DataChannel[2][wpnt] += (float) ((datain[rpnt+1] & 0x0000000F) << 8);
56 dataout->
DataChannel[3][wpnt] = (float) ((datain[rpnt+1] & 0x0000FFF0) >> 4);
57 dataout->
DataChannel[4][wpnt] = (float) ((datain[rpnt+1] & 0x0FFF0000) >> 16);
58 dataout->
DataChannel[5][wpnt] = (float) ((datain[rpnt+1] & 0xF0000000) >> 28);
61 dataout->
DataChannel[5][wpnt] += (float) ((datain[rpnt+1] & 0x000000FF) << 4);
62 dataout->
DataChannel[6][wpnt] = (float) ((datain[rpnt+1] & 0x000FFF00) >> 8) ;
63 dataout->
DataChannel[7][wpnt] = (float) ((datain[rpnt+1] & 0xFFF00000) >> 20);
70 for (k=0;k<8;k++) dataout->
ChSize[k] = wpnt;
73 for (i=0; i < size2; i++) {
76 dataout->
DataChannel[8][wpnt] = (float) ( datain[rpnt+i] & 0x00000FFF);
77 dataout->
DataChannel[8][++wpnt] = (float) ((datain[rpnt+i] & 0x00FFF000) >> 12) ;
78 dataout->
DataChannel[8][++wpnt] = (float) ((datain[rpnt+i] & 0xFF000000) >> 24);
81 dataout->
DataChannel[8][wpnt] += (float) ((datain[rpnt+i] & 0x0000000F) << 8);
82 dataout->
DataChannel[8][++wpnt] = (float) ((datain[rpnt+i] & 0x0000FFF0) >> 4);
83 dataout->
DataChannel[8][++wpnt] = (float) ((datain[rpnt+i] & 0x0FFF0000) >> 16);
84 dataout->
DataChannel[8][++wpnt] = (float) ((datain[rpnt+i] & 0xF0000000) >> 28);
87 dataout->
DataChannel[8][wpnt] += (float) ((datain[rpnt+i] & 0x000000FF) << 4);
88 dataout->
DataChannel[8][++wpnt] = (float) ((datain[rpnt+i] & 0x000FFF00) >> 8);
89 dataout->
DataChannel[8][++wpnt] = (float) ((datain[rpnt+i] & 0xFFF00000) >> 20);
96 return (size1+size2+2);
99 int32_t
GetNumEvents(
char *buffer, uint32_t buffsize, uint32_t *numEvents) {
100 uint32_t
i = 0,evtSize;
102 int32_t counter = -1;
103 if ((buffsize == 0) || (buffer == NULL)){
110 evtSize = *(
long *)(buffer+i) & 0x0FFFFFFF;
111 i += (uint32_t) (evtSize * 4);
113 *numEvents = counter + 1;
117 int32_t
GetEventPtr(
char *buffer, uint32_t buffsize, int32_t numEvent,
char **EventPtr) {
119 int32_t counter = -1;
126 evtSize = *(
long *)(buffer+i) & 0x0FFFFFFF;
127 if (counter == numEvent) {
128 if ((i + (uint32_t) evtSize) < buffsize) {
129 *EventPtr =(buffer+
i);
134 i += (uint32_t) (evtSize *4);
148 evtSize = *(
long *)evtPtr & 0x0FFFFFFF;
149 chanMask = *(
long *)(evtPtr+4) & 0x0000000F;
151 buffer = (uint32_t *) evtPtr;
152 pbuffer = (uint32_t *) evtPtr;
154 if (eventSize == 0)
return -1;
156 if (Event == NULL)
return -1;
159 if ((chanMask >> g) & 0x1) {