mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-22 03:40:04 +02:00
moench receiver with packet index for each frame
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@534 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
parent
ded2a4de5c
commit
60f7fc9f84
@ -73,6 +73,8 @@ int init_detector(int b, int checkType) {
|
|||||||
printf("***Assuming this to be a MOENCH detector***\n");
|
printf("***Assuming this to be a MOENCH detector***\n");
|
||||||
}
|
}
|
||||||
withGotthard = 1;
|
withGotthard = 1;
|
||||||
|
} else if(b){
|
||||||
|
printf("***This is a MOENCH detector with %d chips per module***\n",NCHIP);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (b) {
|
if (b) {
|
||||||
|
@ -198,9 +198,6 @@ public:
|
|||||||
*/
|
*/
|
||||||
void registerWriteReceiverDataCallback(int( *userCallback)(char*, int, FILE*, void*), void *pArg) {writeReceiverData = userCallback; pwriteReceiverDataArg = pArg;};
|
void registerWriteReceiverDataCallback(int( *userCallback)(char*, int, FILE*, void*), void *pArg) {writeReceiverData = userCallback; pwriteReceiverDataArg = pArg;};
|
||||||
|
|
||||||
int getFrameIndex(int index){return index & MOENCH_FRAME_INDEX_MASK}
|
|
||||||
|
|
||||||
int get
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
@ -1005,7 +1005,8 @@ int slsReceiverFuncs::moench_read_frame(){
|
|||||||
int numPackets = MOENCH_PACKETS_PER_FRAME; //40
|
int numPackets = MOENCH_PACKETS_PER_FRAME; //40
|
||||||
int onePacketSize = MOENCH_DATA_BYTES / MOENCH_PACKETS_PER_FRAME; //1280*40 / 40 = 1280
|
int onePacketSize = MOENCH_DATA_BYTES / MOENCH_PACKETS_PER_FRAME; //1280*40 / 40 = 1280
|
||||||
int partsPerFrame = onePacketSize / MOENCH_BYTES_PER_ADC; // 1280 / 80 = 16
|
int partsPerFrame = onePacketSize / MOENCH_BYTES_PER_ADC; // 1280 / 80 = 16
|
||||||
int origvalHeader = origVal;
|
offset = 4;
|
||||||
|
int packetOffset = 0;
|
||||||
int thisFrameNumber = (index & (MOENCH_FRAME_INDEX_MASK)) >> MOENCH_FRAME_INDEX_OFFSET;
|
int thisFrameNumber = (index & (MOENCH_FRAME_INDEX_MASK)) >> MOENCH_FRAME_INDEX_OFFSET;
|
||||||
cout<<"this frame number:"<<thisFrameNumber<<endl;
|
cout<<"this frame number:"<<thisFrameNumber<<endl;
|
||||||
int packetIndex,x,y;
|
int packetIndex,x,y;
|
||||||
@ -1015,7 +1016,7 @@ int slsReceiverFuncs::moench_read_frame(){
|
|||||||
|
|
||||||
while (iPacket < numPackets){
|
while (iPacket < numPackets){
|
||||||
//read packet index
|
//read packet index
|
||||||
packetIndex = (*origvalHeader) & MOENCH_PACKET_INDEX_MASK;cout<<"packet index:"<<packetIndex<<endl;
|
packetIndex = (*((int*)((char*)(origVal+packetOffset)))) & MOENCH_PACKET_INDEX_MASK;cout<<"packet index:"<<packetIndex<<endl;
|
||||||
//if its valid
|
//if its valid
|
||||||
if ((packetIndex < 40) || (packetIndex >= 0)){
|
if ((packetIndex < 40) || (packetIndex >= 0)){
|
||||||
x = packetIndex / 10;
|
x = packetIndex / 10;
|
||||||
@ -1037,18 +1038,18 @@ int slsReceiverFuncs::moench_read_frame(){
|
|||||||
|
|
||||||
//increment
|
//increment
|
||||||
offset+=6;
|
offset+=6;
|
||||||
origvalHeader = origvalHeader + offset + onePacketSize;
|
|
||||||
iPacket++;
|
iPacket++;
|
||||||
|
packetOffset = packetOffset + offset + onePacketSize;
|
||||||
|
|
||||||
cout <<" checking next frame number:"<<(((*origvalHeader) & (MOENCH_FRAME_INDEX_MASK)) >> MOENCH_FRAME_INDEX_OFFSET)<<endl;
|
cout <<" checking next frame number:"<<(((*((int*)((char*)(origVal+packetOffset)))) & (MOENCH_FRAME_INDEX_MASK)) >> MOENCH_FRAME_INDEX_OFFSET)<<endl;
|
||||||
//check if same frame number
|
//check if same frame number
|
||||||
while ((((*origvalHeader) & (MOENCH_FRAME_INDEX_MASK)) >> MOENCH_FRAME_INDEX_OFFSET) != thisFrameNumber){cout<<"did not match"<<endl;
|
while ((((*((int*)((char*)(origVal+packetOffset)))) & (MOENCH_FRAME_INDEX_MASK)) >> MOENCH_FRAME_INDEX_OFFSET) != thisFrameNumber){cout<<"did not match"<<endl;
|
||||||
if(iPacket >= numPackets)
|
if(iPacket >= numPackets)
|
||||||
break;
|
break;
|
||||||
//increment
|
//increment
|
||||||
offset+=6;
|
offset+=6;
|
||||||
origvalHeader = origvalHeader + offset + onePacketSize;
|
|
||||||
iPacket++;
|
iPacket++;
|
||||||
|
packetOffset = packetOffset + offset + onePacketSize;
|
||||||
}
|
}
|
||||||
cout<<"found or exited"<<endl;
|
cout<<"found or exited"<<endl;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user