mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-24 02:27:59 +02:00
edited call backs in receiver, got rid of uhrix callback, expose receiver read freq to user, got rid of wait for receiver t finish
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@577 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
@ -1,14 +1,14 @@
|
||||
CC = g++
|
||||
CLAGS += -DSLS_RECEIVER_FUNCTION_LIST #-DUHRIXCALLBACK #-DTESTWRITE
|
||||
CLAGS += -DSLS_RECEIVER_FUNCTION_LIST
|
||||
LDFLAG= -L/usr/lib64/ -lpthread -lm -lstdc++
|
||||
|
||||
|
||||
#LDLIBS += -lm -lstdc++ -lpthread
|
||||
LIBS?= -L$(LIBDIR) -lSlsDetector
|
||||
|
||||
INCLUDES ?= -I ../MySocketTCP -I ../commonFiles -I ../usersFunctions -I ../slsDetectorAnalysis -I .
|
||||
INCLUDES ?= -I ../MySocketTCP -I ../commonFiles -I -I ../slsDetectorAnalysis -I .
|
||||
SRC_CLNT = slsReceiver.cpp
|
||||
#../MySocketTCP/MySocketTCP.cpp slsReceiver_funcs.cpp UHRIXCallback.cpp slsReceiverFunctionList.cpp ../usersFunctions/usersFunctions.cpp slsReceiverUsers.cpp
|
||||
#../MySocketTCP/MySocketTCP.cpp slsReceiver_funcs.cpp UHRIXCallback.cpp slsReceiverFunctionList.cpp slsReceiverUsers.cpp
|
||||
|
||||
DESTDIR ?= bin
|
||||
INSTMODE = 0777
|
||||
|
@ -1,28 +0,0 @@
|
||||
|
||||
#include "UHRIXCallback.h"
|
||||
|
||||
|
||||
int UHRIXCallbackDataFunc(char* d, int np, FILE* fd, void* p){
|
||||
int i,j,jmax=6;
|
||||
u_int16_t da;
|
||||
|
||||
|
||||
//#ifdef VERBOSE
|
||||
//printf("UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU Receiver Data received \n");
|
||||
if (d==NULL)
|
||||
printf("no data received\n");
|
||||
else{
|
||||
// printf("received %d bytes of data\n",np);
|
||||
// printf("index:%d\n",(int)(*(int*)d));
|
||||
for ( i=0; i<(np-4)/2-jmax+1; i++)
|
||||
{
|
||||
//((int16_t *)d)[i+2] -= ((int16_t *)d)[i+3];
|
||||
//((int16_t *)d)[i+2] *= ((int16_t *)d)[i+2];
|
||||
for (j=1; j<jmax; j++) ((int16_t *)d)[i+2] += ((int16_t *)d)[i+2+j];
|
||||
}
|
||||
}
|
||||
|
||||
//printf("UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU Finished \n");
|
||||
//#endif
|
||||
return 0;
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
#include <iostream>
|
||||
|
||||
int UHRIXCallbackDataFunc(char* d, int np, FILE* fd, void* p);
|
@ -7,14 +7,6 @@
|
||||
|
||||
#include "slsReceiverFunctionList.h"
|
||||
|
||||
#ifdef TESTWRITE
|
||||
#include "usersFunctions.h"
|
||||
#endif
|
||||
|
||||
#ifdef UHRIXCALLBACK
|
||||
#include "UHRIXCallback.h"
|
||||
#endif
|
||||
|
||||
#include <signal.h> // SIGINT
|
||||
#include <sys/stat.h> // stat
|
||||
#include <sys/socket.h> // socket(), bind(), listen(), accept(), shut down
|
||||
@ -58,8 +50,6 @@ slsReceiverFunctionList::slsReceiverFunctionList(detectorType det,bool moenchwit
|
||||
guiFileName(NULL),
|
||||
currframenum(0),
|
||||
nFrameToGui(0),
|
||||
writeReceiverData(0),
|
||||
pwriteReceiverDataArg(0),
|
||||
startAcquisitionCallBack(NULL),
|
||||
pStartAcquisition(NULL),
|
||||
acquisitionFinishedCallBack(NULL),
|
||||
@ -111,14 +101,7 @@ slsReceiverFunctionList::slsReceiverFunctionList(detectorType det,bool moenchwit
|
||||
|
||||
if(withGotthard)
|
||||
cout << "Testing MOENCH Receiver with GOTTHARD Detector" << endl;
|
||||
#ifdef TESTWRITE
|
||||
//to test write receiver data call back
|
||||
registerWriteReceiverDataCallback(&defaultWriteReceiverDataFunc, NULL);
|
||||
#endif
|
||||
|
||||
#ifdef UHRIXCALLBACK
|
||||
registerWriteReceiverDataCallback(&UHRIXCallbackDataFunc, latestData);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@ -443,7 +426,7 @@ int slsReceiverFunctionList::startWriting(){
|
||||
strcpy(guiFileName,"");
|
||||
|
||||
cout << "Max Frames Per File:" << maxFramesPerFile << endl;
|
||||
if (writeReceiverData)
|
||||
if (rawDataReadyCallBack)
|
||||
cout << "Note: Data Write has been defined exernally" << endl;
|
||||
if(nFrameToGui)
|
||||
cout << "Sending every " << nFrameToGui << "th frame to gui" << endl;
|
||||
@ -510,13 +493,9 @@ int slsReceiverFunctionList::startWriting(){
|
||||
|
||||
//cout<<"**************curreframenm:"<<currframenum<<endl;
|
||||
|
||||
//write data call back
|
||||
if (writeReceiverData) {
|
||||
writeReceiverData(wbuf,bufferSize, sfilefd, pwriteReceiverDataArg);
|
||||
}
|
||||
//write data call back
|
||||
if (cbAction < DO_EVERYTHING) {
|
||||
rawDataReadyCallBack(currframenum, wbuf,sfilefd, guiData,pRawDataReady);
|
||||
rawDataReadyCallBack(currframenum, wbuf, bufferSize, sfilefd, guiData,pRawDataReady);
|
||||
}
|
||||
//default writing to file
|
||||
else if(enableFileWrite){
|
||||
|
@ -129,10 +129,6 @@ public:
|
||||
*/
|
||||
void resetTotalFramesCaught();
|
||||
|
||||
/**
|
||||
* Close File
|
||||
*/
|
||||
//static void closeFile(int p);
|
||||
|
||||
/**
|
||||
* Starts Receiver - starts to listen for packets
|
||||
@ -193,12 +189,6 @@ public:
|
||||
*/
|
||||
int setNFrameToGui(int i){if(i>=0) nFrameToGui = i; return nFrameToGui;};
|
||||
|
||||
/**
|
||||
* Register call back function to write receiver data
|
||||
*/
|
||||
void registerWriteReceiverDataCallback(int( *userCallback)(char*, int, FILE*, void*), void *pArg) {writeReceiverData = userCallback; pwriteReceiverDataArg = pArg;};
|
||||
|
||||
|
||||
private:
|
||||
|
||||
/** detector type */
|
||||
@ -314,11 +304,6 @@ private:
|
||||
int nFrameToGui;
|
||||
|
||||
|
||||
|
||||
/** register for call back to get data */
|
||||
int (*writeReceiverData)(char*,int,FILE*,void*);
|
||||
void *pwriteReceiverDataArg;
|
||||
|
||||
/**
|
||||
callback arguments are
|
||||
filepath
|
||||
@ -348,10 +333,11 @@ private:
|
||||
args to raw data ready callback are
|
||||
framenum
|
||||
datapointer
|
||||
datasize in bytes
|
||||
file descriptor
|
||||
guidatapointer (NULL, no data required)
|
||||
*/
|
||||
void (*rawDataReadyCallBack)(int, char*, FILE*, char*, void*);
|
||||
void (*rawDataReadyCallBack)(int, char*, int, FILE*, char*, void*);
|
||||
void *pRawDataReady;
|
||||
|
||||
/** The action which decides what the user and default responsibilites to save data are
|
||||
@ -407,10 +393,11 @@ public:
|
||||
args to raw data ready callback are
|
||||
framenum
|
||||
datapointer
|
||||
datasize in bytes
|
||||
file descriptor
|
||||
guidatapointer (NULL, no data required)
|
||||
*/
|
||||
void registerCallBackRawDataReady(void (*func)(int, char*, FILE*, char*, void*),void *arg){rawDataReadyCallBack=func; pRawDataReady=arg;};
|
||||
void registerCallBackRawDataReady(void (*func)(int, char*, int, FILE*, char*, void*),void *arg){rawDataReadyCallBack=func; pRawDataReady=arg;};
|
||||
};
|
||||
|
||||
|
||||
|
@ -30,7 +30,7 @@ void slsReceiverUsers::registerCallBackAcquisitionFinished(void (*func)(int, voi
|
||||
}
|
||||
|
||||
|
||||
void slsReceiverUsers::registerCallBackRawDataReady(void (*func)(int, char*, FILE*, char*, void*),void *arg){
|
||||
void slsReceiverUsers::registerCallBackRawDataReady(void (*func)(int, char*, int, FILE*, char*, void*),void *arg){
|
||||
receiver->registerCallBackRawDataReady(func,arg);
|
||||
}
|
||||
|
||||
|
@ -64,11 +64,11 @@ public:
|
||||
|
||||
/**
|
||||
@sort register callback to be called when data are available (to process and/or save the data).
|
||||
\param func raw data ready callback. arguments are framenum datapointer file descriptor guidatapointer (NULL, no data required)
|
||||
\param func raw data ready callback. arguments are framenum datapointer datasize file descriptor guidatapointer (NULL, no data required)
|
||||
\returns nothing
|
||||
*/
|
||||
|
||||
void registerCallBackRawDataReady(void (*func)(int framenumber, char* datapointer, FILE* filedescriptor, char* guidatapointer, void*),void *arg);
|
||||
void registerCallBackRawDataReady(void (*func)(int framenumber, char* datapointer, int datasize, FILE* filedescriptor, char* guidatapointer, void*),void *arg);
|
||||
|
||||
|
||||
private:
|
||||
|
@ -71,11 +71,12 @@ public:
|
||||
args to raw data ready callback are
|
||||
framenum
|
||||
datapointer
|
||||
datasize in bytes
|
||||
file descriptor
|
||||
guidatapointer (NULL, no data required)
|
||||
*/
|
||||
|
||||
void registerCallBackRawDataReady(void (*func)(int, char*, FILE*, char*, void*),void *arg){slsReceiverList->registerCallBackRawDataReady(func,arg);};
|
||||
void registerCallBackRawDataReady(void (*func)(int, char*, int, FILE*, char*, void*),void *arg){slsReceiverList->registerCallBackRawDataReady(func,arg);};
|
||||
|
||||
|
||||
private:
|
||||
|
@ -2,10 +2,10 @@
|
||||
#define SVNURL "file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware/slsReceiver"
|
||||
//#define SVNREPPATH ""
|
||||
#define SVNREPUUID "951219d9-93cf-4727-9268-0efd64621fa3"
|
||||
//#define SVNREV 0x561
|
||||
//#define SVNREV 0x568
|
||||
//#define SVNKIND ""
|
||||
//#define SVNSCHED ""
|
||||
#define SVNAUTH "l_maliakal_d"
|
||||
#define SVNREV 0x561
|
||||
#define SVNDATE 0x20130516
|
||||
#define SVNREV 0x568
|
||||
#define SVNDATE 0x20130521
|
||||
//
|
||||
|
Reference in New Issue
Block a user