mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 06:50:02 +02:00
made updatereceiver to actually update client in parameters that it can
This commit is contained in:
parent
99dad79572
commit
f944d7cae4
@ -1,9 +1,9 @@
|
|||||||
Path: slsDetectorsPackage/slsDetectorSoftware
|
Path: slsDetectorsPackage/slsDetectorSoftware
|
||||||
URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git
|
URL: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git
|
||||||
Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git
|
Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_detector_software.git
|
||||||
Repsitory UUID: 5d22df1c472895035fdb21ec1104e749aaa41167
|
Repsitory UUID: f296ac9eb68e7681675cad9943f5054eb7f8bdce
|
||||||
Revision: 1431
|
Revision: 1433
|
||||||
Branch: developer
|
Branch: updaterec
|
||||||
Last Changed Author: Dhanya_Maliakal
|
Last Changed Author: Dhanya_Maliakal
|
||||||
Last Changed Rev: 1436
|
Last Changed Rev: 1438
|
||||||
Last Changed Date: 2017-06-29 17:10:10 +0200
|
Last Changed Date: 2017-07-03 13:46:06 +0200
|
||||||
|
@ -5667,8 +5667,10 @@ int multiSlsDetector::setReceiverReadTimer(int time_in_ms){
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int multiSlsDetector::getStreamingSocketsCreatedInClient() {
|
||||||
|
return dataSocketsStarted;
|
||||||
|
}
|
||||||
|
|
||||||
// only called from gui or that wants zmq data packets
|
|
||||||
int multiSlsDetector::enableDataStreamingFromReceiver(int enable){
|
int multiSlsDetector::enableDataStreamingFromReceiver(int enable){
|
||||||
|
|
||||||
if(enable >= 0){
|
if(enable >= 0){
|
||||||
|
@ -1319,6 +1319,7 @@ class multiSlsDetector : public slsDetectorUtils {
|
|||||||
*/
|
*/
|
||||||
int setReceiverReadTimer(int time_in_ms=500);
|
int setReceiverReadTimer(int time_in_ms=500);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get Streaming sockets created in client from reciever
|
* Get Streaming sockets created in client from reciever
|
||||||
/returns 1 if sockets created, else 0
|
/returns 1 if sockets created, else 0
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
//#define SVNPATH ""
|
//#define SVNPATH ""
|
||||||
#define SVNURLLIB "git@git.psi.ch:sls_detectors_software/sls_detector_software.git"
|
#define SVNURLLIB "git@git.psi.ch:sls_detectors_software/sls_detector_software.git"
|
||||||
//#define SVNREPPATH ""
|
//#define SVNREPPATH ""
|
||||||
#define SVNREPUUIDLIB "5d22df1c472895035fdb21ec1104e749aaa41167"
|
#define SVNREPUUIDLIB "f296ac9eb68e7681675cad9943f5054eb7f8bdce"
|
||||||
//#define SVNREV 0x1436
|
//#define SVNREV 0x1438
|
||||||
//#define SVNKIND ""
|
//#define SVNKIND ""
|
||||||
//#define SVNSCHED ""
|
//#define SVNSCHED ""
|
||||||
#define SVNAUTHLIB "Dhanya_Maliakal"
|
#define SVNAUTHLIB "Dhanya_Maliakal"
|
||||||
#define SVNREVLIB 0x1436
|
#define SVNREVLIB 0x1438
|
||||||
#define SVNDATELIB 0x20170629
|
#define SVNDATELIB 0x20170703
|
||||||
//
|
//
|
||||||
|
@ -6001,6 +6001,8 @@ string slsDetector::setReceiver(string receiverIP){
|
|||||||
sendMultiDetectorSize();
|
sendMultiDetectorSize();
|
||||||
setDetectorId();
|
setDetectorId();
|
||||||
setDetectorHostname();
|
setDetectorHostname();
|
||||||
|
setUDPConnection();
|
||||||
|
|
||||||
setFilePath(fileIO::getFilePath());
|
setFilePath(fileIO::getFilePath());
|
||||||
setFileName(fileIO::getFileName());
|
setFileName(fileIO::getFileName());
|
||||||
setFileIndex(fileIO::getFileIndex());
|
setFileIndex(fileIO::getFileIndex());
|
||||||
@ -6013,6 +6015,7 @@ string slsDetector::setReceiver(string receiverIP){
|
|||||||
imask = parentDet->enableOverwriteMask();
|
imask = parentDet->enableOverwriteMask();
|
||||||
pthread_mutex_unlock(&ms);
|
pthread_mutex_unlock(&ms);
|
||||||
overwriteFile(imask);
|
overwriteFile(imask);
|
||||||
|
|
||||||
if ((thisDetector->timerValue[FRAME_NUMBER]*thisDetector->timerValue[CYCLES_NUMBER])>1)
|
if ((thisDetector->timerValue[FRAME_NUMBER]*thisDetector->timerValue[CYCLES_NUMBER])>1)
|
||||||
setFrameIndex(0);
|
setFrameIndex(0);
|
||||||
else
|
else
|
||||||
@ -6026,13 +6029,23 @@ string slsDetector::setReceiver(string receiverIP){
|
|||||||
setFlippedData(X,-1);
|
setFlippedData(X,-1);
|
||||||
activate(-1);
|
activate(-1);
|
||||||
}
|
}
|
||||||
//if (parentDet->getStreamingSocketsCreatedInClient())
|
|
||||||
//std::cout << "***********************************dataStreaming:" << parentDet->enableDataStreamingFromReceiver(-1) << endl << endl;
|
|
||||||
//parentDet->enableDataStreamingFromReceiver(parentDet->enableDataStreamingFromReceiver(-1));
|
|
||||||
//set scan tag
|
|
||||||
setUDPConnection();
|
|
||||||
if(thisDetector->myDetectorType == EIGER)
|
if(thisDetector->myDetectorType == EIGER)
|
||||||
enableTenGigabitEthernet(thisDetector->tenGigaEnable);
|
enableTenGigabitEthernet(thisDetector->tenGigaEnable);
|
||||||
|
|
||||||
|
// data streaming
|
||||||
|
int clientSockets = parentDet->getStreamingSocketsCreatedInClient();
|
||||||
|
int recSockets = enableDataStreamingFromReceiver(-1);
|
||||||
|
if(clientSockets != recSockets) {
|
||||||
|
pthread_mutex_lock(&ms);
|
||||||
|
if(clientSockets)
|
||||||
|
printf("Enabling Data Streaming\n");
|
||||||
|
else
|
||||||
|
printf("Disabling Data Streaming\n");
|
||||||
|
// push client state to receiver
|
||||||
|
parentDet->enableDataStreamingFromReceiver(clientSockets);
|
||||||
|
pthread_mutex_unlock(&ms);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -8107,21 +8120,43 @@ int slsDetector::updateReceiverNoWait() {
|
|||||||
cout << "Updating receiver last modified by " << lastClientIP << std::endl;
|
cout << "Updating receiver last modified by " << lastClientIP << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
n += dataSocket->ReceiveDataOnly(&ind,sizeof(ind));
|
// filepath
|
||||||
pthread_mutex_lock(&ms);
|
|
||||||
fileIO::setFileIndex(ind);
|
|
||||||
pthread_mutex_unlock(&ms);
|
|
||||||
|
|
||||||
n += dataSocket->ReceiveDataOnly(path,MAX_STR_LENGTH);
|
n += dataSocket->ReceiveDataOnly(path,MAX_STR_LENGTH);
|
||||||
pthread_mutex_lock(&ms);
|
pthread_mutex_lock(&ms);
|
||||||
fileIO::setFilePath(path);
|
fileIO::setFilePath(path);
|
||||||
pthread_mutex_unlock(&ms);
|
pthread_mutex_unlock(&ms);
|
||||||
|
|
||||||
|
// filename
|
||||||
n += dataSocket->ReceiveDataOnly(path,MAX_STR_LENGTH);
|
n += dataSocket->ReceiveDataOnly(path,MAX_STR_LENGTH);
|
||||||
pthread_mutex_lock(&ms);
|
pthread_mutex_lock(&ms);
|
||||||
fileIO::setFileName(path);
|
fileIO::setFileName(path);
|
||||||
pthread_mutex_unlock(&ms);
|
pthread_mutex_unlock(&ms);
|
||||||
|
|
||||||
|
// index
|
||||||
|
n += dataSocket->ReceiveDataOnly(&ind,sizeof(ind));
|
||||||
|
pthread_mutex_lock(&ms);
|
||||||
|
fileIO::setFileIndex(ind);
|
||||||
|
pthread_mutex_unlock(&ms);
|
||||||
|
|
||||||
|
//file format
|
||||||
|
n += dataSocket->ReceiveDataOnly(&ind,sizeof(ind));
|
||||||
|
pthread_mutex_lock(&ms);
|
||||||
|
fileIO::setFileFormat(ind);
|
||||||
|
pthread_mutex_unlock(&ms);
|
||||||
|
|
||||||
|
// file write enable
|
||||||
|
n += dataSocket->ReceiveDataOnly(&ind,sizeof(ind));
|
||||||
|
pthread_mutex_lock(&ms);
|
||||||
|
parentDet->enableWriteToFileMask(ind);
|
||||||
|
pthread_mutex_unlock(&ms);
|
||||||
|
|
||||||
|
// file overwrite enable
|
||||||
|
n += dataSocket->ReceiveDataOnly(&ind,sizeof(ind));
|
||||||
|
pthread_mutex_lock(&ms);
|
||||||
|
parentDet->enableOverwriteMask(ind);
|
||||||
|
pthread_mutex_unlock(&ms);
|
||||||
|
|
||||||
|
|
||||||
if (!n) printf("n: %d\n", n);
|
if (!n) printf("n: %d\n", n);
|
||||||
|
|
||||||
return OK;
|
return OK;
|
||||||
@ -8141,12 +8176,14 @@ int slsDetector::updateReceiver() {
|
|||||||
if (connectData() == OK){
|
if (connectData() == OK){
|
||||||
dataSocket->SendDataOnly(&fnum,sizeof(fnum));
|
dataSocket->SendDataOnly(&fnum,sizeof(fnum));
|
||||||
dataSocket->ReceiveDataOnly(&ret,sizeof(ret));
|
dataSocket->ReceiveDataOnly(&ret,sizeof(ret));
|
||||||
if (ret!=FAIL)
|
if (ret == FAIL) {
|
||||||
updateReceiverNoWait();
|
|
||||||
else{
|
|
||||||
dataSocket->ReceiveDataOnly(mess,sizeof(mess));
|
dataSocket->ReceiveDataOnly(mess,sizeof(mess));
|
||||||
std::cout<< "Receiver returned error: " << mess << std::endl;
|
std::cout<< "Receiver returned error: " << mess << std::endl;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
updateReceiverNoWait();
|
||||||
|
|
||||||
|
//if ret is force update, do not update now as client is updating receiver currently
|
||||||
disconnectData();
|
disconnectData();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1324,7 +1324,7 @@ string slsDetectorCommand::cmdAcquire(int narg, char *args[], int action) {
|
|||||||
|
|
||||||
myDet->setOnline(ONLINE_FLAG);
|
myDet->setOnline(ONLINE_FLAG);
|
||||||
if (myDet->setReceiverOnline(ONLINE_FLAG) == ONLINE_FLAG) {
|
if (myDet->setReceiverOnline(ONLINE_FLAG) == ONLINE_FLAG) {
|
||||||
//if it was not off
|
// command line: must be off, if receiver on or there was -1, then
|
||||||
if (myDet->enableDataStreamingFromReceiver(-1) != 0){
|
if (myDet->enableDataStreamingFromReceiver(-1) != 0){
|
||||||
//switch it off, if error
|
//switch it off, if error
|
||||||
if (myDet->enableDataStreamingFromReceiver(0) != 0) {
|
if (myDet->enableDataStreamingFromReceiver(0) != 0) {
|
||||||
|
@ -4,7 +4,7 @@ CFLAGS= -DC_ONLY
|
|||||||
#FLAGS=-DVERBOSE
|
#FLAGS=-DVERBOSE
|
||||||
#ASM=$(shell echo "/lib/modules/`uname -r`/build/include")
|
#ASM=$(shell echo "/lib/modules/`uname -r`/build/include")
|
||||||
|
|
||||||
INCLUDES?= -I../commonFiles -I../slsDetector -I ../MySocketTCP -I../usersFunctions -I../multiSlsDetector -I../slsDetectorAnalysis -I../slsReceiverInterface -I$(shell echo "/lib/modules/`uname -r`/build/include")
|
INCLUDES?= -I../commonFiles -I../slsDetector -I ../MySocketTCP -I../usersFunctions -I../multiSlsDetector -I../slsDetectorAnalysis -I../slsReceiverInterface -I ../../slsReceiverSoftware/include -I$(shell echo "/lib/modules/`uname -r`/build/include")
|
||||||
DESTDIR ?= ../../bin
|
DESTDIR ?= ../../bin
|
||||||
BIN=$(DESTDIR)
|
BIN=$(DESTDIR)
|
||||||
LIBS?= -L$(DESTDIR) -lSlsDetector
|
LIBS?= -L$(DESTDIR) -lSlsDetector
|
||||||
|
Loading…
x
Reference in New Issue
Block a user