File indexing completed on 2025-08-03 08:20:48
0001 #include "oncsSub_idsis3300r.h"
0002
0003 oncsSub_idsis3300r::oncsSub_idsis3300r(subevtdata_ptr data)
0004 :oncsSub_idsis3300 (data)
0005 {
0006 samples = 0;
0007 decoded = 0;
0008
0009 }
0010
0011 int *oncsSub_idsis3300r::decode ( int * p)
0012 {
0013 if ( decoded)
0014 {
0015 p = 0;
0016 return 0;
0017 }
0018 int c, i;
0019
0020 decoded = 1;
0021
0022 int *SubeventData = &SubeventHdr->data;
0023
0024 samples = (*SubeventData) & 0xffff;
0025 wraparound = (*SubeventData) >> 16;
0026
0027 for ( c = 0; c < 4; c++)
0028 {
0029
0030 for ( i = 0; i< samples; i++)
0031 {
0032 v[c*2].push_back ( (SubeventData[ c* samples + i+1] >> 16) & 0x3fff );
0033 v[c*2+1].push_back ( SubeventData[ c* samples + i+1] & 0x3fff );
0034 }
0035 }
0036
0037 p = 0;
0038 return 0;
0039 }
0040
0041 int oncsSub_idsis3300r::iValue(const int ch ,const int s)
0042 {
0043 if ( decoded == 0 ) decoded_data1 = decode(&data1_length);
0044
0045 if ( ch < 0 || ch >7 ) return 0;
0046 if ( s < 0 || s >=samples ) return 0;
0047
0048 return v[ch][s];
0049
0050 }
0051