mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-22 03:40:04 +02:00
fixed gui getting stuck (wrong datathreadmask more than 64 bits cuz of 72 sockets), gotthard detector receiver updated
This commit is contained in:
parent
68bbea17d1
commit
cbd1570a8c
@ -17,7 +17,7 @@
|
||||
#include <rapidjson/document.h> //json header in zmq stream
|
||||
using namespace rapidjson;
|
||||
|
||||
#define DEFAULT_ZMQ_PORTNO 70001
|
||||
#define DEFAULT_ZMQ_PORTNO 30001
|
||||
|
||||
class ZmqSocket {
|
||||
|
||||
@ -68,6 +68,15 @@ public:
|
||||
}
|
||||
|
||||
//Socket Options provided above
|
||||
//ZMQ_LINGER default is already -1 means no messages discarded. use this options if optimizing required
|
||||
//ZMQ_SNDHWM default is 0 means no limit. use this to optimize if optimizing required
|
||||
// eg. int value = -1;
|
||||
int value = -1;
|
||||
if (zmq_setsockopt(socketDescriptor, ZMQ_LINGER, &value,sizeof(value))) {
|
||||
PrintError ();
|
||||
Close();
|
||||
}
|
||||
|
||||
|
||||
//connect socket
|
||||
if (zmq_connect(socketDescriptor, serverAddress) < 0) {
|
||||
@ -231,7 +240,7 @@ public:
|
||||
modId, xCoord, yCoord, zCoord, debug, roundRNumber,
|
||||
detType, version);
|
||||
#ifdef VERBOSE
|
||||
if(!index)
|
||||
//if(!index)
|
||||
printf("%d Streamer: buf:%s\n", index, buf);
|
||||
#endif
|
||||
|
||||
@ -295,7 +304,7 @@ public:
|
||||
if ( len > 0 ) {
|
||||
bool dummy = false;
|
||||
#ifdef VERBOSE
|
||||
cprintf( RED,"Header %d Length: %d Header:%s \n", index, length, (char*) zmq_msg_data (&message) );
|
||||
cprintf( BLUE,"Header %d Length: %d Header:%s \n", index, len, (char*) zmq_msg_data (&message) );
|
||||
#endif
|
||||
if ( ParseHeader (index, len, message, acqIndex, frameIndex, subframeIndex, filename, dummy)) {
|
||||
zmq_msg_close (&message);
|
||||
@ -308,6 +317,7 @@ public:
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
cprintf(GREEN,"%d data\n",index);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
@ -324,7 +324,7 @@ uint32_t Listener::ListenToAnImage(char* buf) {
|
||||
|
||||
//look for carry over
|
||||
if (carryOverFlag) {
|
||||
//if(!index) cprintf(RED,"carry flag\n");
|
||||
cprintf(RED,"%d carry flag\n",index);
|
||||
//check if its the current image packet
|
||||
// -------------------------- new header ----------------------------------------------------------------------
|
||||
if (standardheader) {
|
||||
@ -347,8 +347,21 @@ uint32_t Listener::ListenToAnImage(char* buf) {
|
||||
return generalData->imageSize;
|
||||
}
|
||||
|
||||
memcpy(buf + fifohsize + (pnum * dsize),
|
||||
carryOverPacket + hsize, dsize);
|
||||
//copy packet
|
||||
switch(myDetectorType) {
|
||||
//for gotthard, 1st packet: 4 bytes fnum, CACA, 1278 bytes data
|
||||
// 2nd packet: 4 bytes fnu, 1282 bytes data !!
|
||||
case GOTTHARD:
|
||||
if(!pnum)
|
||||
memcpy(buf + fifohsize + (pnum * dsize), carryOverPacket + hsize+4, dsize-2);
|
||||
else
|
||||
memcpy(buf + fifohsize + (pnum * dsize) - 2, carryOverPacket + hsize, dsize+2);
|
||||
break;
|
||||
default:
|
||||
memcpy(buf + fifohsize + (pnum * dsize), carryOverPacket + hsize, dsize);
|
||||
break;
|
||||
}
|
||||
|
||||
carryOverFlag = false;
|
||||
numpackets++; //number of packets in this image (each time its copied to buf)
|
||||
|
||||
@ -430,8 +443,19 @@ uint32_t Listener::ListenToAnImage(char* buf) {
|
||||
}
|
||||
|
||||
//copy packet
|
||||
memcpy(buf + fifohsize + (pnum * dsize),
|
||||
listeningPacket + hsize, dsize);
|
||||
switch(myDetectorType) {
|
||||
//for gotthard, 1st packet: 4 bytes fnum, CACA, 1278 bytes data
|
||||
// 2nd packet: 4 bytes fnu, 1282 bytes data !!
|
||||
case GOTTHARD:
|
||||
if(!pnum)
|
||||
memcpy(buf + fifohsize + (pnum * dsize), listeningPacket + hsize+4, dsize-2);
|
||||
else
|
||||
memcpy(buf + fifohsize + (pnum * dsize) - 2, listeningPacket + hsize, dsize+2);
|
||||
break;
|
||||
default:
|
||||
memcpy(buf + fifohsize + (pnum * dsize), listeningPacket + hsize, dsize);
|
||||
break;
|
||||
}
|
||||
numpackets++; //number of packets in this image (each time its copied to buf)
|
||||
if(isHeaderEmpty) {
|
||||
// -------------------------- new header ----------------------------------------------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user