mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-08 19:10:42 +02:00
some changes
This commit is contained in:
parent
fbfafb98fd
commit
476d1b452f
@ -471,13 +471,12 @@ protected:
|
|||||||
* data compression for each fifo output
|
* data compression for each fifo output
|
||||||
* @param ithread listening thread number
|
* @param ithread listening thread number
|
||||||
* @param wbuffer writer buffer
|
* @param wbuffer writer buffer
|
||||||
* @param npackets number of packets from the fifo
|
|
||||||
* @param data pointer to the next packet start
|
* @param data pointer to the next packet start
|
||||||
* @param xmax max pixels in x direction
|
* @param xmax max pixels in x direction
|
||||||
* @param ymax max pixels in y direction
|
* @param ymax max pixels in y direction
|
||||||
* @param nf nf
|
* @param nf nf
|
||||||
*/
|
*/
|
||||||
void handleDataCompression(int ithread, char* wbuffer[], int &npackets, char* data, int xmax, int ymax, int &nf);
|
void handleDataCompression(int ithread, char* wbuffer[], char* data, int xmax, int ymax, int &nf);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -459,9 +459,8 @@ private:
|
|||||||
/**
|
/**
|
||||||
* When acquisition is over, this is called
|
* When acquisition is over, this is called
|
||||||
* @param ithread listening thread number
|
* @param ithread listening thread number
|
||||||
* @param wbuffer writer buffer
|
|
||||||
*/
|
*/
|
||||||
void stopWriting(int ithread, char* wbuffer[]);
|
void stopWriting(int ithread);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* updates parameters and writes to file when not a dummy frame
|
* updates parameters and writes to file when not a dummy frame
|
||||||
@ -469,21 +468,21 @@ private:
|
|||||||
* Called by startWriting()
|
* Called by startWriting()
|
||||||
* @param ithread writing thread number
|
* @param ithread writing thread number
|
||||||
* @param wbuffer writer buffer
|
* @param wbuffer writer buffer
|
||||||
* @param npackets number of packets from the fifo
|
* @param partialframe is 1 if both ports of eiger dont have same frame
|
||||||
|
* @param smaller is which port is the smaller frame number if only partial frame received
|
||||||
*/
|
*/
|
||||||
int handleWithoutDataCompression(int ithread, char* wbuffer[], int &npackets);
|
void handleWithoutDataCompression(int ithread, char* wbuffer[], int partialframe = 0, int smaller = 0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* data compression for each fifo output
|
* data compression for each fifo output
|
||||||
* @param ithread writing thread number
|
* @param ithread writing thread number
|
||||||
* @param wbuffer writer buffer
|
* @param wbuffer writer buffer
|
||||||
* @param npackets number of packets from the fifo
|
|
||||||
* @param data pointer to the next packet start
|
* @param data pointer to the next packet start
|
||||||
* @param xmax max pixels in x direction
|
* @param xmax max pixels in x direction
|
||||||
* @param ymax max pixels in y direction
|
* @param ymax max pixels in y direction
|
||||||
* @param nf nf
|
* @param nf nf
|
||||||
*/
|
*/
|
||||||
void handleDataCompression(int ithread, char* wbuffer[], int &npackets, char* data, int xmax, int ymax, int &nf);
|
void handleDataCompression(int ithread, char* wbuffer[], char* data, int xmax, int ymax, int &nf);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ typedef int int32_t;
|
|||||||
#define MAX_FRAMES_PER_FILE 20000
|
#define MAX_FRAMES_PER_FILE 20000
|
||||||
#define SHORT_MAX_FRAMES_PER_FILE 100000
|
#define SHORT_MAX_FRAMES_PER_FILE 100000
|
||||||
#define MOENCH_MAX_FRAMES_PER_FILE 1000
|
#define MOENCH_MAX_FRAMES_PER_FILE 1000
|
||||||
#define EIGER_MAX_FRAMES_PER_FILE 20000
|
#define EIGER_MAX_FRAMES_PER_FILE 20
|
||||||
#define JFCTB_MAX_FRAMES_PER_FILE 100000
|
#define JFCTB_MAX_FRAMES_PER_FILE 100000
|
||||||
|
|
||||||
|
|
||||||
|
@ -1647,7 +1647,7 @@ int UDPBaseImplementation::startWriting(){ FILE_LOG(logDEBUG) << __AT__ << " sta
|
|||||||
}
|
}
|
||||||
//data compression
|
//data compression
|
||||||
else
|
else
|
||||||
handleDataCompression(ithread,wbuf,numpackets,d, xmax, ymax, nf);
|
handleDataCompression(ithread,wbuf,d, xmax, ymax, nf);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1998,7 +1998,7 @@ void UDPBaseImplementation::writeToFile_withoutCompression(char* buf,int numpack
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void UDPBaseImplementation::handleDataCompression(int ithread, char* wbuffer[], int &npackets, char* data, int xmax, int ymax, int &nf){
|
void UDPBaseImplementation::handleDataCompression(int ithread, char* wbuffer[], char* data, int xmax, int ymax, int &nf){
|
||||||
FILE_LOG(logDEBUG) << __FILE__ << "::" << __func__ << " starting";
|
FILE_LOG(logDEBUG) << __FILE__ << "::" << __func__ << " starting";
|
||||||
|
|
||||||
|
|
||||||
@ -2009,6 +2009,7 @@ void UDPBaseImplementation::handleDataCompression(int ithread, char* wbuffer[],
|
|||||||
eventType thisEvent = PEDESTAL;
|
eventType thisEvent = PEDESTAL;
|
||||||
int ndata;
|
int ndata;
|
||||||
char* buff = 0;
|
char* buff = 0;
|
||||||
|
int npackets = (uint16_t)(*((uint16_t*)wbuffer[0]));
|
||||||
data = wbuffer[0]+ HEADER_SIZE_NUM_TOT_PACKETS;
|
data = wbuffer[0]+ HEADER_SIZE_NUM_TOT_PACKETS;
|
||||||
int remainingsize = npackets * onePacketSize;
|
int remainingsize = npackets * onePacketSize;
|
||||||
int np;
|
int np;
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -162,7 +162,7 @@ void slsReceiver::closeFile(int p) {
|
|||||||
|
|
||||||
|
|
||||||
int64_t slsReceiver::getReceiverVersion(){
|
int64_t slsReceiver::getReceiverVersion(){
|
||||||
tcpipInterface->getReceiverVersion();
|
return tcpipInterface->getReceiverVersion();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -32,25 +32,25 @@ slsReceiverTCPIPInterface::~slsReceiverTCPIPInterface() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
slsReceiverTCPIPInterface::slsReceiverTCPIPInterface(int &success, UDPInterface* rbase, int pn, bool bot):
|
slsReceiverTCPIPInterface::slsReceiverTCPIPInterface(int &success, UDPInterface* rbase, int pn, bool bot):
|
||||||
myDetectorType(GOTTHARD),
|
myDetectorType(GOTTHARD),
|
||||||
receiverBase(rbase),
|
receiverBase(rbase),
|
||||||
ret(OK),
|
ret(OK),
|
||||||
lockStatus(0),
|
lockStatus(0),
|
||||||
shortFrame(-1),
|
shortFrame(-1),
|
||||||
packetsPerFrame(GOTTHARD_PACKETS_PER_FRAME),
|
packetsPerFrame(GOTTHARD_PACKETS_PER_FRAME),
|
||||||
dynamicrange(16),
|
dynamicrange(16),
|
||||||
socket(NULL),
|
socket(NULL),
|
||||||
killTCPServerThread(0),
|
killTCPServerThread(0),
|
||||||
tenGigaEnable(0), portNumber(DEFAULT_PORTNO+2),
|
tenGigaEnable(0), portNumber(DEFAULT_PORTNO+2),
|
||||||
bottom(bot){
|
bottom(bot){
|
||||||
|
|
||||||
int port_no=portNumber;
|
int port_no=portNumber;
|
||||||
if(receiverBase == NULL) receiverBase = 0;
|
if(receiverBase == NULL) receiverBase = 0;
|
||||||
|
|
||||||
if (pn>0)
|
if (pn>0)
|
||||||
port_no = pn;
|
port_no = pn;
|
||||||
|
|
||||||
success=OK;
|
success=OK;
|
||||||
|
|
||||||
//create socket
|
//create socket
|
||||||
if(success == OK){
|
if(success == OK){
|
||||||
@ -65,58 +65,60 @@ slsReceiverTCPIPInterface::slsReceiverTCPIPInterface(int &success, UDPInterface*
|
|||||||
strcpy(socket->lastClientIP,"none");
|
strcpy(socket->lastClientIP,"none");
|
||||||
strcpy(socket->thisClientIP,"none1");
|
strcpy(socket->thisClientIP,"none1");
|
||||||
strcpy(mess,"dummy message");
|
strcpy(mess,"dummy message");
|
||||||
|
|
||||||
function_table();
|
function_table();
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
cout << "Function table assigned." << endl;
|
cout << "Function table assigned." << endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//Catch signal SIGINT to close files properly
|
//Catch signal SIGINT to close files properly
|
||||||
signal(SIGINT,staticCloseFile);
|
signal(SIGINT,staticCloseFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int slsReceiverTCPIPInterface::setPortNumber(int pn){
|
int slsReceiverTCPIPInterface::setPortNumber(int pn){
|
||||||
int p_number;
|
int p_number;
|
||||||
MySocketTCP *oldsocket=NULL;;
|
|
||||||
int sd=0;
|
|
||||||
|
|
||||||
if (pn>0) {
|
MySocketTCP *oldsocket=NULL;;
|
||||||
p_number = pn;
|
int sd=0;
|
||||||
|
|
||||||
if (p_number<1024) {
|
if (pn>0) {
|
||||||
sprintf(mess,"Too low port number %d\n", p_number);
|
p_number = pn;
|
||||||
cout << mess << endl;
|
|
||||||
} else {
|
if (p_number<1024) {
|
||||||
|
sprintf(mess,"Too low port number %d\n", p_number);
|
||||||
oldsocket=socket;
|
cout << mess << endl;
|
||||||
socket = new MySocketTCP(p_number);
|
} else {
|
||||||
if(socket){
|
|
||||||
sd = socket->getErrorStatus();
|
oldsocket=socket;
|
||||||
if (!sd){
|
socket = new MySocketTCP(p_number);
|
||||||
portNumber=p_number;
|
if(socket){
|
||||||
delete oldsocket;
|
sd = socket->getErrorStatus();
|
||||||
} else {
|
if (!sd){
|
||||||
cout << "Could not bind port " << p_number << endl;
|
portNumber=p_number;
|
||||||
if (sd==-10) {
|
strcpy(socket->lastClientIP,oldsocket->lastClientIP);
|
||||||
|
delete oldsocket;
|
||||||
cout << "Port "<< p_number << " already set" << endl;
|
} else {
|
||||||
} else {
|
cout << "Could not bind port " << p_number << endl;
|
||||||
delete socket;
|
if (sd==-10) {
|
||||||
socket=oldsocket;
|
|
||||||
}
|
cout << "Port "<< p_number << " already set" << endl;
|
||||||
|
} else {
|
||||||
|
delete socket;
|
||||||
|
socket=oldsocket;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
socket=oldsocket;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
|
||||||
socket=oldsocket;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return portNumber;
|
return portNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -142,7 +144,7 @@ void slsReceiverTCPIPInterface::stop(){
|
|||||||
receiverBase->shutDownUDPSockets();
|
receiverBase->shutDownUDPSockets();
|
||||||
|
|
||||||
cout << "Closing Files... " << endl;
|
cout << "Closing Files... " << endl;
|
||||||
receiverBase->closeFile();
|
receiverBase->closeFile();
|
||||||
|
|
||||||
|
|
||||||
cout<<"Shutting down TCP Socket and TCP thread"<<endl;
|
cout<<"Shutting down TCP Socket and TCP thread"<<endl;
|
||||||
@ -153,7 +155,7 @@ void slsReceiverTCPIPInterface::stop(){
|
|||||||
pthread_join(TCPServer_thread, &status);
|
pthread_join(TCPServer_thread, &status);
|
||||||
killTCPServerThread = 0;
|
killTCPServerThread = 0;
|
||||||
cout<<"Threads joined"<<endl;
|
cout<<"Threads joined"<<endl;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -373,12 +375,12 @@ int slsReceiverTCPIPInterface::set_detector_type(){
|
|||||||
retval = myDetectorType;
|
retval = myDetectorType;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//#ifdef VERBOSE
|
//#ifdef VERBOSE
|
||||||
if(ret!=FAIL)
|
if(ret!=FAIL)
|
||||||
cout << "detector type" << dr << endl;
|
cout << "detector type" << dr << endl;
|
||||||
else
|
else
|
||||||
cout << mess << endl;
|
cout << mess << endl;
|
||||||
//#endif
|
//#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if(ret==OK && socket->differentClients){
|
if(ret==OK && socket->differentClients){
|
||||||
@ -426,7 +428,7 @@ int slsReceiverTCPIPInterface::set_file_name() {
|
|||||||
strcpy(mess,"Receiver not set up\n");
|
strcpy(mess,"Receiver not set up\n");
|
||||||
ret=FAIL;
|
ret=FAIL;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
strcpy(retval,receiverBase->setFileName(fName));
|
strcpy(retval,receiverBase->setFileName(fName));
|
||||||
}
|
}
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
@ -671,44 +673,44 @@ int slsReceiverTCPIPInterface::setup_udp(){
|
|||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
//set up udp port
|
//set up udp port
|
||||||
sscanf(args[1],"%d",&udpport);
|
sscanf(args[1],"%d",&udpport);
|
||||||
sscanf(args[2],"%d",&udpport2);
|
sscanf(args[2],"%d",&udpport2);
|
||||||
receiverBase->setUDPPortNo(udpport);
|
receiverBase->setUDPPortNo(udpport);
|
||||||
receiverBase->setUDPPortNo2(udpport2);
|
receiverBase->setUDPPortNo2(udpport2);
|
||||||
//setup udpip
|
//setup udpip
|
||||||
//get ethernet interface or IP to listen to
|
//get ethernet interface or IP to listen to
|
||||||
cout << "Ethernet interface is " << args[0] << endl;
|
cout << "Ethernet interface is " << args[0] << endl;
|
||||||
temp = genericSocket::ipToName(args[0]);
|
temp = genericSocket::ipToName(args[0]);
|
||||||
cout << temp << endl;
|
cout << temp << endl;
|
||||||
if(temp=="none"){
|
if(temp=="none"){
|
||||||
ret = FAIL;
|
ret = FAIL;
|
||||||
strcpy(mess, "failed to get ethernet interface or IP to listen to\n");
|
strcpy(mess, "failed to get ethernet interface or IP to listen to\n");
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
strcpy(eth,temp.c_str());
|
strcpy(eth,temp.c_str());
|
||||||
if (strchr(eth,'.')!=NULL) {
|
if (strchr(eth,'.')!=NULL) {
|
||||||
strcpy(eth,"");
|
strcpy(eth,"");
|
||||||
ret = FAIL;
|
ret = FAIL;
|
||||||
}
|
}
|
||||||
FILE_LOG(logDEBUG) << __FILE__ << "::" << __func__ << " " << eth;
|
FILE_LOG(logDEBUG) << __FILE__ << "::" << __func__ << " " << eth;
|
||||||
receiverBase->setEthernetInterface(eth);
|
receiverBase->setEthernetInterface(eth);
|
||||||
|
|
||||||
cout << eth << endl;
|
cout << eth << endl;
|
||||||
//get mac address from ethernet interface
|
//get mac address from ethernet interface
|
||||||
if (ret != FAIL)
|
if (ret != FAIL)
|
||||||
temp = genericSocket::nameToMac(eth);
|
temp = genericSocket::nameToMac(eth);
|
||||||
|
|
||||||
|
|
||||||
if ((temp=="00:00:00:00:00:00") || (ret == FAIL)){
|
|
||||||
ret = FAIL;
|
if ((temp=="00:00:00:00:00:00") || (ret == FAIL)){
|
||||||
strcpy(mess,"failed to get mac adddress to listen to\n");
|
ret = FAIL;
|
||||||
cout << "mess:" << mess << endl;
|
strcpy(mess,"failed to get mac adddress to listen to\n");
|
||||||
}
|
cout << "mess:" << mess << endl;
|
||||||
else{
|
}
|
||||||
strcpy(retval,temp.c_str());
|
else{
|
||||||
cout<<"mac:"<<retval<<endl;
|
strcpy(retval,temp.c_str());
|
||||||
}
|
cout<<"mac:"<<retval<<endl;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -751,7 +753,7 @@ int slsReceiverTCPIPInterface::start_receiver(){
|
|||||||
strcpy(mess,"receiver not set up. set receiver ip again.\n");
|
strcpy(mess,"receiver not set up. set receiver ip again.\n");
|
||||||
ret = FAIL;
|
ret = FAIL;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
else if (receiverBase == NULL){
|
else if (receiverBase == NULL){
|
||||||
strcpy(mess,"Receiver not set up\n");
|
strcpy(mess,"Receiver not set up\n");
|
||||||
ret=FAIL;
|
ret=FAIL;
|
||||||
@ -1287,8 +1289,8 @@ int slsReceiverTCPIPInterface::gotthard_read_frame(){
|
|||||||
pindex2 =(bindex2 & GOTTHARD_PACKET_INDEX_MASK);
|
pindex2 =(bindex2 & GOTTHARD_PACKET_INDEX_MASK);
|
||||||
index2 =((bindex2 & GOTTHARD_FRAME_INDEX_MASK) >> GOTTHARD_FRAME_INDEX_OFFSET);
|
index2 =((bindex2 & GOTTHARD_FRAME_INDEX_MASK) >> GOTTHARD_FRAME_INDEX_OFFSET);
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
cout << "index1:" << hex << index << endl;
|
cout << "index1:" << hex << index << endl;
|
||||||
cout << "index2:" << hex << index << endl;
|
cout << "index2:" << hex << index << endl;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1310,21 +1312,21 @@ int slsReceiverTCPIPInterface::gotthard_read_frame(){
|
|||||||
/*//ignore if half frame is missing
|
/*//ignore if half frame is missing
|
||||||
if ((bindex != 0xFFFFFFFF) && (bindex2 != 0xFFFFFFFF)){*/
|
if ((bindex != 0xFFFFFFFF) && (bindex2 != 0xFFFFFFFF)){*/
|
||||||
|
|
||||||
//should be same frame
|
//should be same frame
|
||||||
if (index == index2){
|
if (index == index2){
|
||||||
//ideal situation (should be odd, even(index+1))
|
//ideal situation (should be odd, even(index+1))
|
||||||
if(!pindex){
|
if(!pindex){
|
||||||
memcpy(retval,((char*) origVal)+4, onedatasize);
|
memcpy(retval,((char*) origVal)+4, onedatasize);
|
||||||
memcpy((((char*)retval)+onedatasize), ((char*) origVal)+10+onedatasize, onedatasize);
|
memcpy((((char*)retval)+onedatasize), ((char*) origVal)+10+onedatasize, onedatasize);
|
||||||
}
|
}
|
||||||
//swap to even,odd
|
//swap to even,odd
|
||||||
else{
|
else{
|
||||||
memcpy((((char*)retval)+onedatasize),((char*) origVal)+4, onedatasize);
|
memcpy((((char*)retval)+onedatasize),((char*) origVal)+4, onedatasize);
|
||||||
memcpy(retval, ((char*) origVal)+10+onedatasize, onedatasize);
|
memcpy(retval, ((char*) origVal)+10+onedatasize, onedatasize);
|
||||||
index=index2;
|
index=index2;
|
||||||
}
|
}
|
||||||
}else
|
}else
|
||||||
cout << "different frames caught. frame1:"<< hex << index << ":"<<pindex<<" frame2:" << hex << index2 << ":"<<pindex2<<endl;
|
cout << "different frames caught. frame1:"<< hex << index << ":"<<pindex<<" frame2:" << hex << index2 << ":"<<pindex2<<endl;
|
||||||
/*}
|
/*}
|
||||||
else{
|
else{
|
||||||
index = startIndex - 1;
|
index = startIndex - 1;
|
||||||
@ -1508,7 +1510,7 @@ int slsReceiverTCPIPInterface::eiger_read_frame(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//bottom half module
|
//bottom half module
|
||||||
|
|
||||||
@ -1561,7 +1563,7 @@ int slsReceiverTCPIPInterface::eiger_read_frame(){
|
|||||||
|
|
||||||
acquisitionIndex = index-startAcquisitionIndex;
|
acquisitionIndex = index-startAcquisitionIndex;
|
||||||
if(acquisitionIndex == -1)
|
if(acquisitionIndex == -1)
|
||||||
startFrameIndex = -1;
|
startFrameIndex = -1;
|
||||||
else
|
else
|
||||||
frameIndex = index-startFrameIndex;
|
frameIndex = index-startFrameIndex;
|
||||||
#ifdef VERY_VERY_DEBUG
|
#ifdef VERY_VERY_DEBUG
|
||||||
@ -1942,10 +1944,10 @@ int slsReceiverTCPIPInterface::set_detector_hostname() {
|
|||||||
strcpy(mess,"Receiver not set up\n");
|
strcpy(mess,"Receiver not set up\n");
|
||||||
ret=FAIL;
|
ret=FAIL;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
receiverBase->initialize(hostname);
|
receiverBase->initialize(hostname);
|
||||||
strcpy(retval,receiverBase->getDetectorHostname());
|
strcpy(retval,receiverBase->getDetectorHostname());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
if(ret!=FAIL)
|
if(ret!=FAIL)
|
||||||
@ -1998,15 +2000,15 @@ int slsReceiverTCPIPInterface::set_dynamic_range() {
|
|||||||
}
|
}
|
||||||
else if ((dr>0) && (myDetectorType == EIGER)){
|
else if ((dr>0) && (myDetectorType == EIGER)){
|
||||||
switch(dr){
|
switch(dr){
|
||||||
case 4:
|
case 4:
|
||||||
case 8:
|
case 8:
|
||||||
case 16:
|
case 16:
|
||||||
case 32:break;
|
case 32:break;
|
||||||
default:
|
default:
|
||||||
sprintf(mess,"This dynamic range does not exist for eiger: %d\n",dr);
|
sprintf(mess,"This dynamic range does not exist for eiger: %d\n",dr);
|
||||||
cprintf(RED,"%s", mess);
|
cprintf(RED,"%s", mess);
|
||||||
ret=FAIL;
|
ret=FAIL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(ret!=FAIL){
|
if(ret!=FAIL){
|
||||||
@ -2247,6 +2249,7 @@ int slsReceiverTCPIPInterface::lock_receiver() {
|
|||||||
int slsReceiverTCPIPInterface::set_port() {
|
int slsReceiverTCPIPInterface::set_port() {
|
||||||
ret=OK;
|
ret=OK;
|
||||||
MySocketTCP* mySocket=NULL;
|
MySocketTCP* mySocket=NULL;
|
||||||
|
char oldLastClientIP[INET_ADDRSTRLEN];
|
||||||
int sd=-1;
|
int sd=-1;
|
||||||
enum runStatus p_type; /* just to get the input */
|
enum runStatus p_type; /* just to get the input */
|
||||||
int p_number;
|
int p_number;
|
||||||
@ -2277,12 +2280,14 @@ int slsReceiverTCPIPInterface::set_port() {
|
|||||||
ret=FAIL;
|
ret=FAIL;
|
||||||
}
|
}
|
||||||
cout << "set port " << p_type << " to " << p_number <<endl;
|
cout << "set port " << p_type << " to " << p_number <<endl;
|
||||||
|
strcpy(oldLastClientIP, socket->lastClientIP);
|
||||||
mySocket = new MySocketTCP(p_number);
|
mySocket = new MySocketTCP(p_number);
|
||||||
}
|
}
|
||||||
if(mySocket){
|
if(mySocket){
|
||||||
sd = mySocket->getErrorStatus();
|
sd = mySocket->getErrorStatus();
|
||||||
if (!sd){
|
if (!sd){
|
||||||
ret=OK;
|
ret=OK;
|
||||||
|
strcpy(socket->lastClientIP,oldLastClientIP);
|
||||||
if (mySocket->differentClients)
|
if (mySocket->differentClients)
|
||||||
ret=FORCE_UPDATE;
|
ret=FORCE_UPDATE;
|
||||||
} else {
|
} else {
|
||||||
|
@ -25,7 +25,7 @@ void slsReceiverUsers::closeFile(int p) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int64_t slsReceiverUsers::getReceiverVersion(){
|
int64_t slsReceiverUsers::getReceiverVersion(){
|
||||||
slsReceiverUsers::receiver->getReceiverVersion();
|
return slsReceiverUsers::receiver->getReceiverVersion();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user